Det finns ingen enda garanti för paketleverans i Internet:s bästa ansträngningsnätverksmodell. Istället uppnås tillförlitlig leverans genom olika protokoll och mekanismer som arbetar för att * öka * sannolikheten för framgångsrik överföring, men de erbjuder inte absoluta garantier. Här är en uppdelning:
* TCP (Transmission Control Protocol): TCP är arbetshästen för tillförlitlig dataöverföring. Det använder flera tekniker för att säkerställa tillförlitlig leverans:
* Sekvensnummer: Varje paket är numrerat, vilket gör att mottagaren kan upptäcka saknade eller orderpaket.
* Erkännanden (ACKS): Mottagaren skickar ACKS tillbaka till avsändaren och bekräftar mottagandet av paket. Om en ACK inte mottas inom en tidsperiod återställer avsändaren paketet.
* Flödeskontroll: TCP hanterar hastigheten för dataöverföring för att förhindra att avsändaren överväldigar mottagaren.
* trängselskontroll: TCP justerar överföringshastigheten baserad på nätverksöverbelastning för att förhindra överbelastning av nätverk.
Även med TCP är absoluta garantier svårfångade. Extremt sällsynta händelser som katastrofala nätverksfel eller långvariga nätverkspartitioner kan fortfarande leda till paketförlust.
* UDP (användardatagramprotokoll): UDP är ett anslutningsfritt protokoll som inte garanterar leverans. Det är snabbare än TCP eftersom det inte inkluderar omkostnaderna för tillförlitlighetsmekanismerna. Applikationer som kan tolerera viss paketförlust (som strömmande video eller onlinespel) använder ofta UDP. Tillförlitlighet, vid behov, implementeras på applikationsnivå.
* Mekanismer på applikationsnivå: Applikationer kan bygga sina egna tillförlitlighetsmekanismer ovanpå UDP eller till och med TCP för att förbättra tillförlitligheten ytterligare. Detta kan involvera saker som:
* Överföringsprotokoll: Liknar TCP:s vidarebefordringsmekanism, men hanteras av applikationen.
* kontrollsummor och felkorrigeringskoder: Dessa hjälper till att upptäcka och ibland korrigera fel i mottagna paket.
Sammanfattningsvis:Medan TCP och olika mekanismer på applikationsnivå avsevärt förbättrar sannolikheten för paketleverans ger inget nätverksprotokoll en 100% garanti. Externa faktorer som nätverksavbrott, fel i utrustningen och skadliga attacker kan alltid störa växellådan. Tillförlitlighet är en fråga om sannolikhet och mildring, inte absolut säkerhet.