Zalety TCP: Niezawodność i stabilność Niezawodność TCP odzwierciedla fakt, że TCP ma trzy mechanizmy handshake do nawiązania połączenia przed przesłaniem danych, a podczas transmisji danych istnieją mechanizmy potwierdzenia, okienka, ponownej transmisji, kontroli przeciążenia, a po przesłaniu dane również zostaną rozłączone, aby zaoszczędzić zasoby systemowe. Wady TCP: wolne, nieefektywne, duże zasobnictwo systemowe, łatwość atakowania TCP przed przesłaniem danych, najpierw zbudowanie połączenia, co pochłania czas, a podczas przesyłania danych mechanizm potwierdzenia, retransmisji, kontroli przeciążenia itp. pochłania dużo czasu, a wszystkie połączenia transmisyjne muszą być utrzymywane na każdym urządzeniu, w rzeczywistości każde połączenie zajmie CPU, pamięć i inne zasoby sprzętowe systemu. Ponadto, ponieważ TCP posiada mechanizm potwierdzający oraz mechanizm trójstronnego uścisku ręki, TCP jest łatwo wykorzystywane do przeprowadzania ataków DOS, DDOS, CC i innych.
Zalety UDP: Szybki i nieco bezpieczniejszy niż TCPUDP nie posiada TCP handshake, potwierdzenia, okienka, retransmisji, kontroli przeciążenia ani innych mechanizmówUDP to protokół transportowy bezstanowy, więc jest bardzo szybki podczas przekazywania danych. Bez TCP UDP ma mniej podatności wykorzystywanych przez atakujących niż TCP. Jednak UDP nie może unikać ataków, takich jak ataki flood UDP...... Wady UDP: Niewiarygodność i niestabilność Ponieważ UDP nie posiada niezawodnego mechanizmu TCP, łatwo jest utrutrzymywać pakiety, jeśli jakość sieci nie jest dobra podczas przesyłania danych. Na podstawie powyższych zalet i wad, następnie: Kiedy należy stosować TCP: Gdy istnieją wymagania dotyczące jakości komunikacji sieciowej, takie jak: całe dane powinny być dokładnie przesyłane do drugiej strony, co często jest stosowane w niektórych aplikacjach wymagających niezawodności, takich jak HTTP, HTTPS, FTP i inne protokoły transferu plików, POP, SMTP i inne protokoły transmisji e-mail. W codziennym życiu powszechne aplikacje korzystające z protokołu TCP to: przeglądarka, HTTP FlashFXP, FTP Outlook, POP, SMTP Putty, Telnet, transfer plików SSH QQ............ Kiedy używać UDP: Gdy jakość komunikacji sieciowej nie jest wysoka, wymagana jest maksymalna prędkość komunikacji sieciowej, wtedy można użyć UDP. Na przykład w codziennym życiu powszechne aplikacje wykorzystujące protokół UDP to: QQ Voice QQ Video TFTP ......
Niektóre scenariusze wymagają niskiej niezawodności i używają UPD, takie jak długi obraz i szybkość
Podsumowujące różnice między TCP a UDP:
1. Oparte na połączeniu i braku połączenia; 2. Wymagania dotyczące zasobów systemowych (więcej TCP, mniej UDP); 3. Struktura programu UDP jest stosunkowo prosta; 4. Tryb strumienia i tryb datagramów;
5. TCP gwarantuje poprawność danych, UDP może tracić pakiety, TCP gwarantuje kolejność danych, a UDP nie.
Różnica między protokołami TCP i UDP TCP UDP Czy są połączeni, zorientowani na połączenia Zorientowani na nie-połączenia Niezawodność transmisji Niezawodność Aplikacje przesyłają duże ilości danych Małe ilości danych Powoli i szybko
Podsumowanie różnic między TCP a UDP:
1. TCP zorientowane na połączenie (na przykład, aby wykonać połączenie, najpierw trzeba wybrać numer, aby nawiązać połączenie);UDP jest bezpołączeniowy, co oznacza, że nie musisz nawiązywać połączenia przed wysłaniem danych
2. TCP zapewnia niezawodne usługi. Oznacza to, że dane przesyłane przez połączenie TCP są wolne od błędów, nie tracą, nie są duplikowane i docierają w odpowiednim kolejności. UDP dokłada wszelkich starań, by to dostarczyć, czyli nie gwarantuje niezawodnej dostawy
3. TCP jest zorientowany na strumienie bajtów, które faktycznie traktują dane jako serię nieustrukturyzowanych strumieni bajtów; UDP jest zorientowany na pakiety
UDP nie posiada kontroli przeciążenia, więc przeciążenie sieci nie spowalnia prędkości wysyłania przez źródłowy host (co jest przydatne w aplikacjach czasu rzeczywistego, takich jak telefonia IP, wideokonferencje w czasie rzeczywistym itp.)
4. Każde połączenie TCP może być wyłącznie punkt-punkt; UDP obsługuje interaktywną komunikację jeden do jednego, jeden do wielu, wielu do jednego oraz wieloosobowość interaktywną
5. Pierwsza część TCP kosztuje 20 bajtów; Pierwsza część UDP ma niewielki narzut wynoszący zaledwie 8 bajtów 6. Kanał komunikacji logicznej TCP jest pełnodupleksowym niezawodnym kanałem, podczas gdy UDP jest kanałem niezawodnym |