監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢(xún)管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶(hù)案例 | 在線(xiàn)試用
X 關(guān)閉

網(wǎng)管須知:網(wǎng)絡(luò)傳輸協(xié)議之UDP協(xié)議

申請(qǐng)免費(fèi)試用、咨詢(xún)電話(huà):400-8352-114

UDP協(xié)議是一個(gè)簡(jiǎn)單的面向數(shù)據(jù)報(bào)的運(yùn)輸層協(xié)議:進(jìn)程的每個(gè)輸出操作都會(huì)產(chǎn)生一個(gè)UDP數(shù)據(jù)報(bào),并組裝成一份待發(fā)送的IP數(shù)據(jù)報(bào),這與面向字符流的協(xié)議不同,如TCP,應(yīng)用程序產(chǎn)生的全體數(shù)據(jù)與真正發(fā)送的單個(gè)IP數(shù)據(jù)報(bào)可能沒(méi)有什么聯(lián)系(主要是在傳輸層就進(jìn)行分段了,因此不會(huì)受IP分片的影響)。

UDP的校驗(yàn)和

至于UDP的校驗(yàn)和,這里注意下區(qū)別就好了,UDP對(duì)首部和數(shù)據(jù)部分都進(jìn)行校驗(yàn),而IP首部的校驗(yàn)和僅對(duì)IP的首部進(jìn)行校驗(yàn),順帶提下TCP,TCP的校驗(yàn)和也是對(duì)首部和數(shù)據(jù)部分都進(jìn)行校驗(yàn),另外,UDP的校驗(yàn)和是可選的,而TCP的是必選的。

不可靠協(xié)議

UDP是不可靠的協(xié)議,沒(méi)有超時(shí)和重傳功能,當(dāng)UDP數(shù)據(jù)封裝到IP數(shù)據(jù)報(bào)傳輸時(shí),如果丟失,會(huì)發(fā)送一個(gè)ICMP差錯(cuò)報(bào)文給源主機(jī),另外,如果UDP數(shù)據(jù)報(bào)的發(fā)送端沒(méi)打開(kāi)UDP校驗(yàn)和,而接收端計(jì)算校驗(yàn)和有差錯(cuò),那么UDP數(shù)據(jù)報(bào)將會(huì)被丟掉,也不會(huì)發(fā)送ICMP差錯(cuò)報(bào)文。

路徑MTU發(fā)現(xiàn)

可以修改Traceroute程序來(lái)確定路徑MTU。要做的是發(fā)送分組,并設(shè)置將IP首部設(shè)置為不分片,發(fā)送的第一個(gè)分組的長(zhǎng)度正好于出口MTU相等,每次收到ICMP不可分片的差錯(cuò)報(bào)文時(shí),就減小分組長(zhǎng)度,使新的ICMP不可分片差錯(cuò)報(bào)文中返回更小的MTU,每次用更小的MTU值來(lái)傳送,這樣能找到更小的MTU值。

利用路徑MTU發(fā)現(xiàn)機(jī)制,應(yīng)用程序可以充分利用更大的MTU來(lái)發(fā)送報(bào)文。

UDP最大長(zhǎng)度

理論上IP數(shù)據(jù)報(bào)的最大長(zhǎng)度為65535字節(jié),因此理論上的UDP數(shù)據(jù)報(bào)的最大長(zhǎng)度為65507(65535-20-8)字節(jié),但是,大多數(shù)實(shí)現(xiàn)所提供的長(zhǎng)度比這個(gè)最大值小。一般有兩個(gè)因素的限制(書(shū)上給出了一些例子,見(jiàn)P120):

1、應(yīng)用程序可能胡受到其程序接口的限制,一些API的實(shí)現(xiàn)中可能有限定UDP數(shù)據(jù)報(bào)的最大長(zhǎng)度。另外,現(xiàn)在大部分系統(tǒng)都默認(rèn)提供了可讀寫(xiě)大于8192字節(jié)的UDP數(shù)據(jù)報(bào)。

2、受限于TCP/IP內(nèi)核的實(shí)現(xiàn),可能存在一些實(shí)現(xiàn)特性,使IP數(shù)據(jù)報(bào)長(zhǎng)度小于65535字節(jié)。

數(shù)據(jù)報(bào)截?cái)?/strong>

正是由于UDP最大數(shù)據(jù)報(bào)的限制(受限于上面的兩個(gè)因素,一般都會(huì)小于65507),大于這個(gè)限制的數(shù)據(jù)報(bào)會(huì)被截?cái)?,從而發(fā)生數(shù)據(jù)丟失,且不會(huì)有任何數(shù)據(jù)丟失的通知,這也是UDP協(xié)議不可靠傳輸?shù)牧硪粋€(gè)體現(xiàn)。而TCP則沒(méi)有任何信息邊界,TCP首部中沒(méi)有對(duì)TCP最長(zhǎng)報(bào)文段的限制,因此TCP以應(yīng)用程序讀操作時(shí)所要求的長(zhǎng)度來(lái)傳送數(shù)據(jù)(理論上一次可以發(fā)送很大的數(shù)據(jù),但考慮到網(wǎng)絡(luò)的傳輸性能,最好不要一次傳輸太大的數(shù)據(jù)),當(dāng)然在超過(guò)MSS值時(shí)會(huì)產(chǎn)生分段,因此不會(huì)發(fā)生數(shù)據(jù)截?cái)唷?/p>

ICMP源站抑制差錯(cuò)

當(dāng)一個(gè)系統(tǒng)中的某主機(jī)或路由器處理數(shù)據(jù)的速度趕不上接受數(shù)據(jù)的速度時(shí),因?yàn)榻邮罩鳈C(jī)的IP緩存會(huì)被占滿(mǎn),可能會(huì)產(chǎn)生這個(gè)差錯(cuò),從而發(fā)送一個(gè)ICMP源站抑制差錯(cuò)報(bào)文,這里要注意是“可能”。

本文來(lái)自互聯(lián)網(wǎng),僅供參考
發(fā)布:2007-04-15 10:01    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章: