TCP和UDP的區別及應用場景


  • 區別:
    • 面向連接vs無連接:tcp三次握手四次揮手建立連接  udp無需建立連接,可以直接發起
    • 可靠vs不可靠  tcp采用握手、ack和重傳機制,實現可靠傳輸
    • 面向字節流vs面向報文 
      • UDP面向報文:應用程序交給運輸層的每一個數據,直接把它交給傳輸層,加上UDP首部,無論數據大還是小,然后交給網絡層加上IP首部,於是,IP數據包的長度如果超過網絡的MTU,則需要對IP數據包進行分片
      • TCP面向字節流:TCP對應用程序交給他的數據會判斷大小,然后進行組裝交給網絡層,應用程序產生的整體數據與真正發送的單個IP數據報沒有什么聯系
    • TCP首部20bytes,udp首部8bytes     TCP有流量控制(滑動窗口)  擁塞控制(慢開始、擁塞避免、快重傳、快恢復)
  • TCP應用場景
    • 效率要求相對低,但對准確性要求相對高的場景,因為傳輸中需要對數據進行確認,重發,排序等操作,效率沒有udp高
    • 文件傳輸:FTP\HTTP對數據的准確性要求高,速度可以相對慢
    • 發送或接收郵件:POP3\IMAP\SMTP對數據准確性要求高,非緊急應用
    • 遠程登陸:TELNET\SSH對數據准確性有一定要求,有連接概念
  • UCP應用場景
    • 即時通信:QQ聊天,對數據准確性和丟包要求比較低,但速度必須快
    • 在線視頻:RTSP速度一定要快,保證視頻連續,但是偶爾花了一個圖像幀,還是可以接受的
    • 網絡語音電話:VoIP數據包一般比較小,需要高速發送,偶爾斷音或串音也沒有問題


免責聲明!

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



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