協(xié)議分析 第3章-2UDP協(xié)議_第1頁
協(xié)議分析 第3章-2UDP協(xié)議_第2頁
協(xié)議分析 第3章-2UDP協(xié)議_第3頁
協(xié)議分析 第3章-2UDP協(xié)議_第4頁
協(xié)議分析 第3章-2UDP協(xié)議_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、計算機網(wǎng)絡(luò)計算機網(wǎng)絡(luò)協(xié)議分析與測試協(xié)議分析與測試 第三章 -2 UDP協(xié)議 第三章-2主要內(nèi)容 UDPUDP概述 UDPUDP數(shù)據(jù)報格式 UDP UDP 主要操作 第一節(jié) UDP概述 UDP UDP協(xié)議概述(User Datagram User Datagram ProtocolProtocol)UDP只在IP的數(shù)據(jù)報服務(wù)之上增加了很少一點的功能,即端口的功能和差錯檢測的功能。(盡力而為)雖然 UDP 用戶數(shù)據(jù)報只能提供不可靠的交付,但 UDP 在某些方面有其特殊的優(yōu)點。發(fā)送數(shù)據(jù)之前不需要建立連接,無連接的協(xié)議UDP 的主機不需要維持復(fù)雜的連接狀態(tài)表,信宿收到UDP數(shù)據(jù)報之后不需要給出任何應(yīng)答

2、報文。每個數(shù)據(jù)報單獨路由。UDP 用戶數(shù)據(jù)報只有8個字節(jié)的首部開銷。沒有流量控制和確認機制,網(wǎng)絡(luò)出現(xiàn)的擁塞不會使源主機的發(fā)送速率降低。這對某些實時應(yīng)用是很重要的。 UDP UDP協(xié)議概述(User Datagram User Datagram ProtocolProtocol)無連接,不存在連接建立的時延。信源端,傳送數(shù)據(jù)的速度僅受應(yīng)用程序生成數(shù)據(jù)的速度、計算機的能力和傳輸帶寬的限制。信宿端UDP把每個數(shù)據(jù)報放在隊列中,應(yīng)用程序每次從隊列讀一個數(shù)據(jù)報。不建立連接,也不需要維護連接狀態(tài),一臺服務(wù)機可以同時向多個客戶機傳輸相同的數(shù)據(jù),如多播。吞吐量不受流量控制算法的調(diào)節(jié),只受應(yīng)用程序生成數(shù)據(jù)的速率

3、、傳輸帶寬、信源和信宿主機性能的限制。UDP和TCP的最重要功能是將IP提供的端到端傳遞服務(wù)擴展到進程級。pUDP基本功能l進程-進程數(shù)據(jù)傳遞l差錯檢測pTCP基本功能l進程-進程數(shù)據(jù)傳遞l差錯檢測l可靠數(shù)據(jù)傳遞可靠數(shù)據(jù)傳遞l面向連接面向連接l擁塞控制擁塞控制UDP提供了不可靠的無連接傳輸服務(wù)。UDP使用IP攜帶報文,但增加了對給定主機上多個目標進行區(qū)別的能力。pUDP特點l沒有確認機制l不對報文排序l沒有超時機制l沒有反饋機制控制流量導致報文丟棄、重復(fù)和亂序使用UDP的應(yīng)用程序要承擔可靠性方面的全部工作。 UDP協(xié)議在設(shè)計時的簡單性,是為了保證UDP在工作時的高效性和低延時性。因此,在服務(wù)質(zhì)

4、量較高的網(wǎng)絡(luò)中(如局域網(wǎng)),UDP可以高效地工作。 UDP常用于傳輸延時小,對可靠性要求不高,有簡單數(shù)據(jù)要進行傳輸?shù)那闆r,如DNS(域名服務(wù))、TFTP(簡單文件傳輸)等,既節(jié)省開銷,又提高網(wǎng)絡(luò)傳輸效率。實時性要求較高但可承受一定的數(shù)據(jù)錯誤的應(yīng)用,如實時語音、視頻等,以及廣播、多播較多地使用UDP。 第二節(jié) UDP數(shù)據(jù)報格式 偽首部偽首部源端口源端口目的端口目的端口長長 度度檢驗和檢驗和數(shù)數(shù) 據(jù)據(jù)首首 部部UDP長度長度源源 IP 地址地址目的目的 IP 地址地址017IP 數(shù)據(jù)報數(shù)據(jù)報字節(jié)字節(jié)44112122222字節(jié)字節(jié)發(fā)送在前發(fā)送在前數(shù)數(shù) 據(jù)據(jù)首首 部部UDP 用戶數(shù)據(jù)報用戶數(shù)據(jù)報用戶數(shù)

