37
Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Távközlési és Médiainformatikai Tanszék Felhő alapú hálózatok (VITMMA02) SDN a felhőben Dr. Maliosz Markosz 1 2018. tavasz

Felhő alapú hálózatok (VITMMA02) SDN a felhőben

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Budapesti Műszaki és Gazdaságtudományi Egyetem

Villamosmérnöki és Informatikai Kar

Távközlési és Médiainformatikai Tanszék

Felhő alapú hálózatok (VITMMA02) SDN a felhőben Dr. Maliosz Markosz

1

2018. tavasz

Page 2: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Hagyományos hálózatok » Adat sík (Data plane): linksebesség időskálán működik (gyors)

» csomagok kezelése: továbbítás, szűrés, pufferelés, jelölés, ütemezés, számlálók

» Vezérlő sík (Control plane): lassabb időskála (vezérlő üzenetek kezelése)

» elosztott algoritmusok » topológia változósok követése, útvonalak számítása, továbbítási szabályok

beállítása

» Menedzsment sík (Management plane): emberi időskála » központosított » mérések összegyűjtése és eszközök konfigurációja

2018.tavasz 2

Page 3: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Hálózat és hálózati eszköz architektúra » Régen egyszerű volt: Ethernet, IP, TCP… » Az új vezérlési igények nagyon bonyolulttá tették

» Izoláció VLAN, ACL » Traffic engineering MPLS, ECMP, súlyok » Csomagfeldolgozás Tűzfalak, NAT, middleboxes » Csomagtartalom elemzés Deep packet inspection (DPI) » …

» Sok komplex funkció az infrastruktúra része lett » OSPF, BGP, multicast, differentiated services, Traffic Engineering, NAT, firewalls, MPLS, …

» „mainframe” mentalitás – monolitikus architketúra

2018.tavasz 3

millió sor nagyságrendű foráskód

5400 RFC belépési korlát

500M kapu 10Gbyte RAM

Bonyolult Energiaigényes Specializált

csomagtovábbító

hardver

Operációs

rendszer

App App App

Útvonalválasztás, menedzsment, mobilitás menedzsment, access control, VPN, …

Page 4: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Ideális és megvalósult architektúra

» Miért fontos a rétegek elválasztása? » szétválasztott szolgáltatások komponensekkel megvalósítva » független, de kompatibilis innováció lehetséges az egyes rétegekben

» Zárt architektúra » elmosódott határok, zárt interfészek » szoftver és hardver összekötve » függőlegesen integrált, komplex, zárt, egyedi, gyártó specifikus

interfészek

2018.tavasz 4

Specializált

csomagtovábbító

hardver

Operációs

rendszer

App App App

Operációs

rendszer

App

App

App

Specializált

csomagtovábbító

hardver

Page 5: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Hasonlóság a számítógép architektúrák

2018.tavasz 5

Windows

(OS) Windows (OS)

Linux Mac

OS

x86

(Computer)

Windows

(OS)

App App

Linux Linux Mac

OS Mac

OS

Virtualization layer

App

Controller

1

App App

Controller

2

Virtualization or “Slicing”

App

OpenFlow

Controller

1 NOX (Network OS)

Controller

2 Network OS

Számítógépek Hálózatok

Page 6: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Szoftver Definiált Hálózatok (SDN)

2018.tavasz 6

API az adat sík felé

(pl. OpenFlow)

Logikailag központosított vezérlés

kapcsolók

„okos”,

de lassú

„buta”,

de gyors

Page 7: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

SDN komponensek

2018.tavasz 7

App

Simple Packet

Forwarding

Hardware

Simple Packet

Forwarding

Hardware

Simple Packet

Forwarding

Hardware

App App

Simple Packet

Forwarding

Hardware Simple Packet

Forwarding

Hardware

Network Operating System

1.Nyílt interfész a hardver felé

3. Jól definiált nyílt API 2. Operációs rendszer

Bővíthető, lehetőleg nyílt forráskódú

Page 8: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

SDN virtualizáció

2018.tavasz 8

Simple Packet

Forwarding

Hardware

Network

Operating

System 1

Nyílt interfész a hardver felé

Virtualization or “Slicing” Layer

Network

Operating

System 2

Network

