background image

Protokół UDP (User Datagram Protocol) 

Protokół UDP jest standardem TCP/IP zdefiniowanym w specyfikacji RFC 768 „User Datagram Protocol 

(UDP)”. Protokół UDP jest używany przez niektóre programy zamiast protokołu TCP do szybkiego, 

uproszczonego, mniej niezawodnego przesyłania danych między hostami TCP/IP. 

Protokół UDP jest usługą wymiany datagramów bez ustanowionego połączenia, która zapewnia najlepszą 

jakość dostarczania, co oznacza, że protokół UDP nie gwarantuje dostarczenia i sprawdzania sekwencji 

datagramów. Host źródłowy wymagający niezawodnych połączeń powinien korzystać z protokołu TCP lub 

programu, który posiada wbudowane własne usługi sprawdzania sekwencji i potwierdzania. 

Komunikaty UDP są hermetyzowane i wysyłane w datagramach IP w sposób pokazany na rysunku. 

 

Obraz 

Porty UDP 

Porty UDP służą do wysyłania i odbierania komunikatów UDP. Port UDP funkcjonuje jako pojedyncza 

kolejka komunikatów, która służy do odbierania wszystkich datagramów przez program określony za 

pomocą numeru portu protokołu. Oznacza to, że programy UDP mogą jednocześnie odbierać kilka 

komunikatów. 

Strona serwera każdego programu wykorzystującego port UDP oczekuje na komunikaty przychodzące do 

dobrze znanego numeru portu. Wszystkie numery portów serwerów UDP o wartościach niższych od 1024 

(i niektóre wyższe numery) są zarezerwowane i zarejestrowane przez organizację IANA (Internet 

Assigned Numbers Authority). 

Każdy port serwera UDP jest identyfikowany za pomocą zarezerwowanego lub dobrze znanego numeru 

portu. W tabeli przedstawiono część listy dobrze znanych numerów portów serwerów UDP 

wykorzystywanych przez standardowe programy UDP. 

 

Numer portu UDP

 Opis 

53 

Kwerendy nazw DNS 

69 

Protokół TFTP (Trivial File Transfer Protocol) 

137 

Usługa nazw NetBIOS 

138 

Usługa datagramów NetBIOS 

161 

Protokół SNMP (Simple Network Management Protocol) 

520 

Protokół RIP (Routing Information Protocol) 

Protokoły UDP i TCP 

Ogólne różnice w sposobie dostarczania danych między protokołem UDP a protokołem TCP są podobne 

do różnicy między używaniem telefonu a kartki pocztowej. Protokół TCP działa jak telefon, sprawdzając, 

czy miejsce docelowe jest dostępne i gotowe do ustanowienia połączenia. Protokół UDP działa jak kartka 

pocztowa — komunikaty są niewielkie, a ich dostarczenie prawdopodobne, ale nie zawsze pewne. 

Protokół UDP jest zwykle wykorzystywany przez programy, które służą do jednorazowego przesyłania 

małych ilości danych lub mają wymagania dotyczące czasu rzeczywistego. W takich przypadkach niskie 

wymagania organizacyjne i funkcje obsługi multiemisji protokołu UDP (na przykład jeden datagram, 

wielu odbiorców) są bardziej przydatne niż funkcje protokołu TCP.  

background image

Protokół UDP różni się wyraźnie pod względem usług i funkcji od protokołu TCP. W poniższej tabeli 

przedstawiono porównanie połączeń TCP/IP w zależności od tego, czy do transportowania danych jest 

używany protokół UDP, czy protokół TCP.  

 

UDP

 

TCP

 

Usługa bez ustanowionego połączenia; między hostami nie 

jest ustanawiana sesja. 

Usługa zorientowana na połączenie; między 

hostami jest ustanawiana sesja. 

Protokół UDP nie gwarantuje dostarczenia przesyłki, a 

także potwierdzania i szeregowania danych. 

Protokół TCP gwarantuje dostarczenie 

przesyłki dzięki użyciu potwierdzania i 

szeregowania dostarczania danych. 

Programy wykorzystujące protokół UDP odpowiadają za 

prawidłowe transportowanie danych. 

Programy wykorzystujące protokół TCP mają 

zapewniony niezawodny transport danych. 

Protokół UDP jest szybki, ma niskie wymagania 

organizacyjne i obsługuje połączenia bezpośrednie i 

połączenia jednego punktu z wieloma punktami. 

