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

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

Ji°φ Peterka

Switching

Zajφmavou novou technikou, kterß se váposlednφ dob∞ velmi intenzivn∞ prosazuje ve sv∞t∞ lokßlnφch poΦφtaΦov²ch sφtφ, je tzv. switching. VáΦem spoΦφvß, a jak zapadß do celkovΘ koncepce p°epojovßnφ paket∙, kterou jsme se a₧ doposud zab²vali?

Váprvnφm p°iblφ₧enφ si m∙₧eme °φci, ₧e switching je variantou p°epojovßnφ paket∙ na ·rovni linkovΘ vrstvy, tedy jednou záforem p°epojovßnφ rßmc∙. To, co tuto variantu charakterizuje, je samoz°ejm∞ konkrΘtnφ mechanismus fungovßnφ - pro sprßvnΘ pochopenφ switchingu je ale vhodn∞jÜφ vyjφt spφÜe zámotivace, kterß ke vzniku tΘto techniky vedla. Jeliko₧ ale p°φsluÜnß motivace spadß spφÜe do oblasti vzßjemnΘho propojovßnφ sφtφ, kterou se budeme podrobn∞ji zab²vat vánßsledujφcφm modulu, vezm∞me to jen struΦn∞: srovnejme si poslßnφ mostu (jako "klasickΘho" za°φzenφ zajiÜ¥ujφcφho p°epojovßnφ rßmc∙ na ·rovni linkovΘ vrstvy), a tzv. switch-e (kter² takΘ zajiÜ¥uje p°epojovßnφ rßmc∙ na ·rovni linkovΘ vrstvy, ale na bßzi switchingu).

┌kol mostu a switche

Hlavnφm ·kolem mostu je propojovat mezi sebou dφlΦφ Φßsti jednΘ a tΘ₧e lokßlnφ sφt∞, nejΦast∞ji jednotlivΘ kabelovΘ segmenty (souvislΘ ·seky kabel∙). Typicky jde o takovΘ sφt∞, kterΘ jsou budovßny na koaxißlnφm kabelu, majφ tudφ₧ fyzicky sb∞rnicovou topologii, a d∙vody pro jejich rozd∞lenφ na vφce segment∙ jsou spφÜe technickΘ (nap°φklad maximßlnφ mo₧nß dΘlka souvislΘho kabelu). Vápraxi pak b²vß takov²chto dφlΦφ segment∙ várßmci jednΘ sφt∞ n∞kolik mßlo (nap°φklad dva, t°i, ...), a most mß za ·kol propojovat tyto segmenty takov²m zp∙sobem, aby byl mo₧n² p°enos dat mezi nimi (k tomu se vyu₧φvß jeho schopnost p°edßvat data zájednoho segmentu do druhΘho, kterou jsme si minule oznaΦili jako tzv. forwarding). Krom∞ toho se ale most sna₧φ chovat i dostateΦn∞ inteligentn∞ a ned∞lat n∞kterΘ zbyteΦnΘ v∞ci - pokud nap°φklad zjistφ, ₧e urΦit² rßmec je adresovßn p°φjemci ve stejnΘm segmentu, ve kterΘm se nachßzφ i jeho odesilatel, domyslφ si ₧e p°φsluÜn² rßmec nemß smysl Üφ°it i do dalÜφch segment∙, a tak to ned∞lß (tuto schopnost jsme si minule oznaΦili jako tzv. filtrovßnφ). V²sledkem je pak to, ₧e v∞tÜina "provozu" se odehrßvß lokßln∞ vájednotliv²ch segmentech sφt∞, a vzßjemnß komunikace mezi segmenty (a jejich vzßjemnΘ ovliv≥ovßnφ) je minimalizovßna na nejni₧Üφ nutnou mφru.

