Go-Back-N (GBN) ir bīdāma loga ARQ protokols, kas ļauj sūtītājam pārsūtīt vairākus kadrus (līdz noteiktam loga izmēram), negaidot atsevišķus apstiprinājumus.
apurva padgaonkar
- Ja pakete tiek pazaudēta vai bojāta, sūtītājs atkārtoti pārsūta šo paketi un visas nākamās paketes logā.
- Piemērs: ja tiek nosūtītas paketes 1–5 un pakete 3 tiek pazaudēta, tad paketes 3, 4 un 5 tiek pārsūtītas atkārtoti.
Šis mehānisms nodrošina uzticamību, bet var tērēt joslas platumu, ja bieži rodas kļūdas.
Trīs galvenās GBN raksturīgās iezīmes ir:
1. Sūtītāja loga izmērs (W s )
Tas ir pats N. Ja mēs sakām, ka protokols ir GB10, tad Ws = 10. N vienmēr ir jābūt lielākam par 1, lai ieviestu konveijeru. Ja N = 1, tas tiek samazināts līdz Apstāšanās un gaidīšanas protokols .
GBN efektivitāte = N/(1+2a)
kur
a = Tlpp/Tt
Tlpp= Pavairošanas aizkave
Tt= Sūtītāja pārsūtīšanas aizkave
Kāda būs efektivitāte, ja apstrādes aizkaves rindas aizkave un apstiprinājuma pārraides aizkave nav nulle?
Efektivitāte = N * (lietderīgais laiks) / (kopējais laiks)
kur noderīgais laiks=Tt
Kopējais laiks = Tt+ 2 * Tlpp+ Pr+ Pq + Tt(apstiprināt)
kur
- T t = Sūtītāja puses pārraides aizkave
- T lpp = Pavairošanas aizkave
- Pr = Apstrādes aizkave
- Pq = Rindas aizkave
- T t (apstiprināt) = Apstiprinājuma pārraides aizkave
Ja B ir kanāla joslas platums, tad
Efektīvs joslas platums vai caurlaidspēja
= Efektivitāte * Joslas platums
= (N/(1+2a)) * B
2. Uztvērēja loga izmērs (W R )
- Vienmēr 1 GBN.
- Uztvērējs pieņem tikai nākamo paredzēto paketi.
- Ārpus pasūtījuma paketes tiek izmestas.
3. Pateicības
Apstiprinājumi (ACK) ir signāli, ko uztvērējs sūta, lai apstiprinātu datu pakešu veiksmīgu saņemšanu. Tie nodrošina uzticamu saziņu starp sūtītāju un saņēmēju. Ja noteiktā laikā ACK netiek saņemts, sūtītājs pieņem, ka pakete ir pazaudēta, un nosūta to atkārtoti.
ACK veidi
Kumulatīvā ACK
- Viens apstiprinājums apstiprina visu pakešu saņemšanu līdz noteiktam brīdim.
- Priekšrocība: Mazāka trafika (mazāk ACK).
- Trūkums: Mazāk uzticams, ja tiek zaudēts viens ACK, vairākas paketes šķiet neapstiprinātas.
Neatkarīga ACK
- Katra pakete tiek apstiprināta atsevišķi.
- Priekšrocība: Augsta uzticamība.
- Trūkums: Lielāka satiksme, jo ir vairāk ACK.
GB-N protokola darbība
Sūtīšanas lapa
- Uztur N izmēra logu (piemēram, GB4 loga izmērs = 4).
- Var nosūtīt līdz N neapstiprinātām paketēm.
- Katrai pārsūtītajai paketei ir taimeris.
- Ja tiek saņemts ACK, logs slīd uz priekšu.
- Ja iestājas taimauts (trūkstošai paketei), sūtītājs atkārtoti pārsūta šo paketi un visas nākamās logā.
Uztvērēja puse
- Saglabā loga izmēru 1 (WR = 1).
- Pēc kārtas pieņem tikai paredzēto paketi.
- Ja pienāk pareizā pakete: nosūta ACK un pāriet uz nākamo paredzamo kārtas numuru.
- Ja pienāk nepareiza pakete: izmet to un atkārtoti nosūta ACK par pēdējo pareizi saņemto paketi.
Attiecība starp loga izmēru un kārtas numuriem
The loga izmērs un kārtas numuri bīdāmā loga protokolā, piemēram, Go-Back-N vai Selective Repeat, ir cieši saistīti.
- The loga izmērs nosaka, cik pakešu sūtītājs var pārsūtīt bez apstiprinājuma. Tas ir kā ierobežojums, cik daudz datu var nosūtīt, pirms sūtītājam ir jāapstājas un jāgaida apstiprinājums.
- Secības numuri tiek izmantoti pakešu marķēšanai, lai uztvērējs zinātu to secību un varētu atklāt visas trūkstošās paketes.
The loga izmērs jābūt mazākam vai vienādam ar pieejamo diapazonu kārtas numuri . Ja loga izmērs ir pārāk liels salīdzinājumā ar kārtas numuru diapazonu, uztvērējs var apjukt, jo to pašu kārtas numuru var izmantot atkārtoti, pirms tiek apstiprināts pirmais. Tādējādi būtu grūti noteikt, vai pakete ir jauna vai dublikāts.
Attiecību starp loga izmēru un kārtas numuru nosaka pēc formulas:
INs+ WR<= ASN
pelēks kods
kur Vsir sūtītāja loga izmērs un WRir uztvērēja loga izmērs un ASN ir pieejams kārtas numurs.
INs+1<= ASN because WR= 1 GB-N protokolā
Tātad minimālie kārtas numuri, kas nepieciešami GBN = N + 1
Nepieciešamie biti GBN = ⌈ log2(N + 1)⌉
Papildu 1 ir nepieciešams, lai izvairītos no pakešu dublikātu problēmas.
Piemērs GB-N protokols
Apsveriet GB4 piemēru.
- Sūtītāja loga izmērs ir 4, tāpēc mums ir nepieciešami vismaz 4 kārtas numuri, lai katru paketi logā apzīmētu.
- Tagad pieņemsim, ka saņēmējs ir saņēmis visas paketes (0 1 2 un 3, ko nosūtījis sūtītājs) un tāpēc tagad atkal gaida paketes numuru 0 (šeit mēs nevaram izmantot 4, jo mums ir pieejami tikai 4 kārtas numuri, jo N = 4).
- Tagad pieņemsim, ka tīklā ir pazaudēts kumulatīvais apstiprinājums iepriekšminētajām 4 paketēm.
- Sūtītāja pusē būs noildze paketei 0, un tādējādi visas 4 paketes tiks pārsūtītas vēlreiz.
- Problēma šobrīd ir tāda, ka uztvērējs gaida jaunu pakešu kopu, kurai vajadzēja sākties no 0, bet tagad tas saņems iepriekš pieņemto pakešu dublikātus.
- Lai no tā izvairītos, mums ir nepieciešams viens papildu kārtas numurs.
- Tagad uztvērējs varēja viegli noraidīt visas dublētās paketes, kas sākās no 0, jo tagad tas gaidīs paketes numuru 4 (tagad esam pievienojuši papildu kārtas numuru).
Tas ir izskaidrots ar tālāk sniegto ilustrāciju palīdzību. Mēģinājums ar kārtas numuriem 4.
Tagad mēģiniet ar vienu papildu kārtas numuru.
Tagad ir skaidrs, kāpēc mums GBN protokolā ir nepieciešams papildu 1 bits.
GBN protokola priekšrocības
- Vienkārši īstenojams un efektīvs uzticamai saziņai.
- Labāka veiktspēja nekā apstāšanās un gaidīšanas protokoli bezkļūdu vai zemu kļūdu tīkliem.
GBN protokola trūkumi
- Neefektīvi, ja kļūdas ir biežas, jo var būt nepieciešams bez vajadzības atkārtoti pārsūtīt vairākus kadrus.
- Joslas platums var tikt tērēts liekas atkārtotas pārraides dēļ.