Dr. Bilicki Vilmos Szoftverfejlesztés Tanszék 8. Forgalomirányítás Dr. Bilicki Vilmos Szoftverfejlesztés Tanszék
Tartalom Forgalomirányító algoritmusok Statikus forgalomirányítás Dinamikus forgalomirányítás Távolságvektor alapú Link állapot alapú Internet struktúra Forgalomirányítók, Kliensek Autonóm rendszerek (AS) Forgalomirányító algoritmus osztályok Tartományon Belüli Forgalomirányítás RIP, IGRP, EIGRP ,IS-IS, OSPF Tartományközi forgalomirányítás BGP RIPv1 RIPv2 2017.04.19. Számítógép Hálózatok
Útvonal információk Statikus Dinamikus Manuális: lassú változás Nem robosztus: független az aktuális állapottól Stabil Dinamikus Forgalomirányító protokollok segítségével tanulja meg az útvonalakat A topológia változásokra azonnal reagál Nem biztos, hogy konvergál, oszcillál Hurkot okozhat 2017.04.19. Számítógép Hálózatok
Statikus forgalomirányítás A rendszergazda manuálisan írja be a forgalomirányító tábla bejegyzéseit A forgalom teljesen kézbentartható Pl.: más-más útvonal használata a két irányban, … A rendszer átlátható Minden változás manuális beavatkozást igényel Működőképes hálózathoz: Minden forgalomirányítóba fel kell venni az összes a hálózaton előforduló címtartományt és irányt Használhatunk összesítés útvonalakat A forgalomirányítóra közvetlenül csatlakozott hálózatokat nem kell felvenni A statikus útvonalakhoz is adhatunk költséget (CISCO) Terhelés elosztás Forgalom elosztás Azonos mértékű Költség szerinti Kapcsolt egység Cél szerint (fast switching) Csomagonként (process switching) Tartalék útvonal 2017.04.19. Számítógép Hálózatok
Rekurzív tábla keresés Nem feltétlenül mutat minden bejegyzés a szomszéd forgalomirányítóra Ez esetben a keresés addig folytatódik míg nem talál egy olyan címet amely a szomszéd forgalomirányítóra mutat (megvan a kimenő interfész) A többszörös keresés időigényes Csak indokolt esetekben érdemes ezt használni (pl.: változás előtt) 2017.04.19. Számítógép Hálózatok
Mikor érdemes statikus útvonalat használni? Amikor vég hálózatunk van. Nincs alternatív útvonal. Igény szerinti forgalomirányítás (On- Demand Routing) Szabály szerinti forgalomirányítás (Policy based routing) 2017.04.19. Számítógép Hálózatok
Statikus útvonal választás 2017.04.19. Számítógép Hálózatok
Alapértelmezett út Utolsó megoldás átjáró/Gateway of last resort Cím aggregálás: 192.168.200.128/27 192.168.200.160/27 192.168.200.192/27 192.168.200.224/27 Teljes aggregálás: 0.0.0.0 Alapértelmezett cím 0.0.0.0/0 Alapértelmezett hálózat Csak osztálymentes működésnél használható!!! Vég hálózat esetén nagyon hasznos (minden erre van, 50000 bejegyzés helyett egy) Gyűjtőpont hálózat (Hub and spoke) Elemei: Gyűjtő forgalomirányító (Hub) Csonk forgalomirányítók (Stub) Csonk hálózat (Stub network) Egyszerű, gyors Veszít a precizitásból 2017.04.19. Számítógép Hálózatok 8
Forgalomirányító protokollok Cél: Az útvonal meghatározása Csomagkapcsolt hálózat: a forgalomirányító tábla karbantartása Forgalomirányító tábla: A csomagok továbbításánál ez alapján dől el a kimenő interfész Skálázható, adaptív, stabil Elemek Egy eljárás a saját információ átvitelére a többieknek Egy eljárás a többiektől beérkező információ kezelésére Egy eljárás mely az információhalmaz alapján meghatározza az optimális útvonalakat és rögzíti ezeket a forgalomirányító táblába Egy eljárás mely reagál topológia változásokra 2017.04.19. Számítógép Hálózatok
Miért nem jó ez a megoldás? Minden saját információt átküldünk a szomszédnak Kérdések: Mit csináljon A B és C információival? Küldje- e tovább? Ha nem akkor az információ csere nem teljes. Ha igen akkor hogyan oldjuk meg azt, hogy minden információ eljut mindenkihez és a csomagok mégsem lesznek végtelen ideig a hálózatba? Merre kell a csomagokat küldeni 192.168.4.0 felé? 2017.04.19. Számítógép Hálózatok
Forgalomirányítás “jó” útvonal: Forgalomirányító protokoll E D C B F 2 1 3 5 Forgalomirányító protokoll Cél: meghatározza a “jó” útvonalat (forgalomirányítók sorozatát) a forrástól a célig. Gráf absztarkciók: A csomóponotok forgalomirányítók Az élek fizikai összeköttetések költség: késleltetés, ár, torlódás szint,… “jó” útvonal: Tipikusan a legkisebb költségű útvonal Más definició is elképzelhető 2017.04.19. Számítógép Hálózatok
Összeköttetés metrikák Ugrás szám Egyszerű Soros vonal vs. Gigabit? Sávszélesség Torlódásos Gigabit vs. Üres Fast Ethernet? Terhelés Útvonal ingadozás Késleltetés Megbízhatóság Ár 2017.04.19. Számítógép Hálózatok
Konvergencia Ha minden rendben van akkor konzisztens állapotban van a rendszer Mindenki ugyanazt gondolja a hálózatról 2017.04.19. Számítógép Hálózatok
Dinamikus Forgalomirányító Algoritmusok Globális, vagy Link állapot algoritmus A topológia teljes ismeretével rendelkezik (költségek, linkek,…) Elosztott vagy távolságvektor alapú algoritmusok Csak a kapcsolódó linkek és szomszédok információit használja Iteratív algoritmus 2017.04.19. Számítógép Hálózatok
Globális, Link állapot alapú Dijkstra legrövidebb útvonal Megvalósítás: Minden csomópont elküldi mindenkinek minden kapcsolatát és azok paramétereit 2017.04.19. Számítógép Hálózatok
Egy link állapot alapú algoritmus Dijkstra algoritmusa A topológia, link költségek minden csomópontban ismertek „link állapot” üzenetszórás segítségével Minden csomópontnak azonos információja van Egy csomóponttól kiszámítja a legrövidebb (olcsóbb) útvonalat minden más csomóponthoz Legyártja a forgalomirányító táblát az adott csomópontnak Iteratív: k iteráció után ismerjük a legrövidebb utat k-hoz. 2017.04.19. Számítógép Hálózatok
Link állapot alapú algoritmus kérdések Skálázhatóság A költség forgalom függő: oszcillációhoz vezethet A A D C B 2+e 1+e 1 A A D C B 2+e 1+e 1 1 1+e 2+e D B D B e 1 C 1+e C 1 1 e …átszámít … átszámít … átszámít kezdetben 2017.04.19. Számítógép Hálózatok
Elosztott, távolságvektor alapú forgalomirányító Bellman-Ford algoritmus (Bellman 1957, Ford és Fulkerson 1962) Minden csomópont csak a vele szomszédos csomópottal kommunikál Távolságvektorokat csereberélnek Kiszámítja a legrövidebb útvonalat Ezt addig folytatja míg le nem áll az információ csere A záró lépésben a csomópontoknak nem kell adnia „Pletyka alapú forgalomirányítás” 2017.04.19. Számítógép Hálózatok
Távolságvektor alapú forg. ir. áttekintés Minden csomópont: Iteratív, aszinkron: a helyi iterációk oka: link költség változás üzenet a szomszédtól: megváltozott egy szomszédjához vezető legrövidebb út Elosztott: a csomópontok csak akkor kommunikálnak, ha a legrövidebb útvonaluk valahova megváltozik ekkor értesítik a szomszédokat vár a (link költség megváltozására, vagy egy üzenetre a szomszédtól) átszámítja a távolság táblát Amennyiben a legrövidebb útvonal megváltozott akkor értesíti a szomszédait 2017.04.19. Számítógép Hálózatok
Távolságvektor alapú forg. ir. iteratív: addig folytatódik amíg egy csomópont sem cserél információt Ön-befejező: nincs stop jel aszinkron: A csomópontoknak nem kell információt cserélnie a záró lépésben elosztott: Az egyes elemek csak a szomszédaikkal kommunikálnak Távolság Tábla struktúra Minden csomópont tartalmazza a saját sorát minden lehetséges célhoz, az oszlopokban a szomszédok szerepelnek példa: az X csomópont , az Y célt a Z szomszédon keresztül éri el: D (Y,Z) X az Y X-től való távolsága to Z-n keresztül c(X,Z) + min {D (Y,w)} Z w = 2017.04.19. Számítógép Hálózatok
Távolság tábla: példa 2017.04.19. Számítógép Hálózatok
Távolság tábla: példa D () A B C D 1 7 6 4 14 8 9 11 5 2 D (C,D) E D C B 7 8 1 2 D () A B C D 1 7 6 4 14 8 9 11 5 2 E A költség A,B,C-n keresztül Cél D (C,D) E c(E,D) + min {D (C,w)} D w = 2+2 = 4 D (A,D) E c(E,D) + min {D (A,w)} D w = 2+3 = 5 hurok! D (A,B) E c(E,B) + min {D (A,w)} B w = 8+6 = 14 hurok! 2017.04.19. Számítógép Hálózatok
A távolság táblából származik a forgalomirányító tábla D () A B C D 1 7 6 4 14 8 9 11 5 2 E költség cél Kimenő interfész, ár A B C D A,1 D,5 D,4 cél Távolság tábla Forg. ir. tábla 2017.04.19. Számítógép Hálózatok
Távolság vektor problémák Robosztusság: egy csomópont helytelen útvonal költséget hirdethet egymás tábláját használják a hiba terjed a hálózaton Hurkokat tartalmazhat Konvergencia idő: Végtelenig számlálás problémája 2017.04.19. Számítógép Hálózatok
Végtelenig számlálás problémája Az ugrás számot használjuk költségnek A B-n keresztül éri el D-t 3 költséggel B C-n keresztül éri el D-t 2 költséggel C eléri D-t 1 költséggel D A/3 B/2 C/1 2017.04.19. Számítógép Hálózatok
Végtelenig számlálás problémája A C és D közötti vonal megszakad C átáll B-re, Megnöveli a költségét B költség + 1 = 3 D A/3 B/2 C/3 2017.04.19. Számítógép Hálózatok
Végtelenig számlálás problémája B költsége most 4 A még nem vett észre semmit sem A és C költsége 5 B költsége 6 A ciklus a végtelenig tart A/3 B/4 C/3 D D A/5 B/4 C/5 2017.04.19. Számítógép Hálózatok
Forgalomirányító hurkok Az A hálózatban a D felé tartó csomagok A B forgalomirányítóba mennek Ezután a C forgalomirányító mennek Ezután ismét a B-be mennek D A B C 2017.04.19. Számítógép Hálózatok
Forgalomirányítás az Interneten Eddig Minden forgalomirányító egyenrangú volt A hálózat lapos volt … a valóságban ez nincs így méret: 50 millió céllal: Nem lehet minden célt a forg. ir. táblába kezelni A forg. ir. tábla csere eldugítaná a vonalakat Adminisztratív autónómia Internet = hálózatok hálózata Minden hálózati rendszergazda a saját hálózatáért felelős 2017.04.19. Számítógép Hálózatok
Internet struktúra MCI AT &T LINX Europe C&W Microsoft Umass Több ezer szervezet Rengeteg forgalomirányító Még több kliens MCI AT &T LINX Europe C&W Microsoft Umass Company in France 2017.04.19. Számítógép Hálózatok
Forgalomirányító protkollok Autonóm Rendszereket kezelnek Az adminisztratív tartomány szerint Internet Szolgáltatók (ISP) Vállalati hálózatok Egyetemi hálózatok Két forgalomirányító protokoll típus Tartományon Belüli Forgalomirányító Protokoll (Inetrior Gateway Protocol - IGP) Egy tartományon belül Tartományközi Forgalomirányító Protokoll (Exterior Gateway Protocol - EGP) Különböző tartományok között 2017.04.19. Számítógép Hálózatok
Tartományon Belüli Forgalomirányító Protokoll Cél: Találjon egy ”jó” útvonalat (forgalomirányítók sorozatát) a hálózaton keresztül a forrástól a célig Késleltetés, csomagvesztés, sávszélesség, ár vagy más definíció Statikus forgalomirányítás Népszerű dinamikus protokollok RIP: Routing Information Protocol IS-IS: Intermediate-System-to-Intermediate System OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (Cisco) EIGRP: Enhanced Interior Gateway Routing Protocol (Cisco) 2017.04.19. Számítógép Hálózatok
Tartományon belüli forgalomirányítás Routing Information Protocol (RIP) Távolságvektor alapú EIGRP Hibrid Open Shortest Path First (OSPF) Link állapot alapú IS-IS 2017.04.19. Számítógép Hálózatok
Tartományközi protkollok EGP használtak NSFNET-ben Border Gateway Protocol (BGP) BGP-4: de-facto szabványnak tekinthető Út vektor algoritmus 2017.04.19. Számítógép Hálózatok
Forgalomirányító Protokoll Kérdések Stabilitás Szabály Torlódás Protokoll Tervezés Keep Alive üzenetek Inkrementális frissítések Frissítés időzítők Konvergencia idő Megbízhatóság, Robosztusság Alternatív, vagy tartalék útvonal Emberi hiba 2017.04.19. Számítógép Hálózatok
Egyéb kérdések Biztonság Skálázhatóság Forgalom Tervezés ? Hierarchia Terhelés elosztás Qos ? 2017.04.19. Számítógép Hálózatok
RIP Távolság vektor alapú algoritmus Először BSD-UNIX-ban jelent meg 1982-ben Távolság mérték: az ugrások száma (max. = 15 ugrás) Távolság vektorok: a szomszédok között cserélődnek 30 másodpercenként a válasz üzenetekben (hirdetésnek is nevezik) Minden hirdetés: max. 25 célt hirdet a hálózaton az AS-en belül Verziók RIP v1 (RFC 1058) RIP v2 (RFC 2453) 2017.04.19. Számítógép Hálózatok
RIP --- Példa z w x y A D B C Cél Hálózat Köv. Forg. Ir. Ugrásszám w A 2 y B 2 z B 7 x -- 1 …. …. .... D forgalomirányító táblája 2017.04.19. Számítógép Hálózatok
RIP --- Példa w x y z A C D B A hirdetése D felé Cél Köv. Ugrás z C 4 w x y z A C D B Cél Hálózat Köv. Forg. Ir. Ugrásszám w A 2 y B 2 z B A 7 5 x -- 1 …. …. .... D forgalomirányító táblája 2017.04.19. Számítógép Hálózatok
RIP --- Problémák Robosztusság Lassú konvergencia Egy csomópont rossz költséget hirdethet Egymás tábláját használják A hiba terjed a hálózaton Lassú konvergencia Végtelenig számlálás problémája A hálózat egy része leválik Hurkok keletkeznek 2017.04.19. Számítógép Hálózatok
RIP --- Megoldások A “végtelen” legyen egy véges szám RIP esetében ez 16 Osztott Horizont (Split horizon) Ne hirdessünk egy olyan útvonalat az adott szomszéd felé amit onnan tanultunk meg Részben megoldja a hurkokat Osztott Horizont mérgezett utakkal (Split horizon with poisoning updates) A hallott útvonalakat visszafelé végtelen távolsággal hirdetjük Indukált frissítések (triggered update) A gyorsabb konvergencia érdekében a változáskor azonnal frissítést küld Frissítés elárasztást okozhat Gyors frissítések Amikor egy forgalomirányító indul akkor szól a többieknek akik azonnal elküldik állapotukat Nbch 2017.04.19. Számítógép Hálózatok
Osztott Horizont B nem hirdet D felé menü útvonalakat C felé Amikor a C-D vonal kiesik C nem áll át B-re Elkerülik a “végtelenig számlálás” problémáját D A/3 B/2 C/1 2017.04.19. Számítógép Hálózatok
Osztott Horizont --- nem biztos, hogy segít Nem iktatja ki a hurkokat minden esetben A C és D közötti vonal kiesik A A és B nem küldi el a jelenlegi útvonált D felé C-nek De A megtanulja, hogy B eléri D-t, így küld egy új útvonalat C-nek C az A-tól megtanult útvonalat elküldi B-nek B a C-től megtanult útvonalat elküldi A-nak A a B-től megtanult útvonalat elküldi C-nek Hurok keletkezett C B D 2017.04.19. Számítógép Hálózatok
RIP időzítők, számlálók RFC Frissítés – 30s (aszinkron) Lejárati idő – 180s Szemét gyűjtés – 120s CISCO Érvénytelen – 180s Tartás (HoldDown) – 120s Törlés – 240s 2017.04.19. Számítógép Hálózatok
RIP részletek UDP 520-as port Típusai: Csendes állomás RIPv1 RIPv2 üzenetszórás osztályokat figyelembe vevő(nincs netmask!!!, határ router) RIPv2 többesküldés osztálymentes azonosítás Csendes állomás 2017.04.19. Számítógép Hálózatok
RIP hátrányai 15 méretű világ 25 prefix/üzenet Nagy hálózatokban gyakori változás esetén komoly sávszélesség igénye lehet Lassú konvergencia (akár 7.5 perc!!!) 2017.04.19. Számítógép Hálózatok
Miért érdemes RIP-et választani? Egyszerű implementálni Sok implementáció Jól ismert, egyszerű protokoll Kicsi hálózatban kicsi erőforrás igény 2017.04.19. Számítógép Hálózatok
Forgalomirányító tervezési szempontok Gerinc forgalomirányító Megbízhatóság Sebesség/Teljesítmény Vállalati forgalomirányító Alacsony portonkénti ár Sok port Könnyű konfigurálhatóság Hozzáférést biztosító forgalomirányító Otthoni/kicsi vállalat Olcsó Modem gyűjtmény Gerinc Hozzáférési Vállalati 2017.04.19. Számítógép Hálózatok
Forgalomirányító feladatok Forgalomirányító tábla karbantartás Csomag továbbítás Csomag ellenőrzés (verziós, hossz, ellenőrző összeg) Cél cím keresés Csomag TTL kezelés Ellenőrző összeg újraszámítás 2017.04.19. Számítógép Hálózatok
Forgalomirányító komponensek Route Processing Route updates Topology & address exchange with neighboring nodes Topology & address exchange with neighboring nodes Forgalomirányító tábla Destination address lookup Packet Forwarding Bejövő csomagok Kimenő csomagok Adat Adat 2017.04.19. Számítógép Hálózatok
Forgalomirányító komponensek Kapcsoló egység Interfész kártyák Forgalomirányító egységek Továbbító egységek 2017.04.19. Számítógép Hálózatok
Kapcsoló egység Osztott memória Busz Tér osztás (crossbar) A memória hozzáférés határozza meg a maximális sebességet Busz A busz kapacitása a szűk keresztmetszet Tér osztás (crossbar) Az időzítő a szűk keresztmetszet 2017.04.19. Számítógép Hálózatok
Problémák a busszal Az adat kétszer halad át rajta A csomag feldolgozás a és a menedzsment is a központban történik A teljesítmény a busztól és a központi processzortól függ 2017.04.19. Számítógép Hálózatok
Osztott memória Az interfészek és a központi egység egy közös osztott memórián át kommunikálnak A memória hozzáférési sebessége korlátozza a megoldás használhatóságát Interfész szám függő 2017.04.19. Számítógép Hálózatok
Elosztott feldolgozás A csomagok feldolgozása az interfészeken történik ASIC Proci A Buszt/Memóriát csak egyszer használják Elosztott útvonal gyorstár A gyakran előforduló címek vannak benne A forgalom típusától erősen függ a használhatósága (gerinc/vállalati) A gyorstár növelésével javítható ez a probléma 2017.04.19. Számítógép Hálózatok
Útvonal gyorstár Route Processor Memory Cache updates Bus Line Card DMA DMA DMA Line Card Line Card Line Card Route Cache Route Cache Route Cache Memory Memory Memory MAC MAC MAC 2017.04.19. Számítógép Hálózatok 56
Kapcsolt háló alapú megoldás Az interfészek feladata: Csomag feldolgozás Következő ugrás keresés Gyakran csomag darabolás Csomag összeillesztés A kapcsolatot egy teljes kapcsolt háló adja Központ Különleges esetek kezelése Forgalomirányító tábla kezelése Kapcsolás: Gyors útvonal Lassú útvonal 2017.04.19. Számítógép Hálózatok
Kapcsolt háló 2017.04.19. Számítógép Hálózatok
Bejövő/Kimenő várakozási sor Bejövő várakozási sor A vonali sebesség > kapcsoló egység sebesség Típusa FIFO (HOB probléma) VOQ (Virtual Output Queueing) QOS? Kimenő várakozási sor A vonali sebesség < kapcsoló egység sebesség Gyorsabbnak kell lennie mint a kapcsoló egységnek 2017.04.19. Számítógép Hálózatok
Memória techológia (2003-04) Technológia Egy IC $/IC ($/MByte) Sebesség Watts/chip Networking DRAM 64 MB $30-$50 ($0.50-$0.75) 40-80ns 0.5-2W SRAM 4 MB $20-$30 ($5-$8) 4-8ns 1-3W TCAM 1 MB $200-$250 ($200-$250) 15-30W 2017.04.19. Számítógép Hálózatok 60
Keresési sebesség Év Vonali sebeség csomag/sec (40Byte packet) 1997 622Mb/s 1.94M 1999 2.5Gb/s 7.81M 2001 10Gb/s 31.25M 2003 40Gb/s 125M A keresési algoritmus: Egyszerűnek kell lennie Egyszerűen implementálható 2017.04.19. Számítógép Hálózatok
Ütemezés First Come Fist Served (FCFS) Fair Queuing R: ideális továbbítási arány w1, w2 … wn a sorok súlyai Az ideális szolgáltatás K : Rwk/(wi) A jól viselkedő források nem vesznek észre csomag vesztést Garantálja a minimum arányt 2017.04.19. Számítógép Hálózatok
Leghosszabb egyezés Hálózat Cím Port Pontos egyezés 1 hosszú Kiválasztás Port Pontos egyezés 32 hosszú 2017.04.19. Számítógép Hálózatok
Csomag osztályozás Több mező is használ Forrás/Cél IP cím (32 bit) Forrás/Cél port (16 bit) TOS bájt (8 bit) Type of protocol (8 bit) Más mezők 2017.04.19. Számítógép Hálózatok
A mai csúcs forgalom irányító Carrier Routing System – 1 Hátlap: 640 GBs – 92 TBps 2 Gbyte útvonal memória 1 Gbyte csomag memória (Kártyánként) 40GBps –interfészek (ASIC 40 GBit/s) Skálázható megoldás 0.5 Tonna 13.6 KW 500.000 USD 2017.04.19. Számítógép Hálózatok