IP alapú hálózatok tervezése és üzemeltetése 15/9
Az előző előadás tartalma A hálózat működése A forgalomirányító szerepe Proxy ARP CIDR jelentősége Többesküldés adattovábbítás IGMP MLD A forgalomirányító feladatai Forgalomirányító architektúrák Első generációs Második generációs Harmadik generációs Várakozási sorok
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
Források Offline Online: CCNA2 6,7 Routing TCP/IP volume I. Static routing Dynamic Routing protocols RIP v1, v2 Online: CCNA2 6,7
Ú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
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
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)
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)
Statikus útvonal választás
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
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é?
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ő
Ö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
Konvergencia Ha minden rendben van akkor konzisztens állapotban van a rendszer Mindenki ugyanazt gondolja a hálózatról
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
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
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.
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
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”
Távolságvektor alapú forg. ir. áttekintés 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 Minden csomópont: 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
Távolságvektor alapú forg. ir. 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: 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 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 =
Távolság tábla: példa
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!
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
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
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
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
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
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
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
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
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
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)
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
Tartományközi protkollok EGP használtak NSFNET-ben Border Gateway Protocol (BGP) BGP-4: de-facto szabványnak tekinthető Út vektor algoritmus
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
Egyéb kérdések Biztonság Skálázhatóság Forgalom Tervezés ? Hierarchia Terhelés elosztás Qos ?
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)
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
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
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
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
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
Osztott Horizont --- nem biztos, hogy segít Nem iktatja ki a hurkokat minden esetben A C és D közötti vonal kiesik 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 A C B D
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
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
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!!!)
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
Az előadás tartalma 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 RIP v1 RIP v2
A következő előadás tartalma Interior Gateway Routing Protocol (IGRP) Enhanced Interior Gateway Routing Protocol (EIGRP)