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 (43):
TCP/IP a vzájemné propojování sítí
Způsob, jakým je v referenčním modelu ISO/OSI řešena
otázka vzájemného propojování sítí, jsme si naznačili ve
41. dílu našeho seriálu. Z nejrůznějších materiálů
o referenčním modelu však lze vycítit, že tato problematika
do něj byla zapracována spíše až na poslední chvíli,
a rozhodně nepatří mezi nejsilnější stránky celého
referenčního modelu ISO/OSI. V případě TCP/IP je tomu jinak
- vzájemné propojování sítí stejného i odlišného typu bylo
jedním z výchozích předpokladů celé soustavy protokolů
TCP/IP, a je v ní také řešeno mnohem systematičtěji, než
v referenčním modelu ISO/OSI.
 |
Obr. 43.1: Vzájemně propojené sítě v síťovém modelu TCP/IP
a/ z pohledu uživatele (resp. aplikační a transportní vrstvy)
b/ skutečná topologie
Filosofie TCP/IP od začátku usiluje o co
nejuniverzálnější propojení sítí různých typů - od lokálních
sítí typu Ethernet, Token Ring apod., přes veřejné datové
sítě až po rozlehlé sítě celosvětového dosahu. Klade si
přitom za cíl umožnit každému počítači komunikovat
s kterýmkoli jiným počítače, bez ohledu na to, zda mezi nimi
existuje přímé spojení, nebo zda jsou například oba uzly
různých sítí, které jsou vzájemně propojeny jednou nebo
několika dalšími sítěmi. Výsledkem je pak jediná soustava
vzájemně propojených sítí, v terminologii TCP/IP označovaná
obecně jako internet (s malým "i", viz též 39. díl našeho
seriálu). Z pohledu uživatele by však vnitřní struktura této
soustavy sítí měla být irelevantní - uživatelé, resp. jejich
aplikační programy, se mohou na celý internet dívat (podle
obrázku 43.1 a/) jako na jedinou velkou síť, ke které jsou
připojeny jednotlivé koncové počítače - v terminologii
TCP/IP označované jako hostitelské počítače (host computers,
hosts).
Brány, čili IP směrovače
Ve skutečnosti je ovšem výsledná soustava - internet
- stále jen konglomerátem (dílčích) sítí stejného či různého
typu, vzájemně propojených pomocí propojovacích zařízení.
Tato propojovací zařízení se přitom v terminologii TCP/IP
označují jako brány (gateway), viz obrázek 43.1 b/. Podobně
jako referenční model ISO/OSI, předpokládají i protokoly
TCP/IP, že propojení jednotlivých dílčích sítí bude
realizováno na úrovni síťové vrstvy. Podle obvyklých
definic, které jsme si uvedli ve 40. dílu našeho seriálu,
jsou pak ale brány (v terminologii TCP/IP) ve skutečnosti
spíše směrovači (routers). Tento dosti nepříjemný
terminologický konflikt se některé novější odborné prameny
snaží řešit zavedením výstižnějšího termínu IP router (tj.
IP směrovač).
Úloha síťové vrstvy
Je to tedy právě síťová vrstva (resp. tzv. IP vrstva,
realizovaná protokolem IP, viz minule), která v síťovém
modelu TCP/IP zajišťuje potřebné směrování mezi jednotlivými
dílčími sítěmi, a vyšším vrstvám tak vytváří iluzi jediné
homogenní sítě dle obrázku 43.1 a/. Sama však musí pracovat
se skutečnou vnitřní strukturou resp. způsobem vzájemného
propojení (sama tedy pracuje s představou dle obrázku 43.1
b/).
 |
