您好,登錄后才能下訂單哦!
這篇文章主要介紹了UDP協議是什么意思,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
UDP(UserDatagramProtocol)是一個簡單的面向消息的傳輸層協議,盡管UDP提供標頭和有效負載的完整性驗證(通過校驗和),但它不保證向上層協議提供消息傳遞,并且UDP層在發送后不會保留UDP 消息的狀態。因此,UDP有時被稱為不可靠的數據報協議。如果需要傳輸可靠性,則必須在用戶應用程序中實現。
UDP使用具有最小協議機制的簡單無連接通信模型。UDP提供數據完整性的校驗和,以及用于在數據報的源和目標尋址不同函數的端口號。它沒有握手對話,因此將用戶的程序暴露在底層網絡的任何不可靠的方面。如果在網絡接口級別需要糾錯功能,應用程序可以使用為此目的設計的傳輸控制協議(TCP)。
綜上所述:
UDP是基于IP的簡單協議,不可靠的協議。
UDP的優點:簡單,輕量化。
UDP的缺點:沒有流控制,沒有應答確認機制,不能解決丟包、重發、錯序問題。
這里需要注意一點,并不是所有使用UDP協議的應用層都是不可靠的,應用程序可以自己實現可靠的數據傳輸,通過增加確認和重傳機制,所以使用UDP 協議最大的特點就是速度快。
UDP是基于IP的簡單協議,建議先看一下IP協議《IP協議詳解》相關內容。
源端口和目的端口,端口號理論上可以有2^16這么多。因為它的長度是16個bit。端口的詳細見下一章節。
Length占用2個字節,標識UDP頭的長度,包括首部長度和數據長度。可以有65535字節那么長。但是一般網絡在傳送的時候,一次一般傳送不了那么長的協議(涉及到MTU的問題),就只好對數據分片。
Checksum :校驗和,包含UDP頭和數據部分。這是一個可選的選項,并不是所有的系統都對UDP數據包加以檢驗和數據(相對TCP協議的必須來說),但是RFC中標準要求,發送端應該計算檢驗和。
UDP檢驗和覆蓋UDP協議頭和數據,這和IP的檢驗和是不同的,IP協議的檢驗和只是覆蓋IP數據頭,并不覆蓋所有的數據。UDP和TCP都包含一個偽首部,這是為了計算檢驗和而設置的。
端口號是 16 位的非負整數,它的范圍是0 - 65535 之間,這個范圍會分為三種不同的端口號段,由端口號是由互聯網分配號碼管理局(IANA)進行分配
周知/標準端口號,它的范圍是 0 - 1023。在Unix的操作系統上,使用這些端口之一需要超級用戶操作權限
注冊端口號,范圍是 1024 - 49151。是用于IANA 注冊服務的注冊端口。
私有端口號,范圍是 49152 - 6553。未正式指定用于任何特定服務,可用于任何目的。這些端口也可以用作臨時端口,在主機上運行的軟件可以使用這些端口根據需要動態創建通信終結點。
端口的作用,簡單說就是為了區分不同應用程序的,當電腦接收到一個數據報,將根據不同的端口將數據送給不同的應用程序。所以上面說到互聯網分配號碼管理局(IANA)分配。
具體分配的細則,大家可以到下面網站查看
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
這里以80端口為例,80端口是為HTTP(HyperTextTransport Protocol)即超文本傳輸協議開放的,此為上網沖浪使用次數最多的協議,主要用于WWW(WorldWide Web)即萬維網傳輸信息的協議。
如何防護UDP 洪水攻擊?
大多數操作系統限制ICMP 數據包的響應速率,部分原因是為了中斷需要ICMP 響應的DDoS 攻擊。這種防護措施的一個缺點是,在攻擊期間,合法數據包也可能在此過程中被過濾。如果UDP洪水的大小足以使目標服務器的防火墻的狀態表飽和,則在服務器級別發生的任何防護都將是不夠的,因為瓶頸將發生在目標設備的上游。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“UDP協議是什么意思”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。