Fortsätter TCP Cwnd att öka om överföringen är begränsad av Rwnd?
On februari 13, 2021 by adminJag försöker förstå vad som händer med TCP Congestion Window (Cwnd) om överföringshastigheten är begränsad av mottagningsfönstret (Rwnd). Jag vet att överföringshastigheten är lägsta av Rwnd och Cwnd. Jag vet också att Cwnd ökar för varje ACK som tas emot. Antag att mottagningsbufferten är väldigt liten, så Rwnd förblir alltid mycket låg, men alla paket tas emot och ACKed. Betyder detta att Cwnd bara fortsätter att öka för alltid? Finns det någon gräns för det?
Kommentarer
- Hjälpte något svar dig? I så fall bör du acceptera svara så att frågan inte ' inte dyker upp för alltid och letar efter ett svar. Alternativt kan du lägga upp och acceptera ditt eget svar.
Svar
Det beror på vilken mekanism du använder, och ja Cwnd fortsätter att öka tills ditt första paketfall faller, du kan läsa mer om långsam start och annan mekanism i länkarna b elow.
Grundläggande långsam start [redigera] Algoritmen börjar i den exponentiella tillväxtfasen inledningsvis med en Congestion Window Size (CWND) på 1, 2 eller 10 [2] segment och ökar den med en Segment Size (SS) för varje ny ACK mottagen. Om mottagaren skickar en ACK för varje segment fördubblar detta beteende effektivt fönsterstorleken varje rundresa i nätverket. Om mottagaren stöder fördröjda ACK är ökningshastigheten lägre, men ökar fortfarande med minst en MSS varje tur och retur-tid. Detta beteende fortsätter tills överbelastningsfönstrets storlek (CWND) når storleken på mottagarens fönster eller tills en förlust inträffar.
Kommentarer
- Hej, tack för ditt svar. Det skulle hjälpa om du kunde lägga till citat från de sidor du hyperlänkade för att stödja ditt svar.
- Ja, jag läste det, men jag ' tycker inte att det ' är väldigt tydligt. " Detta beteende " betyder förmodligen fördubbling av Cwnd. OK, så förutsatt att ingen förlust inträffar, vad händer när Cwnd når Rwnd? Det ' säger inte uttryckligen. Under överbelastningsfasen ökar fortfarande Cwnd med 1 för varje RTT, oavsett Rwnd?
- Nej om det inte finns någon förlust ökar CWND tills den når RWND, så CWND ökar med 1 för varje RTT tills den når gränsen som är RWND.
- Hela idén med en CWND är hur man når maximal överföringsgräns utan att skapa trängsel, så olika algoritmer beter sig annorlunda, men det gäller för dem alla om det inte finns någon trängsel ökar fönstren till dess gräns som är annonserad av mottagaren. Tänk på det här, vad är poängen med att skicka fler paket om den avsedda mottagaren inte kan hantera dem och måste släppa dem.
Lämna ett svar