Obrßzek 1.
Obr. 1: Mosty vs. switche
Naproti tomu vznik tzv. switch∙ souvisφ se snahou optimßln∞ vyu₧φt vlastnostφ a mo₧nostφ nov²ch druh∙ kabelß₧e, kterΘ ji₧ nemajφ sb∞rnicovou topologii - zejmΘna kabelß₧e na bßzi kroucenΘ dvoulinky, ve kterΘ ka₧d² jednotliv² uzel m∙₧e mφt jen a jen pro sebe svou vlastnφ p°φpojku kánejbli₧Üφmu p°epojovacφmu uzlu. P°edstavme si nynφ takov²to stav, doveden² a₧ do dokonalosti (nap°φklad váprost°edφ klasickΘho desetimegabitovΘho Ethernetu) - tedy stav kdy ka₧d² jednotliv² uzel mß svou vlastnφ p°φpojku kánejbli₧Üφmu switchi, neboli co jeden segment, to jeden uzlov² poΦφtaΦ. Pak ovÜem nem∙₧e existovat ₧ßdn² "lokßlnφ" provoz, kter² by mohl z∙stat lokßlnφ váurΦitΘm segmentu a nemusel b²t propouÜt∞n do dalÜφch segment∙ - veÜker² provoz mezi kter²mikoli dv∞ma uzly naopak musφ prochßzet p°es zmφn∞n² switch. Na druhΘ stran∞ ale tento provoz nemusφ b²t propouÜt∞n do dalÜφch "jednouzlov²ch" segment∙. Ka₧dΘ dva komunikujφcφ uzly pak vád∙sledku toho majφ kádispozici plnou p°enosovou kapacitu Ethernetu (kter² vátomto p°φkladu p°edpoklßdßme), tedy "pln²ch 10 megabit∙", a nemusφ se o ni d∞lit sájin²mi dvojicemi komunikujφcφch uzl∙ (jako by tomu bylo váp°φpad∞ sdφlen²ch segment∙ sávφce uzly). A prßv∞ to je hlavnφ cφl techniky, oznaΦovanΘ jako switching.

Vápraxi ovÜem nemusφ nastßvat v²Üe popsan² ideßlnφ stav, kdy ka₧d² jednotliv² uzel mß svou vlastnφ p°φpojku, kterou nemusφ sánik²m sdφlet. Mφsto toho mohou switche propojovat i takovΘ segmenty, kterΘ jsou "zabydleny" vφce poΦφtaΦi (tj. jsou jimi sdφleny), a majφ tedy urΦitou mφru Φist∞ lokßlnφho provozu. OvÜem Φφm vφce "zabydlen²" ka₧d² segment bude, tφm menÜφ budou v²hody p°inßÜenΘ technikou switchingu, a tφm vφce se bude chovßnφ switche blφ₧it chovßnφ klasickΘho mostu.

Mechanismus fungovßnφ switche

Nynφ ji₧ si m∙₧eme °φci, ₧e tzv. switching, neboli princip fungovßnφ switch-e, nenφ principißln∞ odliÜn² od zp∙sobu fungovßnφ b∞₧nΘho mostu. Rozdφl zde nenφ vákvalit∞, jako spφÜe vákvantit∞ - typickΘ switche majφ vφce rozhranφ (port∙) pro p°ipojenφ jednotliv²ch segment∙, a vyÜÜφ (rychlejÜφ) b²vajφ i jejich p°epojovacφ schopnosti. Mß-li toti₧ switch slou₧it zejmΘna tomu, aby komunikujφcφ uzly m∞ly kádispozici maximßlnφ mo₧nou p°enosovou kapacitu, bylo by nevhodnΘ tuto jejich komunikaci zpomalovat Φi jinak zdr₧ovat.

Jak jsme si ji₧ takΘ naznaΦili minule, p°epojovßnφ na ·rovni linkovΘ vrstvy (kterΘ provßdφ switch) je relativn∞ jednoduÜÜφ (oproti sm∞rovßnφ), a m∙₧e tudφ₧ b²t i dostateΦn∞ rychlΘ. Zde se p°itom ·sp∞Ün∞ vyu₧φvß mo₧nosti realizovat celΘ toto p°epojovßnφ na ·rovni linkovΘ vrstvy p°φmo technick²mi prost°edky, hardwarem optimalizovan²m pro takov²to ·Φel (zatφmco sm∞rovßnφ se stßle jeÜt∞ °eÜφ programov²mi prost°edky). Dnes se proto mohou b∞₧n∞ vyrßb∞t a prodßvat switche, kterΘ majφ opravdu velmi vysokΘ p°epojovacφ schopnosti a slibujφ v²raznΘ zv²Üenφ celkovΘ propustnosti sφt∞ (p°i vcelku ·nosnΘ cen∞). OvÜem jejich skuteΦn² p°φnos je v₧dy ovlivn∞n dalÜφmi faktory - zejmΘna tφm, kolik uzl∙ je vájednotliv²ch segmentech, a jak² je charakter jejich vzßjemnΘ komunikace. N∞kdy m∙₧e nasazenφ switche opravdu v²znamn∞ zrychlit komunikace vádanΘ sφti, zatφmco vájinΘ sφti m∙₧e b²t celkov² p°φnos t°eba i nulov².

