tcp vs udp what is difference between tcp
W tym samouczku wyjaśniono, czym jest TCP, czym jest UDP i jaka jest różnica między protokołem TCP a UDP. Dowiesz się również o ich funkcjach i zastosowaniach:
W naszych poprzednich samouczkach szczegółowo omówiliśmy model zestawu protokołów TCP i jego funkcje. Dowiedzieliśmy się również o protokole UDP.
W tym samouczku porównamy różne funkcje, tryby działania, aplikacje, szybkość, niezawodność, charakterystykę transmisji i funkcje bezpieczeństwa tych dwóch powszechnie używanych protokołów.
=> Przeczytaj serię Easy Computer Networking.
Czego się nauczysz:
- Co to jest TCP?
- Co to jest UDP?
- Proces komunikacji TCP i UDP
- Tabela porównawcza TCP Vs UDP
- Format nagłówka UDP Vs TCP
- Funkcje realizowane przez TCP
- Funkcje realizowane przez UDP
- Aplikacje TCP
- Zastosowania UDP
- Wniosek
- rekomendowane lektury
Co to jest TCP?
Protokół TCP / IP to zestaw protokołów składający się z czterech warstw. Ogólnie rzecz biorąc, te cztery warstwy przejmują odpowiedzialność za proces komunikacji i dostarczanie danych, głosu i pakietów od końca do końca przez Internet w sieci wewnętrznej i wewnętrznej.
Protokół kontroli transmisji (TCP) działa na trzeciej warstwie tego modelu protokołu, która jest warstwą transportową.
TCP to zorientowany na połączenie zestaw protokołów, który zapewnia dostarczenie pakietu danych do następnego węzła lub węzła docelowego dzięki zastosowaniu numeru sekwencyjnego w każdym datagramie i sesjach potwierdzających w każdej sesji komunikacyjnej.
System ten zapewnia również bezpieczną transmisję pakietów danych na każdej warstwie, a tym samym zapewnia retransmisję pakietów danych, chyba że osiągnie limit czasu lub otrzyma odpowiednią wiadomość potwierdzającą od odbiorcy.
Oto podstawowe cechy protokołu TCP.
Co to jest UDP?
Protokół User Datagram Protocol (UDP) działa w warstwie transportowej, która jest trzecią warstwą zestawu protokołów TCP / IP. W przeciwieństwie do protokołu TCP jest to protokół bezpołączeniowy, ponieważ nie ustanawia połączenia przed wysłaniem danych przez sieć w celu komunikacji.
Dlatego najlepiej nadaje się do zastosowań, w których nie ma potrzeby potwierdzania pakietów danych wymaganych w procesie komunikacji, takich jak oglądanie wideo online i granie w gry online.
Proces komunikacji TCP i UDP
Jak pokazano na powyższym rysunku, protokół sterowania transmisją jest zorientowany na połączenie, ponieważ najpierw ustanawia połączenie między dwoma hostami, a następnie rozpoczyna proces komunikacji. Służy do bezpiecznego trybu procesów komunikacyjnych, ponieważ zapewnia bezpieczną komunikację za pomocą trójstopniowego procesu uzgadniania.
Zapewnia sekwencyjne i poprawne dostarczanie danych od nadawcy do odbiorcy. Jeśli wystąpił błąd w wysyłaniu danych, odbiorca zorientuje się, że przesłane dane były nieprawidłowe, a następnie ponownie prześle dane do momentu otrzymania przez niego potwierdzenia prawidłowego dostarczenia danych.
Jak pokazano na powyższym rysunku, protokół datagramu użytkownika jest protokołem bezpołączeniowym, ponieważ nie jest ustanawiane prawidłowe połączenie między hostem A i hostem B w celu rozpoczęcia komunikacji. Hosty to tylko dwa urządzenia końcowe dowolnych procesów inicjujących komunikację.
Host A będzie nadal przesyłać dane, a host B otrzyma je bez obawy o sekwencyjne i wolne od błędów dostarczanie danych.
jak pisać przypadki testowe junit
Dlatego jest to niezawodny protokół i jest używany tam, gdzie bezpieczna transmisja danych nie jest ważna, ale wymagana jest szybsza komunikacja, jak w przypadku przesyłania strumieniowego wideo i grania w gry online.
Tabela porównawcza TCP Vs UDP
Jednostka porównawcza | TCP | UDP |
---|---|---|
Stosowane protokoły | Różne rodzaje protokołów używanych przez TCP do transmisji danych to HTTP (protokół przesyłania hipertekstu), HTTPs (bezpieczny protokół przesyłania hipertekstu), FTP (protokół przesyłania plików) i SMTP (protokół prostego przesyłania poczty) itp. | Różne rodzaje protokołów używanych przez UDP do transmisji danych to BOOTP (protokół Bootstrap), DHCP (protokół dynamicznej konfiguracji hosta), DNS (serwer nazw domen) i TFTP (protokół transferu plików Trivial) itp. |
Podstawowa funkcjonalność | Protokół kontroli transmisji zawsze najpierw ustanawia połączenie między hostem źródłowym a docelowym przed rozpoczęciem jakiegokolwiek procesu komunikacji pakietów danych. | Protokół datagramowy użytkownika przekazuje dane bezpośrednio do hosta docelowego bez ustanawiania żadnego połączenia między źródłem a końcem docelowym. |
Rodzaj połączenia | Jest to protokół zorientowany na połączenie, który oznacza, że połączenie musi zostać nawiązane przed rozpoczęciem transmisji danych, a urządzenia komunikacyjne powinny zakończyć lub zakończyć połączenie po zakończeniu komunikacji między końcem nadawcy i odbiorcy. | Jest to protokół bez połączenia, który oznacza, że nie ma przymusu ustanawiania, utrzymywania i kończenia połączenia między źródłem a końcem docelowym. Najlepiej nadaje się do celów emisji i multiemisji. |
Prędkość | Szybkość jest mniejsza niż UDP. | Szybko potem TCP. Jest to protokół transportowy w czasie rzeczywistym. |
Niezawodność | Jest niezwykle niezawodny, ponieważ poprzez proces potwierdzania zapewnia prawidłowe dostarczenie pakietu danych do węzła docelowego. | Dostarczanie pakietów danych nie jest zapewnione, dlatego jest to zawodny protokół. |
Rozmiar nagłówka | 20 bajtów | 8 bajtów |
Potwierdzenie | Protokół TCP podąża za procesem uzgadniania między nadawcą a odbiorcą, aby potwierdzić odbiór pakietów danych w obu kierunkach. W ten sposób zapewnia to możliwość retransmisji utraconych pakietów danych. | Nigdy nie potwierdza otrzymania danych, a zatem nie ma szans na ponowne przesłanie danych. |
Kontrola przepływu | Sterowanie przepływem odbywa się za pomocą przesuwanego okna i algorytmów unikania zatorów itp. | Żaden proces nie jest przestrzegany |
Interfejs danych do aplikacji | Dane są przesyłane w oddzielnych pakietach danych opartych na komunikatach | Dane są przesyłane w pakietach danych strumieniowych i nie ma określonej struktury. |
Sprawdzanie błędów | Wykrywanie i korygowanie błędów odbywa się za pomocą sumy kontrolnej, a pakiety danych są ponownie przesyłane po korekcie od nadawcy do miejsca docelowego. | Utracone pakiety danych są odrzucane, a proces sprawdzania błędów nie jest praktykowany. |
Aplikacje | Ponieważ protokół ten zapewnia bezpieczny i niezawodny proces komunikacji, dlatego jest używany w usługach, w których poufność danych jest głównym problemem, takich jak służby wojskowe, przeglądanie stron internetowych, poczta e-mail itp. | Jest używany tam, gdzie wymagana jest szybka komunikacja, a niezawodność danych nie jest problemem, jak VoIP, strumieniowanie gier, strumieniowanie wideo i muzyki itp. |
Format nagłówka UDP Vs TCP
Nagłówek TCP
- Port źródłowy: Zawiera adres portu źródłowego segmentu danych i ma rozmiar 16 bitów.
- Port docelowy: Zawiera adres portu docelowego i ma rozmiar 16 bitów.
- Numer sekwencji: To ma rozmiar 32 bitów. Reprezentuje numer kolejny segmentu danych pierwszego oktetu. Jeśli SYN jest dostępny, wartość numeru kolejnego to ISN + 1, podczas gdy ISN oznacza początkowy numer kolejny.
- Numer potwierdzenia: Rozmiar tego pola również wynosi 32 bity. To pole zawiera numer kolejny następnego segmentu danych, którego nadejścia koniec źródłowy oczekuje od odbiornika jako potwierdzenie odbioru pakietu danych. Gdy zostanie ustanowione prawidłowe połączenie między źródłem a końcem docelowym, ten bit jest zawsze przesyłany.
- Przesunięcie danych: To pole ma 4-bitową długość. Oznacza to punkt, z którego rozpoczynają się dane.
- Zarezerwowany: Niektóre bity są zarezerwowane dla przyszłych celów, a wartość w tym polu wynosi zero. Ma długość 6 bitów.
- Flagi: Jest to również 6 bitów. Do różnych celów używane są różne flagi. Zgodnie z przydatnością flaga jest ustawiona na zero lub jeden.
- Rozmiar okna: Rozmiar tego pola wynosi 16 bitów. To pole zawiera liczbę oktetów danych, która zaczyna się od tego, który jest wyświetlany w polu numeru potwierdzenia, a nadawca oczekuje na odebranie.
- Suma kontrolna: Jest to również rozmiar 16 bitów. Suma kontrolna jest obliczana dla wszystkich oktetów danych z całych segmentów danych. Jest oceniany jako jedno uzupełnienie i ponownie jedno uzupełnienie wyjścia, a następnie oba dane wyjściowe są dodawane do obecnego 16-bitowego nagłówka i danych tekstowych oktetu. Wynik jest również przesyłany do następnej górnej warstwy w celu wprowadzenia poprawek.
- Pilna wskazówka: To pole ma rozmiar 16 bitów. Jeśli flaga URG jest ustawiona, tylko wtedy to pole jest obliczane. Oznacza numer kolejny oktetu danych po pilnych danych.
- Opcje: To jest zmienne pole. Można to ustawić na początku dowolnej krawędzi oktetu.
Nagłówek UDP
Nagłówek UDP ma tylko 4 pola w porównaniu z nagłówkiem TCP i jest również bardzo łatwy do zrozumienia w porównaniu z nagłówkiem TCP.
- Port źródłowy: To jest 16 bitów długości. Zawiera wartość portu źródłowego używanego przez koniec źródłowy do przesyłania pakietu danych. Zakres wynosi od 0 do 65535.
- Port docelowy: Rozmiar tego pola wynosi 16 bitów. Zawiera numer portu, którego host docelowy oczekuje do odbioru danych.
- Długość: Rozmiar tego pola to 16 bitów. Składa się z długości, rozmiaru datagramu użytkownika, nagłówka i danych.
- Suma kontrolna: Ma to również rozmiar 16-bitowy, ale jest to pole opcjonalne. Służy do obliczania błędów w datagramie. Jeśli jest ustawiona na zero, suma kontrolna nie jest obliczana, a jeśli jest ustawiona na jeden, zostanie obliczona.
[wizerunek źródło ]
Funkcje realizowane przez TCP
(i) Adresowanie i multipleksowanie:
Porty TCP są używane do adresowania różnych procesów w sieci dla aplikacji wyższej warstwy. Powoduje to również multipleksowanie danych zebranych przez różne procedury, a następnie rozgłaszanie pakietu danych w powiązaniu z warstwą dostępu do sieci.
(ii) Aby ustanowić, utrzymać i zakończyć połączenia:
W tym protokole stosuje się kilka zestawów procesów i reguł w celu ustanowienia połączenia między źródłem a końcem docelowym. Istnieją protokoły i metody uzgadniania, które służą do utrzymywania i potwierdzania trwającego procesu komunikacji.
W końcu przestrzegane są również pewne zasady, aby zakończyć połączenie po zakończeniu komunikacji między źródłem a końcem docelowym.
(iii) Pakowanie danych:
Przed przekazaniem pakietów danych do wyższej warstwy w celu komunikacji, TCP najpierw zapewnia procedurę pakowania danych do formatu wiadomości do transmisji, a następnie dostarcza do miejsca docelowego.
Na końcu docelowym odbiornik dekoduje i rozpakowuje dane i ponownie przekazuje je do aplikacji wyższej warstwy.
(iv) Rezerwy Niezawodny tryb komunikacji i wysoka QoS:
Oferuje niezawodny tryb komunikacji między nadawcą a odbiorcą, a także zapewnia wysoką jakość usług.
Mechanizmy wykorzystywane przez TCP do przesyłania danych są zgodne z zestawem reguł, które zapewniają niezawodne dostarczanie danych, a także oferują retransmisję danych utraconych lub niezgodnie z kolejnością. Aby zapewnić niezawodną komunikację, stosowane są różne protokoły uzgadniania.
Funkcje realizowane przez UDP
(i) Wyższa warstwa transferu danych: Protokół UDP odbiera dane do przesłania z wyższej warstwy, a następnie konwertuje je na komunikaty UDP, a następnie przesyła do oprogramowania UDP w celu komunikacji.
dlaczego filmy słoneczne nie działają
(ii) Hermetyzacja wiadomości UDP: Wiadomość UDP jest umieszczana w polu danych. Nagłówek UDP zawiera domeny portu źródłowego i docelowego, a także podaje wartość sumy kontrolnej.
(iii) Wiadomość przeniesiona do następnej warstwy: Po obliczeniu powyższych pól wiadomość UDP jest przekazywana do IP w celu komunikacji. Na końcu docelowym proces zostaje cofnięty.
Aplikacje TCP
- Protokół TCP jest używany w protokole FTP (protokół przesyłania plików) do bezpiecznego udostępniania i wysyłania dużych plików danych w organizacji między hostami znajdującymi się daleko.
- Proces e-mail, który korzysta z protokołu Simple Mail Transfer Protocol (SMTP), również wykorzystuje protokół TCP do wysyłania poczty e-mail i plików danych między różnymi hostami do organizacji i poza nią.
- POP wykorzystuje także protokół TCP do odzyskiwania lub pobierania wiadomości e-mail.
- Protokół TELNET używa również protokołu TCP do logowania i bezpiecznego uzyskiwania dostępu do hosta znajdującego się na drugim lub zdalnym końcu.
- Protokół bramy granicznej (BGP) działa również na protokole TCP, oferując niezawodny tryb komunikacji w sieciach WAN.
- Służby wojskowe wykorzystują TCP do wymiany wysoce poufnych danych i informacji w ramach swoich prac internetowych.
Zastosowania UDP
- Przesyłanie strumieniowe wideo, strumieniowe przesyłanie dźwięku itp., Gdy ważna jest tylko duża prędkość danych, a odzyskanie utraconych danych nie jest uwzględniane.
- Granie w gry wideo i graficzne online.
- Protokół UDP jest również używany w procesach tunelowania i sieciach VPN, w których utracone dane można później odzyskać.
- UDP jest również używany do celów rozgłoszeniowych w sieci LAN.
- Oglądanie telewizji w czasie rzeczywistym na telefonach komórkowych jest najnowszym popularnym zastosowaniem protokołu UDP, znanego również jako IPTV.
Wniosek
Zbadaliśmy różnicę między protokołem TCP a UDP za pomocą rysunków i tabelarycznej tabeli porównawczej. Z jednej strony TCP jest protokołem połączeniowym i zapewnia niezawodną komunikację z różnymi funkcjami.
Z drugiej strony UDP jest bardzo prostym protokołem transportowym czasu rzeczywistego bez połączenia, który oferuje szybki proces komunikacji niż TCP, ale jest zawodny, ponieważ nie jest obsługiwany przez żaden proces potwierdzania odbioru i wysyłania danych.
Jednak oba są ważne i mają znaczenie na swój sposób.
=> Zapoznaj się z przewodnikiem po podstawach pracy w sieci komputerowej tutaj.
rekomendowane lektury
- Model TCP / IP z różnymi warstwami
- Data Mart Tutorial - Rodzaje, przykłady i implementacja Data Mart
- Samouczek dotyczący Big Data dla początkujących | Co to jest Big Data?
- Różnica między testami na komputerach stacjonarnych, serwerach klienckich i testach internetowych
- Wymiarowy model danych w hurtowni danych - samouczek z przykładami
- Jak przeprowadzić testy oparte na danych w SoapUI Pro - Samouczek SoapUI nr 14
- Co to jest jezioro danych | Hurtownia danych a usługa Data Lake
- Eksploracja danych: proces, techniki i główne problemy w analizie danych