計算機網(wǎng)絡第六章2講_第1頁
計算機網(wǎng)絡第六章2講_第2頁
計算機網(wǎng)絡第六章2講_第3頁
計算機網(wǎng)絡第六章2講_第4頁
計算機網(wǎng)絡第六章2講_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 7/7 6.3Internet傳輸協(xié)議兩個對等運輸實體在通信時傳送的數(shù)據(jù)單位叫作運輸協(xié)議數(shù)據(jù)單元 TPDU (Transport Protocol Data Unit)。TCP/IP的傳輸層有兩個不同的協(xié)議:(1) 用戶數(shù)據(jù)報協(xié)議 UDP(User Datagram Protocol) (2) 傳輸控制協(xié)議 TCP(Transmission Control Protocol)TCP 傳送的數(shù)據(jù)單位協(xié)議是 TCP 報文段(segment) UDP 傳送的數(shù)據(jù)單位協(xié)議是 UDP 報文或用戶數(shù)據(jù)報。 UDP 在傳送數(shù)據(jù)之前不需要先建立連接。對方的傳輸層在收到 UDP 報文后,不需要給出任何確認。雖

2、然 UDP 不提供可靠交付,但在某些情況下 UDP 是一種最有效的工作方式。TCP 則提供面向連接的服務。TCP 不提供廣播或多播服務。由于 TCP 要提供可靠的、面向連接的運輸服務,因此不可避免地增加了許多的開銷。這不僅使協(xié)議數(shù)據(jù)單元的首部增大很多,還要占用許多的處理機資源。 強調(diào)兩點: 1. 傳輸層的 UDP 用戶數(shù)據(jù)報與網(wǎng)絡層的IP數(shù)據(jù)報有很大區(qū)別。IP 數(shù)據(jù)報要經(jīng)過互連網(wǎng)中許多路由器的存儲轉(zhuǎn)發(fā),但 UDP 用戶數(shù)據(jù)報是在傳輸層的端到端抽象的邏輯信道中傳送的。2. TCP 報文段是在傳輸層抽象的端到端邏輯信道中傳送,這種信道是可靠的全雙工信道。但這樣的信道卻不知道究竟經(jīng)過了哪些路由器,而

3、這些路由器也根本不知道上面的傳輸層是否建立了 TCP 連接6.3 1 用戶數(shù)據(jù)報協(xié)議 UDP UDP (User Datagram Protocol)概述 RFC 768UDP 只在 IP 的數(shù)據(jù)報服務之上增加了很少一點的功能,即端口(端口用來標志應用層的進程)的功能和差錯檢測的功能(可選功能)。 1 16 32源端口目標端口UDP長度=8B的UDP頭部+數(shù)據(jù)UDP校驗和(可選,若不計算,則全0)UDP頭UDP是一個簡單的傳輸協(xié)議; 提供best effort服務, UDP報文可能會丟失和亂序; 雖然 UDP 用戶數(shù)據(jù)報只能提供不可靠的交付,但 UDP 在某些方面有其特殊的優(yōu)點。發(fā)送數(shù)據(jù)之前不

4、需要建立連接(結(jié)束時也就無連接釋放),因而開銷小和發(fā)送數(shù)據(jù)前的延遲小 收發(fā)雙方不需要握手, 每個UDP報文的處理都獨立于其它報文UDP 的主機不需要維持復雜的連接狀態(tài)表。因為不使用擁塞控制,也不保證可靠交付.UDP 用戶數(shù)據(jù)報只有8個字節(jié)的首部開銷。比TCP的20個字節(jié)的首部短沒有擁塞控制, 可以盡快發(fā)送, 所以網(wǎng)絡出現(xiàn)的擁塞不會使源主機的發(fā)送速率降低。這對某些實時應用是很重要的。很多實時應用(IP, 實時視頻會議等)要求源主機以恒定的速率發(fā)送數(shù)據(jù), 并且允許在擁塞時丟失一些數(shù)據(jù), 但卻不允許數(shù)據(jù)有太大的時延.UDP尤其適用的一個領(lǐng)域是在客戶-服務器的情形下.遠過程調(diào)用 RPC(Remote

5、Procedure Call)和UDP是一對好搭檔.(無連接, 無流控,無錯控,無重傳,短請求短回應), 如RIP路由信息周期發(fā)送,DNS避免TCP連接建立延遲,SNMP 當網(wǎng)絡擁塞時,UDP比用可靠的,具有擁塞控制的TCP效果好.RTP(Real-Time transport Protocol 實傳輸協(xié)議)RFC 1889RTP在協(xié)議棧中位置有點古怪.最終RTP被放在用戶空間中,并且運行在UDP之上.這種設(shè)計結(jié)果是, 你很難說清RTP位于哪一層上.RTP無流控,無錯控,無確認, 無請求重傳機制.(a)RTP在協(xié)議棧中的位置 (b)分組嵌套情況使用UDP和TCP協(xié)議的各種應用和應用層協(xié)議應用應

