7 Směrování



Obr. 7.1 Směrování
 

Směrování IP-datagramů je velice podobné třídění dopisů na poště. Na poště mají třídící stůl s vyřezanými otvory. Pod každým otvorem je přivázán poštovní pytel. Nad otvorem jsou napsány názvy měst kam je z místní pošty přímé poštovní spojení.

Třídění probíhá tak, že poštovní úředník bere dopis za dopisem. Na každém dopisu si prohlédne adresu. Je-li adresát z Brna, pak dopis vhodí do otvoru Brno. Je-li adresát z Roztok u Prahy, pak dopis vhodí do otvoru Praha (protože do Roztok není přímé poštovní spojení, to je nejblíže Roztokům do Prahy). Až poštovní úředník vytřídí všechny dopisy, pak pytel po pytli odváže z třídícího stolu. Každý pytel zaváže a přiváže k němu visačku na kterou napíše název města, kam se má pytel odeslat. Poté se pytel naloží … .


Obr. 7.3 Třídění na poště

Směrovač netřídí dopisy, ale IP-datagramy. Tento proces se nazývá směrováním. Směrovač obdrží IP-datagram a musí rozhodnout do kterého svého rozhraní jej má vhodit, kterému svému sousedovi (next hop) jej má poslat.

Zjednodušeně řečeno směrovač je zařízení, které předává IP-datagramy z jednoho svého rozhraní do jiného rozhraní. Směrovač umí předat IP-datagram i do téhož rozhraní, ze kterého IP-datagram přišel. Považuje to však ze výstřednost, že o tom odesilatele IP-datagramu upozorní ICMP-paketem redirect”.

Na následujícím obrázku směrovač obdržel IP-datagram adresovaný stanici 10.5.2.1 a musí rozhodnou, zda-li jej vložit do rozhraní Serial1, Serial2 nebo snad zpět do rozhraní Ethernet?


Obr. 7.4 Dilema směrovače: “Do kterého rozhraní IP-datagram vložit?”

Směrovači k rozhodování slouží směrovací tabulka (obdoba třídícího stolu na poště). Náš směrovač má tabulku:
 

       
      Síť Maska Next Hop Síťové rozhraní Metrika
      192.168.1.0 255.255.255.0 192.168.254.5 Seriál 1 
      4
      10.1.2.0 255.255.255.0 Lokální rozhraní Ethernet
      0
      10.5.1.0 255.255.255.0 10.10.10.2 Seriál 2
      3
      10.5.0.0 255.255.0.0 10.5.5.5 Seriál 1
      2
             
      0.0.0.0 0.0.0.0 10.10.10.2 Seriál 2
      1


Směrovací tabulka má v prvním sloupci IP-adresu cílové sítě. Představme si pro jednoduchost, že směrovací tabulka je podle prvního sloupce sestupně tříděna. To nám umožní snadno aplikovat základní pravidlo směrování: Více specifická adresa cílové sítě má přednost před méně specifickou. Více specifickou adresou sítě se rozumí adresa, která má v síťové masce více jedniček. V případě, že by se ve směrovací tabulce našly dvě či více cest k cíli, pak se zvolí více specifická cesta. V případě, že se najdou dvě stejně specifické cesty, pak se zvolí cesta s nejnižší metrikou (cenou).

Zpracování

V případě, že jsou řádky směrovací tabulky sestupně tříděny, pak stačí směrovací tabulku procházet od shora dolů. Na každém řádku se vezme síťová maska, kterou se bit po bitu vynásobí IP-adresa příjemce IP-datagramu. Výsledek se porovná s prvním sloupcem. Pokud se výsledek nerovná IP-adrese sítě v prvním sloupci, pak se přejde na zpracování následujícího řádku. Pokud se výsledek shoduje s IP-adresu v prvním sloupci, pak se ještě otestuje následující řádek, zda-li ve směrovací tabulce neexistuje ještě k cíli jiná cesta, (pak by vstoupila do hry metrika).

Vraťme se k příkladu z obr. 7.4. Směrovač je postaven před rozhodnutí kterým svým síťovým rozhraním IP-datagram o adrese 10.5.2.1 odeslat. Prochází směrovací tabulku:

  1. Řádek:
  2. 192.168.1.0 255.255.255.0 192.168.254.5 Seriál 1
    4

    Vynásobením bit po bitu cílové adresy 10.5.2.1 s maskou 255.255.255.0 obdržíme 10.5.2.0 což se nerovná IP-adrese sítě v prvním sloupci (ta je 192.168.1.0). Přecházíme na vyhodnocení následujícího řádku.

  3. Řádek:
  4. 10.1.2.0 255.255.255.0 Lokální rozhraní Ethernet
    0

    Vynásobením bit po bitu cílové adresy 10.5.2.1 s maskou 255.255.255.0 obdržíme 10.5.2.0 což se nerovná IP-adrese sítě v prvním sloupci (ta je 10.1.2.0). Přecházíme na vyhodnocení následujícího řádku.

  5. Řádek:
  6. 10.5.1.0 255.255.255.0 10.10.10.2 Seriál 2
    3

    Vynásobením bit po bitu cílové adresy 10.5.2.1 s maskou 255.255.255.0 obdržíme 10.5.2.0 což se nerovná IP-adrese sítě v prvním sloupci (ta je 10.5.1.0). Přecházíme na vyhodnocení následujícího řádku.

  7. Řádek:
10.5.0.0 255.255.0.0 10.5.5.5 Seriál 1
2
Vynásobením bit po bitu cílové adresy 10.5.2.1 s maskou 255.255.0.0 obdržíme 10.5.0.0 což se rovná IP-adrese sítě v prvním sloupci (ta je 10.5.0.0). Budeme proto náš IP-datagram vkládat do rozhraní Seriál 1 a předávat jej dalšímu směrovači o IP-adrese 10.5.5.5. Pokud by se nejednalo o sériovou linku, ale např. o Ethernet, pak by bylo třeba zjistit linkovou adresu směrovače o IP-adrese 10.5.5.5 protokolem ARP. Poslední řádek obsahující v prvním sloupci 0.0.0.0 s maskou 0.0.0.0 se nazývá default. Tímto implicitním směrem jsou pak odesílány všechny IP-datagramy, pro které nevyhovoval žádný jiný řádek směrovací tabulky (všimněte si, že vyhovuje každé IP-adrese: nula krát nula je nula). Implicitní směr ve směrovací tabulce může a nemusí být – závisí to na správci, jak tabulku naplnil. Implicitní směr používají např. firmy pro cestu do Internetu.

S implicitním směrem se setkáváme i na silnici. Když jedu z Budějovic do Prahy, tak implicitní směr je do Prahy, ale na mnohých křižovatkách je značeno jen odbočení. Je tam šipka do Třeboně či do Bechyně, ale mnohdy chybí přímý směr do Prahy. Implicitně každý ví, že tahle silnice vede do Prahy (tj. default je do Prahy), tak to přece není třeba stále na každé mezi opakovat.