趣談網路協議---UDP協議:因性善而簡單,難免碰到“城會玩”
阿新 • • 發佈:2018-12-11
TCP 和 UDP 有哪些區別? TCP是面向連線的,UDP是面向無連線的。
所謂的建立連線,是為了在客戶端和服務端維護連線,而建立一定的資料結構來維護雙方互動的狀態,用這樣的資料結構來保證所謂的面向連線的特性。
例如:
- TCP提供可靠交付。通過TCP連線傳輸的資料,無差錯、不丟失、不重複、並且按序到達。
- TCP是面向位元組流的。UDP是基於資料報的。
- TCP是可以有擁塞控制的。
- TCP是一個有狀態服務。
UDP 包頭是什麼樣的?
UDP三大使用場景 1、需要的資源少,網路比較好的內網,或對於丟包不敏感的應用。DHCP基於UDP,一般獲取IP地址都是內網請求,且一次請求不到沒有關係。TFTP基於UDP,作業系統 映象下載時用到TFTP,沒有作業系統系統的時候,不適合維護複雜的狀態機。
2、不需要一對一溝通,可以廣播的應用。DHCP時廣播協議。D類地址是組播地址,VXLAN,需要組播,也基於UDP。
3、需要處理速度快,時延低,可以容忍少數丟包,但要求即便網路擁塞,也毫不退縮。
基於UDP的“城會玩”的五個例子
1、網頁或APP的訪問。QUIC(Quick UDP Internet Connections,快速UDP網際網路連線)基於UDP,在應用層師兄快速連線建立、減少重傳時延,自適應擁塞控制。
2、流媒體協議。
3、實時遊戲。
4、IoT物理網。因為物聯網終端資源少。
5、行動通訊領域。因為行動通訊網路協議本身比較複雜,TCP顯得多餘了。