(十九)運輸層--UDP

用戶數據報協議UDP

UDP概述

用戶數據報協議UDP只在IP的數據報服務之上增加了很少一點的功能,即複用、分用以及差錯檢測功能。UDP的主要特點是:
(1)UDP是無連接的,即發送數據之前不需要建立連接,減少了開銷和發送數據之前的時延

(2)UDP使用盡最大努力交付,即不保證可靠交付,因此主機不需要維持複雜的連接狀態表

(3)UDP是面向報文的,發送方的UDP對應用程序交下來的報文,在添加首部後就向下交付IP層,UDP對應用層的報文既不合並,也不拆分,而是保留這些報文的邊界。也就是說,應用層交給UDP多長的報文,UDP就照樣發送,一次發送一個報文,如下圖所示:

在接收方的UDP,對IP層交上來的UDP用戶數據報,在去除首部後,就原封不動的交付上層的應用進程。也就是說,UDP一次交付一個完整的報文。

(4)UDP沒有擁塞控制,因此網絡出現的擁塞不會使源主機的發送速率降低。這對某些實時應用是很重要的。很多的實時應用(IP電話、視頻會議)要求源主機以恆定的速率發送數據,並且允許在網絡發生擁塞時丟失一些數據,但卻不允許數據有太大的時延。

(5)UDP支持一對一、一對多、多對一、多對多的交互通信

(6)UDP的首部開銷小,只有8個字節,比TCP的20個字節的首部要短。

UDP的首部格式

用戶數據報UDP有兩個字段:首部字段和數據字段。首部字段很簡單,只有8個字節,由四個字段組成,每個字段的長度都是兩個字節。各字段意義如下:
(1)源端口
在需要對方回信時選用,不需要時可用全0
(2)目的端口
在終點交付報文時必須使用
(3)長度
UDP用戶數據報的長度,最小值是8(只有首部)
(4)檢驗和
檢測UDP用戶數據報在傳輸中是否有錯,有錯就丟棄

當運輸層從IP層收到UDP數據報時,就根據首部中的目的端口,把UDP數據報通過相應的端口,上交最後的終點——應用進程。下圖是UDP基於端口分用的示意圖:

如果接收方UDP發現收到的報文中的目的端口號不正確(不存在對應於該端口號的應用進程),就丟棄該報文。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章