Směrování a filtrování dat v Internetu

Routing

Směrovač je zařízení, které spojuje dvě počítačové (paketové) sítě.

Směrovací protokol je protokol, který definuje, jakým způsobem si směrovače vyměňují směrovací informace a jakým způsobem směrovače podle těchto informací vybírají cestu, kterou pošlou data.

Link-state směrování

Link-state routing protocol

Každý uzel (směrovač) v link-state síti nejdřív identifikuje všechny své přímé sousedy. Pak informace o svých sousedech pošle do celé sítě. Když má každý směrovač tyto údaje ode všech ostatních směrovačů v síti, vytvoří si lokální mapu sítě. Jde o graf, kde každý uzel znamená jeden směrovač a spojení uzlů jsou cesty mezi směrovači. Podle tohoto grafu pak směrovač pomocí hledání nejkratší cesty (založené na Dijkstrově algoritmu) sestaví tabulku, kde ke každé jednotlivé síti přiřadí cestu, kterou se má paket vydat. Každý směrovač pak rozhoduje na základě této tabulky, kam paket pošle.

OSPF

Open Shortest Path First

OSPF je zkratka pro Open Shortest Path First a jde o link-state směrovací protokol. OSPF funguje v rámci definovaného autonomního systému (všechny routery, které mají v OSPF nastavený stejný autonomní systém a jsou propojeny, si vyměňují routovací informace). Rozesílání směrovacích informací do sítě (flooding) je řešený posíláním těchto paketů na multicastovou adresu (OSPF si pro tyto účely rezervuje v IPv4 adresu 224.0.0.5). Pro routování multicastových paketů se používá varianta MOSPF (Multicast OSPF). OSPF umí pracovat s CIDR – podsítě nejsou limitovány pouze na třídy A, B, C, D, ale mohou být libovolně dlouhé (lze použít masky sítě třeba o 30ti bitech).

Distance-vector směrování

Distance-vector routing protocol

Narozdíl od link-state si při použití distance-vector směrovače nevytvářejí celou mapu sítě. Každý směrovač pravidelně informuje své sousedy o jakých sítích ví (jaké sítě umí směrovat). Spolu s tím je posílána metrika, což je vyjádření toho, jak dobrá je cesta do této sítě přes tento směrovač. Směrovače si pak tyto informace mezi sebou vyměňují – pokud přeposílají síť, kterou znají od jiného routeru, zvyšují metriku. Když jsou informace o celé síti povyměňovány, říkáme, že je síť konvergovaná. Každý směrovač má pak informace o tom, do kterých sítí znají jeho sousedi cestu spolu s metrikou. Směrovač pak paket posílá směrem, kde je nejvýhodnější metrika.

Pomůcka:

distance-vector = vektor vzdálenosti, tzn. známe metriku (vzdálenost)

link-state = stav sítě, tzn. známe mapu celé sítě

RIP

Routing Information Protocol

RIP je zkratkou pro Routing Information Protocol a jde o distance-vector směrovací protokol. Existuje ve dvou verzích: RIPv2 umí oproti RIPv1 směrovat CIDR sítě. RIPv2 používá k rozesílání paketů na sousedící směrovače multicastovou adresu 224.0.0.9. Jako metriku používá RIP hop-count, čili počet skoků. Je to jednoduše počet routerů, přes které musí paket projít, aby se dostal do cílové sítě. Směrovače s RIPem tedy vybírají cestu do cílové sítě přes směrovač, který do této sítě má nejmenší hop-count. Minimální hop-count je 0 (síť je na tomto směrovači přímo dostupná), maximální hop-count je 15 a více je považováno za chybu. Pro IPv6 směrování existuje varianta RIPu pojmenovaná RIPng.

Klasifikace paketů

Klasifikace paketů znamená jejich dělení do tříd na základě jejich vlastností. Pro pakety určité třídy pak můžeme definovat filtrovací pravidla, můžeme na ně aplikovat Quality of Service nebo je můžeme jednoduše použít pro získávání statistik sítě (viz například netflow).

Rozdělovat do tříd můžeme například podle:

zdrojové nebo cílové IP adresy nebo síťě

portu, ze kterého komunikace přišla nebo kam míří

protokolu – ať už transportní vrstva: UDP/TCP atd., nebo např. aplikační vrstva: HTTP, BitTorrent, SSH, …

Filtrování paketů

Filtrování paketů je záležitostí, o kterou se stará firewall. Může jít o hardware i software. Firewall používá výše zmíněné rozdělení do tříd a podle nastaených pravidel nepropouští (tzn. zahazuje) pakety některých tříd. Firewally mohou mít inkluzivní přístup, kdy nepropouští nic kromě definovaných tříd, nebo exkluzivní přístup, kdy pouští naopak všechno až na definované třídy.

Linuxový firewall ipfw může mít definována následující pravidla: 12190 deny tcp from any to any 65535 allow ip from any to any První číslo znamená pořadí. Tento firewall propustí všechny IP pakety ven i dovnitř a vyfiltruje veškerou komunikaci používající protokol TCP.

Shrnutí

směrovač, síťová vstva (L3), směrování, směrovací protokol, metrika

distance-vector: zná své sousedy a jaké sítě vidí, ale nemá kompletní topografii sítě

RIP: jako metriku hop count, max 15 hopů, v2 umí CIDR

link-state: zná celou topologii, nejdřív zjistí sousedy a pak zaplaví síť (s touto informací), po určité době síť konverguje a může se směrovat

OSPF: flooding na multicastu, autonomní systém, CIDR

klasifikace, QoS, filtrování