Avantajele TCP: Fiabil și stabil Fiabilitatea TCP se reflectă în faptul că TCP va avea trei handshake-uri pentru a stabili o conexiune înainte de transmiterea datelor, iar când datele sunt transmise, există mecanisme de confirmare, fereastră, retransmitere, control al congestiei, iar după transmiterea datelor, acestea vor fi și ele deconectate pentru a economisi resurse ale sistemului. Dezavantaje ale TCP: lent, ineficient, ocupare ridicată a resurselor de sistem, ușor de atacat TCP înainte de a transmite date, construirea unei conexiuni mai întâi, ceea ce va consuma timp, iar când datele sunt transmise, mecanismul de confirmare, mecanismul de retransmisie, mecanismul de control al congestiei etc. vor consuma mult timp, iar toate conexiunile de transmisie trebuie menținute pe fiecare dispozitiv; de fapt, fiecare conexiune va ocupa CPU-ul, memoria și alte resurse hardware ale sistemului. Mai mult, deoarece TCP are un mecanism de confirmare și un mecanism de strângere de mână în trei direcții, TCP este ușor exploatat pentru a realiza atacuri DOS, DDOS, CC și alte atacuri.
Avantajele UDP: Rapid și puțin mai sigur decât TCPUDP nu are mecanisme TCP pentru handshake, confirmare, fereastră, retransmitere, control al congestiei și alte mecanismeUDP este un protocol de transport fără stare, deci este foarte rapid la transmiterea datelor. Fără TCP, UDP are mai puține vulnerabilități exploatate de atacatori decât TCP. Totuși, UDP nu poate evita atacurile, cum ar fi atacurile UDP flood...... Dezavantaje ale UDP: Nesigur și instabil Deoarece UDP nu are mecanismul fiabil al TCP, este ușor să se piardă pachete dacă calitatea rețelei nu este bună atunci când datele sunt transmise. Pe baza avantajelor și dezavantajelor de mai sus, atunci: Când ar trebui să folosești TCP: Când există cerințe pentru calitatea comunicării în rețea, cum ar fi: întreaga dată trebuie transmisă cu acuratețe către cealaltă parte, ceea ce este adesea folosit în unele aplicații care necesită fiabilitate, cum ar fi HTTP, HTTPS, FTP și alte protocoale de transfer de fișiere, POP, SMTP și alte protocoale de transmitere a emailului. În viața de zi cu zi, aplicațiile comune care folosesc protocolul TCP sunt următoarele: browser, HTTP FlashFXP, FTP Outlook, POP, SMTP Putty, Telnet, transfer de fișiere SSH QQ............ Când să se folosească UDP: Când calitatea comunicării în rețea nu este ridicată, viteza comunicației rețelei trebuie să fie cât mai rapidă posibil, apoi se poate folosi UDP. De exemplu, în viața de zi cu zi, aplicațiile comune care folosesc protocolul UDP sunt următoarele: QQ Voice QQ Video TFTP ......
Unele scenarii de aplicație necesită o fiabilitate scăzută și folosesc UPD, cum ar fi videoclipurile lungi și viteza
Diferențe sumare între TCP și UDP:
1. Bazat pe conexiune și fără conexiune; 2. Cerințe pentru resursele sistemului (mai mult TCP, mai puțin UDP); 3. Structura programului UDP este relativ simplă; 4. Modul flux și modul datagramă;
5. TCP garantează corectitudinea datelor, UDP poate pierde pachete, TCP garantează ordinea datelor, iar UDP nu.
Diferența dintre protocoalele TCP și UDP TCP UDP Indiferent dacă este conectat Orientat către conexiuni Orientat către non-conexiuni Fiabilitatea transmisiei, fiabilă, nesigură Aplicații Transferul unor cantități mari de date Încet și rapid
Rezumat al diferențelor dintre TCP și UDP:
1. TCP orientat către conexiune (de exemplu, pentru a efectua un apel, trebuie să formați numărul mai întâi pentru a stabili conexiunea);UDP este fără conexiune, ceea ce înseamnă că nu trebuie să stabilești o conexiune înainte de a trimite date
2. TCP oferă servicii fiabile. Adică, datele transmise prin conexiunea TCP sunt fără erori, nu sunt pierdute, nu sunt duplicate și ajung în ordine. UDP face tot posibilul să livreze, adică nu garantează livrarea fiabilă
3. TCP este orientat către fluxuri de octeți, care de fapt tratează datele ca o serie de fluxuri de octeți nestructurați; UDP este orientat pe pachete
UDP nu are control al congestiei, astfel încât congestia rețelei nu încetinește rata de trimitere a gazdei sursă (util pentru aplicații în timp real precum telefonia IP, conferința video în timp real etc.)
4. Fiecare conexiune TCP poate fi doar punct-la-punct; UDP suportă comunicarea interactivă unu-la-unu, unu-la-mulți, mulți-la-unu și mulți-la-mulți
5. Prima parte a TCP costă 20 de octeți; Prima parte a UDP are un overhead mic de doar 8 octeți 6. Canalul logic de comunicație al TCP este un canal full-duplex fiabil, în timp ce UDP este un canal nesigur |