Czy wartość TCP Cwnd rośnie, jeśli transfer jest ograniczony przez Rwnd?
On 13 lutego, 2021 by adminPróbuję zrozumieć, co dzieje się z oknem zatoru TCP (Cwnd), jeśli szybkość przesyłania jest ograniczona przez okno odbioru (Rwnd). Wiem że szybkość transferu to minimum Rwnd i Cwnd. Wiem również, że Cwnd rośnie z każdym odebranym ACK. Załóżmy, że bufor odbioru jest bardzo mały, więc Rwnd zawsze pozostaje bardzo niski, ale wszystkie pakiety są odbierane i potwierdzane. Czy to oznacza że Cwnd stale rośnie? Czy są jakieś ograniczenia?
Komentarze
- Czy jakaś odpowiedź Ci pomogła? Jeśli tak, zaakceptuj odpowiedź, aby pytanie nie ' nie wyskakiwało w nieskończoność, szukając odpowiedzi. Alternatywnie możesz opublikować i zaakceptować własną odpowiedź.
Odpowiedź
To zależy od używanego mechanizmu, i tak, Cwnd rośnie aż do pierwszego zrzucenia pakietu, możesz przeczytać więcej o powolnym starcie i inny mechanizm w linkach b elow.
Podstawowy powolny start [edytuj] Algorytm rozpoczyna się w fazie wzrostu wykładniczego początkowo z rozmiarem okna przeciążenia (CWND) wynoszącym 1, 2 lub 10 [2] segmentów i zwiększa go o jeden rozmiar segmentu (SS) dla każdego otrzymano nowe ACK. Jeśli odbiornik wysyła ACK dla każdego segmentu, to zachowanie skutecznie podwaja rozmiar okna podczas każdej podróży w obie strony sieci. Jeśli odbiornik obsługuje opóźnione potwierdzenia ACK, tempo wzrostu jest niższe, ale nadal rośnie o co najmniej jeden MSS w każdym czasie w obie strony. To zachowanie trwa do momentu, gdy rozmiar okna przeciążenia (CWND) osiągnie rozmiar reklamowanego okna odbiorcy lub do momentu wystąpienia straty.
Komentarze
- Cześć, dziękuję za odpowiedź. Byłoby pomocne, gdybyś mógł dodać cytaty ze stron, do których utworzyłeś hiperłącze, w celu wsparcia swojej odpowiedzi.
- Tak, czytam, ale nie ' nie sądzę, że ' jest bardzo jasne. " To zachowanie " przypuszczalnie oznacza podwojenie Cwnd. OK, więc zakładając, że nie nastąpi żadna strata, co się stanie, gdy Cwnd osiągnie Rwnd? Nie ' t wyraźnie powiedzieć. Czy podczas fazy unikania zatorów Cwnd nadal rośnie o 1 dla każdego RTT, niezależnie od Rwnd?
- Nie, jeśli nie ma żadnej straty, CWND jest zwiększane do osiąga RWND, więc CWND wzrasta o 1 za każdy RTT, aż osiągnie limit, którym jest RWND.
- Cała idea CWND polega na tym, jak osiągnąć maksymalny limit transferu bez tworzenia zatorów, więc inny algorytm zachowuje się inaczej, ale dotyczy wszystkich z nich, jeśli nie ma przeciążenia okna są zwiększane do limitu, który jest ogłaszany przez odbiorcę. Pomyśl o tym w ten sposób, jaki jest sens wysyłania większej liczby pakietów, jeśli zamierzony odbiorca nie może ich obsłużyć i musi je porzucić.
Dodaj komentarz