6、用層協(xié)議傳輸層協(xié)議應用應用層協(xié)議傳輸層協(xié)議名字轉(zhuǎn)換DNSUDP網(wǎng)絡管理SNMPUDP簡單文件傳輸TFTPUDPIP專用協(xié)議UDP路由選擇協(xié)議RIPUDP流式多媒體通信專用協(xié)議UDPIP地址配置BOOTP,DHCPUDP多播IGMPUDP電子SMTPTCP遠程終端接入TELNETTCP萬維網(wǎng)HTTPTCP文件傳輸FTPTCPUDP 用戶數(shù)據(jù)報的首部格式用戶數(shù)據(jù)報 UDP 有兩個字段:數(shù)據(jù)字段和首部字段。首部字段有 8 個字節(jié),由 4 個子字段(域)組成,每個子字段都是兩個字節(jié)。 在計算檢驗和時,臨時把“偽首部”和 UDP 用戶數(shù)據(jù)報連接在一起。偽首部僅僅是為了計算檢驗和, 偽首部既不向上遞交也不

7、向下傳送。偽首部5個字段中: 17IP協(xié)議頭部中的協(xié)議字段,對應UDP; 6IP協(xié)議頭部中的協(xié)議字段,對應TCP偽首部源端口目的端口長 度檢驗和數(shù) 據(jù)首 部UDP長度源 IP 地址目的 IP 地址017IP 數(shù)據(jù)報字節(jié)44112122222字節(jié)發(fā)送在前數(shù) 據(jù)首 部UDP 用戶數(shù)據(jù)報計算 UDP 檢驗和的例子 10011001 00010011 153.1900001000 01101000 8.10410101011 00000011 171.300001110 00001011 14.1100000000 00010001 0 和 1700000000 00001111 1500000100

8、 00111111 108700000000 00001101 1300000000 00001111 1500000000 00000000 0(檢驗和)01010100 01000101 數(shù)據(jù)01010011 01010100 數(shù)據(jù)01001001 01001110 數(shù)據(jù)01000111 00000000 數(shù)據(jù)和 0(填充)10010110 11101011 求和得出的結(jié)果01101001 00010100 檢驗和 04112 字偽首部8 字節(jié)UDP 首部7 字節(jié)數(shù)據(jù)填充按二進制反碼運算求和將得出的結(jié)果求反碼全 0 17 15 1087 13 15 全 0數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù)數(shù)據(jù) 數(shù)據(jù)

9、數(shù)據(jù) 全 06.3.2傳輸控制協(xié)議TCP(transmission control protocol) TCP 概述RFC 793 RFC1122 RFC1323完成任務: 判斷是否超時, 重傳, 順序組裝等功能, 提供IP無法提供的可靠性.為獲得TCP服務, 發(fā)收雙方必須首先創(chuàng)建套接字=IP+Port. 一個套接字有可能同時被用于多個連接, 所以連接可以用兩端的套接字標識符來標識, 即(socket1, socket2). 1024以下的端口號被稱為知名端口(well-known port), 被保留用于一些標準的服務. 所有的TCP連接都是全雙工的,并且是點到點的. 所謂全雙工同時可在兩個

10、方向上傳輸數(shù)據(jù). 所謂點到點每個連接恰好有兩個端點. TCP不支持多播或廣播傳輸模式.端口發(fā)送 TCP 報文段TCPTCP接收緩存發(fā)送緩存報文段報文段報文段端口發(fā)送端接收端向發(fā)送緩存寫入數(shù)據(jù)塊從接收緩存讀取數(shù)據(jù)塊應用進程應用進程源端口和目的端口字段各占 2 字節(jié)。端口是傳輸層與應用層的服務接口。傳輸層的復用和分用功能都要通過端口才能實現(xiàn)。 序號字段占 4 字節(jié)。TCP 連接中傳送的數(shù)據(jù)流中的每一個字節(jié)都編上一個序號。序號字段的值則指的是本報文段所發(fā)送的數(shù)據(jù)的第一個字節(jié)的序號。 確認號字段占 4 字節(jié),是期望收到對方的下一個報文段的數(shù)據(jù)的第一個字節(jié)的序號。 數(shù)據(jù)偏移占 4 bit,它指出 TCP

11、 報文段的數(shù)據(jù)起始處距離 TCP 報文段的起始處有多遠?!皵?shù)據(jù)偏移”的單位不是字節(jié)而是 32 bit 字(4 字節(jié)為計算單位)。 保留字段占 6 bit,保留為今后使用,但目前應置為 0。 緊急比特 URG 當 URG 1 時,表明緊急指針字段有效。它告訴系統(tǒng)此報文段中有緊急數(shù)據(jù),應盡快傳送(相當于高優(yōu)先級的數(shù)據(jù))。 確認比特 ACK 只有當 ACK 1 時確認號字段才有效。當 ACK 0 時,確認號無效。 推送比特 PSH (PuSH) 接收 TCP 收到推送比特置 1 的報文段,就盡快地交付給接收應用進程,而不再等到整個緩存都填滿了后再向上交付。 復位比特 RST (ReSeT) 當 RS

