VyÜlo v t²denφku: COMPUTERWORLD
╚φslo:37/92
RoΦnφk:1992
Rubrika/kategorie: Co je Φφm ... v poΦφtaΦov²ch sφtφch
Dφl:47

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ßzek 47.1.
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ßzek 47.2.
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ßzek 47.3.
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://archiv.czech.net/copyleft.htm