Protokoły TCP a UDP
Zarówno TCP, jak i UDP pasują do czwartej warstwy w modelu OSI, która jest warstwą transportową tuż nad warstwą IP. Zarówno TCP, jak i UDP obsługują transmisję danych na dwa różne sposoby: TCP jest zorientowany na połączenie, a UDP na mniej.
W transporcie pakietów występują dwa główne ograniczenia, jeden to niezawodność, a drugi opóźnienie. Niezawodność jest gwarantowana podczas dostarczania pakietu, a opóźnienie jest dostarczane w odpowiednim czasie. Oba nie można osiągnąć szczytowo w tym samym czasie, ale można je zoptymalizować.
Aby zainicjować transmisję danych między dwoma węzłami, nadawca powinien znać adres IP odbiorcy oraz numer portu. Adres IP ma przekierowywać pakiet, a numer portu ma przekazywać pakiet właściwej osobie. Dalsze wyjaśnienie tego scenariusza na przykładzie z prawdziwego świata, pomyśl o środowisku złożonym z wielu sklepów i ktoś skierował cię do sklepu 30 (czyli salonu fryzjerskiego), Golden Plaza, No 21 Park Ave, aby dotrzeć do tego miejsca, musisz wiedzieć tylko Nie 21 park avenue, ale aby skorzystać z usługi saloon, musisz znać numer sklepu, który wynosi 30. Możesz założyć nr 21 jako adres IP i sklep nr 30 jako port nr.
Podobnie jak w przypadku usług transmisji danych i usług aplikacji, aplikacje TCP nasłuchują numerów portów, aby zaakceptować połączenia TCP. Podobnie jak aplikacje UDP, nasłuchują również numerów portów, aby świadczyć usługi UDP.
TCP:
Zdefiniowane w RFC 793
TCP jest zorientowanym na połączenie niezawodnym protokołem obsługującym gwarantowaną transmisję danych. Od samego ustanowienia połączenia TCP zapewnia niezawodność. Niektóre z głównych funkcji TCP to uzgadnianie w 3 kierunkach (SYN, SYN-ACK, ACK), wykrywanie błędów, powolny start, kontrola przepływu i kontrola przeciążenia.
TCP jest niezawodnym mechanizmem transportowym, więc będzie używany tam, gdzie dostarczanie pakietów jest koniecznością, nawet w zatorach. Typowym przykładem aplikacji TCP i numerów portów są dane FTP (20), Kontrola FTP (21), SSH (222), Telnet (23), Poczta (25), DNS (53), HTTP (80), POP3 (110) , SNMP (161) i HTTPS (443). Są to dobrze znane aplikacje TCP.
UDP:
Zdefiniowane w RFC 768
UDP (User Datagram Protocol) to prosty protokół transmisji, który zapewnia niezawodną obsługę. Nie oznacza to, że UDP nie dostarczy danych, ale nie ma mechanizmów monitorowania kontroli przeciążenia lub utraty pakietów itp. Ponieważ jest to proste, unika się nadmiernego przetwarzania w interfejsie sieciowym. Aplikacje czasu rzeczywistego używają głównie UDP, ponieważ upuszczanie pakietów jest lepsze niż pakietów opóźnionych. Typowym przykładem są przepływy mediów VoIP.
Streszczenie:
(1) TCP jest zorientowany na połączenie i niezawodny, ponieważ jako UDP połączenie jest mniej niezawodne.
(2) TCP wymaga więcej przetwarzania na poziomie interfejsu sieciowego, w przeciwieństwie do UDP.
(3) TCP korzysta z 3-kierunkowego uzgadniania, kontroli zatorów, kontroli przepływu i innych mechanizmów zapewniających niezawodną transmisję.
(4) UDP jest stosowany głównie w przypadkach, gdy opóźnienie pakietu jest poważniejsze niż utrata pakietu. (Aplikacje w czasie rzeczywistym)