VyÜlo v t²denφku: CHIPweek
╚φslo:3/97
Datum:14. ledna 1997
Strana:22
Rubrika/kategorie: Principy poΦφtaΦov²ch sφtφ
Modul: P°enosovΘ techniky
Dφl:5

zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek| nßsledujφcφ Φlßnek

Ji°φ Peterka

P°epojovßnφ na linkovΘ vrstv∞ a na sφ¥ovΘ vrstv∞

VáminulΘm dφlu tohoto modulu jsme dosp∞li kápodstat∞ mechanismu p°epojovßnφ paket∙, kter² dnes vápoΦφtaΦov²ch sφtφch jednoznaΦn∞ dominuje. Zajφmavou otßzkou, na kterou dnes ji₧ neexistuje jednoznaΦnß odpov∞∩, je volba vrstvy, na kterΘ mß káp°epojovßnφ dochßzet: mß to b²t vrstva linkovß, nebo vrstva sφ¥ovß?

Na ·vod si nejprve p°ipome≥me, co vlastn∞ p°epojovßnφ obnßÜφ: mezilehl² (p°estupnφ, p°epojovacφ) uzel ka₧d² p°enßÜen² blok dat (neboli paket) nejprve naΦte, ulo₧φ jej do svΘ vyrovnßvacφ pam∞ti, pak jej analyzuje a rozhodne co sánφm, a v²sledek svΘho rozhodnutφ pak takΘ vykonß. To v∞tÜinou znamenß, ₧e blok dat odeÜle dßl váurΦitΘm konkrΘtnφm sm∞ru (tΘto Φinnosti se váangliΦtin∞ °φkß forwarding, neboli "p°edßvßnφ dßl"). Nebo p°estupnφ uzel takΘ m∙₧e zjistit, ₧e dan² blok dat ji₧ nemusφ p°edßvat nikam dßl, a tak jej jednoduÜe vyma₧e ze svΘ vnit°nφ vyrovnßvacφ pam∞ti (tΘto Φinnosti se °φkß filtering, proto₧e zde p°estupnφ uzel vlastn∞ "odfiltrovßvß" takovΘ bloky, kterΘ nenφ nutnΘ Üφ°it dßl).

V Φem je rozdφl

JednotlivΘ druhy p°epojovacφch uzl∙ se liÜφ zejmΘna vátom, na jakΘ ·rovni fungujφ - tedy na jakΘ ·rovni probφhß jejich rozhodovßnφ, co dßl provΘst sáp°ijat²m blokem dat, a poslΘze takΘ praktickß realizace t∞chto rozhodnutφ. Co se ale p°esn∞ rozumφ tφm, ₧e káp°epojovßnφ dochßzφ na urΦitΘ ·rovni?

P°edstavme si, ₧e jde o p°epojovßnφ na ·rovni linkovΘ vrstvy, na kterΘ jsou p°enßÜenΘ bloky obvykle oznaΦovßny jako rßmce (frames). P°φkladem mohou b²t EthernetovΘ rßmce (Ethernet frames), kterΘ budeme dßle p°i naÜem v²kladu p°edpoklßdat. P°epojovacφ uzel fungujφcφ na ·rovni linkovΘ vrstvy se tedy bude zajφmat p°edevÜφm o hlaviΦku EthernetovΘho rßmce a o adresy, kterΘ jsou vánφ obsa₧eny - tedy o Ethernetovou adresu p°φjemce a Ethernetovou adresu odesilatele. Co naopak nebude p°epojovacφ uzel fungujφcφ na linkovΘ vrstv∞ zajφmat, je datov² obsah EthernetovΘho rßmce - ani nap°φklad to, zda tento datov² rßmec pat°φ protokolu IP (a váEthernetovΘm rßmci je tudφ₧ ulo₧en paket protokolu IP), nebo protokolu IPX apod. (ani komu takov²to paket pat°φ a od koho pochßzφ). Po naΦtenφ rßmce do svΘ vyrovnßvacφ pam∞ti se pak p°epojovacφ uzel bude rozhodovat podle zmφn∞n²ch Ethernetov²ch adres, zejmΘna podle EthernetovΘ adresy p°φjemce.

Nynφ si p°edstavme p°epojovßnφ na ·rovni sφ¥ovΘ vrstvy, a to vásφti, kde linkovß vrstva op∞t funguje na Ethernetu. Zde p°epojovacφ uzel nejprve p°ijme Ethernetov² rßmec (p°esn∞ji: uΦinφ tak jeho linkovß vrstva), a tento Ethernetov² rßmec vybalφ - tj. extrahuje zán∞j paket, kter² je várßmci obsa₧en. P°itom musφ b²t schopna rozpoznat, o jak² typ paketu jde - zda nap°. pat°φ protokolu IP, protokolu IPX apod. (na takovΘto rozliÜenφ musφ b²t vhodn²m zp∙sobem pamatovßno ji₧ na ·rovni linkov²ch rßmc∙). P°epojovacφ uzel (konkrΘtn∞ jeho sφ¥ovß vrstva) si pak vÜφmß hlaviΦky vybalenΘho paketu, a rozhoduje se podle adresy obsa₧enΘ vátΘto hlaviΦce - tedy podle sφ¥ovΘ adresy, kterou je nap°φklad 32-bitovß IP adresa (v p°φpad∞ IP paket∙).

