Layer-ul transport trebuie să poată separa și gestiona mai multe comunicații care au cerințe de transport diferite. De exemplu, luați în considerare un utilizator conectat la o rețea de pe un echipament final. Utilizatorul primește și trimite email-uri și mesaje instant în același timp în care vizitează și site-uri web sau participă la un apel telefonic VoIP. Fiecare aplicație primește și trimite date prin rețea în același timp, în ciuda cerințelor diferite de fiabilitate. În plus, datele de la apelul telefonic nu sunt direcționate către navigatorul web, iar textul de la mesajele instant nu apar în email.

Pentru fiabilitate, utilizatorii au nevoie ca email-ul sau pagina web să se primească complet și să se prezinte în întregime, pentru ca informația să fie utilă. Ușoarele întârzieri în încărcarea email-ului sau a paginii web sunt de obicei acceptate, atâta timp cât produsul final este arătat în întregime și corect. În acest exemplu, rețeaua gestionează retrimiterea sau înlocuirea informației lipsă, și nu afișează produsul final până când nu este primit și asamblat totul.

În schimb, părți mici ce pot lipsi dintr-o conversație telefonică pot fi considerate acceptabile. Chiar dacă unele părți mici sau câteva cuvinte lipsesc, acestea se pot deduce din contextul conversației sau putem ruga interlocutorul să repete. Acest lucru este de preferat pentru întârzierile apărute în cazul în care rețeaua trebuie să gestioneze și să retrimită segmentele lipsă. În acest exemplu, utilizatorul, nu rețeaua gestionează retransmiterea sau înlocuirea informației lipsă.

Așa cum se arată în figură, pentru ca TCP și UDP să gestioneze aceste conversații simultan având cerințe diferite, TCP și serviciile bazate pe UDP trebuie să urmărească comunicarea diferitelor aplicații. Pentru a diferenția segmentele și datagramele pentru fiecare aplicație, TCP și UDP au câmpuri în header ce pot identifica în mod unic acestea aplicații. Acești identificatori unici sunt numere de port.