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.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t237c111.gif) |
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.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t237c112.gif) |
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.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t237c113.gif) |
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