Obr. 43.2.: Představa brány a ovladačů na úrovni vrstvy síťového rozhraní
Síťová vrstva se však musí vyrovnávat i s konkrétními
odlišnostmi jednotlivých dílčích sítí - například s odlišným
charakterem adres, s různou maximální velikostí přenášených
paketů resp. rámců a jejich formátem, s odlišným charakterem
poskytovaných přenosových služeb (spojovaných či
nespojovaných) apod. Pro každou síť či každý přenosový
kanál, na který je brána připojena, má samostatný ovladač na
úrovni vrstvy síťového rozhraní (viz obrázek 43.2.).
Ovladač na úrovni vrstvy síťového rozhraní dokáže
odstínit síťovou vrstvu od konkrétního způsobu ovládání
příslušné sítě a přesného formátu datových rámců. Není ovšem
již v jeho silách zastřít před síťovou vrstvou rozdíl
v používaném mechanismu adresování, resp. zajistit používání
jednotných adres ve všech dílčích sítích. Tento jednotný
způsob adresování může zajistit až síťová vrstva.
Jednotná abstrakce
Síťová vrstva, resp. protokol IP, který se pro její
realizaci používá, vytváří jednotnou abstrakci všech dílčích
sítí, která umožňuje pracovat s jediným typem virtuální
sítě, namísto s více či méně odlišnými dílčími sítěmi. Tato
jednotná abstrakce spočívá nejen v zavedení jednotného
způsobu adresování, ale také v jednotném formátu datových
paketů, používaných na úrovni síťové vrstvy, tzv. IP
datagramů (IP datagrams), a v poskytování jednotné přenosové
služby - nespolehlivé nespojované (datagramové) služby.
IP adresy
Adresy, které protokol IP zavádí (a které jsou proto
označovány jako tzv. IP adresy), jsou 32-bitové. Z pohledu
transportní a aplikační vrstvy je lze interpretovat jako
lineární (resp. jednosložkové) adresy - což odpovídá
představě jediné homogenní sítě dle obrázku 43.1. a/. Na
úrovni síťové vrstvy se ale interpretují jako dvousložkové,
tvořené číslem resp. adresou hostitelského počítače,
a číslem resp. adresou (dílčí) sítě, ve které se tento
hostitelský počítač nachází (tato interpretace pak odpovídá
představě vzájemně propojených dílčích sítí dle obrázku
43.1. b/). Přesnému formátu a významu IP adres se budeme
ještě věnovat v samostatném dílu našeho seriálu.
Je dobré si znovu zdůraznit, že IP adresy jsou pouze
abstraktními adresami, které musí být posléze převedeny na
skutečné fyzické adresy. Kdykoli totiž ovladač na úrovni
vrstvy síťového rozhraní dostane nějaká data k odeslání,
musí spolu s nimi dostat i konkrétní fyzickou adresu, na
kterou je má odeslat. Sám totiž s IP adresami nepracuje.
Jde-li například o lokální síť typu Ethernet, dostane síťová
vrstva (od vrstvy transportní) adresu cílového hostitelského
počítače ve formě 32-bitové IP adresy, ale příslušný ovladač
vrstvy síťového rozhraní musí dostat 48-bitovou Ethernetovou
adresu. K mechanismu, kterým se v TCP/IP sítích zjišťuje
korespondence mezi IP adresami a konkrétními specifickými
adresami, se samozřejmě vrátíme ještě podrobněji.
IP datagramy
 |
Obr. 43.3.: Přenos dat při existenci brány mezi sítěmi
Podobně jako jednotný formát adres a způsob adresování,
zavádí protokol IP i jednotný formát přenášených dat na
úrovni síťové vrstvy - již výše zmíněné IP datagramy. Jde o
datové pakety, označované jako datagramy proto, že jsou
přenášeny pomocí nespojované (též: datagramové) síťové
přenosové služby.
Na úrovni vrstvy síťového rozhraní jsou tyto datagramy
přenášeny pomocí takových rámců, se kterými příslušná dílčí
síť pracuje. Tyto se ovšem v obecném případě síť od sítě
liší!
Význam přenášených dat na úrovni jednotlivých vrstev
ilustruje obrázek 34.3.: zatímco aplikační a transportní
vrstvy vůbec "neví" o existenci jednotlivých dílčích sítí
(a jako koncoví účastníci přenosu si tak předávají vždy
přesně stejný tvar paketů, resp. zpráv), na úrovni vrstvy
síťového rozhraní se přenáší identické rámce jen
v jednotlivých dílčích sítí. V každé z nich je pak přenášen
IP datagram vždy stejného formátu, který se ovšem přeci jen
v něčem liší - například v hodnotě čítače, který vyjadřuje
životnost paketu (což je součást mechanismu, který má
zabránit případnému zacyklení).
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