5、據(jù)報用戶數(shù)據(jù)報 UDP 有兩個字段:有兩個字段:數(shù)據(jù)字段數(shù)據(jù)字段和和首部字段首部字段。首部字段。首部字段有有 8 個字節(jié),由個字節(jié),由 4 個字段組成,每個字段都是兩個字節(jié)。個字段組成,每個字段都是兩個字節(jié)。 源端口:運行在信源機的應(yīng)用進程使用的端口號 目的端口:運行在信宿機的應(yīng)用進程使用的端口號 數(shù)據(jù)報總長度:用戶數(shù)據(jù)報的總長度(首部+數(shù)據(jù)) 檢驗和:檢驗整個用戶數(shù)據(jù)報的差錯偽首部偽首部源端口源端口目的端口目的端口長長 度度檢驗和檢驗和122222字節(jié)字節(jié)接收主機發(fā)現(xiàn)IP協(xié)議字段為17,就將數(shù)據(jù)交給UDP協(xié)議處理。UDP數(shù)據(jù)包中,源端口字段可選,目標端口字段必須指定。目標端收到的UDP數(shù)據(jù)報

6、中的目標端口號不能與當前已使用的某端口號匹配,則丟棄該數(shù)據(jù)報,并發(fā)送目標端口不可達的ICMP差錯報文。UDP對數(shù)據(jù)傳輸過程中惟一的可靠保證措施是進行差錯校驗,如果發(fā)生差錯,則只是簡單地拋棄該數(shù)據(jù)報偽首部偽首部源端口源端口目的端口目的端口長長 度度檢驗和檢驗和122222字節(jié)字節(jié)偽首部偽首部源端口源端口目的端口目的端口長長 度度檢驗和檢驗和數(shù)數(shù) 據(jù)據(jù)首首 部部UDP長度長度源源 IP 地址地址目的目的 IP 地址地址017IP 數(shù)據(jù)報數(shù)據(jù)報字節(jié)字節(jié)44112122222字節(jié)字節(jié)發(fā)送在前發(fā)送在前數(shù)據(jù)數(shù)據(jù) 065507B首部首部 8BUDP 用戶數(shù)據(jù)報用戶數(shù)據(jù)報 在計算檢驗和時,臨時把在計算檢驗和時

7、,臨時把“偽首部偽首部”和和 UDP 用戶數(shù)據(jù)報連接在一起。用戶數(shù)據(jù)報連接在一起。偽首部僅僅偽首部僅僅是為了計算檢驗和是為了計算檢驗和。校驗和的計算 UDP偽頭部并不是偽頭部并不是UDPUDP的真正組成部分,它只是為了的真正組成部分,它只是為了UDPUDP在進行差錯檢查時可以把更多的信息包含進去而人為在進行差錯檢查時可以把更多的信息包含進去而人為加上的。加上的。偽頭部沒有傳輸偽頭部沒有傳輸!偽頭部的格式偽頭部的格式: :協(xié)議(8位,UDP值為17)UDP長度(16位)填充域(8位,全0)目標端IP地址(32位)源 端IP地 址(32位)01516317 8UDP長度為長度為UDP數(shù)據(jù)報的總長數(shù)

8、據(jù)報的總長(當然不能包括虛構(gòu)的偽頭部當然不能包括虛構(gòu)的偽頭部)。填充域全填填充域全填0,目的是使偽頭部為,目的是使偽頭部為16位二進制數(shù)的整數(shù)倍,這是計算校驗和時所需要的位二進制數(shù)的整數(shù)倍,這是計算校驗和時所需要的.另:如果數(shù)據(jù)報的長度是奇數(shù)字節(jié),則要在最后添加一個填充字節(jié)另:如果數(shù)據(jù)報的長度是奇數(shù)字節(jié),則要在最后添加一個填充字節(jié)0,使字節(jié)總數(shù)為偶,使字節(jié)總數(shù)為偶數(shù),方便計算校驗和,數(shù),方便計算校驗和,附加的附加的0不會被傳輸。不會被傳輸。計算 UDP 檢驗和的例子 10011001 00010011 153.1900001000 01101000 8.10410101011 00000011