Operating

System 3

Network

Operating

System 4

App App App App App App App App

Nyílt interfész a hardver felé

Simple Packet

Forwarding

Hardware Simple Packet

Forwarding

Hardware Simple Packet

Forwarding

Hardware

Simple Packet

Forwarding

Hardware

Izolált “szeletek”

Page 9: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Hagyományos kapcsoló/útválasztó

» Működés szétbontható síkokra » Menedzsment sík / konfiguráció

» Vezérlő sík / döntések

» Adat sík / csomag továbbítás

2018.tavasz 9

Page 10: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

SDN koncepció

» A vezérlő- és adatsík elemek szétválasztása » a hálózati intelligencia és állapot logikailag

központosított

» a vezérelt hálózati infrastruktúra absztrakt formában jelenik meg az alkalmazások számára

» A vezérlősík szoftver általános hardveren fut » leválasztás a speciális hálózati hardverről

» általános szerverek alkalmazása

» Az adatsík programozható » Az adatsík felügyelete, vezérlése és programozás egy

központi helyről

» Nem csak a hálózati eszközök, hanem az egész hálózat vezérelhető

2018.tavasz 10

Page 11: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Vezérlő szoftver program A vezérlő program az általa észlelt hálózati képen végez

műveleteket » Bemenet: globális hálózati kép (gráf/adatbázis)

» API-n keresztül elérhető információkkal ellátott hálózati gráf » a kapcsolóktól érkező „események”

» topológia változás » forgalmi statisztikák » érkező csomagok

» Kimenet: minden egyes hálózati eszköz beállítása » A vezérlő mechanizmus egy program, ami pl. egy gráf algoritmust valósít

meg » Üzenetek küld a kapcsolóknak

» szabályok beállítása, törlése » statisztikák lekérdezése » csomagok küldése

A vezérlő program nem elosztott rendszer » az absztrakció elrejti az elosztott állapot részleteit

2018.tavasz 11

Page 12: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

SDN absztrakció a vezérlő síkon

2018.tavasz 12

Hálózati operációs rendszer

Útválasztás Traffic Engineering

Egyéb

alkalmazás

Jól definiált API

Hálózati képabsztrakció

Csomag-

továbbítás

Csomag-

továbbítás

Csomag-

továbbítás

Csomag-

továbbítás

Hálózat virtualizáció

Page 13: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

OpenFlow » Nyílt interfész „fekete

dobozként” kezelhető hálózati eszközökhöz (útválasztó, L2/L3 kapcsoló)

» Szeparált vezérlő és adat sík » Egy OpenFlow kapcsoló adat síkja

tartalmazza a folyam táblázatot (Flow Table), és egy műveletet (action) minden bejegyzéshez

» A vezérlő síkban: vezérlő (controller), amely a folyam bejegyzéseket felprogramozza

» Az OpenFlow tkp. egy standard interfész, amin keresztül hozzáadhatók és törölhetők bejegyzések egy Ethernet kapcsoló belső folyam táblázatához

2018.tavasz 13

Page 14: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

OpenFlow eszközök Vezérlő/NOS » POX (Python)

» általános SDN vezérlő

» NOX (C++) » az első OpenFlow controller

» Floodlight (Java) » ipari szintű megoldás

» OpenDaylight (Java) » NFV

» Ryu (Python) » nyílt forrású Network

Operating System (NOS)

» ovs-controller (C) » referencia vezérlő az Open

vSwitch-hez

» …

Kapcsolók » Szoftveres kapcsolók

» Stanford Reference Implementation v1.0

» Open vSwitch » Linux-based Software Switch

(Kernel Space implementáció) » Nem csak OF kapcsoló, hanem

hypervisorokban is alkalmazott

» Szoftver → Hardver » Általános hardveren

» OpenWRT-t futtatva » szoftveres kacsolók portolhatók » CPU-n futtatva » user space implementáció

» NetFPGA-alapú implementáció

» Hardver kapcsoló gyártók » HP, Cisco, Juniper, IBM,

Arista, NEC, Netgear, Pronto, …

2018.tavasz 14

Page 15: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

OpenFlow

2018.tavasz 15

Control Program A Control Program B

Network OS

PacketForwarding

PacketForwarding

