Protokoły warstwy transportowej zapewniają łączność pomiędzy procesami wykonywanymi w dwóch różnych komputerach, nie integrując w wybór trasy przesyłu informacji. Ponieważ na jednym komputerze może być wykonywanych wiele procesów jednocześnie, muszą one korzystać z różnych punktów kontaktowych, aby sobie wzajemnie nie przeszkadzały. Takie logiczne obiekty, służące jako skrzynki nadawczo-odbiorcze, dla poszczególnych procesów nazywamy portami. Porty numerowane są liczbami dwubajtowymi dla każdego protokołu warstwy transportowej oddzielnie.
Portów tych nie należy mylić z fizyczną przestrzenią portów danego komputera.
Aby 2 procesy mogły się skomunikować, należy określić elementy w następującej kolejności: protokół -> adres 1 -> port 1 -> adres 2 - > port 2. Jest to tzw. asocjacja (ang. association). Dla jednego procesu mamy: protokół -> adres -> port.
Jest to tzw. półasocjacja (ang. half-association).
Protokoły warstwy transportowej
W warstwie transportowej wyróżniamy dwa podstawowe protokoły:
- TCP- protokół kontroli transmisji (ang. Transmission Control Protocol). Jest to strumieniowy protokół komunikacji między dwoma komputerami stosowany tam, gdzie zagwarantowany jest przepływ danych dowolnej długości w obydwie strony lub wymagane jest zwrotne poinformowanie nadawcy o nieusuwalnym błędzie. TCP jest protokołem działającym w trybie klient-serwer:
- serwer oczekuje na nawiązanie połączenia,
- klient inicjuje połączenie do serwera.
W odróżnieniu do protokołu UDP, TCP gwarantuje wyższym warstwom komunikacyjnym dostarczenie wszystkich pakietów w całości z zachowaniem kolejności bez duplikatów. Zapewnia to wiarygodne połączenie kosztem większego narzutu w postaci nagłówka i większej
liczby przesyłanych pakietów.
- UDP- jest prostym protokołem bezpołączeniowym, operującym na jednostkach informacji nazywanych datagramami UDP lub komunikatami (ang. message). Jest stosowany głównie tam, gdzie przesyłane porcje informacji są nieduże, gdzie występuje pojedyncza wymiana informacji oraz w sieciach lokalnych, gdzie transmisja charakteryzuje się dużo większą niezawodnością. UDP jest protokołem szybszym ze względu na swoją prostotę. Przy niedużych ilościach przesyłanej informacji może opłacać się i zapewniać niezawodność na poziomie programu użytkowego bardziej niż korzystając z wbudowanych mechanizmów protokołu TCP (uznawanego obecnie za dość powolny).