Protokoły warstwy transportowej



Warstwa transportowa pełni w procesie przesyłu danych bardzo ważne funkcje. Przede wszystkim odpowiedzialna jest za prawidłowy przebieg komunikacji oraz jej niezawodność. Określa również sposób segmentacji danych (zasady dzielenia ich na możliwe do zarządzania części) oraz późniejszego ich scalania, a także identyfikuje dane pochodzące z różnych aplikacji (poprzez numery portów). W warstwie transportowej pracują dwa bardzo popularne protokoły - UDP i TCP. Protokoły te zajmują się obsługą transmisji danych są w stanie zarządzać wieloma równoczesnymi transmisjami. Mimo iż pełnią niemal taką samą funkcję, różnią się pewnymi aspektami.

Protokół UDP

Jest to protokół bezpołączeniowy, więc nie ma narzutu na nawiązywanie połączenia i śledzenie sesji (w przeciwieństwie do TCP, dzięki czemu jest od niego prostszy). Nie ma też mechanizmów kontroli przepływu i retransmisji. Korzyścią płynącą z takiego uproszczenia budowy jest szybsza transmisja danych i brak dodatkowych zadań. Porcje danych UDP są nazywane datagramami.

Aplikacje, które używają protokołu UDP to m.in.:
  • system nazw domenowych DNS (ang. Domain Name System),
  • aplikacje przesyłające strumienie Video,
  • transmisja głosu przez sieć IP (VoIP).

Protokół TCP

TCP jest protokołem połączeniowym, tworzącym tzw. segmenty, który wprowadza pewien dodatkowy narzut, ze względu na większą liczbę realizowanych funkcji, takich jak dostarczanie ich we właściwej kolejności czy niezawodne dostarczanie i kontrola przepływu. Każdy segment TCP dodaje aż 20 dodatkowych bajtów w nagłówku, gdzie datagram UDP dodaje tylko 8 dodatkowych bajtów. Główną zaletą tego protokołu jest niezawodność, którą gwarantuje konieczność wysłania potwierdzenia przez hosta odbierającego dane zanim dostanie przesłany kolejny segment.

Aplikacje wykorzystujące protokół TCP to:
  • przeglądarki stron WWW,
  • e-mail,
  • programy do przesyłania plików.

Porty aplikacji

W poprzednim temacie przy protokołach do każdego z nich podawaliśmy numer portu. Każdy protokół, aplikacja musi posiadać port aby warstwa transportowa potrafiła je rozróżnić i we właściwy sposób pokierować przepływem danych. Istnieją 3 typy numerów portów aplikacji:
  • dobrze znane porty (numery od 0 do 1023) – te numery są zarezerwowane dla usług i aplikacji. Są one powszechnie używane dla aplikacji takich jak serwery WWW (HTTP) czy serwery poczty elektronicznej (POP3/SMTP),
  • zarejestrowane porty (numery od 1024 do 49151) – te numery są zarezerwowane dla aplikacji i procesów użytkownika. Są to przede wszystkim porty używane przez aplikacje i usługi tworzone na małą skalę,
  • dynamiczne lub prywatne numery portów (od 49152 do 65535) – to numery portów, które są dynamicznie losowane przez aplikacje klienckie podczas inicjowania połączeń.

Autor: APTechnology Data: 2016-12-27