logo

Nazaj N - protokol drsnega okna

Go-Back-N (GBN) je protokol ARQ z drsečim oknom, ki pošiljatelju omogoča prenos več okvirjev (do določene velikosti okna), ne da bi čakal na posamezne potrditve.

isletter java
  • Če je paket izgubljen ali poškodovan, pošiljatelj ponovno pošlje ta paket in vse naslednje pakete v oknu.
  • Primer: Če so poslani paketi 1–5 in se paket 3 izgubi, se paketa 3, 4 in 5 ponovno pošljeta.

Ta mehanizem zagotavlja zanesljivost, vendar lahko zapravlja pasovno širino, če se napake pogosto pojavljajo.

Tri glavne značilnosti GBN so:



1. Velikost okna pošiljatelja (W s )

Sam je N. Če rečemo, da je protokol GB10, potem je Ws = 10. N mora biti vedno večji od 1, da se izvede cevovod. Za N = 1 se zmanjša na Protokol zaustavi in ​​počakaj .

Učinkovitost GBN = N/(1+2a)

kjer

a = Tstr/Tt
Tstr= Zakasnitev širjenja
Tt= Zakasnitev prenosa pošiljatelja

Kakšna bo učinkovitost, če zakasnitev obdelave, zakasnitev čakalne vrste in zakasnitev prenosa potrditve nista nič?

Učinkovitost = N * (koristni čas) / (skupni čas)

kjer je uporaben čas=Tt

Skupni čas = Tt+ 2 * Tstr+ Pr+ Pq + Tt(ack)

kjer

  • T t =Zakasnitev prenosa na strani pošiljatelja
  • T str = Zakasnitev širjenja
  • Pr = Zakasnitev obdelave
  • Pq = Zakasnitev čakalne vrste
  • T t (ack) = Zakasnitev potrditve prenosa

Če je B pasovna širina kanala, potem

Efektivna pasovna širina ali prepustnost
= Učinkovitost * Pasovna širina
= (N/(1+2a)) * B

2. Velikost okna sprejemnika (W R )

  • Vedno 1 v GBN.
  • Prejemnik sprejme samo naslednji pričakovani paket.
  • Paketi, ki niso v redu, se zavržejo.

3. Zahvala

Potrdila (ACK) so signali, ki jih pošilja sprejemnik za potrditev uspešnega prejema podatkovnih paketov. Zagotavljajo zanesljivo komunikacijo med pošiljateljem in prejemnikom. Če ACK ni prejet v določenem času, pošiljatelj domneva, da je paket izgubljen, in ga ponovno pošlje.

Vrste ACK

Kumulativni ACK

  • Enkratna potrditev potrdi prejem vseh paketov do določene točke.
  • Prednost: Manj prometa (manj ACK).
  • Slabost: Manj zanesljiv, če je en ACK izgubljen, več paketov je videti nepotrjenih.

Neodvisni ACK

  • Vsak paket se potrdi posebej.
  • Prednost: Visoka zanesljivost.
  • Slabost: Večji promet zaradi več ACK-ov.

Delovanje protokola GB-N

Pošiljanje strani

  • Ohranja okno velikosti N (npr. velikost okna GB4 = 4).
  • Lahko pošlje do N nepotrjenih paketov.
  • Vsak poslani paket ima časovnik.
  • Če prejmete ACK, okno zdrsne naprej.
  • Če pride do časovne omejitve (za manjkajoči paket), pošiljatelj ponovno pošlje ta paket in vse naslednje v oknu.

Sprejemna stran

  • Ohranja velikost okna 1 (WR = 1).
  • Sprejme samo pričakovani paket v zaporedju.
  • Če prispe pravi paket: pošlje ACK in se premakne na naslednjo pričakovano zaporedno številko.
  • Če prispe paket, ki ni v redu: ga zavrže in ponovno pošlje ACK za zadnji pravilno prejeti paket.
Drsna_SET_2-1' title=

Razmerje med velikostjo okna in zaporednimi številkami

The velikost okna in zaporedne številke v protokolu drsnega okna, kot sta Go-Back-N ali Selective Repeat, sta tesno povezana.

  • The velikost okna določa, koliko paketov lahko pošiljatelj pošlje, ne da bi potreboval potrditev. To je kot omejitev, koliko podatkov je mogoče poslati, preden se mora pošiljatelj ustaviti in počakati na potrditev.
  • Zaporedne številke se uporabljajo za označevanje paketov, tako da prejemnik pozna njihov vrstni red in lahko zazna manjkajoče pakete.

The velikost okna mora biti manjša ali enaka obsegu razpoložljivih zaporedne številke . Če je velikost okna prevelika v primerjavi z obsegom zaporednih številk, se lahko prejemnik zmede, ker bi se ista zaporedna številka lahko ponovno uporabila, preden je prva potrjena. Zaradi tega bi bilo težko ugotoviti, ali je paket nov ali dvojnik.

Razmerje med velikostjo okna in zaporedno številko je podano s formulo:

INs+ WR<= ASN

kjer Wsje velikost okna pošiljatelja in WRje velikost okna sprejemnika in ASN je razpoložljiva zaporedna številka.

java graditelj nizov

INs+ 1<= ASN because WR= 1 v protokolu GB-N

Torej najmanjše zaporedne številke, zahtevane v GBN = N + 1

Biti, potrebni v GBN = ⌈ log2(N + 1)⌉

Dodatni 1 je potreben, da se izognete težavam s podvojenimi paketi.

Primer za Protokol GB-N

Razmislite o primeru GB4.

  • Velikost okna pošiljatelja je 4, zato potrebujemo najmanj 4 zaporedne številke za označevanje vsakega paketa v oknu.
  • Zdaj pa predpostavimo, da je prejemnik prejel vse pakete (0 1 2 in 3, ki jih je poslal pošiljatelj) in zato zdaj znova čaka na številko paketa 0 (tukaj ne moremo uporabiti 4, ker imamo na voljo samo 4 zaporedne številke, ker je N = 4).
  • Zdaj pa predpostavimo, da je kumulativna potrditev za zgornje 4 pakete izgubljena v omrežju.
  • Na strani pošiljatelja bo potekla časovna omejitev za paket 0 in zato bodo vsi 4 paketi ponovno poslani.
  • Zdaj je težava v tem, da sprejemnik čaka na nov niz paketov, ki bi se moral začeti z 0, zdaj pa bo prejel podvojene kopije predhodno sprejetih paketov.
  • Da bi se temu izognili, potrebujemo eno dodatno zaporedno številko.
  • Zdaj lahko sprejemnik zlahka zavrne vse podvojene pakete, ki se začnejo z 0, ker bo zdaj čakal na paket številka 4 (zdaj smo dodali dodatno zaporedno številko).

To je razloženo s pomočjo spodnjih ilustracij. Poskus z zaporednimi številkami 4.

Drsna_SET_2-3' loading='lazy' title=

Zdaj poskušam z eno dodatno zaporedno številko.

Drsna_SET_2-4' loading='lazy' title=

Zdaj je jasno, zakaj potrebujemo dodaten 1 bit v protokolu GBN.

Prednosti protokola GBN

  • Enostaven za izvedbo in učinkovit za zanesljivo komunikacijo.
  • Boljša zmogljivost kot protokoli ustavitve in čakanja za omrežja brez napak ali z nizko stopnjo napak.

Slabosti protokola GBN

  • Neučinkovito, če so napake pogoste, saj bo morda treba po nepotrebnem znova poslati več okvirjev.
  • Pasovna širina se lahko izgubi zaradi odvečnih ponovnih prenosov.
Ustvari kviz