Rozdφln² pohled na sv∞t

Adresy, pou₧φvanΘ na ·rovni linkovΘ vrstvy, jsou typicky jednorozm∞rn²mi adresami, kterΘ nejsou dßle Φlen∞ny na ₧ßdnΘ logickΘ slo₧ky, a tvo°φ tudφ₧ jednorozm∞rn² (lineßrnφ) adresov² prostor. Nap°φklad 48-bitovΘ EthernetovΘ adresy jsou zápohledu most∙ a jejich fungovßnφ ka₧dß jednφm velk²m (48-bitov²m) Φφslem. To pak odpovφdß p°edstav∞, ₧e na ·rovni linkovΘ vrstvy jsou vÜechna za°φzenφ "na jednΘ hromad∞", resp, jsou souΦßstφ jednΘ velkΘ sφt∞, nestrukturovanΘ na menÜφ, logicky odd∞lenΘ Φßsti. DalÜφ d∙le₧itou p°edstavou, kterß vypl²vß zápovahy linkov²ch adres, je p°edstava o tom, ₧e mezi libovoln²mi dv∞ma uzly existuje p°φmΘ spojenφ, neboli mo₧nost adresovat ka₧d² rßmec p°φmo jeho koneΦnΘmu adresßtovi.

Na ·rovni sφ¥ovΘ vrstvy se ale pracuje sáadresami, kterΘ odpovφdajφ pon∞kud jinΘ "p°edstav∞ o sv∞t∞ a jeho uspo°ßdßnφ". Zde se poΦφtß sátφm, ₧e cel² sφ¥ov² sv∞t tvo°φ relativn∞ izolovanΘ ostr∙vky, p°edstavujφcφ do znaΦnΘ mφry samostatnΘ sφt∞ - alespo≥ vátom smyslu, ₧e ka₧dß takovßto samostatnß sφ¥ mß jako celek n∞jak² sv∙j identifikßtor. JednotlivΘ uzly pak jsou zapojovßny do t∞chto dφlΦφch sφtφ, a jejich adresy (tj. sφ¥ovΘ adresy) pak majφ dv∞ logickΘ slo₧ky: slo₧ku, kterß vyjad°uje (dφlΦφ) sφ¥ jako takovou, a pak slo₧ku vyjad°ujφcφ relativnφ adresu uzlu várßmci danΘ (dφlΦφ) sφt∞. Sátouto p°edstavou sv∞ta Φlen∞nΘho na dφlΦφ sφt∞ pak koresponduje i p°edstava o tom, ₧e mezi jednotliv²mi dφlΦφmi sφt∞mi je mo₧n² p°enos jen tehdy, pokud tyto jsou propojeny vhodn²mi p°estupnφmi (propojovacφmi) uzly. Struktura t∞chto propojovacφch uzly p°itom m∙₧e, ale nemusφ mφt n∞jak² °ßd, resp. systematickou topologii. D∙le₧it²m d∙sledkem, kterΘ zátΘto p°edstavy vypl²vß, je otßzka existence p°φmΘho spojenφ mezi kter²mikoli dv∞ma uzly - pro n∞kterΘ dvojice m∙₧e p°φmΘ spojenφ existovat (pokud oba spadajφ do stejnΘ dφlΦφ sφt∞), nebo nemusφ (pokud oba nepat°φ do stejnΘ dφlΦφ sφt∞). Vátomto druhΘm p°φpad∞ pak m∙₧e existovat jen "nep°φmß" cesta, vedoucφ p°es jeden nebo n∞kolik p°estupnφch uzl∙.

P°epojovßnφ na ·rovni sφ¥ovΘ vrstvy - sm∞rovßnφ

