TCP upptäcker trängsel genom en kombination av mekanismer, främst förlitar sig på feedback från själva nätverket:
1. Explicit Congestion Notification (ECN):
* Hur det fungerar: Routrar längs vägen kan ställa in trängseln erfaren (CE) bit i IP -rubriken på ett paket. Detta är en icke-förlustbaserad signal som indikerar trängsel * innan * paketförlust inträffar. TCP -avsändaren får sedan detta markerade paket och reagerar i enlighet därmed.
* Fördelar: Tillåter mjukare trängselkontroll eftersom den ger tidig varning. Förhindrar paketförlust, vilket är mer störande.
* Nackdelar: Kräver routerstöd för ECN, som inte är universellt distribuerad.
2. Paketförlust:
* Hur det fungerar: Detta är den vanligaste metoden. När ett paket går förlorat (på grund av trängsel eller andra skäl) får TCP -avsändaren inte ett erkännande (ACK) för det paketet inom rimlig tid. Detta tolkas som en indikation på trängsel.
* Fördelar: Enkel och allmänt tillämplig; kräver inga speciella nätverksfunktioner.
* Nackdelar: Reagerar på trängsel * efter * paketförlust har inträffat, vilket leder till en mer störande upplevelse. Det är också mindre exakt än ECN, eftersom förlust kan orsakas av andra skäl förutom trängsel.
3. Timeouts:
* Hur det fungerar: TCP använder timers för att förvänta sig ACK. Om en ACK för ett paket inte tas emot innan timern löper ut, antar avsändaren paketförlust (eventuellt på grund av trängsel) och reagerar i enlighet därmed.
* Fördelar: Ger en säkerhetskopieringsmekanism om andra metoder misslyckas.
* Nackdelar: Kan vara mindre känslig för trängsel än andra metoder; Timervärden behöver noggrann inställning.
4. Duplicerade ACKS:
* Hur det fungerar: Om avsändaren tar emot tre duplikat ACK för samma paket, ger det ett paket som följer den erkända en kan ha gått förlorad (eller försenats). Detta antyder trängsel.
* Fördelar: Detekterar trängsel * innan * en timeout inträffar, vilket erbjuder ett snabbare svar.
* Nackdelar: Förlitar sig på antagandet att paketförlust är orsaken, inte nödvändigtvis överbelastning själv. Kan utlösas av andra nätverksproblem.
Sammanfattningsvis:
TCP:s trängseldetektering är en mångfacetterad strategi. Helst använder den ECN för tidig, icke-störande upptäckt. Om ECN inte är tillgängligt eller ineffektivt faller det tillbaka på detektering av paketförlust via timeouts och duplicerade ACKS. Dessa mekanismer, i kombination med TCP:s trängselskontrollalgoritmer (som långsam start, undvikande av trängsel, snabb återförsäljning, snabb återhämtning), arbetar tillsammans för att justera sändningshastigheten för att matcha nätverkets kapacitet, och därmed undvika eller mildra trängsel.