TÉMATICKÝ OKRUH Počítače, sítě a operační systémy
Číslo otázky : Otázka :
Obsah :
9. Propojování počítačových sítí: most-přepínač, virtuální sítě, směrovač. Směrování, směrovací tabulka, směrovací protokoly.
1. Úvod Propojení sítí se může realizovat na první, druhé nebo třetí vrstvě síťového OSI modelu. Propojení pomocí zařízení pracujících na první a druhé vrstvě je charakteristické pro sítě LAN, zařízení pracující na 3. vrstvě se používají především k propojování WAN sítí. Typickými prvky pro propojení sítí jsou: ● rozbočovač(hub) ● most, přepínač(bridge, switch) ● směrovač(router)
1.1 Propojování počítačových sítí pomocí zařízení první vrstvy Propojování sítí pomocí zařízení první vrstvy je realizováno rozbočovačem. Rozbočovač není inteligentní zařízení a neví o tom, které zařízení má připojené na jednotlivých portech (přesněji řečeno, nezná MAC adresu připojeného zařízení). Pokud nějaké zařízení připojené k rozbočovači vyšle do sítě rámec, rozbočovač jej vždy rozešle přes všechny porty dál. Z toho plyne neefektivní využití přenosových kapacit sítě , větší počet kolizí a snížená bezpečnost takovéto sítě (jedna stanice může odposlechnout provoz adresovaný jiné stanici v síti). Rozbočovače v současné době nahradily přepínače, proto se tento způsob propojování již nepoužívá.
1.2 Propojování počítačových sítí pomocí zařízení druhé vrstvy Typickým zařízením na této vrstvě je most (bridge), respektive nějaká z jeho variant. Most je schopen rozpoznat rozpoznat MAC adresu v přijatých datových rámcích a selektivně tyto rámce odesílat na konkrétní porty. Mosty mohou provádět i konverzi média (FastEthernet <-> GigaBit Ethernet, apod.). Mosty jsou transparentní (samoučící)/zdrojové směr. 1.2.1 Transparentní(samoučící) most Zasílá rámce podle tabulky se záznamy ve tvaru <MAC_adresa, port>. Tabulku si buduje z příchozích rámců. Podle zdrojové MAC adresy a příchozího portu. Záznamy v tabulce mají časově omezenou platnost. Při příchodu rámce s jistou zdrojovou adresou z jistého portu se časovač příslušné položky tabulky resetuje. Rámce, jejichž cílová adresa v tabulce dosud není, se rozesílají na všechny porty (tzv. Flooding), rámce s cílovou adresou broadcast se rozesílají všude. 1.2.2 Zdrojové směrování Cestu rámce sítí určuje zdrojová stanice v rámci explicitně uveden seznam segmentů, kterými má rámec projít. Typicky použití v síti Token Ring – struktura propojených kruhů. 1.2.3 Spanninig tree V komplikovanějších topologiích, kde je možnost vzniku smyčky (tj. existuje více možných cest mezi uzly), je nutné aby přepínače podporovaly Spanning Tree protokol (STP). STP zamezuje vzniku smyček tím, že porty na přepínačích, ke kterým jsou připojeny linky tvořící potenciální smyčku, zablokuje. Dochází k neustále automatické konstrukci stromu, pokrývající graf sítě. V případě výpadku linky/portu se strom automaticky změní. Funkce spanning tree : Volí se kořen stromu(root). Volba probíhá buď podle předem nakonfigurovaných priorit a přepínačích nebo podle Bridge ID (parametr, který má každý přepínač se zapnutou podporou STP). Vytvoří se strom nejkratších (nejlevnějších) cest z každého přepínače
ke kořeni. Preferenci linky lze ovlivnit nakonfigurováním její ceny (podobné jako metrika u směrování). Implicitně je cena nepřímo úměrná přenosové rychlosti linky. Porty, které jsou součástí vytvořeného stromu, budou aktivní (stav forwarding), ostatní porty se zablokují (stav blocking). 1.2.4 Virtuální sítě Na přepínaných sítích je možné realizovat tzv. virtuální sítě (VLAN). Virtuální sítě umožňují definovat nad fyzickou topologií určitou logickou strukturu – umožňují rozdělit fyzickou síť na segmenty, které se vůči sobě chovají navzájem tak, jako by fyzicky propojené nebyly. Členství v konkrétní virtuální síti lze definovat: ● staticky – určitý port na přepínači patří do určité VLAN. Tento způsob se používá nejčastěji ● dynamicky - o členství ve VLAN se rozhodne na základě MAC adresy nebo někdy i na základě údaje vyšší vrstvy (třeba IP adresy). Dynamické určování členství vyžaduje existenci zvláštního zařízení – VMPS (VLAN Membership Server) – od kterého se přepínače dozvídají informace o přiřazení stanice do určité VLAN. V topologiích s více přepínači je potřeba zajistit, aby členy jednoho VLANu mohly být stanice fyzicky připojené k jiným přepínačům, proto je k běžné hlavičce rámce připojena informace o čísle virtuální sítě (tag), kterou protější zařízení využije k rozpoznání příslušnosti k VLAN.
1.2 Propojování WAN sítí Realizuje se pomocí zařízení pracujících na 3. síťové vrstvě nazývaných směrovače. 1.2.1 Směrovač (router) Směrovač je zřízení, které procesem zvaným směrování přeposílá pakety směrem k jejich cíli. Směrovač používá směrovací tabulku, která obsahuje nejlepší vesty k určitým cílům (do určitých sítí) a směrovací metriky spojené s těmito cestami. Směrovač může mít záznamy ve směrovací tabulce nakonfigurované staticky nebo je může získávat dynamicky. V případě dynamického směrování je nutné, aby směrovač podporoval některý ze směrovacích protokolů, pomocí něhož si může vyměňovat směrovací informace s ostatními směrovači v síti. 1.2.1.1 Směrovací tabulka Obsahuje záznamy ve tvaru :
● cílová adresa/maska – může být ivedena síť, podsíť nebo konkrétní uzel ● výstupní rozhraní/next_hop - uvádí přes jaké rozhraní nebo přes který další router v některé z přilehlých sítí se mají posílat pakety s cílovou adresou ● metrika - „cena“ cesty, pro výpočet metriky se používají různá kritéria, např počet „hopů“ (routerů) po cestě k cíli, rychlost linky, apod. Metriku lze nastavit staticky nebo ji dynamicky spočítá směrovací protokol. Při směrování se použije cesta, která se shoduje s adresou cíle v paketu na co největší počet míst. Zvláštním záznamem ve směrovací tabulce je implicitní cesta (default route, last resort route). Veškeré pakety, pro jejichž cílovou adresu neexistuje položka ve směrovací tabulce, se pošlou implicitní cestou.
1.2.2 Směrování Je to proces hledání cesty sítí, který se může lišit podle typu sítě. Ve spojově orientovaných sítích se směrování provádí při vytváření spojení. Po vytvoření spojení jdou všechny pakety jednou cestou a nemohou se přeházet do nesprávného pořadí. V sítích s přepínáním paketů se směrování provádí při zpracování každého paketu. Každý paket tedy může dorazit k cíli jinou cestou a není zaručeno, že pakety dorazí do cíle ve stejném pořadí v jakém byly odeslány. Podle přístupu dělíme směrování na: ● Distribuované ● Centralizované ● Izolované Podle typu dělíme směrování na: ● Statické ● Dynamické 1.2.2.1 Distribuované směrování Patří k nejpoužívanějším, v mnoha variantách se používá v Internetu. Každý směrovač zná "vzdálenost" (ceny linek) ke všem svým sousedům a stav těchto linek (funkčnost, přenosovou rychlost, okamžitou zátěž, ...). Každý směrovač si vyměňuje své informace o směrování s jinými směrovači (prostřednictvím sousedů) ze získaných informací si směrovač vytvoří směrovací tabulku. 1.2.2.2 Centralizované směrování Prakticky nepoužívané. V síti existuje centrální prvek RCC (Routing Control Center), který shromažďuje informace o okolí od všech směrovačů, kombinuje z nich topologii sítě, počítá směrovací tabulky pro všechny směrovače a předává jim je. Jednotlivé směrovače posílají periodicky do RCC stavové informace (seznam "živých" sousedů, délky front na jednotlivých interface, celková zpracovávaná zátěž, ...). Problém s distribucí tabulek od RCC do jednotlivých směrovačů - distribuce postupná, směrování v době distribuce nekonzistentní (staré a nové verze tabulek současně). 1.2.2.3 Izolované směrování Používá se jen pro speciální účely. Je založeno pouze a jedině na lokálně dostupné informaci (délky front na jednotlivých rozhraních, informace získaná z procházejících paketů - např. směr, kterým leží zdroj příchozího paketu). Existuje několik metod, které izolované směrování používá: ● Horký brambor - paket se vkládá do nejkratší výstupní fronty (cílem je se jej co nejrychleji zbavit). ● Backward learning - do paketů se vkládá identifikace zdrojové sítě a počítadlo, při průchodu každým směrovačem se počítadlo zvýší - směrovač z příchozího paketu zjistí, jak daleko je přes dané rozhraní ke zdrojové síti ● Záplavové směrování (flooding) - paket se vyšle na všechny linky mimo té, ze které přišel V paketu je počítadlo přeskoků, likvidace paketu při dosažení limitu jako opatření proti zahlcení. Podle toho, jak se získávají směrovací informace, lze rozdělit směrování na statické a dynamické.
1.2.2.4 Statické směrování Tabulky v jednotlivých směrovačích jsou konfigurovány "ručně" – pracnější. Odpadá režie směrovacích protokolů (zabraná šířka pásma,čas na zpracování) . Bezpečnější (omezení možnosti generování falešných směrovacích informací, odposlouchání topologie sítě). Při výpadku linky je nutný ruční zásah. Použitelné, pokud se topologie příliš často nemění (od výpadků a modifikací sítě). 1.2.2.5 Dynamické směrování Automaticky reaguje na poměry v síti (topologie, zátěž, ...). Nutnost provozu směrovacích protokolů. Užitečné při častých změnách (příp. i obecně neznámé) topologie sítě (typicky v Internetu).
1.2.3 Směrovací protokoly Sm'ěrovací protokoly lze rozdělit podle způsobu výměny a zpracování směrovacích informací na protokoly používající distanc-vector algoritmus a na protokoly využívající link-state algoritmus. 1.2.3.1 Distance-vector protokoly Protokoly RIP, IGRP. Směrovače neznají topologii sítě, pouze rozhraní, přes která se budou posílat pakety do jednotlivých sítí a vzdálenosti k těmto sítím (tzv. distanční vektory). Směrovače periodicky zasílají směrovací tabulku sousedům. Pokud cesta nebyla delší dobu sousedem inzerována, ze směrovací tabulky se odstraní. Metrikou je počet "přeskoků/hopů" (hop count) na cestě mezi zdrojem a cílem. Nevýhoda: pomalá konvergence při změnách topologie, zátěž od broadcastu směrovacích tabulek. 1.2.3.2 Linka-state protokoly Protokoly OSPF, ISIS. Směrování probíhá na základě znalosti stavu jednotlivých linek sítě (funkčnost, cena). Směrovače znají topologii celé sítě a ceny jednotlivých linek. Tyto informace udržují v topologické databázi. Všechny směrovače mají stejnou topologickou databázi. Každý směrovač počítá strom nejkratších cest ke všem ostatním směrovačům (a k nim připojeným sítím) pomocí Dijkstrova algoritmu. Každý směrovač sleduje stav a funkčnost linek připojených k němu, při změně okamžitě šíří informaci (o aktuálním stavu svého okolí) všem ostatním směrovačům. Ty si ji vloží do topologické databáze. Šíří se pouze změny (ale do celé sítě) - žádné periodické rozesílání směrovacích tabulek. Výhody: okamžitá reakce na změnu stavu linky (výpadek,náběh) = > rychlá konvergence. Směrovací protokoly lze také rozdělit podle toho zda slouží ke směrovaní uvnitř autonomního systému (AS) nebo ke směrování mezi autonomními systémy. (AS je skupina směrovačů a odpovídajících sítí a segmentů, které spadají pod stejnou správu - většinou jednoho podniku či organizace. AS je termín používaný v TCP/IP a je označen přirozeným číslem. Čísla přidělují a spravují stejné organizace, které kontinentálně přidělují síťové adresy IP). ● směrování uvnitř AS – všechny dosud zmíněné protokoly – tj. RIP, IGRP, OSP.. ● směrovaní mezi AS – v současnosti se používá pouze BGP (Border Gateway Protocol), který jako metriku používá délku AS path (počet AS na cestě k cílové síti).
U směrovacích protokolů se uplatňují následující algoritmy z teorie grafů: ● Dijkstra - pro zvolený uzel hranově ohodnoceného grafu nalezne strom nejkratších cest do ostatních uzlů. V modifikované variantě základ protokolu OSPF. ● Floyd - vychází z matice cen grafu, počítá matici vzdáleností uzlů grafu a úplné směrovací tabulky pro jednotlivé uzly. ● Ford-Fulkerson - určení nejkratších vzdáleností ze všech uzlů do jednoho společného uzlu. V distribuované variantě základ protokolu RIP.