zpět do archivu článků |
rejstřík |
předchozí díl |
následující díl
Jiří Peterka: Co je čím ... v počítačových sítích (47):
Směrování v TCP/IP sítích - II.
V minulém díle jsme se začali podrobněji zabývat
problematikou směrování v TCP/IP sítích. Řekli jsme si, že
na směrování se podílí jak brány, tak i hostitelské
počítače, a blíže jsme se zabývali právě rolí hostitelských
počítačů. Dnes se podrobněji zastavíme u toho, jakým
způsobem se na směrování podílí brány (IP směrovače).
 |
Obr. 47.1.: Představa obsahu směrovacích tabulek
Vraťme se však ještě jednou k hostitelským počítačům:
jejich úloha při směrování končí tím, že datagram buď pošlou
přímo jeho koncovému adresátovi (v případě tzv. přímého
směrování, viz minule, kdy se příjemce nachází v téže dílčí
síti), nebo tím, že datagram předají některé z bran
(v opačném případě). O postupu hostitelského počítače
v prvním případě jsme si již povídali v souvislosti
s problematikou adresování a transformování IP adres (ve 45.
dílu). Pro druhý případ musí mít hostitelský počítač právě
tolik informací, aby dokázal zvolit jednu z bran ve své
dílčí síti, a té datagram poslat. Tyto informace si
hostitelský počítač uchovává ve svých směrovacích tabulkách,
jejichž představu ilustruje obrázek 47.1.
Brána v roli učitele
V minulém dílu jsme si naznačili, že znát nejvhodnější
cesty a tyto znalosti si průběžně aktualizovat je úkolem
bran (IP směrovačů), a nikoli hostitelských počítačů. Ty
mohou zpočátku posílat veškeré datagramy jedné jediné bráně
ve své dílčí síti, a ta je vždy upozorní v případě, že by
prostřednictvím jiné brány byla cesta datagramu výhodnější.
 |
Obr. 47.2.: Představa průběžného doplňování směrovací tabulky hostitelského počítače
Ukažme si nyní, jaký efekt má tento mechanismus na směrovací
tabulky hostitelských počítačů (viz obr. 47.2.): po spuštění
hostitelského počítače musí jeho směrovací tabulka obsahovat
informace alespoň o jedné bráně. Tato brána (resp. jedna
z bran, je-li ve směrovací tabulce uvedeno) je přitom
prohlášena za implicitní (default), a hostitelský počítač jí
z počátku posílá všechny datagramy, které směřují do jiné
dílčí sítě. Jakmile tato implicitní brána zjistí, že by
hostitelský počítač měl použít jinou výhodnější cestu
(vedoucí přes jinou bránu), upozorní jej na to. Hostitelský
počítač si na základě této explicitní informace upraví svou
směrovací tabulku (viz obrázek 47.2) - zavede si v ní novou
položku, a v ní si poznačí, že datagramy, směřující do
příslušné dílčí sítě, má posílat přes tu a tu bránu. Kdykoli
ale má odeslat datagram do dílčí sítě, pro kterou ještě nemá
ve své směrovací tabulce uvedenu konkrétní cestu, pošle
datagram té bráně, která je v jeho směrovací tabulce uvedena
jako implicitní. Takováto organizace směrovacích tabulek
velmi dobře odpovídá "stromovitým" konfiguracím (jako např.
na obrázku 47.1.), které jsou u lokálních sítí dosti časté,
a při kterých samostatné cesty (vyjádřené ve směrovací
tabulce explicitně) vedou jen k několika málo dalším dílčím
sítím, zatímco ke "zbytku světa" vede cesta jediná
(zpřístupněná implicitní bránou).
Činnost bran
Ponechme ještě stranou otázku, jakým způsobem získávají
jednotlivé brány potřebné informace o cestách (k tomu se
dostaneme příště), a podívejme se, jak brány postupují při
vlastním směrování.
 |
