forum

www.SAMURAJ-cz.com 

08.01.2009 Čestmír VÍTEJTE V MÉM SVĚTĚ

Články

TCP/IP - Routing - směrování

Pátek, 21.09.2007 15:34 | Samuraj | sítě
V jedenácté části seriálu o počítačových sítích se věnuji routingu, tedy směrování v sítích. Je zde stručný popis, vysvětlení termínů a pak jsou velmi stručně popsány některé běžnější routovací metody (RIP, IGRP, EIGRP a OSPF) včetně dělení těchto metod. U metod je ukázka základní konfigurace na Ciscu. Článek není zdaleka vyčerpávající a popis je často bodový. V závěru je zmíněno routování na Windows.

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.

Princip routování

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.

Ukázka propojení routerů v internetu

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ů

Do routovací tabulky se vytváří několik typů záznamů cest (route), záleží na tom, jakým způsobem vznikly. Pakety jsou podle toho směrovány jedním ze základních způsobů routování:

  • statické routování – ručně zadané cesty (záznamy v routovací tabulce), bezpečné a dobré, ale nereflektuje změny v topologii sítě
  • dynamické routování - síť se automaticky přizpůsobuje změnám v topologii a dopravě, automaticky se vypočítávají cesty pomocí routovacího protokolu
  • defaultní routování - pokud neexistuje jiná cesta, tak se použije defaultní

Dynamické routovací protokoly jsou dvou základních typů

  • distance-vector routing protocol – routery udržují routovací tabulku s informací o (vektoru) vzdálenosti do dané sítě, periodicky routovací tabulku zasílají sousedům, ti si upraví svoji tabulku a tu opět odešlou dál, pro výpočet nejlepší cesty se používá jedna (počet hopů u RIP) nebo více metrik (propustnost linky a zpoždění u IGRP). Upraveným typem distance-vector protokolu je path-vector protocol.
  • link-state routing protocol – routery udržují komplexní databázi síťové topologie (vytvořenou pomocí LSA), vyměňují si link-state advertisements (LSA), LSA jsou vyvolány nějakou událostí v síti, do svého okolí také odesílá Hello pakety, kde zasílá informace o sobě, rychle reaguje na změny topologie, ale spotřebovává více pásma a zdrojů na routeru, metrika je komplexní, nejlepší cesta se počítá pomocí Dijkstrova algoritmu shortest path first (SPF)

Pozn.: Ještě je zde jeden speciální typ, který vychází z distance-vector protokolu a přidává některé vlastnosti link-state protokolu, označuje se jako hybrid routing protokol nebo advanced distance-vektor protokol. Jeho jediným zástupcem je EIGRP.

Dále dělíme dynamické protokoly podle toho, zda jsou určeny pro nasazení uvnitř lokální sítě (přesněji řečeno uvnitř autonomního systému (AS), který může obsahovat několik LAN) nebo fungují napříč sítěmi (spojují AS dohromady)

  • interior gateway protocol - IGP - routuje uvnitř Autonomous System (AS)
  • exterior gateway protocol - EGP - routuje mezi AS
Dělení dynamických routovacích protokolů

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 dalšího routeru v cestě, přesněji, je to adresa interfacu sousedního routeru, který sousedí s tímto routerem,
exit_interface je jméno lokálního výstupního interfacu (třeba s0), přes který vede cesta k cílové síti.

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ě.

zobrazeno: 12455krát | Komentáře [10]

Související články:

Počítačové sítě - Computer networks

Tento seriál se věnuje základům počítačových sítí. Jsou zde stručně popsány důležité praktické aspekty, které by měl znát každý, kdo se o sítě zajímá.

Pokud se Vám článek líbil, tak mne potěšíte, když uložíte odkaz na některý server:
  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

  1. [1] maro

    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!

    Úterý, 25.12.2007 17:53 | odpovědět
  2. [2] Samuraj

    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).

    Úterý, 25.12.2007 20:15 | odpovědět
  3. [3] bobo

    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:-(

    Sobota, 09.02.2008 08:39 | odpovědět
  4. [4] Samuraj

    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.

    Neděle, 10.02.2008 12:27 | odpovědět
  5. [5] Radim

    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

    Středa, 19.03.2008 12:38 | odpovědět
  6. [6] Samuraj

    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.

    Středa, 19.03.2008 16:04 | odpovědět
  7. [7] MLOK

    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

    Neděle, 30.03.2008 11:53 | odpovědět
  8. [8] Chomi

    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.

    Pátek, 15.08.2008 10:29 | odpovědět
  9. [9] kammmo

    next_hop je IP adresa interfacu, přes která je daná cílová síť dostupná,........

    tam nie je IP adresa interface-u daneho routra ale IP adresa interface-u "next" routra v ceste.... nie?

    Pátek, 26.12.2008 23:43 | odpovědět
  10. [10] Samuraj

    odpověď na [9]kammmo: Samozřejmě máte pravdu, děkuji. Takhle by to byl nesmysl (přitom na začátku článku popisuji next hop).

    Sobota, 27.12.2008 13:13 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O


Ochrana proti SPAMu, zdejte následující čtyři znaky image code

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách