UDP

UDP 包頭格式網絡

1563974395(1)

解析udp包到應用的過程:    數據結構

        當我發送的 UDP 包到達目標機器後,發現 MAC 地址匹配,因而就取下來,將剩下的包傳給處理 IP 層的代碼。把 IP 頭取下來,發現目標 IP 匹配,在 IP 頭裏面有個 8 位
協議(tcp/udp).處理完傳輸層的事情,內核的事情基本就幹完了.此時就須要將拿到的數據交給應用程序,這裏就是根據端口來發送給對應的應用程序tcp



UDP特色:

  1. 不須要大量的數據結構、處理邏輯、包頭字段
  2. 它不會創建鏈接,雖然有端口號,可是監聽在這個地方,誰均可以傳給他數據,他也能夠傳給任何人數據,甚至能夠同時傳給多我的數據
  3. 它不會根據網絡的狀況進行發包的擁塞控制,不管網絡丟包丟成啥樣了,它該怎麼發還怎麼發

UDP 的三大使用場景:

  1. 須要資源少,在網絡狀況比較好的內網,或者對於丟包不敏感的應用
  2. 不須要一對一溝通,創建鏈接,而是能夠廣播的應用
  3. 須要處理速度快,時延低,能夠容忍少數丟包,可是要求即使網絡擁塞,也絕不退縮,勇往直前的時候。


TCP 和 UDP 區別

TCP 是面向鏈接的ui

TCP 提供可靠交付。經過 TCP 鏈接傳輸的數據,無差錯、不丟失、不重複、而且按序到達blog

TCP 是面向字節流的。發送的時候發的是一個流,沒頭沒尾繼承

TCP 是能夠有擁塞控制的ip

UDP 是面向無鏈接的資源

UDP 繼承了 IP 的特性,基於數據報的,一個一個地發,一個一個地收get

UDP 繼承了 IP包的特性,不保證不丟失,不保證按順序到達it


快速UDP

QUIC(全稱Quick UDP Internet Connections,快速 UDP 互聯網鏈接)是 Google 提出的一種基於 UDP 改進的通訊協議,其目的是下降網絡通訊的延遲,提供更好的用戶互動體驗

QUIC 在應用層上,會本身實現快速鏈接創建、減小重傳時延,自適應擁塞控制


快速UDP介紹

https://zh.wikipedia.org/wiki/%E5%BF%AB%E9%80%9FUDP%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5

相關文章
相關標籤/搜索