Články
TCP/IP - Routing - směrování
Routing, česky řečeno směrování, ale častěji se používá slovo routování (alespoň v mém okolí). Jedná se o techniku, která slouží k propojení jednotlivých sítí (přesněji subnetů). Původním zařízením, určeným pro routování byl router, ale v dnešní době se velmi využívají L3 switche, firewally nebo pouze servery/počítače. Router přeposílá komunikaci z jedné sítě do jiné.
Následující obrázek ukazuje jednoduchý příklad sítě, kde máme subnety A, B a C. Tyto subnety jsou propojeny přes router mezi sebou a také do internetu. Takže pokud chce například stanice ze subnetu B komunikovat se serverem v subnetu A, tak pošle data na router a ten zařídí doručení do subnetu A. Pokud by stanice chtěla komunikovat do internetu, tak router naopak zašle data na jiný interface.

Dělení sítě na subnety je hierarchické a ve všech propojích musí být router. Při komunikaci pak postupujeme směrem nahoru ve stromu na nejbližší vrstvu, která propojuje dané subnety, a pak opět dolů. Délka cesty se počítá podle počtu hopů (skok), což je každý přechod ze zařízení na zařízení, je to tedy počet routrů v cestě + 1. Přímé spojení dvou počítačů je dlouhé 1 hop. Používá se také termín next hop (další skok) a označuje se jím adresa dalšího routeru v cestě.
Na dalším obrázku jsem se pokusil zachytit tuto situaci. Je zde malý (a pouze schematický) výřez větší sítě (či internetu). Na listech stromu jsou malé routery, ke kterým jsou připojeny switche a počítače. Tyto routery se sdružují do dalších (větších) a tak dále na několika úrovních. Samozřejmě v praxi jsou větší routery vždy redundantně, aby byla síť odolná vůči výpadku či kvůli vyvažování zátěže.

