TCP Congestion Protokoller

TCP Congestion Protokoller


Internet Protocol (IP) og (TCP) Transmission Control Protocol er de to protokollene internett er bygget på. Alle etterfølgende internettprotokoller er bygget på toppen av disse to grunnleggende protokoller. I utgangspunktet bryter IP opp meldinger i pakker og adresser dem. TCP flytter dem til deres destinasjon og reassembles pakkene tilbake i en melding. TCP sørger også pakkene ta minst trafikkerte ruten til bestemmelsesstedet.

Pakkesvitsjing Networks

The Internet sender meldinger (inkludert e-post, nettsider, filer, bilder og filmer) ved å bryte meldingen opp i pakker, adressering pakkene, gjeting dem til sine destinasjoner og deretter remontere meldingen. Pakkene sendes en av gangen og TCP venter på en bekreftelse (kalt en ACK) før sending av neste pakke. Ettersom hver pakke mottas ved en node underveis, TCP velger hvilken rute som er best for å få det til adressen på pakken. Prosedyrene som TCP bruker for å velge den optimale ruten er i stadig utvikling, men det er alltid er basert på hvordan responsive hver rute er og hvor mange ACKer mangler på en bestemt rute.

TCP History

De to første versjonene av TCP, i 1980, var Tahoe og Reno (oppkalt etter steder i Nevada der de ble utviklet). Disse to versjonene startet tradisjonen med å bruke "vinduer" knyttet til hver rute. Vindusstørrelser begrense hvor mange pakker er planlagt å sende over en bestemt rute. På 1990-tallet ble TCP Vegas utviklet & ndash; Vegas anvendt en tidsbasert algoritme, snarere enn en ACK-basert algoritme & ndash; for å angi størrelsen på vinduet. Slutten av 1990 ble det introdusert Hybla og BIC versjoner av TCP og kompenserte for nyutviklede satellittmikro ruter. Nye algoritmer ga forrang til disse nye high-speed og høykapasitets kanaler. Moderne utviklingen inkluderer TCP CUBIC, som bruker en kubisk ligning for å angi størrelsen på vinduet.

TCP Congestion Windows

Hver utgang fra en Internett-node vil ha et vindu hvis størrelse varierer avhengig av trafikkforhold. Vinduet inneholder pakker som er sendt langs den ruten og venter på et ACK. Hvis en pakke som venter på å bli sendt på nytt er liten nok til å passe i en passende vindu, legges den til vinduet og sendte langs ruten. En pakke forblir i vinduet inntil ACK er mottatt. Vindusstørrelser endres etter hvert som Internett-trafikk endringer, i henhold til TCP lunger reguleringsalgoritmer.

TCP Congestion Algoritmer

Vindusstørrelse blir styrt av en annen algoritme for hver type av TCP. Vanligvis starter et vindu på det dobbelte av Maximum Segment Size (MSS) og øker med hver vellykket ACK. Når en pakke "tider out" (ingen ACK etter en tilstrekkelig lang tid) vindusstørrelsen avtar. Vindusstørrelsen reduseres også når node mottar dupliserte ACK som dette betyr at noe er galt med ruten. Under normal drift, er det nesten alltid pakker som venter på å bli sendt. De blir behandlet i rekkefølge ved hjelp av den første vindu som har rom.