PacketForwarding

FlowTable(s)

“If header = p, send to port 4”

“If header = ?, send to me”

“If header = q, overwrite header with r,

add header s, and send to ports 5,6”

Page 16: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

OpenFlow szabályok, műveletek

» Egyszerű csomagkezelési szabályok » <Header match, Action>

» <Fejléc illeszkedési minta, művelet>

» tetszőleges bitminta megadható:

» Művelet (action)

» Továbbítás megadott port(ok)ra, eldobás, továbbküldés a vezérlőnek

» Fejléc felülírás, hozzáadás (push), levétel (pop)

» Továbbítás megadott bitsebességgel

2018.tavasz 16

Header Data

Match: 1000x01xx0101001x

Page 17: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Folyam táblázat

» Lehet több is, át lehet irányítani egyikből a másikba a feldolgozást

2018.tavasz 17

Rule

(exact & wildcard)Action Statistics

Rule

(exact & wildcard)Action Statistics

Rule

(exact & wildcard)Action Statistics

Rule

(exact & wildcard)Default Action Statistics

Flow 1.

Flow 2.

Flow 3.

Flow N.

Page 18: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Match Fields

StatsAction

In PortSrc

MAC

Dst

MAC

Eth

Type

Vlan

IdIP Tos

IP

ProtoIP Src IP Dst

TCP

Src Port

TCP Dst

Port

Layer 2 Layer 3 Layer 4

1. Packet

2. Byte counters

1. Forward packet to port(s)2. Encapsulate and forward to

controller3. Drop packet 4. Send to normal processing pipeline

Folyam bejegyzések

» Részei » illeszkedési minta

» művelet

» statisztika

2018.tavasz 18

Page 19: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Pédák 1.

2018.tavasz 19

Ethernet kapcsolás

*

Switch Port

MAC src

MAC dst

Eth type

VLAN ID

IP Src

IP Dst

IP Prot

TCP sport

TCP dport

Action

* 00:1f:.. * * * * * * * port6

Folyam szintű kapcsolás

port3

Switch Port

MAC src

MAC dst

Eth type

VLAN ID

IP Src

IP Dst

IP Prot

TCP sport

TCP dport

Action

00:20.. 00:1f.. 0800 vlan1 1.2.3.4 5.6.7.8 4 17264 80 port6

Tűzfal

*

Switch Port

MAC src

MAC dst

Eth type

VLAN ID

IP Src

IP Dst

IP Prot

TCP sport

TCP dport

Action

* * * * * * * * 22 drop

Page 20: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Pédák 2.

2018.tavasz 20

Útvonalválasztás

*

Switch Port

MAC src

MAC dst

Eth type

VLAN ID

IP Src

IP Dst

IP Prot

TCP sport

TCP dport

Action

* * * * * 5.6.7.8 * * * port6

VLAN kapcsolás

*

Switch Port

MAC src

MAC dst

Eth type

VLAN ID

IP Src

IP Dst

IP Prot

TCP sport

TCP dport

Action

* * vlan1 * * * * * port6, port7, port9

00:1f..

Page 21: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

OpenFlow építőelemek

2018.tavasz 21

Page 22: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Izolált szeletek

» proxy a vezérlő és az adat sík között

» hardver erőforrások szeletekhez rendelése

» topológia felderítés szeletenként

2018.tavasz 22

Page 23: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Folyam szintű csomagkezelés: reaktív

» folyam első csomagja a vezérlőhöz továbbítva

» a vezérlő felprogramozza a folyamnak megfelelő szabályokat az adatsíkon » rendszerint egy szabály, de lehet több is (lista)

» a vezérlő visszaküldi az első csomagot a hálózati eszköznek

» a folyam további csomagjai a felprogramozott szabályok alapján továbbítódnak

2018.tavasz 23

Page 24: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

SDN a felhőben

» Reaktív végpont-végpont hálózatok helyett… » első csomag a vezérlőhöz késleltetés

» végpont-végpont: sok bejegyzés, skálázhatósági probléma

» előfizetők/VM-ek változása minden kapcsolót érint

» …proaktív fedőhálózat (overlay) » a fizikai hálózat L2/L3 összeköttetést biztosít

