Poítaové sít, v. 3.1 Katedra softwarového inženýrství, Matematicko-fyzikální fakulta, Univerzita Karlova, Praha Lekce 7: Techniky penosu dat Jií Peterka, 200
Co jsou "techniky penosu dat"? obecn: dále také: všechno, co se týká samotného penosu dat zpsoby, postupy,. patí sem: paketový penos penos dat na principu pepojování paket bylo díve první pednáška, jako jedno ze základních "paradigmat" podobn: penos bunk, penos na principu pepojování okruh spolehlivý a nespolehlivý penos spojovaný a nespojovaný penos penos "best effort" a s QoS vše bylo díve (1. pednáška) simplexní, duplexní a poloduplexní penos jak je to s penosem v rzných smrech asynchronní, arytmický a synchronní penos jak je to se vzájemnou synchronizací píjemce a odesilatele izochronní penos je penos v reálném ase? zajištní transparence dat kdy jsou penášená data píkazy a kdy "istá data" framing (zajištní synchronizace na úrovni rámc, paket, bunk, ) jak správn rozpoznávat celé rámce, pakety detekce chyb zajištní spolehlivosti penosu ízení toku
Simplex, duplex, poloduplex týká se možnosti penosu v obou smrech (pln) duplexní penos: je možný v obou smrech, a to souasn poloduplexní penos: je možný v obou smrech, ale nikoli souasn simplexní penos: je možný jen v jednom smru píklady: optické vlákno bez WDM digitální TV vysílání systémem DVB-T obecn R a TV vysílání, jednosmrné satelitní penosy týká se komunikace obecn: nejde jen o to, co umožuje penosové médium jde také o zpsob využití nad pln duplexní penosovou cestou lze komunikovat nap. jen poloduplexn stylem: otázka - odpov další varianty: semiduplex (dusimplex): když je penos každým z obou smr realizován jinak na jiných frekvencích, jinou cestou, jinou technologií píklady: jednosmrné satelitní pipojení k Internetu technologie DirecTV, zptný kanál realizován "pozemní" cestou Internet asymetrický penos: když jsou (maximální, nominální) rychlosti v obou smrech rzné píklad: ADSL (Asymmetric DSL), pomr rychlostí daný technologií je cca 1:10 pomr rychlostí v rámci komerních nabídek je (dnes) 1:4
problematika synchronizace každý bit je penášen v rámci uritého bitového intervalu tj. penos bitu není "okamžitý", ale trvá uritou dobu (bitový interval) penášená data reprezentuje stav signálu bhem bitového intervalu píjemce vyhodnocuje stav penášeného signálu "nkde" v rámci bitového intervalu rozhodující je okamžik vyhodnocení signálu na základ vyhodnocení okamžitého stavu signálu pak usuzuje na to, jaká data jsou penášena asování odesilatele problém synchronizace: píjemce se musí "strefit" do správného bitového intervalu jinak pijme nesmyslná data zjednodušení: odesilatel i píjemce odmují odesílaná data podle vlastních hodinek. tyto hodinky musí "tikat" dostaten soubžn (synchronn) musí být tzv. v synchronizaci 1 1 0 0 1 0 0 1 1 1 0 1 0 1 1 1 asování píjemce & 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 ztráta synchronizace
Asynchronní penos jeden z možných zpsob zajištní synchronizace a-synchronní = zcela postrádá jakoukoli synchronizaci bitový interval nemá konstantní délku zaátek i konec každého bitového intervalu musí být explicitn vyznaen je k tomu potebná alespo tíhodnotová logika terminologický problém: když se dnes ekne "asynchronní", nemyslí se tím tato varianta!!! ale to, co je správn oznaováno jako "arytmické"!!! tato varianta se dnes prakticky nepoužívá 1 0 0 1 ' oddlovae bitových interval
Arytmický penos arytmický penos: snaží se penášet celé skupiny bit, tvoící tzv. znaky 4 až 8 bit (dnes spíše 8 bit) na zaátku každého znaku je tzv. start-bit slouží k tomu, aby si píjemce "seídil své hodinky" pedpoklad: po seízení na zaátku každého znaku budou hodinky píjemce "tikat" po celou dobu trvání daného znaku tj. píjemce bude správn vyhodnocovat jednotlivé bity v rámci znaku? start bit pevný poet datových bit asové prodlevy mezi jednotlivými znaky mohou být rzn velké!!! proto a-rytmický penos: chybí mu rytmus penosu jednotlivých znak bhem prodlevy mezi znaky se hodinky píjemce mohou libovoln "rozejít" na zaátku dalšího znaku budou znovu "zasynchronizovány" pomocí start bitu (
Synchronní penos synchronní penos: synchronizace je udržována trvale penáší se celé souvislé bloky dat libovoln velké!! synchronizace se udržuje po celou dobu penosu souvislého bloku nkdy se udržuje i mezi bloky jindy se mezi bloky neudržuje hodinky odesilatele i píjemce se se mezi bloky mohou "rozejít", a na zaátku nového bloku se zase "zasynchronizovat" výhody: synchronní penos je obecn rychlejší než asynchronní a arytmický používá se na vyšších " rychlostech zpsob zajištní trvalé synchronizace: bloky jsou libovoln dlouhé = již není možné se spoléhat na to, že hodinky píjemce "vydrží" a "nerozejdou se" bhem penosu bloku synchronizaci je teba udržovat prbžn prbžn seizovat hodinky píjemce bhem celého penosu možnosti: skrze samostatný "synchronizaní" (asovací) signál penáší "tikání" hodinek odesilatele píliš nákladné, samostatný signál není k dispozici skrze redundantní kódování zahrnutíasového signálu do kódování jednotlivých bit píklad: kódování Manchester synchronizací z dat
Píklad asování spolu s daty ) 1 0 0 1 1 1 0 1 penášená data asování píklad: kódování Manchester (nap u Ethernetu) uprosted každého bitového intervalu je vždy hrana, která "nese" data (svou polaritou) souasn tato hrana mže sloužit i pro poteby synchronizace vyskytuje se vždy, bez ohledu na hodnotu dat píklad: kódování "diferenciální Manchester" (nap. u Token Ringu) uprosted každého bitového intervalu je hrana, slouží pouze potebám asování data "nese" hrana/absence hrany na zaátku bitového intervalu data nesdílí stejnou hranu s asováním!!! kódování Manchester 0 = H>L, 1= L>H diferenciální Manchester 0 = je zmna, 1=není zmna pedstava: asování se smíchá s daty slouí (sete) se datový a asovací signál píjemce využije "asovací ást" pro prbžné seizování svých hodinek nevýhoda: modulaní rychlost (i šíka pásma) je 2x vyšší než penosová rychlost!!! na 1 bit jsou 2 zmny signálu
Píklad: synchronizace z dat myšlenka: penášený signál nebude obsahovat žádné asování píjemce si prbžn seizuje hodinky podle datových bit v okamžiku výskytu hrany která signalizuje bit problém: mohou se vyskytnout dlouhé posloupnosti bit, které negenerují žádnou zmnu penášeného signálu hodinky píjemce by mohly ztratit synchronizaci ešení: technika bit-stuffing (vkládání bit) pokud by se vyskytla píliš dlouhá sekvence bit, která by mohla zpsobit ztrátu synchronizace, odesilatel vloží do odesílaných dat vhodný bit, který vyvolá hranu a píjemce ji zase odstraní používá se i jinde pro tzv. framing, u bitov orientovaných protokol * 1 0 0 0 0 0 0 0 1 0 0 7x vždy píklad (techniky bit-stuffing): je známo, že hodinky píjemce "vydrží" 7 bitových interval bez synchronizace pi 8 a více by se již rozešly ešení: na stran odesilatele: za každou šestou (po sob jdoucí) nulu zaadí jeden jednikový bit na stran píjemce: po každých 7 souvislých nulách smaže následující jedniku "spoteba" zvyšuje se tím poet penesených bit, již to není 1 bit = 1 zmna penášeného signálu ale je to velmi blízko (limitn rovno)
isochronní penos isochronní: = "probíhající ve stejném ase" vhodné (nutné) pro multimediální penosy obraz, zvuk mže být urité penosové zpoždní nap. až 00 ms ale je požadována vysoká pravidelnost!! penosové zpoždní je konstantní a nemní se!!! dsledky "isochronnosti": data mají zarueno, za jak dlouho se dostanou ke svému cíli nemusí to být "ihned", ale je to pravideln pedstava: jdou to asynchronní data, vkládaná do synchronního penosového mechanismu napíklad do asových slot, event. pímo do bitových interval podstatné je: píklady: mezi jednotlivými "ástmi" (asynchronních) dat jsou vždy celistvé násobky prázdných slot interval) pepojování okruh je (mže být) isochronní asový multiplex (TDM) zachovává isochronní charakter statistický multiplex a pepojování paket nejsou isochronní!!! data "synchronní nosi"
bitstream (bitový proud) linkový rámec lokalita A bitstream lokalita B tzv. bitstream (bitový proud) je telekomunikaní služba synchronní penos bit mezi dvma lokalitami má konstantní penosovou rychlost a konstantní penosové zpoždní lze jej chápat jako službu fyzické vrstvy službu charakteru odešli/pijmi bit se synchronním zpsobem fungování bitstream (bitový proud) je vhodným "podložím" pro penosové služby vyšších úrovní nad bitovým proudem lze realizovat penos (linkových) rámc nad bitovým proudem lze realizovat rzné druhy penos: paketový / best effort isochronní s QoS
Framing, aneb: synchronizace na úrovni... synchronizace na úrovni bit jde o správné rozpoznání jednotlivých bit (bitových interval) to, co jsme až dosud popisovali synchronizace na úrovni znak jde o správné rozpoznání celých znak (u znakov orientovaných penos) pi asynchronním (arytmickém) penosu je to dáno start bity pi synchronním penosu je nutné odpoítávat bity synchronizace na úrovni rámc alias tzv. framing jde o správné rozpoznání linkového rámce zaátku, konce atd. framing bitstream píklady: znakov orientované linkové protokoly: penáší data lenná na znaky pro vyznaení zaátku/konce používají speciální znaky ASCII sady bitov orientované linkové protokoly: penáší data jako posloupnosti bit nelení je na znaky pro vyznaení zaátku/konce využívají speciálních bitových posloupností tzv. kídlových znaek rámec
zajištní transparence dat související problém: jak vždy spolehliv poznat, která data jsou: ídící (hlaviky, patiky, píkazy atd.) a mají být interpretována "užitená data" a nemají být nijak interpretována možné základní pístupy: samostatné penosové kanály pro ídící píkazy a pro data nkdy je možné, nkdy ne slouení píkaz a dat do jednoho penosového kanálu astjší nutné mít schopnost rozpoznat, kdy se jedná o "užitená data" a kdy o píkazy píklady ešení (se spoleným penosovým kanálem): prefixace speciálním ESCAPE znakem ped každý znak, který má mít význam ídícího znaku, se umístí speciální "escape" znak nap. znak DLE (Data Link Escape) ze sady ASCII pípadný výskyt speciálního escape znaku v "užitených datech" se eší jeho zdvojením píjemce musí druhý výskyt odstranit tzv. character stuffing prefixace speciální bitovou posloupností (tzv. kídlovou znakou) používá se u bitov orientovaných protokol, pro vyznaení zaátku (a event. i konce rámce) pípadný výskyt speciální bitové posloupnosti v užitených datech se eší pomocí bit-stuffingu
Znakov orientovaný penos penášená data jsou chápána jako posloupnost znak každý o stejném potu bit jak rozpoznat zaátek a konec? na zaátek rámce dát speciální uvozující znak, a na konec ukonující znak prefixovaný pomocí znaku DLE na zaátek rámce dát speciální "uvozující" znak, a za nj údaj o délce rámce píklad: linkový protokol IBM BiSync z roku 1964 ASCII: Start of Text DLE STX DLE STX n ASCII: End of Text DLE ETX délka ve znacích &
Bitov orientovaný penos penášený text je chápán jako posloupnost bit tj. penášená data nejsou lenna na znaky pedstava: v penášeném etzci bit se hledá vzorek (posloupnost, znaka), indikující zaátek (konec) tzv. kídlová znaka výskyt kídlové znaky pedstavuje zaátek rámce konec mže být také oznaen kídlovou znakou, nebo uren údajem o délce (za úvodní kídlovou znakou) 0 1 1 1 1 1 1 1 0 0 1 7x zajištní transparence dat: aby se kídlová znaka nevyskytla "v datech" eší se pomocí bit-stuffing píklad: tvoí-li kídlovou znaku 8 po sob jdoucích jedniek, pak odesilatel za každých 7 po sob jdoucích jedniek pidá 0 ' 110001011000101010101001010101100010101010010101 kídlová znaka, 8x 1 0111111110 detekní okénko
Bitov vs. znakov orientované protokoly dnes se úrovni linkové vrstvy používají tém výlun bitov orientované protokoly kvli nižší režii na zajištní transparence dat jsou novjší. píklady bitov orientovaných protokol: SDLC vyvinula firma IBM v roce 197 první bitov orientovaný protokol HDLC vyvinula ISO v roce 1979 podle SDLC základ všech dnešních bitov orientovaných protokol funguje poloduplexn nebo duplexn lze použít na dvoubodových i vícebodových spojích formát rámce HDSL znaka adresa ídící bity bity LAP (Link Access Protocol) vyvinula ITU-T od roku 1981, podle HDLC má nkolik verzí: LAPB» pro B kanály ISDN LAPD» pro D-kanál ISDN LAPM» pro modemy Ethernet rámce Ethernetu jsou také bitovorientované znace se íká "preambule" (preamble)... 8 bit 8/16 bit 8/16 bit 16/32 bit 8 bit data data FCS FCS znaka ( 01111110 používá se bit-stuffing 01111110
Rámce s pevnou velikostí v telekomunikacích se asto používají rámce pevné velikosti nejvíce v rámci digitálních hierarchií PDH, SDH, SONET. zaátek bloku (rámce) obsahuje speciální bitovou sekvenci údaj o délce/konci není nutný pedpokládá se pevná velikost bloku!!! nepoužívá se bit stuffing!!! píjemce zná velikost bloku a další bitovou sekvenci hledá až po "uplynutí" bloku píklad: rámec SONET Synchronous Optical NETworking rámec má pevnou velikost 810 byt (90 "sloupc" x 9 "ádek") píklad: rámec T1 23x 8 bit pro 23+1 hlasových kanál, každá z nich potebuje penést 8 bit 8000x za sekundu rámec T1 se musí opakovat 8000x za sekundu 9 ad režie Data (náklad) rámec SONET STS-1 píklad: buka ATM byt hlavika 48 byt náklad " 90 sloupc
zajištní spolehlivosti mže být realizováno na kterékoli vrstv krom fyzické TCP/IP: eší se až na transportní vrstv protokol TCP RM ISO/OSI: oekává se od všech vrstev, poínaje linkovou vrstvou princip a zpsob realizace je v zásad stejný na všech vrstvách podmínkou je schopnost detekce chyb schopnost rozpoznat, že došlo k njaké chyb pi penosu musí být použit vhodný detekní mechanismus co dlat, když se zjistí chyba pi penosu? nespolehlivý penos: nic spolehlivý penos: postarat se o nápravu možnosti: použití samoopravných kód nap. Hammingovy kódy problémem je velká míra redundance, která zvyšuje objem penášených dat používá se jen výjimen pomocí potvrzování píjemce si nechá znovu zaslat poškozená data podmínkou je existence zptné vazby / zptného kanálu alespo poloviní duplex, aby píjemce mohl kontaktovat odesilatele ) používá se
Jak ešit detekci? možnosti detekce chyb: parita (píná a podélná) má nejmenší úinnost kontrolní souty lepší úinnost cyklické redundantní kódy (CRC) zdaleka nejlepší úinnost druhy chyb: pozmnná data nkteré bity jsou zmnny shluky chyb celé vtší skupiny bit/byt jsou zmnny nebo ztraceny výpadky dat napíklad ztráta celého rámce u synchronních protokol: staí detekovat chybu/bezchybnost na úrovni celých rámc/paket kvli možnost vyžádat si opakované vyslání to se dlá pro celé bloky informaci o chyb v uritém bytu by nebylo možné využít stejn by se znovu penesl celý rámec/paket obecná pedstava: k penášeným datm se pipojí "zabezpeovací údaj" data Σ *
Obecná pedstava odesilatel data penáší se data Σ Σ zabezpeovací údaj údaj odesilatel podle obsahu penášeného bloku vypoítá "zabezpeovací údaj", který pipojí k datovému bloku a penese píjemce znovu vypoítá "zabezpeovací údaj" (stejným postupem) a porovná jej s pijatým zabezpeovacím údajem píjemce data Σ = Σ ne chyba ano OK
Parita paritní bit bit pidaný navíc k datovým bitm sudá parita: paritní bit je nastaven tak, aby celkový poet 1 byl sudý lichá parita: aby byl lichý jedniková parita: paritní bit pevn nastaven na 1 nemá zabezpeující efekt nulová parita nastaven na 0 píná parita: po jednotlivých bytech/slovech informace o tom, který byte (slovo) je poškozen, je nadbytená stejn se znovu posílá celý blok (rámec, paket) podélná parita: parita ze všech stejnolehlých bit všech byt/slov blok dat (rámec, paket) 11 0 0 1 1 1 1 1 1 0 0 1 1 1 1 11 0 0 0 0 0 0 1 1 1 1 1 1 0 0 00 1 1 1 1 0 0 1 1 0 0 1 1 1 1. 11 0 0 1 1 1 1 0 0 1 1 1 1 0 0 00 1 1 1 1 0 0 1 1 0 0 1 1 1 1. 11 1 1 1 1 0 0 1 1 0 0 0 0 0 0 11 0 0 0 0 0 0 1 1 0 0 1 1 0 0 00 0 0 1 1 1 1 1 1 0 0 1 1 0 0 11 0 0 0 0 0 0 1 1 1 1 1 1 0 0 00 1 1 0 0 1 1 1 1 0 0 1 1 0 0 podélná parita 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 píná parita (sudá) píná parita (lichá)
Kontrolní souet jednotlivé byty/slova/dvojslova tvoící penášený blok se interpretují jako ísla a setou se výsledný souet se použije jako zabezpeovací údaj obvykle se použije jen ást soutu, napíklad nižší byte i nižší slovo alternativa: místo soutu se poítá XOR jednotlivých bit úinnjší než parita ale stále je "míra zabezpeení" píliš nízká blok dat (rámec, paket) 1234H 3AB7H BC90H 76B1H 330FH 0012H CD93H 6401H ABCDH ++
CRC Cyclic Redundancy Check posloupnost bit, tvoící blok dat, je interpretována jako polynom polynom nad tlesem charakteristiky 2, kde jednotlivé bity jsou jeho koeficienty. + 1.x 14 + 0.x 13 + 0.x 12 + 1.x 11 + tento polynom je vydlen jiným polynomem nap. CRC-16: x 16 + x 1 + x 2 + 1 výsledkem je podíl a zbytek v roli zabezpeení se použije zbytek po dlení charakteristickým polynomem chápaný již jako posloupnost bit data 1 0 1 0 0 1 0 0 podíl CRC polynom = * + zbytek schopnosti detekce jsou "vynikající": všechny shluky chyb s lichým potem bit všechny shluky chyb do velikosti n bit kde n je stupe charakteristického polynomu všechny shluky chyb velikosti > n+1 s pravdpodobností 99.99999998% CRC-32 používá se se CRC CRC v rozsahu 16 16 bit bitnebo 32 32 bit bit
Výpoet CRC spolehlivost CRC kód se opírá o silné teoretické výsledky z algebry samotný výpoet CRC-kódu (zbytku po dlení) je velmi jednoduchý a mže být snadno implementován v HW, pomocí XOR-hradel a posuvných registr MSB LSB 1011000101010011001101 data x x 4 x 3 x 2 x 1 + + + nejmén významný nejmén významný bit bit (charakteristický polynom je x + x 4 + x 2 + 1) &
Potvrzování (acknowledgement) jde o obecnjší mechanismus, který slouží (mže sloužit) více úelm souasn: zajištní spolehlivosti umožuje, aby si píjemce vyžádal opakované zaslání poškozeného rámce ízení toku odesilatel aby píjemce mohl regulovat tempo, jakým mu odesilatel posílá data n existuje více možných zpsob jak realizovat potvrzování: kladné a záporné potvrzování potvrzují se správ resp. chybn pijaté bloky jednotlivé a kontinuální potvrzování podle toho, zda odesilatel vždy eká na potvrzení nebo odesílá "do foroty" samostatné a nesamostatné potvrzování zda potvrzení cestuje jako samostatný rámec/paket, nebo je vnoeno do datového rámce/paketu metoda okénka... píjemce ' n as potvrzení
Stop&Wait ARQ jde o samostatné jednotlivé prbh: potvrzování samostatné = potvrzení je penášeno jako samostatný (ídící) blok jednotlivé = potvrzován je každý jednotlivý rámec/paket kladn: že došel v poádku záporn: že došel, ale nebyl v poádku timeout: když potvrzení nepijde do pedem stanoveného intervalu (interpretuje se stejn jako záporné potvrzení) možné píiny:» rámec/paket vbec nedošel, píjemce neví že by ml nco potvrdit» ztratilo se potvrzení ( odesilatel odešle datový rámec a eká na jeho potvrzení (kladnéi záporné) tj. další rámce ješt neodesílá píjemce odešle potvrzení kladné nebo záporné podle druhu potvrzení odesilatel bu opakuje penos téhož rámce, nebo vyšle další rámec odesilatel píjemce nebo eká na vypršení timeoutu, které interpretuje stejn jako záporné potvrzení n n
Píklad (stop & wait ARQ) kladné kladnépotvrzení, pokrauje pokrauje se se dalším dalším rámcem rámcem odesilatel odesilatel reaguje reaguje na na záporné zápornépotvrzení potvrzení opakováním opakováním penosu penosu po po vypršení vypršení timeoutu timeoutuje je penos penos opakován opakován n n+1 n+1 n+1 n n+1 n+1 rámec rámec došel došel poškozený, píjemce generuje záporné zápornépotvrzení rámec rámec pijat pijat bez bez chyb, chyb, je je generováno kladné kladné potvrzení potvrzení se se po po cest cestztratilo "
Vlastnosti stop&wait jednoduchá a pímoará implementace charakter penosu vychází ryze poloduplexní ) nevyužívá se pípadné (plné) duplexnosti penosové cesty používá se nap. v protokolech IPX/SPX firmy Novell malé penosové zpoždní velké penosové zpoždní má smysl v sítích LAN, kde je penosové zpoždní únosn malé ale nikoli v sítích WAN kde je zpoždní velké pi vtším penosovém zpoždní se tento zpsob potvrzování stává velmi neefektivní dochází k velkým prodlevám mezi penosy jednotlivých blok novellské protokoly IPX/SPX nejsou vhodné pro nasazení v rozlehlých sítích!!! ešení s IPX/SPX náhrada protokoly TCP/IP speciální úprava, která zmní jednotlivé potvrzování na kontinuální
Píklad: Ethernet 126 126 byt byt 64 64 byt byt potvrzení TRANS, 1228,8 s vetn IFG (mezery mezi bloky) PROP, 2,6 s ACK, 1,2 s PROP, 2,6 s efektivnost = TRANS TRANS + ACK + 2. PROP pro 10 Mbps Ethernet v prostedí LAN, s RTT (Round Trip Time) 2,1s * vychází efektivnost cca 92% v prostedí WAN se RTT pohybuje v ádu milisekund! nap. pi RTT = 100 ms (PROP=0 000 s) klesla na pouhé 2,3%
kontinuální potvrzování continuous ARQ idea: odesilatel bude vysílat datové rámce dopedu, a píslušná potvrzení bude pijímat prbžn, s uritým zpoždním n n+1 n+2 n+3 n+4 n+ potvrzení n n+1 n+2 n+3 n+4 otázka: jak se má odesilatel zachovat, když dostane záporné potvrzení? a už mezitím odeslal nkolik dalších rámc varianta selektivní opakování : odesilatel znovu vyšle jen ten rámec, který se poškodil další rámce, které se mohly úspšn penést, se nevysílají znovu (šetí to penosovou kapacitu) píjemce musí úspšn pijaté rámce ukládat do buffer (je to nároné na jeho hospodaení s pamtí)
kontinuální potvrzování, varianta se selektivním opakováním penos rámce n+1 n+1 se se opakuje a dál dál se se pokrauje bez bez návratu n n+1 n+2 n+3 n+1 n+4 n+ odesilatel pijaté rámce n n+1 n+2 n+3 n+1 n+4 n+ rámec rámec pišel pišel poškozený, je je generováno záporné zápornépotvrzení píjemce musí musípijímat a ukládat do do buffer
Varianta: návrat zpt alternativa k selektivnímu opakování eší situaci kdy záporné potvrzení (informace o poškození uritého rámce) pijde se zpoždním v dob kdy již byly odeslány njaké další rámce eší se zahozením již odeslaných rámc odesilatel znovu vyšle poškozený rámec a po nm postupn vysílá následující rámce které již mohly být jednou odeslány nevýhody: plýtvání penosovou kapacitou výhody: píjemci staíekat na nový penos poškozeného rámce, a pak pokraovat v píjmu dalších rámc obecné vlastnosti kontinuálního potvrzování: dokáže lépe snášet vtší penosové zpoždní hodí se i do prostedí WAN, kde penosové zpoždní je velké používá se nap. v protokolech TCP/IP potvrzování se používá v protokolu TCP, který zajišuje spolehlivý penos další otázky: TCP se snaží prbžn adaptovat na podmínky penosu dynamicky si upravuje rznéasové limity a další parametry, aby se choval optimáln kolik rámc si odesilatel mže dovolit vyslat dopedu ješt než dostane jejich potvrzení? odpov záleží na konkrétní velikosti penosového zpoždní, reakní dob protistrany, velikosti rámc,...
Kontinuální potvrzování, varianta s návratem penos rámce n+1 n+1 a dál dál se se pokrauje se se opakuje bez bez návratu n n+1 n+2 n+3 n+1 n+2 n+3 odesilatel pijaté rámce n n+1 n+2 n+3 n+1 n+2 n+3 rámec rámec pišel pišel poškozený, je je generováno záporné zápornépotvrzení píjemce mže pestat pijímat píjemce opt musí pijímat
Samostatné a nesamostatné potvrzování samostatné = potvrzení je penášeno jako samostatný rámec speciálního typu je to spojeno s relativn velkou režií samotné potvrzení je hodn malé, obal je pak velký nesamostatné = potvrzení je zasíláno jako souást datových rámc penášených v opaném smru než rámce, které jsou potvrzovány oznaováno jako tzv. piggybacking &
Problematika ízení toku podstata problému: rychlost (výpoetní síla) dvou komunikujících stran mže být i dosti výrazn odlišná je nutné se vyvarovat toho, aby píjemce nestíhal kvli své rychlosti kvli nedostatku buffer... a musel kvli tomu zahazovat správn penesené rámce/pakety proto je nutnéídit tok dat mezi odesilatelem a píjemcem podle možností píjemce!!! lze ešit na rzných úrovních: na úrovni jednotlivých znak tzv. hardwarový handshake (využívají se k tomu samostatné signály, RTS a CTS rozhraní RS- 232-C) tzv. softwarový handshake (píjemce posílá odesilateli znaky XON/XOFF, regulující tok dat) na úrovni celých rámc píjemce si reguluje, zda chce nebo nechce poslat další rámce ' tj. tj. píjemce by by ml ml diktovat diktovat tempo tempo
Píklad: ízení toku pomocí XON/XOFF buffer se vyprázdnil pod dolní limit, tiskárna obnovuje písun dat komunikace s tiskárnou vybavenou bufferem asový prbh pošli X-ON pošli X-OFF buffer je zaplnn pes horní limit, tiskárna zastavuje další vysílání dat ( dolní limit míra využití bufferu
Metoda okénka (sliding window) idea: spojit potvrzování s ízením toku na úrovni rámc odesilatel si udržuje vysílací okénko velikost okénka udává, kolik rámc smí vyslat "dopedu" aniž by je ml ješt potvrzené používá nap. protokol TCP již potvrzené rámce velikost okénka uruje: odesilatel, dle chování a vlastností sít vtšinou stanoví maximální velikost píjemce, podle svých možností (nap. dostupnosti buffer) ovlivováním velikosti okénka mže píjemce efektivn regulovat tok dat smrem k sob!!!!! zmenšením okénka na nulovou velikost lze zastavit vysílání rámce, které ješt nelze odeslat " rámce, které mohou být odeslány (i bez potvrzení)
Poznámka píjemce by mohl regulovat tok dat i tím, že nebude potvrzovat pijaté rámce nebude posílat žádná potvrzení odesilatel bude ekat na vypršení timeoutu, a pak vyšle rámec znovu bude to fungovat, ale nebude to píliš šetrné budou opakovány penosy, které probhly úspšn, bude se plýtvat penosovou kapacitou hrozí nebezpeí, že pi vtším potu neúspšných pokus (bez kladného potvrzení) to odesilatel vzdá v praxi se to nepoužívá )