计算机网络-UDP协议
生活随笔
收集整理的這篇文章主要介紹了
计算机网络-UDP协议
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
- 1 概述
- 2 UDP的主要特點(diǎn)
- 3 UDP的首部格式
- 3.1 傳輸關(guān)系
- 3.2 首部格式
- 3.3 UDP 基于端口的分用和復(fù)用
- 3.4 UDP校驗(yàn)
1 概述
用戶數(shù)據(jù)報(bào)協(xié)議(UDP,User Datagram Protocol),UDP作為傳輸層的一個(gè)重要的協(xié)議,它的主要的功能是在IP端到端的服務(wù)之上,增加了有限的兩個(gè)功能:
另外,雖然UDP協(xié)議只提供不可靠的交付,看起來似乎非常不完美,但是UDP協(xié)議在某些方面具有特殊的優(yōu)點(diǎn):
所以在有些情況下,UDP協(xié)議簡單快速的特點(diǎn),比TCP協(xié)議更有優(yōu)勢(shì)
2 UDP的主要特點(diǎn)
應(yīng)用程序必須選擇合適大小的報(bào)文
- 若報(bào)文太長,UDP 把它交給 IP 層后,IP 層在傳送時(shí)可能要進(jìn)行分片,這會(huì)降低 IP 層的效率
- 若報(bào)文太短,UDP 把它交給 IP 層后,會(huì)使 IP 數(shù)據(jù)報(bào)的首部的相對(duì)長度太大,這也降低了 IP 層的效率
3 UDP的首部格式
3.1 傳輸關(guān)系
UDP協(xié)議作為傳輸層的一個(gè)經(jīng)典協(xié)議,它和上下層的傳輸關(guān)系如下:
3.2 首部格式
- 除去兩個(gè)端口號(hào)字段,還有一個(gè)長度字段,它用來標(biāo)明整個(gè)UDP報(bào)文的長度是多少,最后一個(gè)字段是校驗(yàn)和字段,它實(shí)現(xiàn)了對(duì)整個(gè)UDP報(bào)文的校驗(yàn)功能
3.3 UDP 基于端口的分用和復(fù)用
3.4 UDP校驗(yàn)
- 在計(jì)算檢驗(yàn)和時(shí),臨時(shí)把“偽首部”和 UDP 用戶數(shù)據(jù)報(bào)連接在一起。偽首部僅僅是為了計(jì)算檢驗(yàn)和
- 所謂偽首部,可以理解它就是一個(gè)假的,它并沒有一個(gè)實(shí)際的地址空間,在進(jìn)行UDP報(bào)文封裝的時(shí)候并沒有這部分內(nèi)容,要不然UDP協(xié)議的首部是20 (8+12) 個(gè)字節(jié),而不是我們所說的8個(gè)字節(jié),實(shí)際傳輸過程中,也并沒有這樣的字段
- 設(shè)置這個(gè)偽首部,只是為了計(jì)算 校驗(yàn)和,這個(gè)偽首部包含的內(nèi)容,如上圖所示,這就有所疑問了,對(duì)于運(yùn)輸層來講,本身沒有IP地址這一概念,因?yàn)镮P地址是在網(wǎng)絡(luò)層中路由器轉(zhuǎn)發(fā)所用的地址,為了計(jì)算校驗(yàn)和而強(qiáng)制引入的偽首部,包含IP地址信息,實(shí)際上會(huì)破壞網(wǎng)絡(luò)分層,引入偽首部的目的,就是為了讓UDP兩次檢查數(shù)據(jù)是不是正確的到達(dá)了目的地,其中一次是對(duì)UDP端口號(hào)和其他數(shù)據(jù)的校驗(yàn),另一次是對(duì)IP地址的再校驗(yàn),因?yàn)镮P地址再路由器轉(zhuǎn)發(fā)過程中,有可能會(huì)發(fā)現(xiàn)IP地址錯(cuò)誤,所以UDP協(xié)議覺得IP地址校驗(yàn)是很有必要的
- 如下就是校驗(yàn)的例子,簡單來說就是把首部部分,每2個(gè)字節(jié)寫成一行,然后按列排下來,每一列對(duì)應(yīng)的每一位進(jìn)行求和,得出來的結(jié)果再求反碼,再將其放入校驗(yàn)和的位置中
總結(jié)
以上是生活随笔為你收集整理的计算机网络-UDP协议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络-OSPF协议
- 下一篇: 计算机网络-TCP协议