Uživatelské nástroje

Nástroje pro tento web


pitel:isz:smerovani_a_filtrovani_dat_v_internetu

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.


pitel:isz:smerovani_a_filtrovani_dat_v_internetu [30. 12. 2022, 13.43:01] (aktuální) – vytvořeno - upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 +====== Směrování a filtrování dat v Internetu ======
 +[[wp>Routing]]
  
 +  * **[[wp>Router|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í =====
 +[[wp>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 [[wp>Dijkstra's algorithm|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 ====
 +[[wp>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í =====
 +[[wp>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 ====
 +[[wp>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 [[isz:sluzby_aplikacni_vrstvy#netflow|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.
 +
 +<note>
 +Linuxový firewall [[man>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.
 +</note>
 +
 +===== 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í