Store&forward vs. cut-through

A₧ doposud jsme u vÜech podob mechanismu p°epojovßnφ paket∙ p°edpoklßdali, ₧e fungujφ na principu store & forward - neboli ₧e ka₧d² jednotliv² blok dat je váka₧dΘm p°estupnφm uzlu nejprve cel² naΦten, a teprve pak zpracovßn. Váp°φpad∞ switch∙, kter²m dost zßle₧φ na rychlosti, to ale nemusφ b²t zrovna nejvhodn∞jÜφ. Proto n∞kterΘ switche pou₧φvajφ ke svΘmu fungovßnφ pon∞kud jin² princip, kterΘmu se °φkß cut-through (zatφmco jinΘ z∙stßvajφ u p∙vodnφho principu store&forward).

Princip cut-through spoΦφvß vátom, ₧e p°epojovacφ uzel (switch) neΦekß na naΦtenφ celΘho p°enßÜenΘho bloku dat, a sna₧φ se jej zpracovat co mo₧nß nejrychleji. VákonkrΘtnφm p°φpad∞ (p°edpoklßdejme EthernetovΘ rßmce) si poΦkß jen na naΦtenφ hlaviΦky EthernetovΘho rßmce, ze kterΘ ji₧ dokß₧e poznat co mß sácel²m blokem dat ud∞lat, a okam₧it∞ takΘ svΘ rozhodnutφ naplnφ. To pak vápraxi znamenß, ₧e p°φsluÜn² rßmec zaΦne pr∙b∞₧n∞ odesφlat váp°φsluÜnΘm v²stupnφm sm∞ru jeÜt∞ vádob∞, kdy jej zájinΘho sm∞ru sßm teprve p°ijφmß! Odsud takΘ z°ejm∞ pochßzφ oznaΦenφ celΘho principu - anglickΘ "through" znamenß "skrz", a cel² switch se pro p°enßÜen² rßmec vájistΘm smyslu stßvß "pr∙chozφ skrz" (i kdy₧ sájist²m mal²m zpo₧d∞nφm, odpovφdajφcφm dob∞ nutnΘ pro naΦtenφ hlaviΦky rßmce).

Hlavnφ v²hodou principu cut-through je garance, ₧e rßmec projde p°estupnφm uzlem (switchem) za pevn∞ danou dobu (kterß je navφc hodn∞ malß), zatφmco váp°φpad∞ principu store&forward nic takovΘho zaruΦeno nenφ. Princip cut-through je proto v²hodn∞jÜφ pro p°enos r∙zn²ch multimedißlnφch formßt∙ a obecn∞ pro p°enos dat váreßlnΘm Φase, kde ΦasovΘ zßvislosti jsou velmi d∙le₧itΘ. Mezi nev²hody naopak pat°φ skuteΦnost, ₧e switch fungujφcφmu na principu cut-through musφ p°enßÜet i poÜkozenΘ rßmce (kter² by p°enßÜet nemusel). D∙vodem je to, ₧e poÜkozenφ lze poznat a₧ ze zabezpeΦovacφho ·daje, kter² se typicky nachßzφ a₧ na konci datovΘho rßmce - ale switch fungujφcφ na principu cut-through se musφ rozhodnout a zaΦφt p°enßÜet rßmec jeÜt∞ d°φve, ne₧ sßm tento zabezpeΦovacφ ·daj p°ijme.


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