網絡原理與協議分析-第2單元-UDP:用戶數據報協議_第1頁
網絡原理與協議分析-第2單元-UDP:用戶數據報協議_第2頁
網絡原理與協議分析-第2單元-UDP:用戶數據報協議_第3頁
網絡原理與協議分析-第2單元-UDP:用戶數據報協議_第4頁
網絡原理與協議分析-第2單元-UDP:用戶數據報協議_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1要求:要求:1. 理解傳輸層解決的基本問題和作用理解傳輸層解決的基本問題和作用 2. 理解數據傳輸的最終目的地和端口的概念理解數據傳輸的最終目的地和端口的概念 3. 理解理解TCP/IP協議中的多路復用和分解問題協議中的多路復用和分解問題 4. 掌握掌握TCP/IP協議通信過程的五要素協議通信過程的五要素 5. 了解了解UDP通信的基本特點和報文格式通信的基本特點和報文格式 6. 了解了解UDP校驗和的計算方法校驗和的計算方法 2 動機分析動機分析基本問題基本問題網絡網絡1網絡網絡3網絡網絡n網絡網絡2RRR H2 Hn通信通信子網子網R54321應用進程應用進程IP 層AP1AP2AP45

2、4321AP33數據到達目的主機后,有兩個基本問題:數據到達目的主機后,有兩個基本問題:(1) 數據交給誰來處理?數據交給誰來處理?(2) 可靠性如何保障?可靠性如何保障? 動機分析動機分析基本問題基本問題2.1 傳輸層的引入傳輸層的引入45一、引入傳輸層的必要性一、引入傳輸層的必要性 傳輸層在應用層和傳輸層在應用層和IP層之間起著承上啟下的作用,層之間起著承上啟下的作用,它應該滿足以下三個要求:它應該滿足以下三個要求: (1) 傳輸層要提供比傳輸層要提供比IP層質量更高的服務層質量更高的服務 IP是一個無連接的投遞系統(tǒng),是一個無連接的投遞系統(tǒng),IP數據報在投遞過程數據報在投遞過程中會出現丟失

3、、延遲和亂序的情況。中會出現丟失、延遲和亂序的情況。 盡管盡管IP盡最大的努力盡最大的努力投遞數據報,但它提供的服務投遞數據報,但它提供的服務仍是仍是不可靠不可靠的。的。 對于應用程序而言,如果要求可靠性,有以下兩種對于應用程序而言,如果要求可靠性,有以下兩種解決途徑:解決途徑: 1、是由應用程序自身處理可靠性問題;、是由應用程序自身處理可靠性問題; 2、是加入新的協議模塊專門處理可靠性問題。、是加入新的協議模塊專門處理可靠性問題。增加規(guī)模和復雜性;代碼重復增加規(guī)模和復雜性;代碼重復6一、引入傳輸層的必要性一、引入傳輸層的必要性 (2) 傳輸層要提供識別應用層進程的機制傳輸層要提供識別應用層進

4、程的機制 兩個主機在兩個主機在IP層傳遞的對象是層傳遞的對象是IP數據報,它使用目數據報,它使用目的的IP地址作為傳遞的目的地,但一個地址作為傳遞的目的地,但一個IP地址標識的是到地址標識的是到一個網絡的一條連接,而非主機上的應用程序。一個網絡的一條連接,而非主機上的應用程序。 如果使用如果使用IP地址作為網間應用通信的最終目的地,地址作為網間應用通信的最終目的地,則無法區(qū)分同一主機上的多個應用。則無法區(qū)分同一主機上的多個應用。 因此,傳輸層應使用比因此,傳輸層應使用比IP地址更具體的標識符來標地址更具體的標識符來標識應用。識應用。7一、引入傳輸層的必要性一、引入傳輸層的必要性 (3) 傳輸層

5、要針對不同尺寸的應用層數據進行適當傳輸層要針對不同尺寸的應用層數據進行適當的處理的處理 對于大尺寸數據,如大型文件、音頻或視頻等數對于大尺寸數據,如大型文件、音頻或視頻等數據應進行劃分,以便于在網絡上傳輸;據應進行劃分,以便于在網絡上傳輸; 對于小尺寸數據,則應進行合并以提高網絡利用對于小尺寸數據,則應進行合并以提高網絡利用率。率。8二、傳輸層的作用二、傳輸層的作用 承上啟下,承上啟下, “加強加強”和和“彌補彌補”通信子網服務通信子網服務 特色:提高可靠性特色:提高可靠性 加強:加強:對服務質量(對服務質量(Quality of Service,QoS)而言,)而言,指提高服務的可靠性指提高