» a vezérlő előre felprogramozza az eszközöket kis

késleltetés

» alagutak: előfizető állapot csak a végpontokban (hypervisor virt. kapcs. / útválasztó), skálázható

» kevesebb bejegyzés a továbbítási táblázatokban

» nem a VM-ek, hanem csak fizikai szerverek közötti kapcsolatok

» előfizetők változása a fizikai hálózatot nem érinti

2018.tavasz 24

Page 25: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Felhő menedzsment és SDN » Orchestration (vezénylés): OpenStack

biztosítja » magasabb szintű absztrakció

» a virtuális erőforrásokat látja

» nem csak a hálózat, hanem egy teljes alkalmazás rendszer

» VM-ek, háttértárak, stb. + hálózat

» CLI vagy horizon dashboard » automatizált: Heat

» sablonok

» SDN » a fentiek alacsonyabb szintű hálózati

megvalósítása

2018.tavasz 25

Felhő menedzsment/vezénylő platform / alkalmazások

Northbound API

Hálózat virtualizáció menedzser/vezérlő

Southbound API

Hálózati szolg.

Hypervisor

Fizikai hálózat

Hálózati szolg.

vSwitch/vRouter

Overlay protokoll Gateway

Page 26: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

OpenStack » OVS Neutron plugin

» OpenFlow a virtuális kapcsoló táblázatok felprogramozására » VM MAC címe és a szerver hypervisor transzport IP címe közötti leképezés

– ezt a vezénylés (orchestration) számára ismert » proaktív » északi interfész (northbound): Neutron » déli interfész (southbound): OpenFlow

» Lehet más SDN vezérlő plugin » pl. OpenDaylight OpenStack Neutron plugin

2018.tavasz 26

Page 27: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

SND a felhőben

» Nem csak a virtuális kapcsolók/útválasztók beállítására, hanem a fizikai hálózati eszközökre is

2018.tavasz 27

Forrás: http://www.opencontrail.org/opencontrail-architecture-documentation/

Page 28: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Adatközpont hálózati követelmények

» Kapcsolók konfigurációjának és állapotának minimalizálása » automatizálás, amennyire lehetséges

» Hatékony forgalom továbbítás, nagy teljesítmény » ne legyen hurok

» alkalmazkodás a forgalmi változásokhoz

» ügyfél SLA betartása

» VM migráció gyorsan és könnyen » transzparens migrálás

» Gyors, hatékony hiba felderítés/elhárítás » elég gyakori a nagy méretből adódóan

» a hálózatnak is igazodnia kell a hibaelhárításhoz

2018.tavasz 28

Page 29: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Tradícionális megoldások » Layer 3

+ hierarchikus címzés kis továbbítási táblázatok + OSPF gyors hibakezelés + IP TTL: hurkok kivédése - magas az adminisztrációs teher (alhálózatok konfigurálása, DHCP,

stb.)

» Layer2 + Flat MAC címzés (helyfüggetlen) + hurkok kivédése: STP + kevesebb az adminisztrációs teher - broadcast forgalom (nem jól skálázható) - STP nem tudja kihasználni a teljes topológiát

» VLAN » skálázhatóság (max. 4K) » statikus konfigurációból származó hátrányok

2018.tavasz 29

Page 30: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

SDN megoldás

» a vezérlő teljes hálózati képet kap » eszközök felderítése

» MAC, IP címek, kapcsolatok

» a vezénylés által adott feladat alacsonyabb szintű hálózati megvalósítása

» gyors és dinamikus hálózat kialakítás » rugalmas: ügyfelek által megadott módon

» automatizált hálózati erőforrás kiosztás/kezelés

» forgalmi terhelés optimalizálása, akár adatközpontok között

» skálázhatóság

» NFV

2018.tavasz 30

Page 31: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Felhő specifikus feladatok

» terheléskiegyenlítés (Load Balancing – LB)

» adatközpontok közötti alagút

» VM migrálás

» skálázható csomagtovábbítás

2018.tavasz 31

Page 32: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Terheléskiegyenlítés » Dinamizmus

» az OpenFlow bejegyzésekhez időzítő tartozik