9、 171.300001110 00001011 14.1100000000 00010001 0 和和 1700000000 00001111 1500000100 00111111 108700000000 00001101 1300000000 00001111 1500000000 00000000 0(檢驗和)(檢驗和)01010100 01000101 TE01010011 01010100 ST01001001 01001110 IN01000111 00000000 G和和 0(填充)(填充)10010110 11101011 求和得出的結(jié)果求和得出的結(jié)果01101001 000

10、10100 檢驗和檢驗和 04112 字字節(jié)節(jié)偽首部偽首部8 字節(jié)字節(jié)UDP 首部首部7 字節(jié)字節(jié)數(shù)據(jù)數(shù)據(jù)填充填充按二進制反碼運算求和按二進制反碼運算求和將得出的結(jié)果求反碼將得出的結(jié)果求反碼全全 0 17 15 1087 13 15 全全 0 T E S T I N G 全全 0最大UDP數(shù)據(jù)報長度 65535=20+8+6550765535=20+8+65507數(shù)數(shù) 據(jù)據(jù)首首 部部IP 數(shù)據(jù)報數(shù)據(jù)報發(fā)送在前發(fā)送在前數(shù)據(jù)數(shù)據(jù) 065507B首部首部 8BUDP 用戶數(shù)據(jù)報用戶數(shù)據(jù)報制約制約UDPUDP數(shù)據(jù)報長度的因素數(shù)據(jù)報長度的因素大部分系統(tǒng)缺省提供讀寫

11、大部分系統(tǒng)缺省提供讀寫81928192個字節(jié)的個字節(jié)的UDPUDP數(shù)據(jù)報數(shù)據(jù)報受受TCP/IPTCP/IP內(nèi)核實現(xiàn)的限制內(nèi)核實現(xiàn)的限制BSD/386 32786 B 32778+8BSD/386 32786 B 32778+8SunOS 4.1.3 32767 B 32759+8SunOS 4.1.3 32767 B 32759+8Solaris 65535 B 65527+8 Solaris 65535 B 65527+8 第三節(jié) UDP 主要操作 UDP報文的封裝、拆封數(shù)數(shù) 據(jù)據(jù)首首 部部IP 數(shù)據(jù)報數(shù)據(jù)報發(fā)送在前發(fā)送在前數(shù)據(jù)數(shù)據(jù) 065507B首部首部 8BUDP 用戶數(shù)據(jù)報用戶數(shù)據(jù)報封

12、裝:高層封裝:高層-UDP-IP-UDP-IP-數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層- -物理網(wǎng)絡(luò)物理網(wǎng)絡(luò)拆封:物理網(wǎng)絡(luò)拆封:物理網(wǎng)絡(luò)- -數(shù)據(jù)鏈路層(必要檢驗、去首尾部)數(shù)據(jù)鏈路層(必要檢驗、去首尾部)- -IPIP(去(去IPIP首部、連同源目的首部、連同源目的IPIP一起送給)一起送給)-UDP-UDP(校驗和(校驗和檢查、去檢查、去UDPUDP首部)首部)- -高層高層UDP的復(fù)用、分用當主機運行TCP/IP協(xié)議族時,只有一個UDP,但可能會有多個進程想要使用UDP的服務(wù),UDP可以進行復(fù)用和分用。UDP接收多個Applications的數(shù)據(jù)報,封裝后送給IP傳輸。接收到IP送來的數(shù)據(jù)報,分別將其送給

13、對應(yīng)的應(yīng)用程序。端口是用報文隊列來實現(xiàn) UDP 端口端口 51000UDP 端口端口 69 出隊列出隊列入隊列入隊列出隊列出隊列入隊列入隊列TFTP 服務(wù)器服務(wù)器TFTP 客戶客戶UDP 用戶數(shù)據(jù)報用戶數(shù)據(jù)報應(yīng)應(yīng)用用層層運運輸輸層層UDP 傳輸隊列與端口關(guān)聯(lián),每個應(yīng)用進程都包含1個輸入隊列和1個輸出隊列UDP為進程臨時分配一個port時,也同時在內(nèi)存建立1個輸入隊列和1個輸出隊列發(fā):數(shù)據(jù)包寫入輸出隊列,UDP逐個取出,加UDP首部封裝后給IP收:到達信宿的數(shù)據(jù)報放在與該數(shù)據(jù)報目的port對應(yīng)的輸入隊列。出入都可能會溢出出溢出:降發(fā)送速度入溢出:丟棄,發(fā)送“端口不可達”報文常用的UDP端口UDP的使用場合DNS -UDPvideo UDP IP 協(xié)議字段值=17UDP8Bytes Head Source port Destination port Length CheckSum Data小結(jié):為什么選擇UDP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論