6、服務的可靠性 彌補:彌補:對服務類型而言,要提供端到端進程通信對服務類型而言,要提供端到端進程通信9端到端進程通信端到端進程通信 兩個主機進行通信實際上就是兩個主機中的兩個主機進行通信實際上就是兩個主機中的應用進應用進程互相通信程互相通信。 應用進程之間的通信又稱為應用進程之間的通信又稱為端到端的通信端到端的通信。 “傳輸層提供應用進程間的邏輯通信傳輸層提供應用進程間的邏輯通信”。傳輸層向傳輸層向高層用戶屏蔽了下面網絡核心的細節(jié)(如網絡拓撲、所高層用戶屏蔽了下面網絡核心的細節(jié)(如網絡拓撲、所采用的路由選擇協議等)采用的路由選擇協議等) ,它使應用進程看見的就是,它使應用進程看見的就是好像在兩個

7、傳輸層實體之間有一條端到端的邏輯通信信好像在兩個傳輸層實體之間有一條端到端的邏輯通信信道。道。 但事實上這兩個傳輸層之間并沒有一條水平方向但事實上這兩個傳輸層之間并沒有一條水平方向的物理連接。的物理連接。54321應用進程應用進程IP 層AP1AP2AP454321AP310傳輸層提供應用進程間的邏輯通信傳輸層為相互通信的應用進程提供了邏輯通信 從本質上說,由物理層、數據鏈路層和網絡層組成的從本質上說,由物理層、數據鏈路層和網絡層組成的通信子網為網絡環(huán)境中的主機提供通信子網為網絡環(huán)境中的主機提供點到點點到點的服務,而的服務,而傳輸層為網絡中的主機提供傳輸層為網絡中的主機提供端到端端到端的通信。

8、的通信。 點到點:對等實體間的通信由一段一段直接相連的機點到點:對等實體間的通信由一段一段直接相連的機器間的通信組成;器間的通信組成; 端到端:對等實體間的通信像擁有一個直接線路。端到端:對等實體間的通信像擁有一個直接線路。 11二、傳輸層的作用二、傳輸層的作用 TCP/IP協議族重要的兩類傳輸層協議:協議族重要的兩類傳輸層協議: (1) 用戶數據報協議(用戶數據報協議(User Datagram Protocol,UDP) 當傳輸層采用無連接的當傳輸層采用無連接的UDP協議時,這種邏輯通信協議時,這種邏輯通信信道是一條信道是一條不可靠信道不可靠信道。 (2) 傳輸控制協議(傳輸控制協議(Tr

9、ansmission Control Protocol,TCP) 當傳輸層采用面向連接的當傳輸層采用面向連接的TCP協議時,盡管下面的協議時,盡管下面的網絡是不可靠的(只提供盡最大努力服務),但這種邏網絡是不可靠的(只提供盡最大努力服務),但這種邏輯通信信道就相當于一條全雙工的輯通信信道就相當于一條全雙工的可靠信道可靠信道。傳輸層協議和網絡層協議的主要區(qū)別 應用進程應用進程IP 協議的作用范圍(提供主機之間的邏輯通信)TCP 和 UDP 協議的作用范圍(提供進程之間的邏輯通信)因 特 網1213三、數據的最終接收者三、數據的最終接收者 傳輸層要提供端到端的進程通信。傳輸層要提供端到端的進程通信

10、。 1、能不能把、能不能把進程進程作為通信的最終目的地?作為通信的最終目的地? 為了使運行不同操作系統(tǒng)的計算機的應用進程能為了使運行不同操作系統(tǒng)的計算機的應用進程能夠互相通信,就必須夠互相通信,就必須用統(tǒng)一的方法用統(tǒng)一的方法對對TCP/IP體系的應體系的應用進程進行標志。用進程進行標志。 由于進程的創(chuàng)建和撤銷都是由于進程的創(chuàng)建和撤銷都是動態(tài)動態(tài)的,發(fā)送方幾乎的,發(fā)送方幾乎無法識別其他機器上的進程。無法識別其他機器上的進程。 有時接收方會有時接收方會改換改換接收報文的進程,但并不需要接收報文的進程,但并不需要通知所有發(fā)送方。通知所有發(fā)送方。14三、數據的最終接收者三、數據的最終接收者為每個協議按

11、為每個協議按用戶可能要求用戶可能要求的服務種類設的服務種類設置一些抽象的置一些抽象的訪問目的點訪問目的點協議協議.PP操作系統(tǒng)提操作系統(tǒng)提供相應機制,供相應機制,創(chuàng)建或喚醒創(chuàng)建或喚醒相應進程來相應進程來處理相應端處理相應端口數據口數據數據報數據報端口:端口:用一個用一個16bit的正整數標識,的正整數標識,稱為端口號稱為端口號端口的數據管理:端口的數據管理:每一端口有一緩沖每一端口有一緩沖區(qū)來存放進出該端口的數據隊列區(qū)來存放進出該端口的數據隊列P2、抽象方法、抽象方法用協議的端口作為最終目的地用協議的端口作為最終目的地軟件端口與硬件端口n在協議棧層間的抽象的協議端口是軟件端口。n路由器或交換機

12、上的端口是硬件端口。n硬件端口是不同硬件設備進行交互的接口,而軟件端口是應用層的各種協議進程與傳輸實體進行層間交互的一種地址。 1516交換機的硬件端口三類端口 n知名端口,數值一般為 01023。n登記端口號,數值為102449151,為沒有熟知端口號的應用程序使用的。使用這個范圍的端口號必須在因特網編號授權委員會(IANA) 登記,以防止重復。n客戶端口號或短暫端口號,數值為49152 65535,留給客戶進程選擇暫時使用。當服務器進程收到客戶進程的報文時,就知道了客戶進程所使用的動態(tài)端口號。通信結束后,這個端口號可供其他客戶進程以后使用。 17183、如何獲得端口號:、如何獲得端口號:

13、源源 端端 口:口:沒有問題沒有問題 目的端口:目的端口: 1. 集中式統(tǒng)一指派集中式統(tǒng)一指派 (知名端口)(知名端口) 2. 動態(tài)指派動態(tài)指派 當一個應用程序需要使用端口時,網絡軟件就當一個應用程序需要使用端口時,網絡軟件就指定一個端口。為了知道另一臺機器上的當前端口指定一個端口。為了知道另一臺機器上的當前端口號,就必須送出一個請求報文,然后目的主機進行號,就必須送出一個請求報文,然后目的主機進行回答,把正確的端口號送回來。回答,把正確的端口號送回來。端口只具有本地意義。在因特網的不同端口只具有本地意義。在因特網的不同計算機中,相同的端口號是沒有關聯的。計算機中,相同的端口號是沒有關聯的。1

14、9 傳輸層的一個很重要的功能就是傳輸層的一個很重要的功能就是復用復用和和分解分解。 應用層不同進程的報文通過不同的端應用層不同進程的報文通過不同的端口向下交到傳輸層,再往下就共用網絡層口向下交到傳輸層,再往下就共用網絡層提供的服務。提供的服務。20 幀到達幀到達 基于幀類型的多路分解基于幀類型的多路分解 1 2 65535 1 2 65535 ARP 0806H RARP 0835H IP 0800H ICMP 01H TCP 06H UDP 11H 以太網幀類型以太網幀類型 IP協議域協議域 21 (1)目的目的IP地址地址:要與之進行數據通信的目的:要與之進行數據通信的目的主機所在位置。主

15、機所在位置。 (2)目的端口號目的端口號:定位遠程主機進行數據交換:定位遠程主機進行數據交換的進程。的進程。 (3)源源IP地址地址:數據的發(fā)送方,通過這個要素:數據的發(fā)送方,通過這個要素讓遠程主機系統(tǒng)知道對等通信的主機。讓遠程主機系統(tǒng)知道對等通信的主機。 (4)源端口號源端口號:通過這個來定位本地處理通信:通過這個來定位本地處理通信數據的進程。數據的進程。 (5)協議協議:定位具體的通信協議。:定位具體的通信協議。2.2 UDP:無連接的用戶:無連接的用戶數據報協議數據報協議22一、面向報文的UDPn發(fā)送方UDP對應用程序交下來的報文,在添加首部后就向下交付IP層。UDP對應用層交下來的報文

16、,既不合并,也不拆分,而是保留這些報文的邊界。n應用層交給UDP多長的報文,UDP就照樣發(fā)送,即一次發(fā)送一個報文。n接收方UDP對IP層交上來的UDP用戶數據報,在去除首部后就原封不動地交付上層的應用進程,一次交付一個完整的報文。n應用程序必須選擇合適大小的報文。23UDP是面向報文的 IP數據報的數據部分IP首部IP 層UDP首部UDP用戶數據報的數據部分傳輸層應用層報文應用層24二、UDP概述 nUDP只在IP的數據報服務之上增加了很少一點的功能,即端口的功能和差錯檢測的功能。n雖然UDP用戶數據報只能提供不可靠的交付,但UDP在某些方面有其特殊的優(yōu)點。25UDP的主要特點 nUDP是無連

17、接的,即發(fā)送數據之前不需要建立連接。nUDP使用盡最大努力交付,即不保證可靠交付。nUDP是面向報文的。UDP沒有擁塞控制,很適合多媒體通信的要求。 nUDP支持一對一、一對多、多對一和多對多的交互通信。nUDP的首部開銷小,只有 8 個字節(jié)。 26三、UDP的首部格式 27偽首部源端口目的端口長 度檢驗和數 據首 部UDP長度源 IP 地址目的 IP 地址017IP 數據報字節(jié)44112122222字節(jié)數 據首 部UDP 用戶數據報發(fā)送偽首部源端口目的端口長 度檢驗和數 據首 部UDP長度源 IP 地址目的 IP 地址017IP 數據報字節(jié)44112122222字節(jié)發(fā)送數 據首 部UDP 用

18、戶數據報用戶數據報UDP有兩個字段:數據字段和首部字段。首部字段有 8 個字節(jié),由 4 個字段組成,每個字段都是兩個字節(jié)。 28在計算檢驗和時,臨時把“偽首部”和 UDP 用戶數據報連接在一起。那么,偽首部的作用?l 可保證可保證UDP數據單元到達正確的目的地址數據單元到達正確的目的地址 l 使得使得UDP能夠防止出現路由選擇錯誤的數據段能夠防止出現路由選擇錯誤的數據段 29偽首部源端口目的端口長 度檢驗和數 據首 部UDP長度源 IP 地址目的 IP 地址017IP 數據報字節(jié)44112122222字節(jié)發(fā)送數 據首 部UDP 用戶數據報30四、四、UDP校驗和的計算校驗和的計算 校驗的內容:

19、校驗的內容: 首部首部 + 數據區(qū)數據區(qū) 為保證正確到達,對源、目標為保證正確到達,對源、目標IP也要校驗也要校驗 計算校驗和的部分:計算校驗和的部分: 生成偽首部,將偽首部、首部、數據區(qū)一起校驗生成偽首部,將偽首部、首部、數據區(qū)一起校驗31發(fā)送方計算校驗和的過程:發(fā)送方計算校驗和的過程: 1、首先是先把全零放入校驗和字段、首先是先把全零放入校驗和字段 2、再把偽首部以及、再把偽首部以及UDP用戶數據報看成是由許多用戶數據報看成是由許多16位的字串接起來位的字串接起來 若若UDP用戶數據報的數據部分不是偶數個字節(jié),則用戶數據報的數據部分不是偶數個字節(jié),則需填入一個全零字段(但此字節(jié)并不發(fā)送)需

20、填入一個全零字段(但此字節(jié)并不發(fā)送) 3、然后按二進制反碼計算出這些、然后按二進制反碼計算出這些16位字的和位字的和接收方校驗:接收方校驗: 當無差錯時,其校驗結果應為全當無差錯時,其校驗結果應為全1思考:思考:接收方如何校驗數據?接收方如何校驗數據?計算UDP檢驗和的例子 10011001 00010011 153.1900001000 01101000 8.10410101011 00000011 171.300001110 00001011 14.1100000000 00010001 0 和 1700000000 00001111 1500000100 00111111 1087000

21、00000 00001101 1300000000 00001111 1500000000 00000000 0(檢驗和)01010100 01000101 數據01010011 01010100 數據01001001 01001110 數據01000111 00000000 數據和 0(填充)10010110 11101101 求和得出的結果01101001 00010010 檢驗和 153.19.8.104171.3.14.1112 字節(jié)偽首部8 字節(jié)UDP 首部7 字節(jié)數據填充按二進制反碼運算求和將得出的結果求反碼全 0 17 15 1087 13 15 校驗和數據 數據 數據 數據數據

22、 數據 數據 32全0全033說明:說明:(1)偽首部的引入破壞了分層原則,是根據)偽首部的引入破壞了分層原則,是根據需要做的折衷需要做的折衷(2)UDP的校驗和是可選的的校驗和是可選的 思考討論:思考討論: 什么樣的數據可以不校驗?什么樣的數據可以不校驗? 能否進行部分校驗?能否進行部分校驗? 解決辦法:解決辦法:2004年提出的輕量級的年提出的輕量級的UDP-Lite34五、五、UDP-Lite 對校驗和字段的使用,對校驗和字段的使用,UDP標準給出了兩種方案:標準給出了兩種方案: (1) 不使用校驗和不使用校驗和 (2) 使用校驗和使用校驗和 如果接收方檢驗校驗和字段時發(fā)現錯誤,則整個如

23、果接收方檢驗校驗和字段時發(fā)現錯誤,則整個用戶數據報就丟棄。用戶數據報就丟棄。 在某些應用環(huán)境下,這種限制顯得在某些應用環(huán)境下,這種限制顯得太過嚴格太過嚴格了。了。比如,音頻、視頻傳播之類的網絡應用寧可接收發(fā)生比如,音頻、視頻傳播之類的網絡應用寧可接收發(fā)生錯誤的數據,而不是將其丟棄。錯誤的數據,而不是將其丟棄。35五、五、UDP-Lite 為此,為此,IETF推出推出UDP-Lite(Lightweight User Datagram Protocol,輕量級用戶數據報協議)標準。,輕量級用戶數據報協議)標準。 它將數據分為它將數據分為敏感敏感和和非敏感非敏感兩個區(qū)域:兩個區(qū)域: 其中敏感區(qū)域為

