Protokoły TCP i UDP
Zarówno TCP, jak i UDP pasują do czwartej warstwy w modelu OSI, która jest warstwą transportową tuż nad warstwą IP. TCP i UDP obsługują transmisję danych na dwa różne sposoby, TCP jest zorientowany na połączenie, a UDP jest mniej połączenia.
W transporcie pakietów istnieją dwa główne ograniczenia, jednym jest niezawodność, a drugim opóźnienie. Niezawodność gwarantuje dostarczenie pakietu, a opóźnienie to terminowe dostarczenie pakietu. Nie można osiągnąć obu celów jednocześnie, ale można je zoptymalizować.
Aby zainicjować komunikację danych między dwoma węzłami, nadawca powinien znać adres IP odbiorcy oraz numer portu. Adres IP służy do trasowania pakietu, a numer portu do przekazania pakietu właściwej osobie. Wyjaśniając dalej ten scenariusz na przykładzie ze świata rzeczywistego, pomyśl o środowisku z wieloma sklepami, a ktoś skierował Cię do sklepu 30 (który jest salonem fryzjerskim), Golden Plaza, No 21 Park Ave, aby dotrzeć do tego miejsca, musisz tylko wiedzieć Nie 21 park avenue, ale aby otrzymać usługę z saloonu, musisz znać numer sklepu, czyli 30. Możesz założyć nr 21 jako adres IP, a sklep nr 30 jako port nr.
Tak samo jak w modelu transmisji danych i usług aplikacji Aplikacje TCP nasłuchują numerów portów, aby zaakceptować połączenia TCP. Podobnie jak aplikacje UDP, również nasłuchują numerów portów w celu dostarczania usług UDP.
TCP:
Zdefiniowane w RFC 793
TCP jest zorientowanym na połączenie, niezawodnym protokołem typu end-to-end, zapewniającym gwarantowaną transmisję danych. Od samego ustanowienia połączenia TCP zapewnia niezawodność. Niektóre z głównych funkcji TCP to uzgadnianie trójdrożne (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 przypadku zatorów. 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 (protokół datagramów użytkownika) to prosty protokół transmisji zapewniający zawodną usł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, pozwala uniknąć narzutów przetwarzania na interfejsie sieciowym. Aplikacje czasu rzeczywistego najczęściej używają protokołu UDP, ponieważ odrzucanie pakietów jest lepsze niż pakietów opóźnionych. Typowym przykładem jest przepływ mediów Voice over IP.
Podsumowanie:
(1) TCP jest zorientowany na połączenie i niezawodny, podczas gdy UDP jest połączeniem mniej i zawodnym.
(2) TCP wymaga większego przetwarzania na poziomie interfejsu sieciowego, podczas gdy tak jak w UDP, tak nie jest.
(3) TCP używa 3-kierunkowego uzgadniania, kontroli przeciążenia, kontroli przepływu i innych mechanizmów, aby zapewnić niezawodną transmisję.
(4) UDP jest używany głównie w przypadkach, gdy opóźnienie pakietu jest poważniejsze niż utrata pakietu. (Aplikacje w czasie rzeczywistym)