Obr. 47.3.: Směrování bránou
a/ přímé směrování
b/ nepřímé směrování
Pravidla pro směrování datagramů se u bran principiálně
neliší od hostitelských počítačů. Zjistí-li brána, že
přijatý datagram je určen adresátovi v dílčí síti, do které
je brána připojena (a takové musí být alespoň dvě, má-li jít
vůbec o bránu), pošle mu datagram přímo - v rámci přímého
směrování (viz obr. 47.3 a/). Je-li datagram určen
adresátovi v jiné dílčí síti, do které není brána přímo
připojena, musí zvolit jinou vhodnou bránu, a té datagram
předat (viz obr. 47.3. b/). Postupuje přitom obdobně jako
hostitelský počítač: pokud ve své směrovací tabulce najde
explicitní údaj o tom, že pro danou cílovou síť má datagram
předat té a té bráně, učiní tak. Pokud o dané cílové síti
nemá ve své směrovací tabulce žádné údaje, použije tu bránu,
kterou považuje za implicitní - pokud ovšem má ve své
směrovací tabulce implicitní bránu vůbec definovánu. Pokud
ne, není daná brána schopna směrování datagramu zajistit,
a musí to oznámit jako chybu.
Obsah směrovacích tabulek
Vraťme se ještě jednou k obsahu směrovacích tabulek.
Jak jsme si již několikrát naznačili, je z důvodu
minimalizace jejich rozsahu veškeré směrování založeno jen
na adrese cílové sítě, resp. na té části IP adresy, která
tuto cílovou síť vyjadřuje. Směrovací tabulky jsou pak ve
své podstatě vlastně seznamem dvojic , kde "síť"
představuje cílovou dílčí síť, a "brána" je ta z bran, přes
kterou do cílové sítě vede (nejvhodnější) cesta. Jde přitom
o bránu, která ještě není konečným příjemcem datagramu, ale
jen jeho další přestupní stanicí na cestě k cíli.
V angličtině se označuje jako next hop, doslova: další skok.
Bránou pro "další skok" však musí vždy být brána, která
je z daného místa dosažitelná přímo - tedy taková brána ,
která se nalézá ve stejné dílčí síti, jako daný hostitelský
počítač, resp. v některé z dílčích sítí, do kterých je přímo
připojena daná brána.
Adresy bran, které jsou obsaženy ve směrovacích
tabulkách, jsou zásadně IP adresy, ačkoli by se na první
pohled mohlo zdát výhodnější používat zde přímo fyzické
adresy - čímž by se ušetřila opakované transformace IP
adresy na fyzickou adresu brány (viz 45. díl seriálu).
Důvodem pro použití IP adres je možnost využívat ve všech
uzlech stejnou programovou realizaci směrovacího mechanismu,
nezávisle na konkrétních fyzických adresách. Dalším, velmi
důležitým důvodem, je možnost průběžné aktualizace
směrovacích tabulek a také možnost případného ladění,
dojde-li k chybě či jiným nestandardním situacím při
směrování. V neposlední řadě použití IP adres ve směrovacích
tabulkách vychází i z celkové koncepce síťové (IP) vrstvy
a protokolu IP - usilující o vytvoření jednotné abstrakce
všech dílčích sítí.
Výjimka z pravidla
Nebylo by to snad ani žádné pravidlo, kdyby nemělo také
své výjimky. V případě pravidla o směrování jen na základě
adres dílčích sítí je touto výjimkou možnost zavést do
směrovacích tabulek explicitně také údaje o cestách ke
konkrétním hostitelským počítačům, nikoli jen do celých
dílčích sítí. Ačkoli za běžného provozu by tato možnost měla
být využívána spíše vyjímečně, je velmi užitečná pro správce
sítí při ladění a správě sítě obecně. Zde může být
k nezaplacení možnost přesměrovat tok služebních dat,
směřujících k pracovní stanici správce tak, aby se vyhnul
přetíženému či zcela neprůchodnému místu, které je zdrojem
problémů.
zpět do archivu článků | rejstřík |
předchozí díl |
následující díl
Tento článek může být volně šířen, pokud se tak děje pro studijní účely, na nevýdělečném základě a se zachováním tohoto dovětku. Podrobnosti hledejte zde, resp. na adrese
http://ksi.ms.mff.cuni.cz/~peterka/archiv/copyleft.htm