IP (Internetprotokoll) anses vara ett bästa ansträngningsprotokoll eftersom det inte ger några garantier för leverans, ordning eller integritet av datapaket. Det gör helt enkelt sitt bästa för att leverera dem, men det ger inga mekanismer för att säkerställa tillförlitlighet. Här är en uppdelning:
* Ingen leveransgaranti: IP lovar inte att varje paket kommer att nå sin destination. Paket kan gå förlorade på grund av nätstockningar, routerfel eller andra problem. Det finns ingen inbyggd mekanism för vidarebefordran.
* ingen beställningsgaranti: Paket kan komma ur ordning. IP garanterar inte att paket som skickas i följd kommer att tas emot i följd. De routingvägar som tagits av olika paket kan variera, vilket leder till avvikelser från ankomsttiden.
* Ingen integritetsgaranti: IP skyddar inte mot datakorruption. Paket kan ändras under överföringen utan att IP upptäcker det. Det finns ingen inbyggd feldetektering eller korrigering.
I huvudsak tillhandahåller IP en mekanism för att adressera och vidarebefordra paket, men det lämnar ansvaret för att säkerställa tillförlitlig dataöverföring till högre skiktprotokoll, såsom TCP (transmissionskontrollprotokoll). TCP bygger ovanpå IP för att tillhandahålla pålitlig, beställd och felkontrollerad leverans. UDP (användardatagramprotokoll), ett annat transportlagerprotokoll byggt ovanpå IP, använder också IP:s bästa ansträngningsleverans men ger varken tillförlitlighet eller ordning.
På grund av sin bästa ansträngning är IP effektiv och enkel. Denna enkelhet är avgörande för sin roll i internetens skalbarhet. Emellertid måste applikationer som kräver tillförlitlighet använda ett högre skiktprotokoll som ger dessa garantier ovanpå IP:s grundläggande vidarebefordran.