Czym one są + różnica między protokołem TCP i UDP

TCP i UDP to protokoły połączeń używane do określania sposobu wymiany danych przez połączenie internetowe. Jeśli już wiesz, co oznacza IP (tj. Protokół internetowy), to już wiesz, ponieważ na jego podstawie opracowano zarówno protokół TCP, jak i UDP.

Jednak myliłbyś się myśląc, że są one praktycznie takie same; chociaż zarówno TCP, jak i UDP „mają coś do powiedzenia” w sposobie wysyłania / odbierania danych w Internecie, w rzeczywistości są bardzo różne iz tego powodu są używane do różnych celów.

Porównanie TCP UDP

Krótko mówiąc, powiedzmy, że nieumyślnie korzystasz z tych dwóch protokołów każdego dnia, gdy uzyskujesz dostęp do Internetu, co sprawia, że ​​są one nadrzędne w sposobie, w jaki twoje urządzenie komunikuje się z otwartą siecią (i urządzeniami do niej podłączonymi) i odwrotnie.

Ponieważ zarówno TCP, jak i UDP są oparte na protokole internetowym, możesz chcieć dowiedzieć się więcej o IP, zanim przejdziesz od razu do lekcji wprowadzających do TCP / UDP. Wiesz, musisz nauczyć się chodzić, zanim zaczniesz biegać.

Co to jest adres IP?

IP, które jest skrótem od protokołu internetowego, jest podstawą, na której zbudowano znany nam Internet. O jego znaczeniu można łatwo zorientować się po tym, że każdemu urządzeniu przypisany jest niepowtarzalny adres IP w celu uzyskania dostępu do Internetu.

Kiedyś adres składał się tylko z liczb i miejsc po przecinku. Mówiąc dokładniej, adres IPv4 można utworzyć z czterech oddzielnych liczb, z których każda może mieć wartość z zakresu od 0 do 254. IPv4 dał nam łączny zakres 4,3 miliarda unikalnych adresów IP.

Nieuchronnie Internet zaczął dochodzić do punktu, w którym nie można było wygenerować żadnych nowych unikalnych adresów IP, czyli wtedy, gdy pojawił się system IPv6, aby uratować sytuację. Publiczne adresy IPv6 używają cyfr szesnastkowych i każdy zawiera 128 bitów, co oznacza, że ​​zamiast podstawy 10 (od 0 do 10) używają podstawy 16 (od 0 do 10 plus „a” do „f”).

Z pomocą systemu IPv6 całkowity zakres publicznych adresów IPv6, jakie moglibyśmy mieć, to 340 undecillionów (3,4 * 10 ^ 28). Jeśli nie da się tego ogarnąć, sprawdź poniżej, jak wyglądają adresy IPv4 i IPv6:

Przykład adresu IPv4: 10.238.126.215
Przykład adresu IPv6: fe80: 0db8: 0412: 2001: 3c5e: 0000: 10a9

Chociaż ostatecznym celem jest zastąpienie IPv4 przez IPv6, obecnie oba protokoły działają razem.

Adresy IP umożliwiają urządzeniom z dostępem do Internetu lokalizowanie, komunikowanie się ze sobą i wymianę informacji. Udostępnianie danych, przesyłanie strumieniowe wideo lub wysyłanie e-maili nie byłoby możliwe bez adresu IP. Wszystko, co robisz online, można przepisać na dane.

Aby zapewnić optymalną funkcjonalność, IP dzieli te dane na mniejsze fragmenty, dzięki czemu może lepiej nimi zarządzać. Nazywamy te fragmenty danych pakietami. Jednak te pakiety zawierają nie tylko informacje, które mają przenosić, ale także docelowy adres IP urządzenia, do którego muszą dotrzeć. To miejsce docelowe nazywa się nagłówkiem.

Gdy pakiet opuszcza urządzenie, kieruje się w stronę bramy, która wyszukuje docelowy adres IP pakietu w swojej domenie. Warto wspomnieć, że bramka widzi tylko określony zestaw adresów IP w Internecie.

Tak więc, jeśli brama nie może znaleźć adresu w swojej domenie, po prostu wysyła pakiet do innej bramy, a ta operacja trwa, dopóki pakiet nie dotrze do bramy, która może wykryć docelowy adres IP określony w nagłówku i wysyła do urządzenia skojarzonego z tym adresem.

Inną rzeczą wartą odnotowania jest to, że fakt, że dane są podzielone na małe pakiety, oznacza, że ​​niekoniecznie muszą one docierać w kolejności, a nawet używać tej samej trasy. W rzeczywistości pakiety zwykle próbują znaleźć najszybszą trasę, jaką mogą za każdym razem.

Wreszcie, co nie mniej ważne, powinieneś wiedzieć, że protokół internetowy nie jest specyficzny dla formatu, co czyni go idealnym dla dowolnej formy danych, niezależnie od tego, czy mówimy o wideo, obrazach, dźwięku, wiadomościach e-mail, wiadomościach błyskawicznych, a nawet grach.

Co to jest TCP?

TCP, czyli protokół kontroli transmisji, jest jednym z głównych protokołów używanych w zestawie protokołów internetowych. Pojawił się przed UDP i był używany do umożliwiania programom i urządzeniom wymiany informacji w sieci.

Możesz zauważyć, że czasami jest powiązany z IP i nazywany TCP / IP, ale oznacza to to samo (tj. TCP i TCP / IP to dokładnie to samo).

Jak wyjaśniono powyżej, dane są dzielone na małe pakiety i wysyłane do innych urządzeń w tej pofragmentowanej formie, być może nawet na różnych trasach. Protokół TCP został wymyślony w celu ponownego złożenia tych pakietów z powrotem do ich pierwotnej postaci.

TCP czeka na nadejście wszystkich pakietów, zlicza je, sprawdza je pod kątem błędów za pomocą sumy kontrolnej, potwierdza pakiety, które dotarły do ​​miejsca przeznaczenia i prosi komputer inicjujący o ponowne wysłanie tych, które nie dotarły za pierwszym razem. Po odebraniu wszystkich pakietów TCP ponownie składa je w oryginalne dane i dostarcza je do odpowiedniej aplikacji (np. Klienta poczty elektronicznej, przeglądarki zdjęć, odtwarzacza wideo).

W dzisiejszych czasach proces ten przebiega bardzo szybko i zapewnia, że ​​dane docierają do maszyny odbiorcy dokładnie tak, jak były na urządzeniu wysyłającym, bez żadnych dodatkowych zmian. Ponadto wymaga ciągłej komunikacji na obu końcach, ponieważ proces można w rzeczywistości opisać jako ciągły przepływ danych między uczestniczącymi urządzeniami, dopóki dane nie dotrą i nie zostaną w 100% potwierdzone.

Jest rzeczą oczywistą, że ta ciągła komunikacja między urządzeniami bardzo obciąża TCP, ponieważ każdy utracony lub uszkodzony pakiet może zatrzymać proces, dopóki brakujący bit nie dotrze bezpiecznie do celu. Jednak TCP nie musi robić wszystkiego sam, więc UDP został wymyślony wkrótce potem.

Krótko mówiąc, TCP:

Zapewnia, że ​​żadne pakiety nie zostaną porzucone
Pyta o ponowne wysłanie pakietów, jeśli wykryje brakujące pakiety
Wysyła pakiety w kolejności, aby można je było łatwo złożyć
Najpopularniejszy protokół internetowy
Wolniejszy niż UDP, ponieważ musi upewnić się, że dotrze każdy pakiet
Pasuje do stron internetowych, e-maili, FTP (File Transfer Protocol), udostępniania plików P2P

Co to jest UDP?

UDP, skrót od User Datagram Protocol, jest alternatywą dla TCP, więc można bezpiecznie założyć, że zasadniczo wykonują to samo zadanie. Jednak są one jednocześnie bardzo różne, ponieważ TCP jest dość skrupulatny w sprawdzaniu danych pakietowych, podczas gdy UDP jest nieco bardziej nieostrożny.

Wyobraź sobie dwóch pracowników obsługujących listy na stacji sortowania poczty: TCP to ten, który dokładnie sprawdza każdy list i wstrzymuje całą komunikację do momentu nadejścia każdego listu, podczas gdy UDP sprawdza tylko listy pod kątem integralności i przekazuje je do miejsc docelowych, jednocześnie upuszczając każdy list, który nie przybył i nie prosi o ponowne wysłanie.

