Jednotlivé potvrzování

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Jednotlivé potvrzování je metoda používaná v telekomunikacích pro posílání informací mezi dvěma propojenými zařízeními. Zaručuje, že nebude docházet ke ztrátám informace kvůli ztraceným a zahozeným paketům, a že pakety budou doručeny ve správném pořadí. Jedná se o nejjednodušší metodu zpětné vazby s automatickým opakováním (ARQ). Při používání jednotlivého potvrzování odesilatel posílá rámce po jednom; je to speciální případ obecného protokolu s posuvným okénkem s vysílacím i přijímacím okénkem velikosti 1. Po odeslání každého rámce odesilatel čeká na přijetí potvrzení a další rámec neposílá. Příjemce po přijetí nepoškozeného rámce pošle potvrzení (ACK). Jestliže ACK nedojde odesilateli do uplynutí určitého času nazývaného prodleva , odesilatel opakuje vysílání stejného rámce.

Výše uvedené chování je nejjednodušší implementací jednotlivého potvrzování. I přesto se musí vypořádat s problémy, které mohou v reálném provozu nastat.

Odesilatel typicky přidává na konec každého rámce kontrolní součet. Příjemce spočítá kontrolní součet z přijatého rámce a výsledek porovná s přijatým kontrolním součtem. +more Pokud kontrolní součty souhlasí, příjemce přijetí rámce potvrdí odesláním kladného potvrzení (ACK). Pokud je rámec poškozený, příjemce jej zahodí a potvrzení neposílá - chová se stejně, jako kdyby se rámec ztratil.

Odesilatel se musí vyrovnat s tím, že potvrzení nemusí přijít včas. V tom případě musí vysílání rámce opakovat. +more Pokud se ztratilo pouze potvrzení, příjemce dostane dvě kopie téhož rámce a musí poznat, že se jedná o duplicitní rámec.

Dalším problémem je, když přenosové médium má tak dlouhé latence, že prodleva měřená odesilatelem vyprší dříve, než rámec dojde k příjemci. I v tomto případě odesilatel pošle stejný paket znovu. +more Příjemce dostane dvě kopie stejného rámce a pošle ACK pro každý z nich. Odesilatel čekající na jediný ACK přijme dvě potvrzení, což může způsobit problémy, jestliže předpokládá, že druhé potvrzení je pro další rámec v posloupnosti.

Aby se zamezilo těmto problémům, obvykle se v hlavičce rámce vyhradí jednobitové pole pořadové číslo. Toto pořadové číslo se v po sobě jdoucích rámcích střídá (z 0 na 1). +more Když přijímač pošle potvrzení, použije pořadové číslo dalšího paketu, který očekává. Díky tomu příjemce rozpozná zdvojené rámce tak, že zkontroluje, jestli se pořadová čísla rámců střídají. Jestliže dva následující rámce mají stejné pořadové číslo, jsou duplicitní a druhý rámec bude zahozen. Podobně jestliže se dvě následující potvrzení odkazují na stejné pořadové číslo, potvrzují stejný rámec.

Jednotlivé potvrzování je v porovnání s jinými ARQs neefektivní, protože čas mezi pakety, jestliže jsou data i potvrzení přijaty úspěšně, bude dvojnásobkem doby přenosu rámce (pokud zanedbáme čas od přijetí rámce přijímačem po odeslání potvrzení). Výsledná propustnost kanálu je tak pouhým zlomkem teoretické propustnosti. +more Pro zrychlení je nutné posílat více než jeden paket bez čekání na potvrzení po jednom s větší pořadové číslo a používá jeden ACK pro množina. To je podstatou metod Opakování s návratem a Selektivní opakování.

Reference

Tanenbaum, Andrew S., Computer Networks, 4th ed.

Kategorie:Logical link control Kategorie:Detekce a oprava chyb

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top