Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
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
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
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, …
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
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
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
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ú
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”
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
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
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
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ó
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
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
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”
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
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.
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
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
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..
Távközlési és Médiainformatikai Tanszék
OpenFlow építőelemek
2018.tavasz 21
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
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
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
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
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
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/
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
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
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
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
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
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/
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
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
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
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