TCP與UDP區別小結


  1. TCP(Transmission Control Protocol):傳輸控制協議
  2. UDP(User Datagram Protocol):用戶數據報協議
 
    主要從連接性(Connectivity)、可靠性(Reliability)、有序性(Ordering)、有界性(Boundary)、擁塞控制(Congestion or Flow control)、傳輸速度(Speed)、量級(Heavy/Light weight)、頭部大小(Header size)等8個方面來講:
 
1. TCP是面向連接(Connection oriented)的協議,UDP是無連接(Connection less)協議;
    TCP用三次握手建立連接:1) Client向server發送SYN;2) Server接收到SYN,回復Client一個SYN-ACK;3) Client接收到SYN_ACK,回復Server一個ACK。到此,連接建成。UDP發送數據前不需要建立連接。
 
2. TCP可靠,UDP不可靠;
    TCP丟包會自動重傳,UDP不會。
 
3. TCP有序,UDP無序;
    消息在傳輸過程中可能會亂序,后發送的消息可能會先到達,TCP會對其進行重排序,UDP不會。
 
4. TCP無界,UDP有界;
    TCP通過字節流傳輸,UDP中每一個包都是單獨的。
 
5. TCP有流量控制(擁塞控制),UDP沒有;
    主要靠三次握手實現。以及慢開始、擁塞避免、快重傳、快恢復
 
6. TCP傳輸慢,UDP傳輸快;
    因為TCP需要建立連接、保證可靠性和有序性,所以比較耗時。這就是為什么視頻流、廣播電視、在線多媒體游戲等選擇使用UDP。
 
7. TCP是重量級的,UDP是輕量級的;
    TCP要建立連接、保證可靠性和有序性,就會傳輸更多的信息,如TCP的包頭比較大。
 
8. TCP需要更多資源,UDP則要好上很多
 
9. 應用場合不同:TCP一般應用在對可靠性要求比較高的場合,例如http,ftp等等。而UDP一般應用在對實時性要求較高場合,例如視頻直播,大文件傳輸等等
 
小結:
TCP是面向連接的、可靠的、有序的、速度慢的協議;UDP是無連接的、不可靠的、無序的、速度快的協議。
TCP開銷比UDP大,TCP頭部需要20字節,UDP頭部只要8個字節。
TCP無界有擁塞控制,TCP有界無擁塞控制。
 
 
補充:
基於TCP的協議有:HTTP/HTTPS,Telnet,FTP,SMTP。
基於UDP的協議有:DHCP,DNS,SNMP,TFTP,BOOTP。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM