Internet 協(xié)議集支持一個無連接的傳輸協(xié)議,該協(xié)議稱為用戶數(shù)據(jù)包協(xié)議(UDP,User Datagram Protocol)。UDP 為應(yīng)用程序提供了一種無需建立連接就可以發(fā)送封裝的 IP 數(shù)據(jù)包的方法。RFC 768描述了 UDP。Internet 的傳輸層有兩個主要協(xié)議,互為補充。無連接的是 UDP,它除了給應(yīng)用程序發(fā)送數(shù)據(jù)包功能并允許它們在所需的層次上架構(gòu)自己的協(xié)議之外,幾乎沒有做什么特別的事情。面向連接的是 TCP,該協(xié)議幾乎做了所有的事情。
UDP 是User Datagram Protocol的簡稱, 中文名是用戶數(shù)據(jù)包協(xié)議,是OSI(Open System Interconnection,開放式系統(tǒng)互聯(lián)) 參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù),IETF RFC 768 [1] 是UDP的正式規(guī)范。UDP在IP報文的協(xié)議號是17。UDP協(xié)議與TCP協(xié)議一樣用于處理數(shù)據(jù)包,在OSI模型中,兩者都位于傳輸層,處于IP協(xié)議的上一層。UDP有不提供數(shù)據(jù)包分組、組裝和不能對數(shù)據(jù)包進行排序的缺點,也就是說,當報文發(fā)送之后,是無法得知其是否安全完整到達的。UDP用來支持那些需要在計算機之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。包括網(wǎng)絡(luò)視頻會議系統(tǒng)在內(nèi)的眾多的客戶/服務(wù)器模式的網(wǎng)絡(luò)應(yīng)用都需要使用UDP協(xié)議。UDP協(xié)議從問世至今已經(jīng)被使用了很多年,雖然其最初的光彩已經(jīng)被一些類似協(xié)議所掩蓋,但即使在今天UDP仍然不失為一項非常實用和可行的網(wǎng)絡(luò)傳輸層協(xié)議。許多應(yīng)用只支持UDP,如:多媒體數(shù)據(jù)流,不產(chǎn)生任何額外的數(shù)據(jù),即使知道有破壞的包也不進行重發(fā)。當強調(diào)傳輸性能而不是傳輸?shù)耐暾詴r,如:音頻和多媒體應(yīng)用,UDP是最好的選擇。在數(shù)據(jù)傳輸時間很短,以至于此前的連接過程成為整個流量主體的情況下,UDP也是一個好的選擇。
內(nèi)容UDP是OSI參考模型中一種無連接的傳輸層協(xié)議,它主要用于不要求分組順序到達的傳輸中,分組傳輸順序的檢查與排序由應(yīng)用層完成,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。UDP 協(xié)議基本上是IP協(xié)議與上層協(xié)議的接口。UDP協(xié)議適用端口分別運行在同一臺設(shè)備上的多個應(yīng)用程序。UDP提供了無連接通信,且不對傳送數(shù)據(jù)包進行可靠性保證,適合于一次傳輸少量數(shù)據(jù),UDP傳輸?shù)目煽啃杂蓱?yīng)用層負責(zé)。常用的UDP端口號有:53(DNS)、69(TFTP)、161(SNMP),使用UDP協(xié)議包括:TFTP、SNMP、NFS、DNS、BOOTP。UDP報文沒有可靠性保證、順序保證和流量控制字段等,可靠性較差。但是正因為UDP協(xié)議的控制選項較少,在數(shù)據(jù)傳輸過程中延遲小、數(shù)據(jù)傳輸效率高,適合對可靠性要求不高的應(yīng)用程序,或者可以保障可靠性的應(yīng)用程序,如DNS、TFTP、SNMP等。
功能為了在給定的主機上能識別多個目的地址,同時允許多個應(yīng)用程序在同一臺主機上工作并能獨立地進行數(shù)據(jù)包的發(fā)送和接收,設(shè)計用戶數(shù)據(jù)報協(xié)議UDP。UDP使用底層的互聯(lián)網(wǎng)協(xié)議來傳送報文,同IP一樣提供不可靠的無連接數(shù)據(jù)包傳輸服務(wù)。它不提供報文到達確認、排序、及流量控制等功能。UDP Helper可以實現(xiàn)對指定UDP端口廣播報文的中繼轉(zhuǎn)發(fā),即將指定UDP端口的廣播報文轉(zhuǎn)換為單播報文發(fā)送給指定的服務(wù)器,起到中繼的作用。
在UDP協(xié)議層次模型中,UDP位于IP層之上。應(yīng)用程序訪問UDP層然后使用IP層傳送數(shù)據(jù)包。IP數(shù)據(jù)包的數(shù)據(jù)部分即為UDP數(shù)據(jù)包。IP層的報頭指明了源主機和目的主機地址,而UDP層的報頭指明了主機上的源端口和目的端口。UDP傳輸?shù)亩?segment)有8個字節(jié)的報頭和有效載荷字段構(gòu)成。UDP報頭由4個域組成,其中每個域各占用2個字節(jié),具體包括源端口號、目標端口號、數(shù)據(jù)包長度、校驗值。