2012-02-18 7 views
6

pytanie brzmi:realationship od wielkości okna i numer sekwencji

Mamy protocoll transportowego, który wykorzystuje rurociąg i korzystać z 8-bitową liczbę długich sekwencji (0 do 255)

Jaka jest maksymalna okno może użyć rozmiaru nadawcy? (Ile pakietów może wysłać nadawca w sieci przed oczekiwaniem na potwierdzenie ACK?)

Go-Back-N maksymalny rozmiar okna: w = 2^m -1 w = 255.

Selektywne Powtarzanie Maksymalny rozmiar okna wynosi: w = (2^m)/2 w = 128.

Nie wiem, która jest prawidłowa i który wzór będę używać.

Dzięki za pomoc

+0

Czy projektujesz tutaj protokół? Czy też ma swoją nazwę, w takim przypadku proszę ją podać. Dla jasności: mówisz o TCP, prawda? – cxxl

Odpowiedz

2

Te dwa są różne protokoły o różnych sprawach.

W przypadku funkcji Go-Back-N masz rację. Rozmiar okna może wynosić maksymalnie 255. (2^8-1 jest ostatnim seq # pakietów do wysłania, począwszy od 0. Jest to również maksymalny rozmiar okna możliwy dla protokołu Go-Back-N.)

Jednak , Protokół Selektywnego Powtarzania ma ograniczenie rozmiaru okna do połowy maks. Seq #, ponieważ odbiornik nie może odróżnić retransmitowanego pakietu mającego to samo seq # z już odebranym pakietem, ale zaginął i nigdy nie dotarł do nadawcy w poprzednim oknie. Dlatego rozmiar okna musi znajdować się w połowie zakresu seq #, aby kolejne okna nie mogły mieć duplikatów seq # siebie.

Go-Back-N nie ma tego problemu, ponieważ nadawca przesyła n pakietów do rozmiaru okna (który ma maksimum: n-1) i nigdy nie przesuwa okna, dopóki nie uzyska zbiorczych wartości aż do n. A te dwie protokoły mają różne okna o maksymalnych rozmiarach.

Uwaga: Dla Go-Back-N maksymalna wielkość okna to maksymalna liczba unikatowych numerów sekwencji - 1. Jeśli okno jest równe maksymalnej liczbie unikalnych numerów sekwencji, jeśli wszystkie potwierdzenia zostaną utracone, odbiornik zaakceptuje wszystkie retransmitowane wiadomości jako oddzielny zestaw komunikatów i przekaże wiadomościom dodatkowy czas na jego aplikację. Aby uniknąć tej niespójności, maksymalny rozmiar okna = maksymalna liczba unikalnych numerów sekwencji - 1. Ta odpowiedź została zaktualizowana zgodnie z faktem podanym w komentarzu przez @noamgot.

+1

Witam, przepraszam, że przyniosłem ten post z martwych, ale uważam, że jest problem z twoją odpowiedzią - w GBN rozmiar okna rzeczywiście powinien wynosić do 255, a nie 256. rozważmy następujący przykład - nadawca wysłał pakiety 0-255 (całe okno), odbiornik otrzymuje je i wysyła potwierdzenie ACK. niestety ACK jest tracone, więc po przekroczeniu limitu czasu nadawca ponownie wysyła te pakiety. ale teraz odbiornik czeka na kolejną sekwencję pakietów zaczynając od 0, więc mamy problem. przy rozmiarze okna 255 to się nie dzieje. rozważ oglądanie tego: http://webmuseum.mi.fh-offenburg.de/index.php?view=exh&src=73 – noamgot