Protokół TCP jest wolniejszy, ma wyższe 

wymagania organizacyjne i obsługuje tylko 

połączenia bezpośrednie. 

Protokoły UDP i TCP rozpoznają połączenia poszczególnych programów TCP/IP na podstawie portów, 

których te programy używają. 

Protokół sterowania transmisj

ą

 (TCP, Transmission Control 

Protocol) 

Protokół sterowania transmisją (TCP, Transmission Control Protocol) 

Protokół TCP jest wymaganym standardem połączenia TCP/IP zdefiniowanym w specyfikacji RFC 793 

„Transmission Control Protocol (TCP)”, który zapewnia niezawodne i szybkie dostarczanie pakietów. 

Protokół TCP: 

Zapewnia dostarczanie datagramów IP. 

Wykonuje dzielenie na segmenty i ponownie łączy duże bloki danych przesłanych przez programy. 

Zapewnia poprawne szeregowanie i uporządkowane dostarczanie podzielonych danych. 

Sprawdza integralność przesyłanych danych, obliczając sumy kontrolne. 

Wysyła komunikaty potwierdzające odebranie danych. Dzięki funkcji potwierdzania selektywnego są 

także przesyłane komunikaty o niedostarczeniu danych. 

Umożliwia wybór preferowanej metody transportu programom, takim jak bazy danych w środowisku 

klient/serwer i programy poczty e-mail, które muszą używać niezawodnej transmisji danych w sesjach. 

Jak działa protokół TCP 

Protokół TCP jest oparty na bezpośredniej komunikacji między dwoma hostami sieciowymi. Protokół TCP 

otrzymuje dane z innych programów i przetwarza je jako strumień bajtów. Bajty są grupowane w 

segmenty, które są następnie numerowane i szeregowane do wysyłki przez protokół TCP. 

Zanim będzie możliwa wymiana danych między dwoma hostami TCP, musi zostać ustanowiona sesja 

między nimi. Sesja TCP jest inicjowana za pomocą procesu zwanego uzgadnianiem trójstopniowym. 

Proces ten synchronizuje numery sekwencji i zapewnia kontrolę nad informacjami, co jest warunkiem 

niezbędnym do ustanowienia połączenia wirtualnego między dwoma hostami. 

Po ukończeniu uzgadniania trójstopniowego segmenty są wysyłane i zatwierdzane sekwencyjnie między 

hostami. Podobny proces uzgadniania jest wykonywany przez protokół TCP przed zamknięciem 

połączenia w celu sprawdzenia, czy oba hosty zakończyły wysyłanie i odbieranie danych. 

Segmenty TCP są hermetyzowane i wysyłane w datagramach IP w sposób pokazany na rysunku. 

background image

 

Obraz 

Porty TCP 

Porty TCP wykorzystują określone porty programów do dostarczania danych wysłanych za pomocą 

protokołu TCP. Porty TCP są bardziej złożone i działają inaczej niż porty UDP. 

Port UDP działa jako jedna kolejka komunikatów i punkt końcowy dla połączeń UDP. Punktem końcowym 

całej komunikacji TCP jest unikatowe połączenie. Każde połączenie TCP jest unikatowo identyfikowane 

dzięki dwóm punktom końcowym. 

Każdy port serwera TCP umożliwia dostęp do wielu połączeń, ponieważ wszystkie połączenia TCP są 

unikatowo identyfikowane za pomocą dwóch par adresu IP i portu TCP (jedna para adres/port dla 

każdego podłączonego hosta). 

Programy TCP korzystają z zarezerwowanych lub dobrze znanych numerów portów, co pokazano na 

rysunku. 

 

Obraz 

Strona serwera każdego programu wykorzystującego port TCP oczekuje na komunikaty przychodzące do 

dobrze znanego numeru portu. Wszystkie numery portów serwerów TCP o wartościach niższych od 1024 

(i niektóre wyższe numery) są zarezerwowane i zarejestrowane przez organizację IANA (Internet 

Assigned Numbers Authority). 

W tabeli przedstawiono część listy dobrze znanych numerów portów serwerów TCP wykorzystywanych 

przez standardowe programy TCP. 

 

Numer portu TCP

 Opis 

20 

Serwer FTP (kanał danych) 

21 

Serwer FTP (kanał kontrolny) 

23 

Serwer Telnet 

53 

Transfery stref DNS 

80 

Serwer sieci Web (HTTP) 

139 

Usługa sesji NetBIOS