Vra¥me se nynφ kásamotnΘmu procesu p°epojovßnφ, a to na ·rovni sφ¥ovΘ vrstvy. To samoz°ejm∞ musφ brßt vá·vahu existenci dφlΦφch sφtφ a dvouslo₧kovou povahu sφ¥ov²ch adres - u₧ i proto, ₧e p°φsluÜnΘ rozhodovßnφ by m∞lo b²t odvozovßno p°edevÜφm od tΘ slo₧ky adresy p°φjemce, kterΘ vyjad°uje jeho p°φsluÜnost káurΦitΘ konkrΘtnφ dφlΦφ sφti. Pokud toti₧ p°epojovacφ uzel zjistφ, ₧e koneΦn² p°φjemce paketu se nachßzφ vátakovΘ dφlΦφ sφti, se kterou mß on sßm p°φmΘ spojenφ, m∙₧e mu p°φsluÜn² paket poslat p°φmo. Pokud ne, musφ nejprve hledat vhodnou cestu p°es dalÜφ p°estupnφ uzly, kterß by nakonec dovedla paket a₧ kájeho cφli. D∙le₧itΘ je pak uv∞domit si, ₧e kátakovΘmuto hledßnφ cesty je obecn∞ nutnß znalost skuteΦnΘ topologie celΘ soustavy dφlΦφch sφtφ (p°iΦem₧ tuto znalost obecn∞ musφ mφt ka₧d² p°epojovacφ uzel, fungujφcφ na ·rovni sφ¥ovΘ vrstvy).

Váb∞₧nΘ praxi se p°epojovßnφ na ·rovni sφ¥ovΘ vrstvy °φkß sm∞rovßnφ (anglicky: routing), a za°φzenφ kterΘ jej provßdφ je pak sm∞rovaΦ (router).

P°epojovßnφ na ·rovni linkovΘ vrstvy

Obrßzek 1.
Obr. 1: P°edstava most∙ a sm∞rovaΦ∙
Za°φzenφ, kterΘ realizuje p°epojovßnφ na ·rovni linkovΘ vrstvy, se obecn∞ oznaΦuje jako most (anglicky: bridge). Jeho rozhodovßnφ o dalÜφm osudu p°ijat²ch rßmc∙ je ale v²razn∞ jednoduÜÜφ ne₧ rozhodovßnφ sm∞rovaΦe - dφky "plochΘ" (jednorozm∞rnΘ) povaze sv∞ta si most m∙₧e myslet, ₧e mß sáka₧d²m existujφcφm sφ¥ov²m uzlem p°φmΘ spojenφ. Nemusφ se tedy zajφmat o skuteΦnou topologii sφt∞, a staΦφ mu mnohem "menÜφ" informace: informace o tom, ve kterΘm sm∞ru od n∞j ten kter² uzel le₧φ. Zde je nutnΘ si uv∞domit, ₧e ka₧d² propojovacφ uzel, aby v∙bec n∞co propojoval, musφ mφt alespo≥ dv∞ sφ¥ovß rozhranφ, resp. alespo≥ dva mo₧nΘ "odchozφ" (ale i "p°φchozφ") sm∞ry. Dßle je vhodnΘ si uv∞domit, ₧e váp°φpad∞ sm∞rovaΦe pat°φ ka₧d² tento sm∞r typicky do jinΘ dφlΦφ sφt∞, zatφmco váp°φpad∞ mostu jde o sφ¥ovß rozhranφ, kterß spadajφ do jednΘ a tΘ₧e dφlΦφ sφt∞.

Jednorozm∞rnß p°edstava o sv∞t∞, kterß je vlastnφ vÜem most∙m, samoz°ejm∞ nenφ ·nosnß pro hodn∞ velkΘ sφt∞, resp. hodn∞ velkΘ soustavy dφlΦφch sφtφ, proto₧e zde by most musel pro svΘ rozhodovßnφ mφt kádispozici ne·nosn∞ velk² objem informacφ. MnohΘ zánich by mu dokonce nebyly k niΦemu - obecn∞ informace o vÜech uzlech, se kter²mi ve skuteΦnosti nemß p°φmΘ spojenφ (a cesta kánim vede jen p°es p°epojovacφ uzly typu sm∞rovaΦ∙). TakovΘto informace by most nemohl nikdy zu₧itkovat, a proto nenφ nutnΘ mu je ani poskytovat - mostu tedy staΦφ "znßt" jen uzly tΘ dφlΦφ sφt∞, ve kterΘ se sßm nachßzφ, resp. omezit svou p°edstavu plochΘho (jednorozm∞rnΘho) sv∞ta jen na svΘ nejbli₧Üφ okolφ, sahajφcφ a₧ po hranice jeho dφlΦφ sφt∞ (vytyΦenΘ sm∞rovaΦi).

Obecn∞ pak lze °φci, ₧e rozhodovßnφ mostu, probφhajφcφ na linkovΘ ·rovni, bude v²razn∞ jednoduÜÜφ ne₧ rozhodovßnφ sm∞rovaΦe, probφhajφcφ na ·rovni sφ¥ovΘ vrstvy. Dφky tomu pak mosty budou mφt Üanci fungovat rychleji, ne₧ sm∞rovaΦe, Ale o tom, i o dalÜφch zajφmav²ch d∙sledcφch, si povφme váp°φÜtφm dφlu.


zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek
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