7Aug

Jaka jest różnica między TCP i UDP?

Prawdopodobnie widziałeś odniesienia do TCP i UDP podczas konfigurowania przekazywania portów na routerze lub podczas konfigurowania oprogramowania zapory sieciowej. Te dwa protokoły są używane dla różnych typów danych.

TCP / IP to zestaw protokołów używanych przez urządzenia do komunikacji w Internecie i większości lokalnych sieci. Nazwa pochodzi od dwóch oryginalnych protokołów - TCP( Transmission Control Protocol) i IP( Internet Protocol).TCP zapewnia aplikacjom sposób dostarczania( i otrzymywania) uporządkowanego i sprawdzanego błędami strumienia pakietów informacji w sieci. Protokół UDP( User Datagram Protocol) jest wykorzystywany przez aplikacje do dostarczania szybszego strumienia informacji przez wyeliminowanie sprawdzania błędów. Podczas konfigurowania jakiegoś sprzętu sieciowego lub oprogramowania może być konieczna znajomość różnicy.

Co mają wspólnego

Zarówno TCP, jak i UDP są protokołami używanymi do wysyłania bitów danych - znanych jako pakiety - przez Internet. Oba protokoły opierają się na protokole IP.Innymi słowy, czy wysyłasz pakiet przez TCP lub UDP, ten pakiet jest wysyłany na adres IP.Pakiety te są traktowane podobnie, ponieważ są przekazywane z komputera do pośrednich routerów i do miejsca docelowego.

TCP i UDP nie są jedynymi protokołami działającymi na bazie IP.Jednak są one najczęściej używane.

Jak działa TCP

TCP jest najczęściej używanym protokołem w Internecie.

Gdy żądasz strony internetowej w przeglądarce, twój komputer wysyła pakiety TCP na adres serwera sieciowego, prosząc go o odesłanie strony internetowej do ciebie. Serwer internetowy odpowiada wysyłając strumień pakietów TCP, które twoja przeglądarka łączy ze sobą, tworząc stronę internetową.Gdy klikniesz link, zalogujesz się, dodasz komentarz lub zrobisz cokolwiek innego, twoja przeglądarka wyśle ​​pakiety TCP na serwer, a serwer odeśle pakiety TCP.

TCP to niezawodność - pakiety wysyłane z TCP są śledzone, więc żadne dane nie są tracone ani uszkodzone podczas przesyłania. Z tego powodu pobieranie plików nie ulega uszkodzeniu, nawet jeśli występują przeszkody sieciowe. Oczywiście, jeśli odbiorca jest całkowicie offline, komputer się podda i pojawi się komunikat o błędzie z informacją, że nie może się komunikować ze zdalnym hostem.

TCP osiąga to na dwa sposoby. Najpierw zamawia pakiety, numerując je. Po drugie, kontrola błędów polega na tym, aby odbiorca wysłał odpowiedź zwrotną do nadawcy informującą, że otrzymał wiadomość.Jeśli nadawca nie otrzyma prawidłowej odpowiedzi, może ponownie wysłać pakiety, aby upewnić się, że odbiorca otrzymuje je poprawnie.

Process Explorer i inne narzędzia systemowe mogą pokazywać typ połączeń wykonywanych przez proces - tutaj możemy zobaczyć przeglądarkę Chrome z otwartymi połączeniami TCP z różnymi serwerami sieciowymi.

Jak działa UDP

Protokół UDP działa podobnie jak TCP, ale wyrzuca wszystkie sprawdzane błędy. Cała komunikacja zwrotna wprowadza opóźnienie, spowalniając działanie.

Gdy aplikacja używa UDP, pakiety są wysyłane do odbiorcy. Nadawca nie czeka, aby odbiorca odebrał pakiet - po prostu kontynuuje wysyłanie kolejnych pakietów. Jeśli odbiorca pominie kilka pakietów UDP, zostaną one utracone - nadawca nie wyśle ​​ich ponownie. Utrata całego tego kosztu oznacza, że ​​urządzenia mogą szybciej komunikować się.

UDP jest używany, gdy wymagana jest prędkość, a korekcja błędów nie jest konieczna. Na przykład UDP jest często używany do transmisji na żywo i gier online.

Załóżmy na przykład, że oglądasz strumień wideo na żywo, który często jest transmitowany przy użyciu protokołu UDP zamiast TCP.Serwer wysyła stały strumień pakietów UDP do oglądania komputerów. Jeśli utracisz połączenie na kilka sekund, wideo może zostać zawieszone lub na chwilę ulec zmianie, a następnie przejść do bieżącego bitu transmisji. Jeśli wystąpi niewielka utrata pakietów, wideo lub dźwięk mogą zostać zniekształcone na chwilę, ponieważ wideo będzie nadal odtwarzane bez brakujących danych.

Działa to podobnie w grach online. Jeśli przegapisz niektóre pakiety UDP, może pojawić się teleportacja graczy na mapie po otrzymaniu nowszych pakietów UDP.Nie ma sensu prosić o stare pakiety, jeśli je przegapiłeś, ponieważ gra toczy się bez ciebie. Ważne jest tylko to, co dzieje się teraz na serwerze gry - a nie to, co działo się kilka sekund temu. Zwalnianie poprawki błędów TCP pomaga przyspieszyć połączenie z grą i zmniejszyć opóźnienia.

Więc co?

Niezależnie od tego, czy aplikacja korzysta z protokołu TCP lub UDP, zależy od jej twórcy, a wybór zależy od potrzeb aplikacji. Większość aplikacji wymaga korekcji błędów i odporności protokołu TCP, ale niektóre aplikacje wymagają szybkości i zmniejszenia narzutów UDP.Jeśli uruchomisz narzędzie do analizy sieci, takie jak Wireshark, zobaczysz różne typy pakietów podróżujących tam iz powrotem.

Jeśli nie jesteś administratorem sieci lub programistą, nie powinno to mieć na ciebie większego wpływu. Jeśli konfigurujesz router lub oprogramowanie zapory i nie masz pewności, czy aplikacja używa protokołu TCP lub UDP, możesz ogólnie wybrać opcję "Oba", aby router lub zapora stosowała tę samą regułę do ruchu TCP i UDP.