Fortsætter TCP Cwnd, hvis overførslen er begrænset af Rwnd?
On februar 13, 2021 by adminJeg prøver at forstå, hvad der sker med TCP Congestion Window (Cwnd), hvis overførselshastigheden er begrænset af modtagevinduet (Rwnd). Jeg ved at overførselshastigheden er minimum Rwnd og Cwnd. Jeg ved også, at Cwnd stiger for hver modtaget ACK. Antag, at modtagebufferen er meget lille, så Rwnd forbliver altid meget lav, men alle pakker modtages og ACKed. Betyder det at Cwnd bare fortsætter med at stige for evigt? Er der en grænse for det?
Kommentarer
- Hjalp noget svar dig? Hvis ja, skal du acceptere besvar, så spørgsmålet ikke ' ikke dukker op for evigt og leder efter et svar. Alternativt kan du sende og acceptere dit eget svar.
Svar
Det afhænger af, hvilken mekanisme du bruger, og ja Cwnd fortsætter med at stige, indtil dit første pakkefald sker, du kan læse mere om langsom start og anden mekanisme i linkene b elow.
Grundlæggende langsom start [rediger] Algoritmen begynder i den eksponentielle vækstfase oprindeligt med en Congestion Window Size (CWND) på 1, 2 eller 10 [2] segmenter og øger den med en Segmentstørrelse (SS) for hver ny ACK modtaget. Hvis modtageren sender en ACK for hvert segment, fordobler denne adfærd effektivt vinduesstørrelsen hver rundtur i netværket. Hvis modtageren understøtter forsinkede ACKer, er stigningshastigheden lavere, men stiger stadig med mindst en MSS hver rundturstid. Denne adfærd fortsætter, indtil overbelastningsvinduesstørrelsen (CWND) når størrelsen på modtagerens annoncerede vindue, eller indtil et tab opstår.
Kommentarer
- Hej, tak for dit svar. Det ville hjælpe, hvis du kunne tilføje citater fra de sider, du linkede til for at understøtte dit svar.
- Ja, jeg læste det, men jeg synes ikke ' at det ' er meget klart. " Denne adfærd " betyder sandsynligvis en fordobling af Cwnd. OK, så forudsat at der ikke opstår tab, hvad sker der, når Cwnd når Rwnd? Det ' t udtrykkeligt sige. Under overbelastningsundgåelsesfasen stiger Cwnd stadig med 1 for hver RTT, uanset Rwnd?
- Nej, hvis der ikke er noget tab, øges CWND indtil den når RWND, så CWND stiger med 1 for hver RTT, indtil den når grænsen, som er RWND.
- Hele ideen med en CWND er, hvordan man når den maksimale overførselsgrænse uden at skabe overbelastning, så forskellige algoritmer opfører sig forskelligt, men det gælder for dem alle, hvis der ikke er nogen overbelastning, øges vinduerne indtil grænsen, som er annonceret af modtageren. Tænk på det på denne måde, hvad er meningen med at sende flere pakker, hvis den tilsigtede modtager ikke kan håndtere dem og skal droppe dem.
Skriv et svar