Důležité pojmy pro routování
- Router
- zařízení, které provádí routování
- Routing
- routování, přeposílání (forwarding) dat mezi sítěmi
- Route
- cesta, která se použije, zapsaná v routovací tabulce
- Routing table
- routovací tabulka obsahuje záznamy o jednotlivých cestách
- Routing protocol
- routovací protokol slouží ke směrování routovaného protokolu, určuje nejlepší cestu k cíli a posílá routovací informace dalším routrům
- Routed protocol
- routovaný protokol je IP, IPX nebo Apple Talk
Dělení routovacích protokolů
Základní dělení je podle způsobu vytváření routovacích pravidel:
- statické routování - pevně zadané
- dynamické routování - síť se automaticky přizpůsobuje změnám v topologii a dopravě
- defaultní routování - pokud neexistuje jiná cesta
Dále dělíme dynamické protokoly podle toho, zda jsou určeny pro nasazení uvnitř lokální sítě nebo fungují napříč sítěmi
- uvnitř sítě
- RIP1, RIP2, IGRP, OSPF, ISIS, EIGRP
- mezi sítěmi
- IGP - Interior Gateway Protocol - routuje ve stejném Autonomous Systém (AS)
- EGP - Exterior Gateway Protocol - routuje mezi AS
- BGP - Border Gateway Protocol - příklad EGP protokolu
Dále se podrobněji věnuji dynamickým protokolům určeným pro nasazení v LAN. Tyto protokoly můžeme dělit podle metriky, kterou používají k určení cesty k cíli na
- Distance Vector Routing - RIP1, RIP2, IGRP - počet hopů
- Links State Routing - OSPF, ISIS - nejkratší cesta
- Hybrid Routing - EIGRP - kombinace obojího
Obecné termíny
- Variable Length Subnet Masking (VLSM)
- používá se v Classless Inter-Domain Routing (CIDR). V tomto případě můžeme v subnetu použít různé velikosti masky. Můžeme například použít dohormady subnety 10.0.0.0/26 a 10.0.0.64/28.
- Autonomní systém - AS (Autonomous System)
- je skupina IP sítí a routrů, které jsou pod správou jedné (nebo více) jednotek.
- Administrativní vzdálenost - AD (Administrative Distance)
- je vlastnost používaná na routrech k určení nejlepší cesty mezi více routovacími protokoly. Definuje spolehlivost protokolu a prioritizuje lepší nižším číslem. Jinak řečeno na routeru může běžet více routovacích protokolů a podle AD se rozhoduje, který se použije. Na Cisco routrech můžeme měnit defaultní hodnoty.
| protokol | Administrativní vzdálenost |
|---|---|
| přímo připojený interface | 0 |
| statická routa | 1 |
| EIGRP | 90 |
| IGRP | 100 |
| OSPF | 110 |
| RIP | 120 |
| EGP | 140 |
- Split horizon
- metoda, která slouží k zamezení vzniku smyček v Distance Vector Routing protokolech. Používá se u RIP, IGRP a EIGRP. Funguje tak, že zakazuje posílání routovací cesty zpět na rozhranní, z kterého se naučila.
- Hold-down timer
- je metoda, kterou používají routovací protokoly, aby zabránily zbytečnému nebo předčasnému rozesílání routovacích cest v nestabilním prostředí (ve chvíli, kdy dochází k časté změně stavu). Router čeká určitý čas než je síť stabilní.
Jednotlivé routovací metody
RIP - Routing Information Protocol
- jednoduchý pro konfiguraci a funguje všude
- pro malé a střední sítě
- RIP 1 nepodporuje VLSM
- plýtvá pásmem (velká režijní komunikace)
- pomalá konvergence (rozšiřování)
- hloupá metrika - počet hopů
- posílá celou routovací tabulku svým sousedům
- maximálně 15 hopů
Definují se pouze sítě, které jsou přímo na tomto routeru, ostatní se naučí pomocí updatů. Nastavení na Ciscu pomocí
SWITCH(config)#router rip SWITCH(config-router)#network 132.43.54.0 SWITCH(config-router)#network 145.65.76.0
IGRP - Interior Gateway Routing Protocol
- proprietární Cisco protokol
- nepodporuje VLSM
- jako metriku používá cenu, záleží na pásmu a zpoždění
- maximální počet hopů 255
Nastavení na Cisco routru (33 je číslo AS)
SWITCH(config)#router igrp 33 SWITCH(config-router)#network 134.43.54.0 SWITCH(config-router)#network 143.56.76.0
EIGRP - Enhanced Interior Gateway Routing Protocol
- proprietární Cisco protokol
- rychlá konvergence
- redukuje spotřebu pásma pro routovací updaty
- podporuje různé protokoly (apple talk, IPX, IP) a VLSM
- metrika - pásmo, zpoždění (případně i zátěž, spolehlivost)
- routovací update se vyměňují pouze mezi routry ve stejném AS
- maximální počet hopů 255
- bez smyček
Používá tabulku sousedů (informace o přímých sousedech), tabulku topologie (všechny routovací záznamy, které se naučil) a routovací tabulku (nejlepší routy z tabulky topologie).
Nastavení na Cisco routeru (33 je číslo AS)
SWITCH(config)#router eigrp 33 SWITCH(config-router)#network 172.16.0.0 SWITCH(config-router)#network 10.0.0.0
OSPF - Open Shortest Path First
- hierarchický systém - jedna nebo více oblastí je spojena k páteřní oblasti (oblast 0)
- routry posílají linkstate (pásmo a stav interfacu) informace všem sousedním routrům v oblasti
- routry vytvářejí databázi topologie, což je model celé oblasti
- z databáze se pomocí Dijkstry vypočítá nejkratší cesta a zapíše do routovací tabulky
- neomezený počet hopů
- určeno pro rozsáhlé sítě heterogenní sítě
- podporuje VLSM
Nastavení na Cisco routeru (1 je ID číslo procesu, pouze lokálně významné)
SWITCH(config)#router ospf 1 SWITCH(config-router)#network 132.43.56.0 0.0.0.255 area 0 SWITCH(config-router)#network 145.54.34.6 0.0.63.255 area 0
Static routing
- používá se například mezi ISP a firmou, není zde třeba, aby běhal složitý routovací protokol
- pro každou síť je vložen záznam do routovací tabulky
- žádná zátěž
- pouze pro malé sítě
Nastavení na Cisco routru
ip route [destination_network] [mask] [next_hop or exit_interface] [administrative_distance] [permanent] SWITCH(config)#ip route 192.168.50.0 255.255.255.0 192.168.1.1
next_hop je IP adresa interfacu, přes která je daná cílová síť dostupná, exit_interface je jméno tohoto interfacu (třeba s0)
Default routing
- může se použít pouze na kraji sítě, kde je jeden port, který vede mimo síť
- pokud není definována jiná cesta k dosažení cíle, tak se použije defaultní routa, což je gateway
Nastavení na Cisco routru
ip route 0.0.0.0 0.0.0.0 [next_hop or exit_interface] SWITCH(config)#ip route 0.0.0.0 0.0.0.0 62.102.58.12
Routování a Windows
I pracovní stanice, kde je například OS Windows XP, musí provádět rozhodnutí o tom, kam směrovat síťová data. Vychází se z toho, jak jsou nastaveny síťové karty v počítači. Podle tohoto nastavení se dynamicky upravuje routovací tabulka. Ale údaje v tabulce můžeme upravovat i ručně. Podle routovací tabulky se Windows rozhodují, přes kterou síťovou kartu zaslat určitá data.
Základní routy jsou pro gateway, tedy to co nevím kam jinam poslat, označuje se jako default route. Pak jsou routy pro hosta a loopback (127.0.0.0/8), které vedou na MS TCP Loopback Interface. Dále je routa pro multicast (224.0.0.0/4). V neposlední řadě je zde routa pro lokální subnet.
Jednotlivé routy mají metriku (1 až 9999), která určuje jejich prioritu. Čím nižší hodnota, tím větší priorita. Routa se vybírá nejprve tak, aby nejblíže odpovídala cílové adrese. Pokud je třeba, tak je druhým kritériem metrika.
Jak jsem psal, tak se routovací tabulky vytváří a upravuje dynamicky podle interfaců. Můžeme manuálně mazat, přidávat či upravovat záznamy, ale tyto změny se při restartu počítače ztratí. Pokud chceme vytvořit trvalou statickou routu, tak ji musíme vytvořit jako persistant. Tyto routy jsou pak uloženy v registech HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes.
Pro manipulaci s routovací tabulkou ve Windows XP (ale dalších MS OS) slouží příkaz route. Pár příkladů použití:
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]] route print // vypíše roubovací tabulku route add 0.0.0.0 mask 0.0.0.0 192.168.12.1 // vytvoří dočasnou defaultní routu, tedy gateway route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7 // vytvoří trvalou (persistant) routu pro 10.41.0.0/16 route delete 10.41.0.0 mask 255.255.0.0 // smaže záznam pro 10.41.0.0/16
Windows jako router
Routování, o kterém jsem tu psal, se týká pouze rozhodnutí, kam směrovat provoz generovaný na tomto počítači. Pokud bychom chtěli použít počítač jako router, tedy aby příchozí komunikaci posílal dál, tak musíme tuto funkci zapnout v registrech.
V registrech HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters musíme změnit hodnotu položky IPEnableRouter na 1.
Pozn.: Chtěl bych upozornit, že zapnutí této funkce je třeba dobře rozvážit, protože se může jednat o bezpečnostní riziko. Pomocí této funkce může dojít k propojení několika sítí (což asi v tomto případě chceme), takže ji nezapínat bezdůvodně.
Související články:
Počítačové sítě - Computer networks
- OSI model [05.03.2007 08:09]
- Počítačové sítě a jejich typy [09.07.2007 15:32]
- VLAN - Virtual Local Area Network [02.06.2007 15:54]
- Počítačové sítě - základní topologie [30.07.2007 14:47]
- Ethernet - CSMA/CD, kolizní doména, duplex [03.08.2007 12:40]
- TCP/IP - model, encapsulace, paket vs. rámec [16.08.2007 16:43]
- TCP/IP - metody vysílání dat [02.09.2007 15:05]
- TCP/IP - adresy, masky, subnety a výpočty [05.09.2007 14:53]
- TCP/IP - navázání a ukončení spojení [13.09.2007 16:10]
- TCP/IP a ethernet - cesta v síti, aktivní síťové prvky [17.09.2007 10:22]
- TCP/IP - Routing - směrování [21.09.2007 15:34] právě čtete
- TCP/IP - nalezení MAC adresy k IP - ARP [25.09.2007 17:35]
- Počítačové sítě - Computer Networks [30.09.2007 13:28]
- DNS (Domain Name System) zaměřeno na Microsoft [26.11.2007 14:26]
- Wake on LAN - lokální i vzdálený subnet [10.08.2008 20:42]
linkuj.cz | zalinkuj.cz | jagg.cz | vybrali.sme.sk | del.icio.us.
Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže. Pokud chcete poradit s nějakým problémem či diskutovat na nějaké téma, tak použijte fórum.