12、T 1 時,表明 TCP 連接中出現(xiàn)嚴重差錯(如由于主機崩潰或其他原因),必須釋放連接,然后再重新建立運輸連接。 同步比特 SYN 同步比特 SYN 置為 1,就表示這是一個連接請求或連接接受報文。 終止比特 FIN (FINal) 用來釋放一個連接。當FIN 1 時,表明此報文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運輸連接。 窗口字段 占 2 字節(jié)。窗口字段用來控制對方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。TCP 連接的一端根據(jù)設(shè)置的緩存空間大小確定自己的接收窗口大小,然后通知對方以確定對方的發(fā)送窗口的上限。檢驗和 占 2 字節(jié)。檢驗和字段檢驗的圍包括首部和數(shù)據(jù)這兩部分。在計算檢驗和時,要在 TCP 報

13、文段的前面加上 12 字節(jié)的偽首部,第4字段為6,第5字段為TCP長度。緊急指針字段 占 16 bit。緊急指針指出在本報文段中的緊急數(shù)據(jù)的最后一個字節(jié)的序號。選項字段 長度可變。TCP 只規(guī)定了一種選項,即最大報文段長度 MSS (Maximum Segment Size)。MSS 告訴對方 TCP:“我的緩存所能接收的報文段的數(shù)據(jù)字段的最大長度是 MSS 個字節(jié)?!?MSS 是 TCP 報文段中的數(shù)據(jù)字段的最大長度。數(shù)據(jù)字段加上 TCP 首部才等于整個的 TCP 報文段。填充字段 這是為了使整個首部長度是 4 字節(jié)的整數(shù)倍。 TCP 的數(shù)據(jù)編號與確認 TCP 協(xié)議是面向字節(jié)的。TCP 將所

14、要傳送的報文看成是字節(jié)組成的數(shù)據(jù)流,并使每一個字節(jié)對應于一個序號。在連接建立時,雙方要商定初始序號。TCP 每次發(fā)送的報文段的首部中的序號字段數(shù)值表示該報文段中的數(shù)據(jù)部分的第一個字節(jié)的序號。 TCP 的確認是對接收到的數(shù)據(jù)的最高序號表示確認。接收端返回的確認號是已收到的數(shù)據(jù)的最高序號加 1。因此確認號表示接收端期望下次收到的數(shù)據(jù)中的第一個數(shù)據(jù)字節(jié)的序號。 TCP 的流量控制與擁塞控制1. 滑動窗口的概念TCP 采用大小可變的滑動窗口進行流量控制。窗口大小的單位是字節(jié)。在 TCP 報文段首部的窗口字段寫入的數(shù)值就是當前給對方設(shè)置的發(fā)送窗口數(shù)值的上限。發(fā)送窗口在連接建立時由雙方商定。但在通信的過程

15、中,接收端可根據(jù)自己的資源情況,隨時動態(tài)地調(diào)整對方的發(fā)送窗口上限值(可增大或減小)。 發(fā)送端要發(fā)送 900 字節(jié)長的數(shù)據(jù),劃分為 9 個 100 字節(jié)長的報文段,而發(fā)送窗口確定為 500 字節(jié)。發(fā)送端只要收到了對方的確認,發(fā)送窗口就可前移。發(fā)送 TCP 要維護一個指針。每發(fā)送一個報文段,指針就向前移動一個報文段的距離。發(fā)送端已發(fā)送了 400 字節(jié)的數(shù)據(jù),但只收到對前 200 字節(jié)數(shù)據(jù)的確認,同時窗口大小不變?,F(xiàn)在發(fā)送端還可發(fā)送 300 字節(jié)。 發(fā)送端收到了對方對前 400 字節(jié)數(shù)據(jù)的確認,但對方通知發(fā)送端必須把窗口減小到 400 字節(jié)。現(xiàn)在發(fā)送端最多還可發(fā)送 400 字節(jié)的數(shù)據(jù)。 2. 慢啟動

16、和擁塞避免發(fā)送端的主機在確定發(fā)送報文段的速率時,既要根據(jù)接收端的接收能力,又要從全局考慮不要使網(wǎng)絡發(fā)生擁塞。因此,每一個 TCP 連接需要有以下兩個狀態(tài)變量:接收端窗口 rwnd (receiver window) 又稱為通知窗口(advertised window)。擁塞窗口 cwnd (congestion window)。慢啟動算法的原理 三個參數(shù): 接收方窗口, 擁塞窗口, 閾值(threshold)初始時刻閾值=16報文段, 慢開始和擁塞避免算法的實現(xiàn)舉例 246810121416182022004812162024傳輸次數(shù)擁塞窗口 cwnd進入擁塞避免發(fā)生超時指數(shù)規(guī)律增長線性規(guī)律增長ssthresh = 16慢開始慢開始擁塞避免擁塞避免更新后的 ssthresh = 12進入擁塞避免當TCP 連接進行初始化時,將擁塞窗口置為1。圖中的窗口單位不使用字節(jié)而使用報文段。慢開始(閾值)門限的初始值設(shè)置為16 個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論