1.UDP概述
- UDP是一種無鏈接的, 即發送數據前不須要創建鏈接,所以減少的開銷和發送數據的延遲。
- UDP使用盡最大努力交付,即不保證可靠交付,所以主機不須要維持複雜的鏈接狀態表。
- UDP是面向報文的,
- UDP沒有擁塞控制,所以網絡出現的擁塞不會使主機的發送率下降。
- UDP支持一對一,一對多,多對一和多對多的交互通訊。
- UDP首部開銷小,只有8字節,比TCP的20個字節的首部要短。
- UDP的封裝以下所示:
2.UDP的首部格式
- 源端口號:該項是任選項,默認值是0,能夠被指定。
- 目的端口號:該項必須指定,由於這個做爲接收主機內特定應用進程相關聯的地址。
- UDP長度:該字段表示數據報文的長度(包含首部和數據部分),最小8個字節。
- 檢驗和:該字段用於防止UDP用戶數據報在傳輸中出錯。當進行檢驗和計算時,要在UDP數據報以前增長臨時的12個字節僞首部。如上圖所示。
3.IP分片
物理網絡層通常要限制每次發送的數據幀的最大長度。因此,IP層接收到一份要發送的IP數據報時,它要判斷向本地哪一個接口發送數據(選路),並查詢該接口在原始發送端主機上,也能夠發送在中間路由器上。
對於每一份IP數據報來講,其標識字段都包含一個惟一值。該值在數據報分片時候被複制到每一個片中。當數據報分片以後,每一個片的總長度要改成該片的長度。(任何運輸層首部只出如今第一片數據報中)
4.ICMP不可達差錯(須要分片)
當路由器收到一份須要分片的數據報,而在IP首部又設置了不分片(DF)的標誌比特。,就會長生ICMP不可達差錯報文,如圖所示。
5.ICMP源站抑制差錯
當一個系統(路由器或者主機)接收數據報的速度比其處理速度快時,可能產生這個差錯。報文格式以下: