Srovnávací graf
Základ pro porovnání | Go-Back-N | Selektivní opakování |
---|---|---|
Základní | Opakovaně vysílá všechny snímky odeslané po snímku, které jsou podezřelé poškozené nebo ztracené. | Opakovaně přenáší pouze ty snímky, u nichž existuje podezření, že jsou ztraceny nebo poškozené. |
Využití šířky pásma | Je-li chybovost vysoká, plýtvá velkou šířkou pásma. | Poměrně menší šířka pásma je zbytečná při opakovaném vysílání. |
Složitost | Méně komplikované. | Komplexnější, jak to vyžaduje použití extra logiky a třídění a ukládání, na odesílatele a příjemce. |
Velikost okna | N-1 | <= (N + 1) / 2 |
Třídění | Třídění není požadováno ani na straně odesílatele, ani na straně přijímače. | Přijímač musí být schopen třídit, protože musí udržovat sled snímků. |
Skladování | Přijímač neukládá snímky přijaté po poškozeném rámu, dokud není poškozený rám znovu odeslán. | Přijímač ukládá snímky přijaté za poškozený rám do vyrovnávací paměti, dokud není poškozený rám vyměněn. |
Vyhledávání | Na straně odesílatele ani na přijímači není nutné hledat snímek | Odesílatel musí být schopen vyhledávat a vybírat pouze požadovaný rámec. |
Čísla ACK | Číslo NAK odkazuje na další očekávané číslo rámce. | Číslo NAK označuje ztracený snímek. |
Použití | Častěji se používá. | V praxi je to méně složité. |
Definice Go-Back-N
Protokol Go-Back-N je protokol posuvného okna. Je to mechanismus pro detekci a kontrolu chyby v datalinkové vrstvě. Během přenosu snímků mezi odesílatelem a přijímačem, pokud je rámec poškozen, ztracen nebo je ztraceno potvrzení, je akce prováděná odesílatelem a příjemcem vysvětlena v následujícím obsahu.
Poškozený rám
Pokud přijímač přijme poškozený rámec nebo dojde-li k chybě během přijímání rámce, přijímač odešle NAK (negativní potvrzení) pro tento rámec spolu s tímto číslem rámce, které očekává, že bude znovu vyslán. Po odeslání NAK, přijímač vyřadí všechny rámce, které přijme, po poškozeném rámu. Přijímač neodesílá žádné ACK (potvrzení) pro vyřazené snímky. Poté, co odesílatel přijme NAK pro poškozený rám, odešle všechny rámce zpět do čísla rámce uvedeného NAK.
Ztracený rám
Přijímač kontroluje číslo na každém snímku, který přijímá. Pokud je číslo rámce přeskočeno v sekvenci, přijímač snadno detekuje ztrátu rámce, když je nově přijatý rámec přijat ze sekvence. Přijímač odešle NAK pro ztracený rámec a pak přijímač vyřadí všechny rámce přijaté po ztraceném rámci. Přijímač neodesílá žádné ACK (potvrzení) pro tyto vyřazené snímky. Poté, co odesílatel přijme NAK pro ztracený rámec, odešle zpět ztracený rámec označený NAK a také znovu odešle všechny rámce, které poslal po ztraceném rámci.
Ztracené potvrzení
Pokud odesílatel neobdrží žádný ACK nebo pokud je ACK mezi přenosem ztracen nebo poškozen. Odesílatel čeká na vypršení času a jak čas vyprší, odesílatel odešle všechny rámce, pro které nepřijal ACK. Odesílatel identifikuje ztrátu ACK pomocí časovače.
Číslo ACK, jako je číslo NAK (negativní potvrzení), ukazuje číslo rámce, který přijímač očekává, že bude další v pořadí. Velikost okna přijímače je 1, protože vrstva datového spojení vyžaduje pouze rámec, který má posílat vedle síťové vrstvy. Velikost okna odesílatele je rovna 'w'. Je-li chybovost vysoká, ztrácí se šířka pásma.
Definice selektivního opakování
Selektivní opakování je také protokol posuvného okna, který detekuje nebo opravuje chybu, ke které došlo ve vrstvě datové linky. Protokol selektivního opakování vysílá pouze ten rám, který je poškozený nebo ztracený. V protokolu selektivního opakování je retransmendovaný rámován přijat ze sekvence. Protokol selektivního opakování může provádět následující akce
- Přijímač je schopen třídit rám ve správné sekvenci, protože přijímá opakovaný rámec, jehož posloupnost je mimo pořadí přijímacího rámce.
- Odesílatel musí být schopen prohledávat rámec, pro který byla NAK přijata.
- Přijímač musí obsahovat vyrovnávací paměť, do které budou uloženy všechny dříve přijaté snímky, dokud není opakovaný rámec uspořádán a umístěn ve správném pořadí.
- Číslo ACK, stejně jako číslo NAK, označuje rám, který je ztracen nebo poškozen.
- Vyžaduje méně velikosti okna ve srovnání s protokolem go-back-n.
Poškozené rámy
Pokud přijímač obdrží poškozený rám, odešle NAK rámec, ve kterém je detekována chyba nebo poškození. Číslo NAK, jako v případě go-back-n, také indikuje potvrzení dříve přijatých rámců a chybu v aktuálním rámci. Přijímač stále přijímá nové snímky při čekání na výměnu poškozeného rámu. Rámy přijaté po poškození rámu nebudou potvrzeny, dokud nebude poškozený rám vyměněn.
Ztracený rám
Stejně jako v protokolu selektivního opakování může být rámec přijat mimo pořadí a dále jsou tříděny, aby se zachovala správná posloupnost rámců. Při třídění, když je číslo rámce přeskočeno, přijímač rozpozná, že rám je ztracen a odesílá odesílateli NAK pro tento rámec. Po obdržení NAK pro ztracený snímek odesílatel prohledá tento snímek ve svém okně a odešle tento rámec. Pokud je poslední přenášený snímek ztracen, přijímač neodpovídá a toto ticho je pro odesílatele záporným potvrzením.
Ztracené potvrzení
Pokud odesílatel neobdrží žádný ACK nebo ACK je ztracen nebo poškozen mezi přenosem. Odesílatel čeká na vypršení času a jak čas vyprší, odesílatel odešle všechny rámce, pro které ACK neobdržel. Odesílatel identifikuje ztrátu ACK pomocí časovače.
Klíčové rozdíly mezi Go-Back-N a selektivním opakováním
- Protokol Go-Back-N je navržen tak, aby všechny rámy, které byly přijaty po poškození nebo ztraceném snímku, byly znovu vysílány. Na druhé straně protokol selektivního opakování opakuje přenos pouze tohoto rámce, který je poškozen nebo ztracen.
- Je-li chybovost vysoká, tj. Je poškozeno více rámců a pak jsou všechny rámy, které přišly po poškozeném rámu, zpětně vysílány. Na druhé straně, protokol selektivního opakování přenáší pouze poškozený rám, proto je minimální šířka pásma zbytečná.
- Všechny rámce po poškození rámce jsou vyřazeny a opakované přenosové rámce přijdou do posloupnosti z poškozeného rámce směrem vzhůru, takže je méně bolestí hlavy při třídění snímků, takže je méně složité. Na druhé straně je pouze opakovaně přenášen poškozený nebo podezřelý rámec, takže pro třídění je tedy nutné použít další logiku, což je složitější.
- Go-Back-N má velikost okna N-1 a selektivní opakování má velikost okna <= (N + 1) / 2.
- Ani odesílatel ani přijímač nepotřebují třídicí algoritmus v Go-Back-N, zatímco přijímač musí být schopen třídit tak, jak má sekvenci udržovat.
- V Go-Back-N přijímači vyhodí všechny rámy po poškozeném rámu, proto nemusí ukládat žádné snímky. Selektivní opakovací protokol neodhodí snímky přijaté za poškozený rám místo toho uloží tyto rámce, dokud poškozený rámeček nepřijde úspěšně a je uspořádán ve správném pořadí.
- V selektivním opakování NAK rámec odkazuje na poškozené číslo rámce a v Go-Back-N, NAK rámec odkazuje na další očekávaný snímek.
- Obecně je Go-Back-N více využíván vzhledem k jeho méně komplexní povaze namísto protokolu Selective Repeat.
Závěr:
Selektivní opakování je efektivnější protokol, protože neztrácí šířku pásma pro rámce, které jsou správně přijímány, ale jeho složitost a náklady upřednostňují použití protokolu go-back-n.