4. Sítová vrstva - Směrování PB156: Počítačové sítě Eva Hladká S lidy připravil: Tomáš Re bok Fakulta informatiky Masarykovy univerzity jaro 2019 Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 1/84 Struktura přednášky Q Směrování obecně Q Směrování • Základní přístupy Q Směrovací algoritmy Q Distribuované směrování • Distance Vector • Link State • Link State vs. Distance Vector Hierarchie směrování • Původní představy • Autonomní systémy • Autonomní systémy - směrování Q Multicastové směrování - IP Multicast • Motivace • IP Multicast • Protokoly O Rekapitulace :va Hladká fFl MU) 4. Sítová vrstva - Směrování aro 2019 2/84 iměrování obecně Struktura přednášky Q Směrování obecně Q Směrování • Základní přístupy Q Směrovací algoritmy Q Distribuované směrování • Distance Vector • Link State • Link State vs. Distance Vector Q Hierarchie směrování • Původní představy • Autonomní systémy • Autonomní systémy - směrování Q Multicastové směrování - IP Multicast • Motivace • IP Multicast • Protokoly Rekapitulace Eva Hladká (TI MU) 4. Sítová vrstva - Směrování jaro 2019 3/84 Směrování obecně Směrování obecně • Internet na L3 - datagramový přístup k přepínání paketů • data vyšších vrstev u místová na do datagramů • datagramy (fragmenty) putují sítí nezávisle □ -{ÄHIHiHi}^ -trh- X směrování (Routing) = proces nalezení cesty mezi dvěma komunikujícími uzly • cesta musí splňovat určité omezující podmínky • ovlivňující faktory: • statické: topologie sítě • dynamické: zátěž sítě Eva Hladká (Fl MU) 4. Sítová vrstva - Směrováni jaro 2019 4/84 Příklad reálné sítě Figuře: Logická topologie IP/MPLS vrstvy sítě CESNET2._ Eva Hladká (Fl MU) 4. Sítová vrstva - Směrováni jaro 2019 5/84 Směrování obecně Matematický pohled • na směrování lze nahlížet jako na problém teorie grafů • sít reprezentována grafem, kde: • uzly reprezentují směrovače (identifikovány svými IP adresami) • hrany reprezentují vzájemné propojení směrovačů (linku) • ohodnocení hran = cena komunikace • cíl: nalezení minimální cesty v grafu mezi libovolnými dvěma uzly B DE jaro 2019 Směrování obecně Cena komunikace Určení ceny (ohodnocení) linky - metrika: • všechny linky mají stejnou cenu (např. 1) • minimalizace ceny = minimalizace počtu skoků • nejjednodušší, nejčastěji využívané • cena linky = převrácená hodnota kapacity (1/prenosová-kapacita) • 10Mb linka má lOOx vyšší cenu než 1Gb linka • cena linky = zpoždění linky • 250ms satelitní spojení má lOx vyšší cenu než 25ms pozemní linka • cena linky = využití linky • linka s 90% využitím má lOx vyšší cenu než linka s 9% využitím • může způsobit oscilace (nezbytné tlumení) • cena linky = reálná cena (platba) za využití linky • staticky přiřazeno administrátorem • atd. Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 7/84 Směrování Struktura přednášky Q Směrování obecně Q Směrování • Základní přístupy Q Směrovací algoritmy Q Distribuované směrování • Distance Vector • Link State • Link State vs. Distance Vector Q Hierarchie směrování • Původní představy • Autonomní systémy • Autonomní systémy - směrování Q Multicastové směrování - IP Multicast • Motivace • IP Multicast • Protokoly Q Rekapitulace Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 8/84 Směrování Směrování o úkolem směrování je: • vyhledávat optimální směrovací trasy • kriteriem optimality je metrika • dopravit datový paket určenému adresátovi o zpravidla se nezabývá celou cestou paketu • směrovač řeší jen jeden krok - komu paket předat jako dalšímu • někomu blíže cíli • tzv. hop-by-hop • ten pak rozhoduje, co s paketem udělat dál Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 9/84 Směrování Směrování (Routing) vs. zasílání (Forwarding) • smerovaní • společná činnost směrovačů (globální) • proces nalezení/vytváření a údržby směrovacích tabulek • zasílání • lokální proces - každý směrovač samostatně • představuje proces průchodu paketů směrovačem • zaslání paketu na vybrané rozhraní směrováče (dle cílové adresy) • vyžaduje přístup ke směrovací tabulce Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 10/84 Směrovací tabulky • základní datovou strukturou je směrovací tabulka (routing table) 9 sada ukazatelů, podle kterých se rozhoduje, co udělat s kterým paketem • obsahují cesty k prefixům • počáteční IP adresa a blok • agregace záznamů - hledá se nejdelší prefix, který vyhovuje požadavku • existence více vyhovujících prefixů =^> použije se nejdelší • tzv. Longest-prefix Match Algorithm Host-specific Default- Mask Destination address Next-hop address Interface /8 —W32 /22 /24 -^ /() 14.0.0.0 192.16.7.1 193.14.4.0 193.14.5.0 /O 118.45.23.8 202.45.9.3 84.12.6.20 84.78.4.12 145.11.10.6 ml mO ml m2 mO Eva Hladká (Fl MU) 4. Sitová vrstva - Směrováni jaro 2019 11/84 Problém globálního pohledu a globální znalost topologie celé sítě je problematické • je složité ji získat • když už se to podaří, není aktuální • musí být lokálně relevantní • lokální představu o topologii reprezentuje směrovací tabulka • rozpor mezi lokální a globální znalostí může způsobit • cykly (černé díry) • oscilace (adaptace na zátěž) Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro Směrování Základní přístupy Směrování - základní přístupy Členění dle způsobu vytvoře ní/udržování směrovací tabulky: • statické (neadaptivní) • administrátorem ručně editované záznamy • směrovač nemůže vytvářet alternativní cesty, pokud se nastavená cesta přeruší • jednodušší, málo flexibilní • vhodné pro statickou topologii • Otázka: Používá se v Internetu? a dynamické (adaptivní) - reagují na změny v síti • složité (většinou distribuované) algoritmy • (většinou) nutnost pravidelné aktualizace směrovacích tabulek • nutnost existence protokolu pro aktualizaci směrovacích tabulek • možnost dočasné nekonzistence o nezaručuje pořadí doručení • např. • centralizované - vše řídí centrum • izolované - každý sám za sebe • distribuované - kooperace uzlů Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 13/84 Směrování Základní přístupy Dynamické směrování - centralizované směrování • v síti je Routing Control Center (RCC) • každý směrovač mu posílá zprávy o své situaci (stavu) • RCC informace sbírá, vypočte optimální cesty a rozešle směrovačům jejich tabulky 9 výhody: • globální informace optimální řešení) • ulehčení práce směrovačů • nevýhody: • špatně škáluje - nelze využít pro velké sítě (nemožnost získání globální informace) • pomalé • při výpadku centra se přestane aktualizovat Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 14/84 Dynamické smerovaní - izolované smerovaní • neposílají se žádné informace o stavu sítě, každý se rozhoduje sám za sebe • příklady: • náhodná procházka - paket pošle do náhodně vybrané linky • vysoká robustnost • horký brambor (hot potatoe) - paket pošle do linky s nejkratší frontou 9 forma náhodné procházky (=> vysoká robustnost) • záplava (flooding) - paket pošle do všech linek kromě té, po níž přišel • enormní zátěž sítě - obrovská režie, nutno řešit cykly • mimořádně robustní - pokud cesta existuje, vždy ji najde • dokonce tu nejlepší možnou (zkouší totiž všechny) • zpětné učení (backward learning) - učí se z procházejících paketů • do paketu se zapisuje vzdálenost, kterou urazil • směrovač se dozví, že příchozí linkou vede cesta k odesílateli nanejvýš dané délky Eva Hladká (Fl MU) 4. Sítová vrstva - Směrováni jaro 2019 15/84 Směrování Základní přístupy Dynamické směrování - distribuované směrování • směrovací informace si vyměňují sousedé či malé skupiny směrovačů • na základě periodicky šířených informací se (podle určitého algoritmu) vypočítávají mapy sítě 9 mezi směrovací musí být dohoda o implementaci určitého směrovacího algoritmu 9 dostatečně pružné a robustní, vhodné i pro rozlehlé sítě • standardní přístup ke směrování v síti Internet Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 16/84 Směrování Základní přístupy Směrování - další možná členění distribuované krok za krokem" deterministické jedno dynamický INTERNET vs. centralizované vs. zdrojové vs. stochastické vs. více cestné vs. statický výber cest Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 17/84 Směrovací algoritmy Struktura přednášky Q Směrování obecně Q Směrování • Základní přístupy Q Směrovací algoritmy Q Distribuované směrování 9 Distance Vector • Link State • Link State vs. Distance Vector Q Hierarchie směrování • Původní představy • Autonomní systémy • Autonomní systémy - směrování Q Multicastové směrování - IP Multicast • Motivace • IP Multicast • Protokoly Q Rekapitulace Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 18/84 Směrovací algoritmy - funkce • zprostředkovávají funkcionalitu směrování • proces vytvoření a údržby směrovacích tabulek « zahrnuje výběr komunikační cesty • vlastní doručení dat a rozdělení dle okamžiku rozhodování: • při uzavírání spojení (= vytváření okruhu) • spojované služby, virtuální kanály • při příchodu paketu • nespojované služby, datagramy • rozdělení dle místa rozhodování: • jediný uzel centralizované algoritmy • každý uzel distribuované algoritmy • definice přesných pravidel komunikace a formátu zpráv nesoucích směrovací informace (pro určitý algoritmus) =4> směrovací protokol Eva Hladká (Fl MU) 4. Sítová vrstva - Směrováni jaro 2019 19/84 Směrovací algoritmy Směrovací algoritmy - požadované vlastnosti Žádané vlastnosti směrovacího algoritmu: • správnost 9 jednoduchost • efektivita a škálovatelnost • minimalizace množství řídících informací (~ 5% provozu!) • minimalizace velikosti směrovacích tabulek • robustnost a stabilita • nezbytný je distribuovaný algoritmus 9 spravedlivost (fairness) • optimálnost • Co je to nej lepší cesta ? Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 20/84 Distribuované směrování Struktura přednášky Q Směrování obecně Q Směrování • Základní přístupy Q Směrovací algoritmy Distribuované směrování • Distance Vector o Link State • Link State vs. Distance Vector Q Hierarchie směrování • Původní představy • Autonomní systémy • Autonomní systémy - směrování Q Multicastové směrování - IP Multicast • Motivace • IP Multicast • Protokoly Q Rekapitulace Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 21/84 Distribuované smerovaní - základní přístupy Třídy distribuovaných směrovacích protokolů (dle charakteru směrovací informace): • Distance Vector (DV) - Bell man-Fordů v algoritmus • sousední směrovače si v pravidelných intervalech či při topologické změně (např. výpadek zařízení) vyměňují kompletní kopie svých směrovacích tabulek • na základe obsahu přijatých updatů si pak doplňují nové informace a inkrementují své distance vektor číslo • metrika udávající počet hopů k dané síti • čili všechny informace jen svým sousedům 9 Link State (LS) 9 jednotlivé směrovače si zasílají pouze informace o stavu linek, na něž jsou bezprostředně připojeny • udržují si tak kompletní informace o topologii dané sítě - zařízení jsou si vědoma všech ostatních zařízení na síti • pak se počítá nej kratší cesta • čili informace o svých sousedech všem Eva Hladká (Fl MU) 4. Sítová vrstva - Směrováni jaro 2019 22 / Distribuované směrování Distance Vector Distance Vector I. Net A Net D R1 <^^> R2 <^^> R3 Network Interface '^M Network Interface Network Interface • směrovač si udržuje všechny známé routy v tabulce ve formě uspořádaných trojic (A/, G, D), kde: • N ... cílová sít • G .. . adresa následujícího směrovače • D .. . vzdálenost do cílové sítě (metrika) • tabulky se upravují tak, aby se směrovalo nejkratší cestou • problémy: pomalá konvergence, příliš mnoho režijních dat Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 23/84 Distribuované směrování Distance Vector Distance Vector II. Algoritmus • Předpoklad: • každý směrovač zná pouze cestu a cenu ke svým sousedům • Cíl: • v každém směrovací směrovací tabulka pro každý cíl • Idea: • řekni sousedům svou představu směrovací tabulky o Inicializace: • sousedé: známá cena • Distance Vector = < c/7, cena > • ostatní: nekonečno 9 resp. hodnota definovaná jako nekonečno (pro RIP např. 16) • Aktualizace: • pokud je cesta v získaném DV zvětšená o cenu cesty k danému sousedovi lepší než stávající uložená, aktualizuj tabulku Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 24/84 Distribuované směrování Distance Vector Distance Vector III. Ilustrace problému pomalé konvergence 10.1.0.0 Routing Table 10.1.0.0 EO 0 10.2.0.0 SO 0 10.3.0.0 SO 1 10.4.0.0 SO 2 Routing Table 10.2.0.0 SO 0 10.3.0.0 S1 0 10.4.0.0 S1 1 10.1.0.0 SO 1 Routing Table 10.3.0.0 SO 0 10.4.0.0 EO Down 10.2,0,0 SO 1 10.1.0.0 SO 2 • pomalá konvergence zapříčiní vznik nesprávných údajů ve směrovacích tabulkách Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 25/84 Distribuované směrování Distance Vector Distance Vector III. Ilustrace problému pomalé konvergence 10.1.0.0 Routing Table 10.1.0.0 EO 0 10.2.0.0 50 0 10.3.0.0 SO 1 10.4.0.0 SO 2 Routing Table 10.2.0.0 SO 0 10.3.0.0 S1 0 10.4.0.0 S1 1 10.1,0.0 so 1 Routing Table 10.3.0.0 SO 0 10.4.0.0 SO 2 10.2.0.0 SO 1 10.1.0.0 SO 2 • směrovač C usoudí, že nejlepší cesta do sítě 10.4.0.0 je přes směrovač B Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 26/84 Distribuované směrování Distance Vector Distance Vector Ilustrace problému pomalé konvergence Routing Table 10.1.0.01 EO I 0 10.2.0.0 pŠĎ~ 0 10.3.0.0 SO 1 10.4.0.0 SO 2 Routing Table 10.2.0.0 SO 0 10.3.0.0 S1 0 10.4.0.0 S1 1 10.1,0.0 so 1 Routing Table 10.3.0.0 j SO I 0 10.4.0.0 SO 2 10.2.0.0 SO 1 10,1,0.0 SO 2 • směrovač A opraví svojí směrovací tabulku - chybně Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 27 / Distribuované směrování Distance Vector Distance Vector III. Ilustrace problému pomalé konvergence Routing Table 10.1.0.01 E0 I 0 10,2,0.0 SO 0 10.3.0.0 SO 1 10.4.0.0 SO 2 Routing Table 10.2.0,01 SO I 0 10,3,0,0 S1 Ô 10.4.0.0 S1 f~T 10.1,0.0 SO 1 Routing Table 10.3.0.0 j SO I 0 10.4.0.0 SO 2 10.2.0.0 SO 1 10.1.0.0 SO 2 • metrika pro sít 10.4.0.0 roste do nekonečna (v rámci RIP do 16) Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 28/ Distribuované směrování Distance Vector Distance Vector Ilustrace problému pomalé konvergence 10.1.0.0 'acket for Network 10.4.0.0 Routing Table 10.1.0.0 E0 0 10.2.0.0 SO O 10.3.0.0 SO 1 10.4.0.0 SO 4 Routing Table 10.2.0.0 SO 0 10.3.0.0 S1 0 10.4.0.0 S1 3 10.1.0.0 SO 1 Routing Table 10.3.0.0 SO 0 10.4.0.0 SO 2 10.2.0.0 SO 1 10.1.0-0 SO 2 Důsledek: vznik směrovací smyčky • paket pro sít 10.4.0.0 skáče mezi routery B a C Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 29/84 Distribuované směrování Distance Vector Distance Vector III. Ilustrace problému pomalé konvergence 10.1.0.0 10.4.0.0 Routing Table 10.1.0.0 EO 0 10.2.0.0 SO 0 10.3.0.0 SO 1 10.4.0.0 SO 2 Routing Table 10.2.0.0 SO 0 10.3.0.0 S1 0 10.4.0.0 S1 1 10.1.0.0 SO 1 Routing Table 10.3.0.0 SO 0 10.4,0.0 E0 0 10.2.0.0 SO 1 10.1.0.0 SO 2 Řešení: dělení horizontu • směrovač nesděluje cestu zpět uzlu, od kterého se o ní dozvěděl • problém zůstává ve složitějších topologiích (navržena řada rozšíření) Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 30/84 Distribuované směrování Distance Vector Distance Vector IV. - protokol RIP I. • hlavní představitel DV smerovaní • RIPvl (RFC 1058) • RIPv2 (RFC 1723) - pridáva např. autentizaci směrovacích informací • sítě identifikovány s využitím mechanismu CIDR • jako metrika se využívá počet hopů • přenos paketu mezi 2 sousedními směrovací má délku 1 • nekonečno = 16 nelze použít pro sítě s minimálním počtem hopů mezi libovolnými dvěma směrovací > 15 • směrovače zasílají informaci každých 30 sekund • triggered update při změně stavu hrany • časový limit 180s (detekce chyb spojení) 9 použití: • vhodné pro malé sítě a stabilní linky • není příliš vhodný pro redundantní sítě Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 31/84 Distribuované směrování Distance Vector Distance Vector IV. - protokol RIP II. RIP message from C Net2 4 Net3 8 Net6 4 Net8 3 Net9 5 Old routing table Netl 7 A Net2 2 C Net6 8 F Net8 4 E Net9 4 F RIP message from C after increment Net2 5 Net3 9 Net6 5 Net8 4 Net9 6 Updating algorithm New routing table Netl 7 A Net2 5 C Net3 9 C Net6 5 C Net8 4 E Net9 4 F Netl: No news, do not change Net2: Same next hop} replace Net3: A new router, add NetG: Different next hop, new hop count smaller, replace Net8: Different next hop, new hop count the same, do not change Net9: Different next hop, new hop count larger, do not change Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 32 / Distribuované směrování Distance Vector 14 1 - 23 1 - 78 1 - 08 1 - 23 1 - Eva Hladká (Fl MU) Figure: RIP - příklad: iniciální stav tabulek. 4. Sítová vrstva - Směrování jaro 2019 33/84 Distribuované směrování Distance Vector Distance Vector IV. - protokol RIP IV 08 2 E 14 1 -- 23 1 — 55 2 B 66 3 E 78 1 -- 92 2 F 08 3 A 14 1 — 23 2 A 55 1 — 66 2 C 78 2 A 92 3 A 08 2 D 14 2 B 23 3 D 55 1 — 66 1 — 78 3 B 92 4 B Figuře: RIP - příklad: finální stav tabulek. Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 34/84 Distribuované směrování Link State k State I. Směrovací tabulka SPF strom směrovače si zasílají pouze informaci o stavu linek, na něž jsou bezprostředně připojeny získají tím kompletní mapu sítě • pak si počítají nej kratší cesty (např. s využitím Dijkstrova algoritmu) • při každé změně stavu linek směrovače testují pouze dosažitelnost svých bezprostředních sousedů výhoda: zaručená a rychlá konvergence, vhodné i pro rozsáhlé sítě nevýhoda: složitější algoritmus větší nároky na CPU a pamět směrovače Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 35 / Link State II. Algoritmus • Předpoklad: • každý směrovač zná pouze cestu a cenu ke svým sousedům • Cíl: • v každém směrovací směrovací tabulka pro každý cíl • Idea: • šíří se topologie, cesty si počítají směrovače samy • fáze 1: šíření topologie (broadcast) 9 fáze 2: výpočet nejkratší cesty - (Dijkstra) • směrovače si udržují databázi stavů linek a periodicky posílají LS pakety svým sousedům • obsah LS paketu: identifikátor uzlu, cena spojů k sousedům, pořadové číslo, doba platnosti • každý směrovač přeposílá LS pakety dále (kromě toho, od nějž informaci dostal) Eva Hladká (Fl MU) 4. Sítová vrstva - Směrováni jaro 2019 36/84 Distribuované směrování Link State Link State III. - Výpočet nejkratších cest Dijkstrův algoritmus klasický algoritmus hledaní nejkratší cesty • hledá nejkratší cesty z jednoho vrcholu do všech ostatních Necht • N je množina všech uzlů v grafu (síti) 9 označuje nezápornou cenu hrany (spoje (/,./)) • s je aktuální (zdrojový) uzel • M množina uzlů, které již byly navštíveny • C(n) cena cesty z s do n; oc pokud cesta neexistuje Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 37/84 Link State III. - Výpočet nejkratších cest Dijkstrův algoritmus - pseudokód M = {s} for each n in N\M C(n) = l(s,n) while (N != M) # přidej w do M tak, že C (w) je minimální pro všechna w z (N\M) for each n in N\M C(n) = min(C(n), C(w)+l(w,n)) • ilustrace výpočtu: http://www.unf .edu/~wkloster/ foundations/DijkstraApplet/DijkstraApplet.htm • animace: http://www.cse.yorku.ca/~aaw/HFHuang/DijkstraStart.html • více viz PA165: Grafy a sítě Eva Hladká (Fl MU) 4. Sítová vrstva - Směrováni jaro 2019 38/84 Distribuované směrování Link State Link State IV. - protokol OSPF Open Shortest Pat h First nejpoužívanější LS protokol současnosti metrika: cena (cost) • číslo (v rozsahu 1 až 65535) prirazené ke každému rozhraní směrovače • čím menší číslo, tím má cesta lepší metriku (bude tedy preferována) • standardně je ke každému rozhraní přiřazena cena automaticky odvozená z šířky pásma daného rozhraní • cost = 100000000/bandwidth (bw v bps) možno ručně měnit rozšírení: • autentizace zpráv • směrovací oblasti - další úroveň hierarchie • load-balancing - více cest se stejnou cenou Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 39/84 Distribuované směrování Link State vs. Distance Vector Link State vs. Distance Vector Link State • Složitost: • každý uzel musí znát cenu každé linky v sítí O(nE) zpráv • změnu ceny některé z linek potřeba vypropagovat na všechny uzly • Rychlost konvergence: 9 0(r?2) alg., zasílá O(nE) zpráv • trpí na oscilace • Robustnost: špatně fungující/kompromitovaný směrovač může šířit nesprávné informace jen o k němu přímo připojených linkách každý směrovač si přepočítává směrovací tabulky sám za sebe odděleno od vlastního šíření informací forma robustnosti Použití: Distance Vector • Složitost: • po změně ceny některé z linek je toto zapotřebí vypropagovat jen nej bližším u sousedovi; dále se propaguje jen tehdy, pokud daná změna znamená změnu stromu nej kratších cest • Rychlost konvergence: • může konvergovat pomaleji než LS • problémy se směrovacími cykly, count-to-infinity problém • Robustnost: • nesprávný výpočet je postupně šířen sítí může znamenat zmatení ostatních směrovačů a nesprávně vypočtené směrovací tabulky Použití: • vhodné jen pro menší sítě a \/hr>rln^ i nrn rrfzcáhl^ cÍť£ Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 40/84 Hierarchie směrování Struktura přednášky Směrování obecně 0 Směrování • Základní přístupy Q Směrovací algoritmy Q Distribuované směrování • Distance Vector • Link State • Link State vs. Distance Vector Q Hierarchie směrování • Původní představy • Autonomní systémy • Autonomní systémy - směrování Q Multicastové směrování - IP Multicast • Motivace • IP Multicast • Protokoly Q Rekapitulace Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 41/84 Kde se nyní nacházíme? • máme vybudovaný Internet • složený z mnoha internetů • umíme identifikovat jednotlivé sítě/uzly • s využitím notace CIDR • cesty ve směrovacích tabulkách agregovány • umíme směrovat data mezi sítěmi • libovolné dva uzly mohou komunikovat • pro směrování využit LS nebo DV algoritmus • Kde je problém? 9 obrovský rozsah Internetu nutnost správy obrovských směrovacích tabulek • problém se správou - Kdo je zodpovědný za který kus sítě? Eva Hladká (Fl MU) 4. Sítová vrstva - Směrováni jaro 2019 42/84 Původní představy Původní predstavy aneb Jak běžel směrovací čas I. • v počátcích velmi malé sítě • každý počítač na síti zná cestu ke všem ostatním • aneb každý uzel zná celý Internet • pro rozsáhlejší sítě neúnosné (rozsah tabulek, udržování vzájemné konzistence) • přesun směrovací znalosti na hraniční uzly sítí (brány/směrovače) • aneb každá brána zná celý Internet • pro rozsáhlejší sítě stále neúnosné (rozsah tabulek, udržování vzájemné konzistence) • =4> hierarchické členění Internetu • každá brána zná cesty jen do k ní přidružených podsítí (bezprostřední okolí); pro ostatní využita implicitní (default) brána 9 lokální působnost směrovacích informací (menší rozsah tabulek, jen lokální udržování vzájemné konzistence) • na nejvyšší úrovni (jediná) páteřní sít • páteřní brány musí mít úplnou znalost celého Internetu Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 43/84 Hierarchie směrování Původní představy Původní predstavy aneb Jak běžel směrovací čas II. o nedostatky prvotního návrhu hierarchického členění: • organizace předávání směrovacích informací páteřním branám • Jak je propagovat ze zanořených sítí obecně náležejících různým organizacím? • nutnost využívání jednotných mechanismů směrování v rámci celé sítě • včetně stejné metriky • =4> rozšíření hierarchického členění na koncepci tzv. autonomních systémů (AS) • základní myšlenka: vzájemně propojené sítě, které spadají pod společnou správu, budou tvořit jediný autonomní systém, za který plně odpovídá jeho provozovatel • zůstává nutnost jednotného způsobu vzájemného předávání směrovacích informací mezi jednotlivými autonomními systémy • v rámci svého AS má každý možnost zajistit si přenos a aktualizaci směrovacích údajů podle svého, ale navenek musí všichni postupovat jednotně Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 44/84 Autonomní systémy Autonomní systémy • cílem rozdělení Internetu na autonomní systémy }e « snížení směrovací režie • jednodušší směrovací tabulky, snížení množství vyměňovaných směrovacích informací, atp. • zjednodušení správy celé sítě • správa jednotlivých internetů různými organizacemi o autonomní systémy = domény • každému AS/doméně přiřazen 16bitový identifikátor • Autonomous System Number (ASN) - RFC 1930 • přiřazuje organizace ICANN (Internet Corporation For Assigned Names and Numbers) • odpovídají administrativním doménám o sítě a směrovače uvnitř jednoho AS spravovány jednou organizací • např. CESNET, PASNET, ... • dělení v závislosti na způsobu připojení AS do sítě: • Stub AS • Multihomed AS • Transit AS Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 45/84 Hierarchie směrování Autonomní systémy Autonomní systémy - Stu b AS one routě to AS A one route to the outside autonomní systém A je tzv. stub AS • je připojen pouze k jednomu dalšímu AS směrovač A (tzv. hraničnísměrovač) je v rámci AS A výchozí směrovač pro všechny sítě ležící mimo AS A Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 46/84 Hierarchie směrování Autonomní systémy Autonomní systémy - Multihomed a Transit AS AS C autonomní systém B je • multihomed AS, pokud je připojen k nejméně dvěma dalším AS, mezi kterými však neumožňuje přenášení provozu • transit AS, pokud je připojen k nejméně dvěma dalším AS, mezi kterými umožňuje přenášení provozu (skrze své LANs) Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 47/84 Hierarchie směrování Autonomní systémy - směrování Autonomní systémy - směrování I. • oddělené směrování z důvodů škálovatelnosti • intradoménové - interior routing • směrování uvnitř AS • plně pod kontrolou správce AS • tzv. Interior Gateway Protocols (IGP) (např. RIP, OSPF) • interdoménové/mezidoménové - exterior routing • směrování mezi AS • tzv. Exterior Gateway Protocols (EGP) (např. EGP, BGP-4) • nutná spolupráce interior a exterior směrovacích protokolů Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro Hierarchie směrování Autonomní systémy - směrování Autonomní systémy - směrování II. interní směrovače (směrovače uvnitř AS) • znají cestu do všech podsítí uvnitř AS • mohou využít implicitní (default) cesty • skrze hraniční směrovače hraniční směrovače (Border Routers) 9 sumarizují a zveřejňují interní cesty • aplikují směrovací pravidla (policy) jádro sítě nepoužívá implicitní cesty • směrovače musí znát cesty ke všem sítím Proč rozlišovat mezi směrováním uvnitř AS a mezi AS? • uvnitř AS hraje hlavní roli výkon • mezi AS hrají hlavní roli politiky (typicky jde o peníze) a škálovatelnost (velikosti tabulek) Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 49/84 Hierarchie směrování Autonomní systémy - směrování Autonomní systémy - mezidoménové směrování ASI propojen s AS2 a AS3 směrovací pravidla (policies) ASI mohou zakazovat, aby se v případě výpadku linky mezi AS2 a AS3 směrovalo mezi AS2 a AS3 skrze ASI Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 50/84 Autonomní systémy - směrování Autonomní systémy - mezidoménové směrování Směrovací pravidla • volba cesty není nezávislá na lokálních požadavcích • obchodní rozhodnutí 9 lokální rozhodnutí definují • výběr cesty • zveřejnění interních podsítí o důsledky: 9 kombinace nejlepších lokálních pravidel nemusí představovat globální optimum • asymetrie cest Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 51 / Hierarchie směrování Autonomní systémy - směrování Autonomní systémy - mezidoménové směrování Směrovací pravidla - ilustrace I. Předpokládejme, že AS Z chce oznámit AS T cestu Z —> Y —> X • tato cesta může být AS T akceptována jen tehdy, pokud AS Y umožňuje přenos jeho provozu Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 Hierarchie směrování Autonomní systémy - směrování Autonomní systémy - mezidoménové směrování Směrovací pravidla - ilustrace II. T -y Z Vi < Y X W jestliže AS Y neumožní přenos provozu AS T, ale umožní přenos provozu AS X, budou data mezi AS T a AS X přenášena asymetricky Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 53/84 Hierarchie směrování Autonomní systémy - směrování Mezidoménové směrování - protokol EGP I. • Exterior Routing Protocol a první protokol mezidoménového směrování (navržen v roce 1983) • využívá DV přístup • distance vektory kombinují cesty a pravidla • cílem dosažitelnost, nikoliv efektivita • navržen pro stromovou strukturu Internetu • přílišné zjednodušení • nepodporuje redundanci, neumí se vypořádat s cykly již se nepoužívá Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 54/84 Hierarchie směrování Autonomní systémy - směrování Mezidoménové směrování - protokol EGP II. Figure: Představa Internetu podle EGP. Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 55/84 Autonomní systémy - směrování Mezidoménové směrování - BGP I. • Bor der Gateway Protocol • aktuálně verze 4 (BGP-4) • navržen v důsledku růstu Internetu a požadavků na podporu komplexnějších topologií • podporuje redundantní topologie, vypořádá se s cykly • využívá Path Vector směrování • nevyměňují se ceny cest, ale popis celých cest zahrnující všechny skoky • umožňuje definici pravidel směrování • pracuje nad spolehlivým protokolem (TCP) • používá CIDR pro agregaci cest Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 56 / Hierarchie směrování Autonomní systémy - směrování Mezidoménové směrování - BGP II. Peering point V^Consumer Peering point Large corporation) /S SmallX Figure: Představa Internetu podle BGP. Hierarchie směrování Autonomní systémy - směrování Mezidoménové směrování - BGP III. Path Vector I. • Path Vector (PV) • obdoba DV • posílají se celé cesty (ne jen koncové uzly) • snadná detekce cyklů • umožňuje definici pravidel (přátelské vs. nepřátelské AS) o kratší cesty preferovány (pokud policy nerozhodne jinak) • nepoužívá žádnou metriku, řeší se pouze dostupnost • důsledek: není nutné, aby všechny AS využívaly stejnou metriku Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 58 / Hierarchie směrování Autonomní systémy - směrování Mezidoménové směrování - BGP III. Path Vector II. Distance Vector přístup: C je vzdáleno 2 hopy od A Path Vector přístup: cesta z ASI do AS3 vede skrze AS2 Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování Multicastové směrování - IP Multicast Struktura přednášky Q Směrování obecně Q Směrování • Základní přístupy Q Směrovací algoritmy Q Distribuované směrování • Distance Vector • Link State • Link State vs. Distance Vector Q Hierarchie směrování • Původní představy • Autonomní systémy • Autonomní systémy - směrování Q Multicastové směrování - IP Multicast • Motivace • IP Multicast • Protokoly Q Rekapitulace Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 60/84 Multicastové směrování - IP Multicast Motivace Skupinová komunikace Výzva: způsob zasílání stejných zpráv skupině koncových stanic Příklady reálného světa: • Televize či rozhlas, informace od zdroje k dynamické skupině a Přednášející x auditorium, informace od zdroje ke skupině příjemců • s ojedinělou zpětnou vazbou • Pracovní porada, informace od více zdrojů k více příjemcům o Moderovaná diskuze, existence rolí ve skupině Skupina se liší počtem členů, dynamikou, vzdáleností, aktivitou členů Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 61/84 Multicastové směrování - IP Multicast Motivace Skupinová komunikace v síti Obdoba předchozího. • Data jsou od zdroje přenášena ke skupině příjemců • Původní dvoubodová komunikace —> vícebodová komunikace 9 Nutno zajistit replikaci dat a jejich doručení Pokud by replikace byla součástí aplikace, musela by každá aplikace obsahovat replikační modul. Proto je lepší řešit replikaci a směrování dat ve skupině odděleně od aplikace. • IP Multicast a Virtuální sítě Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 62/84 Multicastové směrování - IP Multicast Motivace Skupinová komunikace v síti - Unicast vs. Multicast unicast network multicast Figure: Doručení dat skupině příjemců - Unicast vs. Multicast Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 63 Multicastové směrování - IP Multicast Motivace Příklady skupinové komunikace v síti o Streamované video vysílané ve smyčce • Nedefinovaně mnoho příjemců • Šířka pásma: jednotky Kb/s až Mb/s • Kvalita přenosu • Data produkovaná přístrojem (např. LHC) • Definovaně mnoho příjemců • Velké objemy dat po dlouhou dobu • Spolehlivé doručení • Videokonference (např. nekomprimovaná HD videokonference) • Omezeny počet příjemců • Komunikace každý s každým • Šířka pásma: stovky Kb/s až Gb/s • Nízká latence (reálný čas) Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 64/84 Multicastové směrování - IP Multicast IP Multicast IP Multicast - úvod Klasické řešení skupinové komunikace v síti. o Každým spojem nejvýše jedna kopie dat o Vlastnost sítě (hop by hop, nikoliv end-to-end služba) • Doručení nezaručené (best effort, UDP, skupinová adresa) • Rozsah šírení omezen TTL (Time To Live) paketů Jak identifikovat skupinu? • =4> multicastová IP adresa • IPv4: třída D (224.0.0.0 - 239.255.255.255) • IPv6: prefix f f 00: :/8 Dva základní přístupy k multicastovému směrování: • Source Based Tree • Shared Tree (Core Based Tree) Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 65 Multicastové směrování - IP Multicast IP Multicast IP Multicast - komunikující strany Vysílající: • každý může vysílat (pokud zná multicastovou/skupinovou adresu) • stačí zasílat pakety na skupinovou adresu • vysílajících je proměnný počet • může, ale nemusí být členem skupiny rrijimajici: • žádný, jeden, více o kdokoliv se může přidat či může opustit skupinu • může patřit do více skupin současně Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 66 Multicastové směrování - IP Multicast IP Multicast IP Multicast - identifikace skupiny příjemců 128.119.40.186 r^^1 • • • ^^^i 128.59.16.20 128.34.108.63 128.34.108.60 U ... -i Figuře: Identifikace příjemců - datagram zaslaný do multicastové skupiny je doručen všem členům skupiny. Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 67 / Source Based free vs. Core Based free Source Based Tree • Aktivita shora od zakládajícího 9 Periodický broadcast • Ořezávání větví bez členů • Omezení šířky - TTL • Pro úzce lokalizované skupiny • Nevýhoda: režie, záplava broadcasty a Protokoly: DVMRP (RIP), MOSPF (OSPF), PIM-DM Eva Hladká (Fl MU) Core Based Tree • Ustaveno jádro - body setkání (MP) • Zájemce o skupinu kontaktuje MP 9 Aktivita zdola od příjemce • Redukce broadcastu —> lépe škáluje • Nevýhoda: závislost na dostupnosti jádra • Protokoly: CBT, PIM-SM (protokolově nezávislé) jaro 2019 68 / 4. Sítová vrstva - Směrování Multicastové směrování - IP Multicast IP Multicast Source Based free Multicastové směrování - IP Multicast IP Multicast Source Based free Multicastové směrování - IP Multicast IP Multicast Source Based free Multicastové směrování - IP Multicast IP Multicast Source Based free es Multicastové směrování - IP Multicast IP Multicast Core Based free Multicastové směrování - IP Multicast IP Multicast Core Based free Multicastové směrování - IP Multicast IP Multicast Core Based free Multicastové směrování - IP Multicast IP Multicast IP Multicast - vlastnosti 9 Pozitivní: • Nekonečná škálovatelnost • Nezatěžuje sít násobnými kopiemi • Negativní: o 9 9 9 Problematické účtování Problém se zajištěným doručením Snadný terč útoku (DoS, DDoS) Absence kontroly členství (nelze zjistit přijímající) Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 76/84 Multicastové směrování - IP Multicast Protokoly IP Multicast - protokoly • Správa skupiny: • pouze v rámci LAN • Internet Group Management Protocol (IGMP) a Směrování: • mezi multicastovými směrovací • Source Based Tree - DVMRP (RIP), MOSPF (OSPF), PIM-DM • Core Based Tree - CBT, PIM-SM Source-Based Tree I DVMRP MOSPF Multicasting Protocols I PIM PIM-DM PIM-SM Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 77/84 Multicastové směrování - IP Multicast Protokoly IP Multicast - správa skupiny - IGMP • IGMP (RFC 1112), IGMPv2 (RFC 2236) • správa členství ve skupině • spravuje informace o členech skupiny (pouze v rámci LAN) • pouze lokální působnost • sít a k ní přidružený multicastový směrovač • typy zpráv: • přihlášení ke skupině (Membership Report) • odhlášení ze skupiny (Leave Report) • monitoring skupiny (Query) • např. dotazy směrovače na zájem uzlů setrvat ve skupině (řeší odstranění náhle vypadlých uzlů) IGMP Messages 1 Query Membership Report Leave Report 1 General | 1 Special j Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 78 / 84 Multicastové směrování - IP Multicast Protokoly wide area multicast routing a, A □ B Network Rl To other networks List of groups having loyal members Z / 225.70.8.20 231.24.60.9 229.60.12.8 R To another network R2 To another network Figure: Ilustrace lokální působnosti IGMP protokolu :va Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 79/84 IP Multicast - Source Based Tree - protokoly Distance Vector Multicast Routing Protocol (DVMRP) • rozšíření unicastového DV směrování, využívá informací získaných RIP protokolem • 3 přístupy pro budování stromu: • Reverse Path Forwarding (RPF) • Reverse Path Broadcasting (RPB) • Reverse Path Multicasting (RPM) Multicast Open Shortest Path First (MOSPF) • rozšíření unicatového OS PF protokolu o využívá vytvořené znalosti topologie OSPF protokolem • všechny uzly počítají strom cest z kořene, kterým je zdroj multicastového vysílání Protocol Independent Multicast - Dense Mode (PIM-DM) • využit v prostředí, kdy je pravděpodobné, že většina směrovačů bude participovat na multicastování • podobný DVMRP protokolu • využívá RPF přístup • rozdíl: ke své činnosti nevvžaduie unicastovv orotokol íti. R\P} Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 IP Multicast - Core Based Tree - protokoly Core-Based Tree (CBT) 9 zdroj jako kořen budovaného stromu • AS rozdělen na regiony, pro každý region zvolen bod setkání (tzv. Rendezvous Router) • vytvoření jádra • uzly (v případě zájmu) kontaktují body setkání o budování stromu od listů Protocol Independent Multicast - Sparse Mode (PIM-SM) 9 využit v prostředí, kdy je malá pravděpodobnost, že většina směrovačů bude participovat na multicastování • podobný CBT protokolu • také využívá Rendezvous Points (RPs) 9 oproti CBT si buduje záložní RPs pro účely jejich výpadků • v případě potřeby (= mnoho příjemců vzdálených od RP) je schopen přepnout do strategie Source-based Tree Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 81 Multicastové směrování - IP Multicast Protokoly IP Multicast - příklad reálné sítě (Cesnet2) TU Liberec AS65020 směrovač jádra sítě (P) přístupový směrovač (PE) přístupový L2/L3 přepínač Anycast RP Eva Hladká 4. Sítová vrstva - Směrování jaro 2019 82/84 17 Rekapitulace Struktura přednášky Q Směrování obecně Q Směrování • Základní přístupy Q Směrovací algoritmy Q Distribuované směrování • Distance Vector • Link State • Link State vs. Distance Vector Q Hierarchie směrování • Původní představy • Autonomní systémy • Autonomní systémy - směrování Q Multicastové směrování - IP Multicast • Motivace • IP Multicast • Protokoly Q Rekapitulace Eva Hladká (Fl MU) 4. Sítová vrstva - Směrování jaro 2019 83/84 Rekapitulace - sítová vrstva • logicky propojuje samostatné heterogenní LAN sítě • vyšším vrstvám poskytuje iluzi uniformního prostředí jediné WAN sítě • internet vs. Internet • poskytuje možnost jednoznačné identifikace (adresace) každého PC/zařízení v síti (např. Internetu) • zajištuje (hierarchické) směrování procházejících paketů • Distance Vector přístup vs. Link State přístup • unicast vs. multicast • hlavní protokol sítové vrstvy: IP protokol (IPv4, IPv6) • další informace: • PA159: Počítačové sítě a jejich aplikace I. (doc. Hladká) • PV233: Počítačové sítě a směrovací protokoly (dr. Pelikán et al.) • grafové algoritmy - PB165: Grafy a sítě (prof. Matýska, doc. Hladká, doc. Rudová) Eva Hladká (Fl MU) 4. Sítová vrstva - Směrováni jaro 2019 84/