Hálózatok építése és üzemeltetése Többutas átvitel 1
Mai téma! Adatok továbbítása párhuzamosan több útvonalon 2
Többutas átvitel előnyei! Gyors! több út nagyobb sebesség! Hibatűrő! Biztonságos! egy ponton figyelve nem lehet a forgalmat lehallgatni! Hatékony! a hálózat kihasználtsága növelhető 3
Többutas átvitel nehézségei! Ha csak 1 út kell jó a fa topológia! fán minden egyszerűbb! egyszerűbb protokollok, gyors és olcsó kapcsolóeszközök! Körök a gráfban -> bonyolultabb protokollok-> drágább eszközök (hurokvédelemhez állapot kell)! Fejlett útválasztás! Fejlett hálózatmenedzsment! Fejlett hálózatmonitorozás! Hagyományos architektúrában ezek pont nem járnak az élen, de majd az SDN-el 4
Többutas átvitel és rétegek! OSI rétegek 5
Többutas átvitel a 2-3 rétegekben Többszörös feszítőfák 6 Hálózatok építése és üzemeltetése, Többutas átvitel - Gulyás András,, BME-TMIT 2016/10/12
Feszítőfa protokoll (Spanning Tree Protocol STP)! Nincs kör nincs, olcsó egyszerű, de nem túl hatékony hálózat! nincs hibatűrés, alacsony átviteli sebesség, alacsony kihasználtság! Ha lehet, akkor minimális extra művelettel valami extra szolgáltatás! Root switch kiválasztása! Root-switch-től BPDU (Bridge Protocol Data Units) 0-s költséggel mindenhova! BPDU-t minden switch továbbküldi megnövelve a link költséggel! Több útvonal csak időbeli eltolással: pl. átkapcsolás másik STP-re hálózati hiba esetén 7
Többszörös feszítőfa protokoll (MSTP)! VLAN 802.1Q! Minden VLAN-hoz külön feszítőfát definiál! Felhasználó szintű granularitást már tud: különböző VLAN-hoz tartozó csomagok különböző utakat járnak be 8
Shortest path bridging (SPB)! IS-IS minden switch-en! Minden IS-IS példányhoz saját feszítőfa! Service ID->Vlan ID leképzés! így lehet dinamikusan szolgáltatásokat VLAN-hoz rendelni! ECMP algoritmussal több útvonal használata azonos VLAN-on belül! Determinisztikus multipath: több útvonal közül hash kód alapján választ! Granularitás: folyamonként más útvonal 9
Többutas átvitel a 4. rétegben Multipath TCP 10 Hálózatok építése és üzemeltetése, Többutas átvitel - Gulyás András,, BME-TMIT 2016/10/12
TCP protokoll áttekintés! Elosztott önszerveződő torlódáskezelés! A felhasználók valósítják meg! A TCP kliensek a torlódási ablak állításával saját magukat szabályozzák vissza, így a felhasználók fair módon férhetnek hozzá a hálózati erőforrásokhoz! Nem kellene drága bufferek, és csomagütemezők! Olcsóbb hálózat 11
Hálózatok, többszörös útvonalkezelés! A hálózat aktívan kell, hogy monitorozza magát és az aktuális viszonyokhoz kell, hogy igazítsa a bejövő forgalmat! Többféle hardver: monitorozó eszközök, load balancer, útvonalfigyelés stb.! Drágább hálózat 12
Lehet-e a többszörös útvonalak kezelését a felhasználókra bízni?! Multipath TCP! Egy TCP folyamot több alfolyamra bont szét és ezeket együtt kezeli! subflow szintű granularitás egy adott felhasználói session is hibatűrőbb és gyorsabb lehet tőle! Linux implementáció (https://www.multipathtcp.org/) egyszerűen telepíthető, de saját kernelverzió kell! alapból a kliens minden interfészéről a szerver minden interfészére indít egy alfolyamot! Ha a routing megfelelően van beállítva a címek között akkor kihasználja a többszörös útvonalakat Kliens Szerver 13
Alkalmazás specifikus példa: iscsi multipath! SCSI protokoll üzenetek átvitele IP csomagokban: olyan mintha helyi tároló lenne Initiator SCSI iscsi TCP IP Data Link Target SCSI iscsi TCP IP Data Link IP alapú hálózat 14
Multipath TCP mérés MPTCP - iscsi - Target Adatátvitel közbeni kiesés 28000 Initiator Target Átviteli sebesség (Kbájt/s) 24000 20000 16000 12000 8000 4000 0 1 7 13 19 25 31 37 43 49 55 Idő (mp) eth0 eth1 eth0 + eth1 15
Multipath TCP! Felhasználások (SIRI) Internet Mobil adat Wifi 16
Multipath TCP valós mérés MPTCP - SCP - target Adatátvitel két interfészen Átviteli sebesség (Kbájt/s) 6000 5000 4000 3000 2000 1000 0 1 6 11 16 21 26 31 36 41 46 51 56 61 Idő (mp) eth0 eth1 eth0 + eth1 17
Többutas átvitel a felsőbb rétegekben Példa: iscsi multipath 18 Hálózatok építése és üzemeltetése, Többutas átvitel - Gulyás András,, BME-TMIT 2016/10/12
iscsi multipath! Multipath tools linux csomag SAN (storage area network) többutas elérésére 19
iscsi multipath mérések Multipath-tools target Adatátvitel közbeni kiesés MPTCP - iscsi - Target Adatátvitel közbeni kiesés 25000 28000 Átviteli sebesség (Kbájt/s) 20000 15000 10000 5000 0 1 7 13 19 25 31 37 43 49 55 61 Átviteli sebesség (Kbájt/s) 24000 20000 16000 12000 8000 4000 0 1 7 13 19 25 31 37 43 49 55 Idő (mp) Idő (mp) eth0 eth1 eth0 + eth1 eth0 eth1 eth0 + eth1 20
Tartalomelosztó hálózatok (CDN) Felhasználó-tartalom többutas elérés 21 Hálózatok építése és üzemeltetése, Többutas átvitel - Gulyás András,, BME-TMIT 2016/10/12
Összeköttetési filozófiák!! Számítógép hálózatok:! kliens-szerver architektúra Tartalom hálózatok:! felhasználó-tartalom összeköttetés Hálózat Hálózat 22
CDN: új tartalomelosztási modell! Az internet pont-pont filozófiája tartalomelosztáshoz nem illeszkedik jól. 23
CDN áttekintés! CDN feladata:! tartalom elosztása! kérések irányítása! monitorozás és számlázás! Inter domain CDN! Pl. nyilvános felhő szolgáltatók (Amazon, Azure stb.)! Intra domain: saját felhő! Regionális szolgáltatók 24
Kérésirányítás módszerek! Round robin! operációs rendszerekből ismert ütemező eljárás! feltételezi, hogy a helyettesítő szerverek képességei hasonlóak! bármelyik képes bármilyen kérést kiszolgálni! fizikailag közel (egy klaszterben) vannak! minden kérést egyenrangúnak kezel (számítási igényben jelentősen eltérhetnek)! földrajzilag elszórt szerverek esetén nem hatékony! Terheltség alapú súlyozásos round robin! terheltség mérése a szervereken (pl. eddig kiszolgált igények száma alapján)! terheltség mérése a hálózatban! súlyok beállítása ennek megfelelően 25
Kérésirányítás mechanizmusok! DNS alapú! URL átírás! HTTP redirect! Anycast 26
DNS alapú kérésirányítás! Működése:! adott domain névhez több IP is regisztrálva van a DNS-ben! ezt a listát adja vissza a DNS lekérdezés! innen a helyi resolver választ egyet (random)! teljesen transzparens! a DNS szolgáltatás mindenütt jelen van, ez optimalizációra ad lehetőséget! nagyon egyszerű, szinte semmi plussz hardver/szoftver nem kell hozzá! Hátrányai! DNS névfeloldási mechanizmus késleltetése! a felhasználó IP címét nem veszi figyelembe (a DNS kiszolgáló választ IP-t)! a DNS cache-ek miatt nem mindig használható előfordul, hogy a kérések 5%-a irányítódik át! nem hibatűrő (helyettesítő szerverek kiesése esetén) 27
URL átírás! Az eredetszervertől visszakapott html kódban a beágyazott objektumok elérési adatait átírjuk a helyettesítő szerverekre! Proaktív: az URL-eket előre legeneráljuk! Reaktív: URL generálás script-el valós időben! Több helyettesítő szerver párhuzamos használata User ` Local Network (1) All client requests arrive to the origin server of content provider (2) Discovery s origin server returns the basic index page (5) Closest replica server serves selected embedded objects Pl: beágyazott jpg file-ok Index.html CDN provider s replica server Origin Server Internet CDN provider s replica server <img src= http://cnn.com/af/foo.jpg> may be modified as follows: (3) Redirect request to CDN provider CDN provider s replica server (4) Forward request Selected embedded objects to be served by CDN provider Selection Algorithm CDN Provider <img src=http://a73.g.akamai.net/7/23/cnn.com/af/foo.jpg> 28
HTTP redirection! Elosztó web szerver, ami csak a HTTP refresh fejlécet generálja! egyszerű és rugalmas! nem transzparens (felhasználó látja mi történik)! nagy overhead, két http kérés generálódik minden esetben, magasabb késleltetés <html> <head> <title>your Page Title</title> <meta http-equiv="refresh" content= 0;url=http://www.redirectiondomain.com"></HEAD> <BODY> Optional page text here. </BODY> </HTML> 29
Anycast! ugyanazt az IP címet rendeljük több géphez is! az IP routerek tárolják az útvonalat a hozzájuk levő legközelebbi géphez! sima unicast címekkel megy 30
Peer-to-peer rendszerek! egy alkalmazáscsoport mely kihasználja az Internet peremén! levő felhasználók erőforrásait:! Tárolás merevlemez kapacitás! CPU számítási kapacitás! Tartalom adatok, információk megosztása! Bármilyen más megosztható erőforrás, szolgáltatás, funkció 31
Peer-to-peer: BitTorrent! Hagyományos webes keresés!.torrent fájl! egy tracker szerver címe! Tracker! A csatlakozó peer-nek megad egy véletlenszerű listát a lehetséges peer-ekről! Default 50! Általában egy peer 20-40 peer-el tart kapcsolatot (peer lista)! Ha 20 alá csökken, újra a trackerhez fordul! A Peer-ek időközönként jelentenek a Trackernek! Hány letöltés! Hány peer-nél van a teljes fájl! Hány peer-nél vannak fájl részek 32
P2P streaming! A felhasználók gépei fába rendeződnek! Nagyon egyszerű! A csomagok ugyanazon az úton mennek! Push jellegű átvitel Peer 0 Server Peer 1! Videó minősége számítható (korlátos késleltetés) a fa mélysége alapján! fokszám korlátozott a feltöltési sebesség alapján! a levél peer-ek nem töltenek fel (pedig sokan vannak) Peer 2 Peer 3 Peer 4 Peer 5 Peer 6 Peer 7 Peer 8 Peer 9 33
P2P streaming - többszörös fa! MDC Multiple description coding! több videófolyamot csinál különböző kódolással! minél többet vesz a vevő annál jobb a minőség Peer 0 s t r e a m 1 Server s t r e a m 2 Peer 3! n folyam! n-db fa létrehozása az n folyamhoz! egy peer csak 1 fában lehet közbenső csomópont Peer 1 Peer 2 Peer 4 Peer 5 Peer 3 Peer 4 Peer 5 Peer 6 Peer 0 Peer 1 Peer 2 Peer 6 34