Many programs do not handle the individual packets themselves, even though the data they transmit does travel over IP; they often use TCP (<emphasis>Transmission Control Protocol</emphasis>). TCP is a layer over IP allowing the establishment of connections dedicated to data streams between two points. The programs then only see an entry point into which data can be fed with the guarantee that the same data exits without loss (and in the same sequence) at the exit point at the other end of the connection. Although many kinds of errors can happen in the lower layers, they are compensated by TCP: lost packets are retransmitted, and packets arriving out of order (for example, if they used different paths) are re-ordered appropriately.
معظم البرامج لا تعالج الرزم المفردة بنفسها، رغم أن البيانات التي ترسلها تنتقل فعلاً عبر IP؛ إلا أنها غالبًا ما تستخدم TCP (<emphasis>بروتوكول التحكم بالإرسال Transmission Control Protocol</emphasis>). بروتوكول TCP هو طبقة فوق IP تسمح بفتح اتصال مخصص لنقل البيانات بين نقطتين. يرى البرنامج عندها نقطة دخول يمكن تغذيتها بالبيانات مع ضمان أن البيانات نفسها ستخرج دون ضياع (وبالترتيب نفسه) من نقطة الخروج عند الطرف الآخر من الاتصال. بالرغم من إمكانية حدوث العديد من الأخطاء في الطبقات السفلى، إلا أن TCP يصلحها: يعاد إرسال الرزم المفقودة، وترتب الرزم التي تصل غير مرتبة (إذا انتقلت عبر مسارات مختلفة مثلاً) بشكل مناسب.