Śledzenie indywidualnych konwersacji

W warstwie transportowej, każdy taki zestaw danych przesyłanych pomiędzy aplikacjami nazywa się konwersacją (rys. 1). Każdy host może mieć uruchomionych wiele aplikacji komunikujących się poprzez sieć. Każda z tych aplikacji będzie komunikować się z jedną lub kilkoma aplikacjami na zdalnych hostach. Funkcją warstwy transportowej jest utrzymanie oraz śledzenie tych konwersacji.

Segmentacja i powtórne składanie pakietów danych.

Dane te muszą zostać przygotowane do wysłania poprzez medium w możliwych do zarządzania częściach. Ilość danych zawartych w pakiecie jest ograniczona możliwościami sieci. Usługi, świadczone przez protokoły warstwy aplikacji są odpowiedzialne za podział danych na segmenty o odpowiedniej wielkości. Ponadto ich zadaniem jest enkapsulacja każdej podzielonej porcji danych. Do każdej części jest dodawany nagłówek, zawierający informację, pozwalającą na dekapsulację danych. Dodatkowo, informacje zawarte w nagłówku, pozwalają śledzić proces komunikacji.

Warstwa transportowa hosta docelowego musi mieć możliwość złożenia danych z otrzymanych części w całość, tak aby było to użyteczne dla warstwy aplikacji. Protokoły warstwy transportowej opisują w jaki sposób, bazując na nagłówku, można złożyć poszczególne części, tak aby można je wykorzystać w warstwie wyższej.

Identyfikowanie aplikacji

Każdy host w sieci może mieć uruchomionych jednocześnie wiele aplikacji. W celu przekazania strumieni danych do właściwych aplikacji, warstwa transportowa musi każdą z nich odpowiednio zidentyfikować (rys. 3). By tego dokonać, w warstwie transportowej, aplikacji przydzielany jest identyfikator. Ten identyfikator to tzw. "numer portu". Każdemu procesowi lub programowi, który chce skorzystać z dostępu do sieci przypisany zostaje unikalny numer portu. Tak więc, warstwa aplikacji używa numerów portu do identyfikacji usługi lub (i) aplikacji.