Komentáře
Kdyz se uz rozpisujes s prikazy network.. tak bys mohl možná přidat, jak se nastavuje defaultni routa v urcitem protokolu... at to tady mam pohromade
Myslim treba: def inf originate, atd.. Dik za fajn clanky!
Přiznám se, že routingu se v praxi nevěnuji (a co jsem potřeboval, tak jsem vystačil s ip route...). Tento článek přináší informace, které by měli být potřebné pro test na CCNA. Je to hlavně o teorii a ne o příkazech IOSu (těch pár je tu proto, že mě stačily u testu).
zdarec lidi...
mam problem se sdilenym pripojenim ve win xp. router pc prideli adresu, z toho druhyho pc se pingnu na jakoukoliv ip adresu (vcetne DNS serveru), ale webovou adresu mi to nejak nepreklada. firewall mam nastavenej spravne, routing v registrech povolenej...
nejakej cas mi to fungovalo, ale najednou to prestalo a ja uz vazne nevim kde by mohla byt chyba
odpověď na [3]bobo: Tohle by bylo lepší dát do fóra. Ale těžko se takhle hledá problém. Pokud funguje ping na DNS server, tak bych zkusil nslookup, jestli se připojí k DNS serveru a jestli překládá jména.
Zdravim, clanek je super, jen malinka poznamecka. V clanku se na nekolika mistech pise o EIGRP, ale uvadi se IGRP (chybi pismenko
). Mozna by to nebylo od veci to {opravit}:
# uvnitř sítě
* RIP1, RIP2, IGRP, OSPF, ISIS, IGRP {EIGRP}
..
* Hybrid Routing - IGRP {EIGRP} - kombinace obojího
odpověď na [5]Radim: Díky za upozornění, asi se mě při nějakém hromadném upravování ztratilo všude E. Přitom v titlu u abbr na IGRP bylo EIGRP.
Ahoj, bezva clanek! jen snad mala uprava. Ve vsech konfiguracich je na CLI: Switch(config)# .....
routovani leda na L3,jinak by melo byt vsude Router(config)#
kdyz uz jsme u tech routeru .-)
jinak pekny souhrn! diky
odpověď na [7]MLOK: jestli se nemýlím tak L3 switche umějí i routovat, takže to nebude nějaká chyba, že tam má switch... hodně switchů už dneska dokáže zastoupit i DHCP server, ale využitelnost v praxi na větších sítích nic moc.