Despre IP se spune deseori că este un protocol de livrare best-effort sau nesigur. Asta nu înseamnă că IP funcționează corespunzător uneori, iar uneori nu, nici că este un protocol de comunicare de date slab. Nesigur se referă efectiv la faptul că IP nu poate gestiona și recupera datele din pachetele corupte sau nelivrate. Aceste lucruri se întâmplă deoarece, în timp ce pachetele IP sunt trimise cu informații despre locația de livrare, nu conțin informații ce pot fi procesate pentru a informa expeditorul dacă livrarea s-a realizat cu succes. Nu există date de sincronizare incluse în header-ul pachetului pentru urmărirea ordinii în care sunt livrate pachetele. De asemenea, nu există confirmări pentru livrarea pachetelor cu IP și nici date pentru controlul erorilor pentru a urmări dacă pachetele au fost livrate fără corupere. Pachetele pot sosi la destinație corupte, în ordine aleataore sau deloc. În funcție de informația furnizată de header-ul IP, nu există o opțiune pentru retransmiterea pachetului dacă apar astfel de erori.

Dacă problemele sosite aleator sau lipsă creează probleme pentru aplicația care folosește datele, atunci serviciile layer-ului superior, cum ar fi TCP, trebuie să rezolve aceste probleme. Acest lucru permite IP-ului să funcționeze într-o manieră foarte eficientă. Dacă traficul suplimentar al fiabilității ar fi fost inclus in IP, atunci transmisiunile care nu necesită conexiuni sau fiabilitate ar fi afectate de către consumarea lățimii de bandă și de întârzierile produse de către acest trafic suplimentar. În suita TCP/IP, layer-ul transport poate utiliza TCP sau UDP în funcție de nevoia pentru siguranță în comunicație. Lăsând decizia cu privire la fiabilitate layer-ului de transport, IP-ul devine mai adaptabil pentru tipuri diferite de comunicație.

Figura arată un exemplu de comunicații IP. Pentru protocoalele orientate pe conexiune, cum ar fi TCP, datele de control trebuie interschimbate pentru a stabili conexiunea. Pentru a menține informațiile despre conexiune, TCP necesită și câmpuri adiționale în header-ul PDU.