Prawdopodobnie widziałeś odniesienia do TCP i UDP podczas konfigurowania przekierowania portów na routerze lub podczas konfigurowania oprogramowania zapory. Te dwa protokoły są używane do różnych typów danych.
TCP / IP to zestaw protokołów używanych przez urządzenia do komunikacji przez Internet i większość sieci lokalnych. Jego nazwa pochodzi od dwóch oryginalnych protokołów - protokołu kontroli transmisji (TCP) i protokołu internetowego (IP). TCP zapewnia aplikacjom sposób dostarczania (i odbierania) uporządkowanego i sprawdzonego pod kątem błędów strumienia pakietów informacji w sieci. Protokół User Datagram Protocol (UDP) jest używany przez aplikacje do dostarczania szybszego strumienia informacji, eliminując sprawdzanie błędów. Podczas konfigurowania sprzętu lub oprogramowania sieciowego może być konieczne poznanie różnicy.
Co ich łączy
ZWIĄZANE Z: Jak znaleźć swoje prywatne i publiczne adresy IP
Zarówno TCP, jak i UDP to protokoły używane do wysyłania bitów danych - zwanych pakietami - przez Internet. Oba protokoły opierają się na protokole IP. Innymi słowy, niezależnie od tego, czy wysyłasz pakiet przez TCP czy UDP, pakiet ten jest wysyłany do adres IP . Pakiety te są traktowane podobnie, ponieważ są przekazywane z komputera do routerów pośredniczących i dalej do miejsca docelowego.
TCP i UDP nie są jedynymi protokołami, które działają ponad IP. Jednak są one najczęściej używane.
Jak działa TCP
TCP to najczęściej używany protokół w Internecie.
Kiedy żądasz strony internetowej w przeglądarce, twój komputer wysyła pakiety TCP na adres serwera WWW, prosząc o odesłanie strony internetowej do ciebie. Serwer sieciowy odpowiada, wysyłając strumień pakietów TCP, które przeglądarka internetowa łączy ze sobą w celu utworzenia strony internetowej. Gdy klikniesz łącze, zalogujesz się, opublikujesz komentarz lub zrobisz cokolwiek innego, Twoja przeglądarka internetowa wysyła pakiety TCP na serwer, a serwer odsyła pakiety TCP.
TCP to niezawodność - pakiety wysyłane przez TCP są śledzone, więc żadne dane nie zostaną utracone ani uszkodzone podczas przesyłania. Dlatego pobieranie plików nie ulega uszkodzeniu, nawet jeśli występują problemy z siecią. Oczywiście, jeśli odbiorca jest całkowicie w trybie offline, komputer zrezygnuje i zobaczysz komunikat o błędzie informujący, że nie może komunikować się ze zdalnym hostem.
TCP osiąga to na dwa sposoby. Najpierw zamawia pakiety numerując je. Po drugie, sprawdza błędy, nakazując odbiorcy wysłanie odpowiedzi z powrotem do nadawcy, mówiącego, że otrzymał wiadomość. Jeśli nadawca nie otrzyma poprawnej odpowiedzi, może ponownie wysłać pakiety, aby upewnić się, że odbiorca otrzyma je poprawnie.
ZWIĄZANE Z: Zrozumienie Process Explorer
Process Explorer a 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 internetowymi.
Jak działa UDP
ZWIĄZANE Z: Jak opóźnienia mogą powodować powolne nawet szybkie połączenia internetowe
Protokół UDP działa podobnie do TCP, ale wyrzuca wszystkie rzeczy związane ze sprawdzaniem błędów. Cała komunikacja w obie strony wprowadza czas oczekiwania spowalniając rzeczy.
Gdy aplikacja korzysta z protokołu UDP, pakiety są po prostu wysyłane do odbiorcy. Nadawca nie czeka, aby upewnić się, że odbiorca otrzymał pakiet - po prostu kontynuuje wysyłanie kolejnych pakietów. Jeśli odbiorca przegapi kilka pakietów UDP tu i ówdzie, po prostu zostaną utracone - nadawca nie wyśle ich ponownie. Utrata całego tego narzutu oznacza, że urządzenia mogą się szybciej komunikować.
UDP jest używany, gdy pożądana 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 jest często transmitowany przy użyciu protokołu UDP zamiast TCP. Serwer po prostu wysyła ciągły strumień pakietów UDP do obserwujących komputerów. Jeśli utracisz połączenie na kilka sekund, obraz wideo może na chwilę zawiesić się lub zacząć skakać, a następnie przejść do bieżącego fragmentu transmisji. Jeśli wystąpi niewielka utrata pakietów, obraz lub dźwięk może być przez chwilę zniekształcony, ponieważ wideo jest nadal odtwarzane bez brakujących danych.
Działa to podobnie w grach online. Jeśli przegapisz niektóre pakiety UDP, postacie graczy mogą wydawać się teleportować po mapie, gdy otrzymasz nowsze pakiety UDP. Nie ma sensu prosić o stare pakiety, jeśli je przegapiłeś, ponieważ gra toczy się dalej bez ciebie. Liczy się tylko to, co dzieje się teraz na serwerze gry, a nie to, co wydarzyło się kilka sekund temu. Rezygnacja z korekcji błędów TCP pomaga przyspieszyć połączenie w grze i zmniejszyć opóźnienia.
Więc co?
ZWIĄZANE Z: Jak używać Wireshark do przechwytywania, filtrowania i sprawdzania pakietów
To, czy aplikacja korzysta z protokołu TCP, czy UDP, zależy od jej programisty, a wybór zależy od potrzeb aplikacji. Większość aplikacji wymaga korekcji błędów i niezawodności protokołu TCP, ale niektóre aplikacje wymagają szybkości i zmniejszonego narzutu UDP. Jeśli strzelisz narzędzie do analizy sieci, takie jak Wireshark Można zobaczyć różne typy pakietów podróżujących tam iz powrotem.
Jeśli nie jesteś administratorem sieci lub programistą, nie powinno to na Ciebie zbytnio wpływać. Jeśli konfigurujesz router lub oprogramowanie zapory sieciowej i nie masz pewności, czy aplikacja korzysta z protokołu TCP czy UDP, możesz ogólnie wybrać opcję „Obie”, aby router lub zapora sieciowa stosowały tę samą regułę do ruchu TCP i UDP.