24、校驗和計算的輸入區(qū),當這個區(qū)其中敏感區(qū)域為校驗和計算的輸入區(qū),當這個區(qū)域的數據發(fā)生差錯時,報文將被丟棄。域的數據發(fā)生差錯時,報文將被丟棄。 非敏感區(qū)域的數據則不進行校驗,所以即便這個非敏感區(qū)域的數據則不進行校驗,所以即便這個區(qū)域的數據發(fā)生差錯,報文也不會被丟棄。區(qū)域的數據發(fā)生差錯,報文也不會被丟棄。36源端口源端口目的端口目的端口校驗和覆蓋校驗和覆蓋校驗和校驗和數據數據1 15 16 31 37五、五、UDP-Lite “校驗和覆蓋校驗和覆蓋”字段體現了字段體現了UDP-Lite的核心思的核心思想。想。 它描述了從報文首部的第一個字節(jié)開始計算校驗它描述了從報文首部的第一個字節(jié)開始計算校驗和時輸

25、入的字節(jié)數。和時輸入的字節(jié)數?!?”表示整個報文都被覆蓋。表示整個報文都被覆蓋。 標準規(guī)定:標準規(guī)定:UDP-Lite報文的首部必須被校驗和報文的首部必須被校驗和覆蓋,因此這個字段的可能取值為覆蓋,因此這個字段的可能取值為0或大于等于或大于等于8的整的整數。任何處于數。任何處于17之間的數字都被視為非法,將被丟之間的數字都被視為非法,將被丟棄。棄。38源端口源端口目的端口目的端口校驗和覆蓋校驗和覆蓋校驗和校驗和數據數據1 15 16 31 源端口源端口目的端口目的端口報文長度報文長度校驗和校驗和數據數據1 15 16 31 思考:思考:取消長度是否會引起其他問題?取消長度是否會引起其他問題?3