Można więc śmiało powiedzieć, że UDP jest szybszy, ale dlaczego miałbyś chcieć poświęcić szybkość kosztem utraty danych po drodze? Cóż, w zasadzie są aplikacje, w których utrata pakietów nie jest dokładnie tragedią.

Na przykład, jeśli używasz klienta VoIP i rozmawiasz z kimś, możesz zauważyć sporadyczną utratę klatek lub lekkie zacinanie się dźwięku, co jest przez większość czasu łatwe do zignorowania, a zatem nie jest kluczowe. To samo dotyczy gier, w których od czasu do czasu możesz zauważyć zacinanie się gry lub gumkę. Po prostu wznawiasz grę i to koniec, ponieważ UDP po prostu odrzuca pakiety zagubione podczas przesyłania.

Innymi słowy, UDP:

Jest szybszy niż TCP i zużywa mniej zasobów
Niekoniecznie wysyła pakiety w kolejności
Porzuca brakujące pakiety, aby przyspieszyć połączenie
Nadawca nie ma możliwości sprawdzenia, czy pakiety zostały odrzucone
Używany głównie do przesyłania strumieniowego wideo, VoIP, gier i transmisji na żywo

TCP i UDP w użyciu VPN

W dzisiejszych czasach coraz więcej VPN zaczyna wdrażać WireGuard lub opracowywać swój własny protokół, który ma być używany, ale wiele z nich polega na OpenVPN, ponieważ po tych wszystkich latach nadal jest niezawodny, szybki i bezpieczny.

Jednak możesz nie wiedzieć, że OpenVPN działa zarówno z protokołem TCP, jak i UDP, i przez większość czasu pozwala wybrać między tymi dwoma protokołami. Chociaż może się to wydawać poważną decyzją (integralność danych a szybkość), prawdziwy problem leży gdzie indziej.

Korzystając z VPN, możesz nie zauważyć żadnej dużej różnicy między TCP i UDP pod względem szybkości. Jeśli jednak twoje połączenie musi ominąć zaporę, to wtedy sytuacja się zmienia, głównie dlatego, że te protokoły działają na różnych portach, a niektóre zapory mogą blokować domyślne porty dla niektórych typów ruchu.

Dlatego dostawcy VPN pozwalają wybierać między protokołem TCP i UDP. Jeśli zauważysz, że twoje połączenie nie działa na jednym protokole, możesz po prostu przełączyć się na drugi i skrzyżować palce. Niektórzy dostawcy VPN oferują zaawansowane ustawienia, w których można również wybrać niestandardowy port dla połączenia, aby uniknąć zapór ogniowych.

Różnica między TCP i UDP

TCP

UDP

TCP jest najczęściej używanym protokołem w Internecie
Wszystkie przesłane dane trafiają do odbiorcy, bez gwarancji utraty pakietu
Pakiety są wysyłane w kolejności
Wymaga więcej zasobów, przez co działa wolniej.

UDP jest używany do gier, przesyłania strumieniowego wideo, VoIP, transmisji na żywo
Nadawca nie będzie wiedział, czy brakuje pakietu (nie odebrano)
Pakiety nie muszą być wysyłane w kolejności
Mniej potrzebnych zasobów, szybciej.

TCP vs UDP: Wniosek

Podsumowując, TCP i UDP są dość podobnymi protokołami, ponieważ zapewniają, że dane dotrą do miejsca docelowego bezpiecznie i bez ich modyfikowania po drodze.

Protokół TCP przeprowadza kilka kontroli podczas przesyłania danych i generalnie jest bardziej drastyczny, jeśli chodzi o nie tracenie pakietów, co sprawia, że ​​świetnie nadaje się do witryn internetowych, wiadomości e-mail, wiadomości błyskawicznych, zdjęć i udostępniania plików.

UDP po prostu sprawdza, czy miejsce docelowe jest poprawne i sprawdza integralność pakietów, ale nie prosi nadawcy o ponowne wysłanie jakichkolwiek utraconych pakietów i po prostu je odrzuca, co oznacza, że ​​będziesz mieć szybsze połączenie, ale możesz porzucić pakiety droga. UDP jest głównie używany do gier, VoIP, przesyłania strumieniowego wideo i nadawania treści na żywo, gdzie utrata kilku pakietów nie powinna zbytnio wpływać na wynik końcowy.