» Terheléskiegyenlítéshez szükséges műveletek » a publikus IP cím átírása a kiszolgáló IP címére » a kiszolgálóhoz tartozó kimeneti portra továbbítás » az ellenkező irányba fordítottan ugyanez

» Megoldandó » hash alapú útválasztás » TCP flag vizsgálat az új folyamok megkülönböztetésére

» Plug-n-Serve: Load-Balancing Web Traffic using OpenFlow » terheléskiegyenlítés a hálózat és a kiszolgálók terhelése alapján, elosztott módon

2018.tavasz 32

Forrás: http://conferences.sigcomm.org/sigcomm/2009/demos/sigcomm-pd-2009-final26.pdf

Page 33: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

SDN adatközpontok közötti forgalomra » Forgalom

» cloud bursting » földrajzi szempontok a terheléskiegyenlítésben

» Alagutak kiépítése reaktív módszerrel » multipath » útvonalak változtatása = fejlécek átprogramozása menet közben

2018.tavasz 33

Forrás: http://www.opencontrail.org/how-to-setup-opencontrail-gateway-juniper-mx-cisco-asr-and-software-gw/

Page 34: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

VM migrálás » Okai

» karbantartás, terheléskiegyenlítés

» VM-ek összerendezése (energiatakarékosság)

» katasztrófa elhárítás: teljes alkalmazás rendszer áttelepítés

» Másik alhálózatba migrálás nehézségei

» hierarchikus IP címzés

» kézi átkonfigurálás nem életképes megoldás

» az élő TCP kapcsolatok ne szakadjanak meg

» CrossRoads » helyfüggetlenség: pszeudo MAC

(PMAC) és IP címek (PIP)

» SDN vezérlő kezeli az összerendeléseket

2018.tavasz 34

Forrás: Mann, V.; Vishnoi, A; Kannan, K.; Kalyanaraman, S., "CrossRoads: Seamless VM mobility

across data centers through software defined networking," Network Operations and Management

Symposium (NOMS), 2012 IEEE , vol., no., pp.88,96, 16-20 April 2012

Page 35: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

SDN skálázhatóság

» Kihívás a vezérlő sík számára » VM-ek száma, ügyfél szabályok, SLA-k, folyamok száma, stb.

» multi domain környezetben vezérlők szövetsége (federation) » információcsere » állapotok megosztása » könnyen bővíthető

» NEC 2014. tesztek » Trema OpenFlow vezérlő » Layer 2 hálózatok VXLAN technológiával » vezérlő terheléskiegyenlítéssel: több kiszolgáló

» egy kiszolgáló 410 kapcsolót kezel, lineáris skálázódás

» 16 000 virtuális hálózatot kezel » 1024 kapcsoló, mindegyiken 128 VM

» konstans 4 mp egy virtuális hálózat kialakítása

2018.tavasz 35

Page 36: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Alkalmazások

» Amazon, Google, Facebook, Microsoft Azure » saját egyedi SDN megoldások

» Google inter-datacenter WAN: SDN + OpenFlow » központosított forgalom szervezés (traffic engineering)

» hálózati költségek csökkentése

» NEC által telepített adatközpontokban » költségek csökkentése

» VMware » Nicira (SDN, hálózat virt.)

» Network Virtualization Platform (NVP): overlay hálózati technológia VMware NSX

2018.tavasz 36

Page 37: Felhő alapú hálózatok (VITMMA02) SDN a felhőben

Távközlési és Médiainformatikai Tanszék

Források » Nick McKeown (Stanford University),"Software-defined

Networking“, Infocom Keynote Talk, April 2009, Rio de Janeiro, Brazil

» Srini Seetharaman, OpenFlow/SDN tutorial, Nov 2011 » Jennifer Rexford (Princeton University), Computer Science

461: Computer Networks, Software Defined Networking » Matt Davy (Indiana University), Software Defined

Networking & OpenFlow, GENI Workshop, July 7th, 2011 » Open Networking Foundation,

https://www.opennetworking.org/ » http://www.openflow.org/ » CHIBA Yasunobu, SUGYOU Kazushi, „ OpenFlow Controller

Architecture for Large-Scale SDN Networks”, NEC Technical Journal/Vol.8 No.2/Special Issue on SDN and Its Impact on Advanced ICT System, 2014

2018.tavasz 37