26、9五、五、UDP-Lite UDP-Lite和和UDP的校驗和計算方法相同,且均的校驗和計算方法相同,且均包含偽首部。包含偽首部。 差異在于:差異在于:UDP-Lite計算校驗和時報文的輸入計算校驗和時報文的輸入部分可變。除部分可變。除“0”和和“全部全部”外還有更多的選擇。外還有更多的選擇。 UDP報文例子報文例子 41六、六、UDP的應用的應用 雖然雖然UDP是一個不可靠的協議,但它是分發(fā)信息的一個理想協議。是一個不可靠的協議,但它是分發(fā)信息的一個理想協議。 如,如,UDP可用在路由信息協議(可用在路由信息協議(Routing Information Protocol, RIP)中修改路由表。如果有一個消息丟失,在幾秒之后另一個新的消息就會替中修改路由表。如果有一個消息丟失,在幾秒之后另一個新的消息就會替換它。換它。 UDP廣泛用在多媒體應用中,如廣泛用在多媒體應用中,如Progressive Networks公司開發(fā)的公司開發(fā)的RealAudio軟件,它是在因特網上把預先錄制的或者現場音樂實時傳送給軟件,它是在因特網上把預先錄制的或者現場音樂實時傳送給客戶機的

溫馨提示

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

評論

0/150

提交評論