計算機網(wǎng)絡(luò)-謝希仁第六版第五講 傳輸層zm2014下_第1頁
計算機網(wǎng)絡(luò)-謝希仁第六版第五講 傳輸層zm2014下_第2頁
計算機網(wǎng)絡(luò)-謝希仁第六版第五講 傳輸層zm2014下_第3頁
計算機網(wǎng)絡(luò)-謝希仁第六版第五講 傳輸層zm2014下_第4頁
計算機網(wǎng)絡(luò)-謝希仁第六版第五講 傳輸層zm2014下_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1計算機網(wǎng)絡(luò) 第五講 傳輸層2本講要求1 理解傳輸層解決的根本問題2 理解數(shù)據(jù)源和目的地的標(biāo)識問題3 理解UDP協(xié)議的根本功能、報文格式4 理解TCP協(xié)議的報文格式5 掌握TCP協(xié)議的連接建立、關(guān)閉過程3傳輸層為應(yīng)用提供端到端的控制比特流物理層數(shù)據(jù)鏈路層網(wǎng)絡(luò)層傳輸層應(yīng)用層比特流物理層數(shù)據(jù)鏈路層網(wǎng)絡(luò)層物理層數(shù)據(jù)鏈路層網(wǎng)絡(luò)層傳輸層應(yīng)用層主機A主機B點到點點到點端到端 “點到點到“端到端是一次質(zhì)的飛躍 4網(wǎng)絡(luò)層沒有解決的問題 端到端的傳輸效勞標(biāo)識 網(wǎng)絡(luò)層僅有網(wǎng)絡(luò)層地址,還需要進程標(biāo)識 端到端的效勞質(zhì)量問題 網(wǎng)絡(luò)層是一種盡最大努力交付Best-effort 效勞, 不保證可靠性無法確定數(shù)據(jù)到達目的地的

2、時間無法確定數(shù)據(jù)到達目的地的狀態(tài) 喪失 重復(fù) 亂序 無法解決!5傳輸層根本問題分析脈 絡(luò) 通信源和目的地標(biāo)識問題 數(shù)據(jù)從何而來?奔向何方?即數(shù)據(jù)傳輸?shù)淖畛踉嫉睾妥罱K目的地如何標(biāo)識? 效勞質(zhì)量問題 傳輸層如何實現(xiàn)可靠性?擁塞控制機制?流量控制機制?其他相關(guān)問題? 用戶數(shù)據(jù)報協(xié)議UDP 傳輸控制協(xié)議TCP進程之間的通信兩個主機進行通信實際上就是兩個主機中的 應(yīng)用進程互相通信。 應(yīng)用進程之間的通信又稱為端到端的通信。 “傳輸層提供給用進程間的邏輯通信。“邏輯通信指:傳輸層之間的通信好似是沿 水平方向傳送數(shù)據(jù)。但事實上這兩個傳輸層 之間并沒有一條水平方向的物理連接。計算機網(wǎng)絡(luò)5. 傳輸層:進程標(biāo)識

3、7傳輸層提供給用進程間的邏輯通信54321傳輸層提供給用進程間的邏輯通信應(yīng)用進程應(yīng)用進程IP 層AP1AP2AP4端口端口54321AP3主機 A主機 B路由器 1路由器 2AP1LAN2WANAP2AP3AP4LAN1IP 協(xié)議- 提供主機之間的邏輯通信傳輸層協(xié)議- 提供進程之間的邏輯通信計算機網(wǎng)絡(luò)5. 傳輸層:進程標(biāo)識 8進程標(biāo)識端口port端口:是一種抽象的軟件結(jié)構(gòu) 包括一些數(shù)據(jù)結(jié)構(gòu)和IO緩沖區(qū)用于標(biāo)識應(yīng)用層的進程UDP和TCP都使用端口與上層的應(yīng)用進程進行通信計算機網(wǎng)絡(luò)5. 傳輸層:進程標(biāo)識 9端口號 16 bit (065535)TCP和UDP各自的端口號相互獨立端口號只具有本地意義

4、端口號只是為了標(biāo)志本計算機應(yīng)用層中的各進程在因特網(wǎng)中不同計算機的相同端口號是沒有聯(lián)系的計算機網(wǎng)絡(luò)5. 傳輸層:進程標(biāo)識 10端口號的分配 兩種根本分配方式全局分配:集中式統(tǒng)一指派 本地分配: 動態(tài)指派 效勞器端使用的端口號049151 全局分配或動態(tài)指派 客戶端使用的端口號4915265535 動態(tài)指派或OS隨機分配計算機網(wǎng)絡(luò)5. 傳輸層:進程標(biāo)識 熟知端口號TCPPort NumbersFTPTransportLayerTELNETDNSSNMPTFTPHTTPUDPApplicationLayer2123805369161RIP520查閱:你常用的網(wǎng)絡(luò)應(yīng)用的端口號?端口掃描?計算機網(wǎng)絡(luò)5.

5、 傳輸層:進程標(biāo)識 12TCP/IP通信五要素 目的IP地址 要與之進行數(shù)據(jù)通信的目的主機所在位置 目的端口 定位遠程主機進行數(shù)據(jù)交換的進程 源IP地址 數(shù)據(jù)的發(fā)送方,通過這個要素讓遠程主機系統(tǒng)知道對等通信的主機 源端口號 通過這個來定位本地處理通信數(shù)據(jù)的進程。 協(xié)議 定位具體的通信協(xié)議計算機網(wǎng)絡(luò)5. 傳輸層:進程標(biāo)識 13用戶數(shù)據(jù)報協(xié)議UDP UDP特點無連接UDP不使用擁塞控制,不保證可靠交付 除了提供校驗和機制面向報文(傳輸根本單位:用戶數(shù)據(jù)報)傳輸效率較高適用于傳輸量比較少的情況支持一對一、一對多、多對一、多對多通信 UDP適合要求簡潔、快速、可靠性要求不高的應(yīng)用 UDP作用相對于IP

6、協(xié)議,唯一增加的能力是提供協(xié)議 端口,以保證進行通信計算機網(wǎng)絡(luò)5. 傳輸層:UDP14UDP 報文封裝 計算機網(wǎng)絡(luò)5. 傳輸層:UDP IP首部 IP數(shù)據(jù)區(qū) 幀首部 幀數(shù)據(jù)區(qū) UDP首部 UDP數(shù)據(jù)區(qū) 應(yīng)用層報文 應(yīng)用層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層15源端口目的端口長 度檢驗和數(shù) 據(jù)首 部IP 數(shù)據(jù)報2222字節(jié)發(fā)送在前數(shù) 據(jù)首 部UDP 用戶數(shù)據(jù)報 UDP 由兩局部組成:數(shù)據(jù)字段和首部字段 首部字段8 個字節(jié),由 4 個字段組成UDP 首部格式 計算機網(wǎng)絡(luò)5. 傳輸層:UDP16偽首部源端口目的端口長 度檢驗和數(shù) 據(jù)首 部UDP長度源 IP 地址目的 IP 地址017IP 數(shù)據(jù)報字節(jié)4411212

7、2222字節(jié)發(fā)送在前數(shù) 據(jù)首 部UDP 用戶數(shù)據(jù)報UDP校驗和計算計算范圍:偽首部+UDP首部+UDP數(shù)據(jù)計算方法:與IP首部校驗和的計算方法相同計算機網(wǎng)絡(luò)5. 傳輸層:UDP17UDP偽首部引入偽首部目的是驗證數(shù)據(jù)報是否已正確到達終點 - 不僅檢查端口,還檢查了IP地址偽首部既不向下傳送也不向上遞交 - 僅僅為了計算校驗和偽首部的引入破壞了分層原那么,是根據(jù)需要做的折中計算機網(wǎng)絡(luò)5. 傳輸層:UDP18常見的使用UDP的效勞DNS:域名解析效勞, 使用53端口SNMP:簡單網(wǎng)絡(luò)管理協(xié)議,使用161端口Oicq:Oicq的程序既接受效勞,又提供效勞oicq效勞器使用8000端口,偵聽是否有信息

8、到來客戶端使用4000端口,向外發(fā)送信息TFTP:快速文件傳輸協(xié)議,端口號69RPC:遠程過程調(diào)用,端口號111 計算機網(wǎng)絡(luò)5. 傳輸層:UDP19 TCP的特點面向連接每一條連接只能有兩個端點endpoint保證可靠交付提供全雙工通信傳送數(shù)據(jù)單元:報文段TCP segment面向字節(jié)流TCP協(xié)議-可靠的計算機網(wǎng)絡(luò)5. 傳輸層:TCP TCP是一個面向連接的、端到端的、提供可靠性效勞的傳輸層協(xié)議20TCP的連接標(biāo)識TCP 使用“連接(而不僅僅是“端口)作為最根本的 抽象如何標(biāo)識一條TCP連接?用IP地址可以嗎?用端口號可以嗎?需要IP地址和端口號共同使用 所以,端點標(biāo)識!計算機網(wǎng)絡(luò)5. 傳輸層

9、:TCP21套接字(socket) TCP 連接的端點稱為插口,套接字、套接口套接字和端口、IP 地址的關(guān)系是: IP 地址3 端口號1500 3: 1500套接字(socket) 計算機網(wǎng)絡(luò)5. 傳輸層:TCP每一條tcp連接唯一的被通信兩端的兩個端點套接字所確定 TCP 連接 := socket1, socket2 = (IP1: port1), (IP2: port2) 22 TCP 是面向字節(jié)流的1768H發(fā)送 TCP 報文段發(fā)送方接收方把字節(jié)寫入發(fā)送緩存從接收緩存讀取字節(jié)應(yīng)用進程應(yīng)用進程1230181716151419202145131211H109H加上 TCP 首部構(gòu)成 TCP

10、報文段 TCP TCP字節(jié)流字節(jié)流H 表示 TCP 報文段的首部 x 表示序號為 x 的數(shù)據(jù)字節(jié) TCP 連接虛連接 計算機網(wǎng)絡(luò)5. 傳輸層:TCP23TCP 連接是一條虛連接而不是一條真正的物理連接TCP 對應(yīng)用進程一次把多長的報文發(fā)送到TCP 的緩存中是不關(guān)心的。TCP 根據(jù)對方給出的窗口值和當(dāng)前網(wǎng)絡(luò)擁塞的程度來決定一個報文段應(yīng)包含多少個字節(jié)UDP 發(fā)送的報文長度是應(yīng)用進程給出的。TCP 可把太長的數(shù)據(jù)塊劃分短一些再傳送。TCP 也可等待積累有足夠多的字節(jié)后再構(gòu)成報文段發(fā)送出去 TCP 是面向字節(jié)流的2計算機網(wǎng)絡(luò)5. 傳輸層:TCP24報文段格式連接建立與關(guān)閉:三次握手+四次握手可靠性機制

11、 防喪失:確認(rèn)與重傳 防重復(fù):報文段序號流量控制:滑動窗口機制擁塞控制:加速遞減與慢啟動技術(shù)TCP實現(xiàn)可靠傳輸根本問題要實現(xiàn)可靠的數(shù)據(jù)流傳輸效勞,必須解決哪幾個問題?計算機網(wǎng)絡(luò)5. 傳輸層:TCP25TCP報文段的首部TCP 數(shù)據(jù)部分TCP 首部TCP 報文段TCP首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 (長 度 可 變)源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充IP 數(shù)據(jù)部分IP 首部發(fā)送在前固定首部20字節(jié)計算機網(wǎng)絡(luò)5. 傳輸層:TCP報文段26TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移

12、檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充源端口和目的端口字段各占 2 字節(jié)。端口是傳輸層與應(yīng)用層的效勞接口。傳輸層的復(fù)用和分用功能都要通過端口才能實現(xiàn)。 27TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充序號字段占 4 字節(jié)。TCP 連接中傳送的數(shù)據(jù)流中的每一個字節(jié)都編上一個序號。序號字段的值那么指的是本報文段所發(fā)送的數(shù)據(jù)的

13、第一個字節(jié)的序號。 28TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù) 偏移 檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充確認(rèn)號字段占 4 字節(jié),是期望收到對方的下一個報文段的數(shù)據(jù)的第一個字節(jié)的序號。 假設(shè)確認(rèn)號=N, 那么到序號N-1為止的所有數(shù)據(jù)都已正確收到!29TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充數(shù)據(jù)偏移首部長度占

14、 4 bit,它指出 TCP 報文段的數(shù)據(jù)起始處距離 TCP 報文段的起始處有多遠。“數(shù)據(jù)偏移的單位不是字節(jié)而是 32 bit 字4 字節(jié)為計算單位首部長度范圍:20-60字節(jié)30TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充保存字段占 6 bit,保存為今后使用,但目前應(yīng)置為 0 31TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPS

15、HACKURG比特 0 8 16 24 31填 充緊急比特 URG 當(dāng) URG 1 時,說明緊急指針字段有效。它告訴系統(tǒng)此報文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當(dāng)于高優(yōu)先級的數(shù)據(jù))。 32TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充確認(rèn)比特 ACK 只有當(dāng) ACK 1 時確認(rèn)號字段才有效。當(dāng) ACK 0 時,確認(rèn)號無效。 33TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口

16、確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充推送比特 PSH (PuSH) 接收 方TCP 收到推送比特置 1 的報文段,就盡快地交付給接收應(yīng)用進程,而不再等到整個緩存都填滿了后再向上交付。 34TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充復(fù)位比特 RST (ReSeT) 當(dāng) RST 1 時,說明 TCP 連接中出現(xiàn)嚴(yán)重過失如由于主機崩潰或其他原因,必須釋放連接,然后再重新建立運輸連接。 35

17、TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充同步比特 SYN 同步比特 SYN 置為 1,就表示這是一個連接請求或連接接受報文 36TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充終止比特 FIN 用來釋放一個連接。當(dāng)FIN 1 時,說明此報文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運

18、輸連接 37TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充窗口字段 占 2 字節(jié)。窗口字段用來控制對方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。窗口值告訴對方:我現(xiàn)在能接收多少數(shù)據(jù)!窗口值經(jīng)常變化!38TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充檢驗和 占 2 字節(jié)。檢驗和字段檢驗的范圍包括首部和

19、數(shù)據(jù)這兩局部。在計算檢驗和時,要在 TCP 報文段的前面加上 12 字節(jié)的偽首部。偽首部TCP長度源 IP 地址目的 IP 地址06441121239TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充緊急指針字段 占 16 bit。緊急指針指出在本報文段中的緊急數(shù)據(jù)的最后一個字節(jié)的序號。即使窗口為0,也可發(fā)送緊急數(shù)據(jù)! 40TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口確

20、認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充選項字段 長度可變。第一版TCP只規(guī)定了一種選項,即最大報文段長度 MSS;第二版TCP增加了窗口擴大因子、時間戳等選項 MSS 是 TCP 報文段中的數(shù)據(jù)字段的最大長度 數(shù)據(jù)字段加上 TCP 首部才等于整個的 TCP 報文段 窗口和MSS的區(qū)別: MSS是一個報文的最大長度 而窗口則是所能發(fā)送的所有數(shù)據(jù)總數(shù)。它可以是多個報文段,但每個報文段必須滿足MSS的限制,同時其數(shù)據(jù)總和不能超過窗口大小41TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗 和選 項 長 度 可 變源 端 口序 號緊 急 指 針窗 口

21、確 認(rèn) 號保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充填充字段 這是為了使整個首部長度是 4 字節(jié)的整數(shù)倍。 42TCP連接管理 連接方式 C/S客戶效勞器方式 主動發(fā)起連接建立的應(yīng)用進程叫客戶被動等待連接建立的應(yīng)用進程叫效勞器 連接三個階段建立連接數(shù)據(jù)傳輸釋放連接 計算機網(wǎng)絡(luò)5. 傳輸層:TCP連接與釋放43TCP建立連接連接建立過程要解決的問題:要使每一方都能夠確知對方的存在要允許雙方協(xié)商一些參數(shù)如最大報文段長度MSS,最大窗口大小,效勞質(zhì)量Qos等對傳輸實體資源進行分配如緩沖區(qū)大小,連接表中的工程等計算機網(wǎng)絡(luò)5. 傳輸層:TCP連接與釋放44reques

22、tconfirmindicationresponseconfirmrequesttimeoutre-requestindicationindicationresponseresponseconfirm正常連接重復(fù)連接連接的建立過程問題 -可能出現(xiàn)重復(fù)連接問題:兩次握手不能解決建立連接的延遲重復(fù)問題解決方法:三次握手(three-way handshake)計算機網(wǎng)絡(luò)5. 傳輸層:TCP連接與釋放45TCP連接建立過程三次握手SYN置1, seq = x主機 BSYN置1, ACK置1, seq= y, ack= x 1ACK置1, seq = x + 1, ack= y 1被動翻開主動翻開確認(rèn)

23、確認(rèn)主機 A連接請求計算機網(wǎng)絡(luò)5. 傳輸層:TCP連接與釋放SYN報文段占用一個序號;ACK報文段,如不攜帶數(shù)據(jù)那么不占用序號;發(fā)送數(shù)據(jù)的第一字節(jié)序號為:初始序列號+146TCP連接的終止 半關(guān)閉半關(guān)閉的概念 關(guān)閉一個方向上的數(shù)據(jù)傳送,而另一個方向可以傳輸數(shù)據(jù)因為一個TCP連接是全雙工,每個方向都可以獨立的 傳輸數(shù)據(jù),因此每個方向必須單獨地進行關(guān)閉 當(dāng)一方完成它的數(shù)據(jù)發(fā)送任務(wù)后就能發(fā)送一個FIN來 終止這個方向的連接。當(dāng)一端收到一個FIN,它必須通知應(yīng)用層另一端已經(jīng)終止了那個方向的數(shù)據(jù)傳送 計算機網(wǎng)絡(luò)5. 傳輸層:TCP連接與釋放47FIN 置 1, seq = uCLOSED主動關(guān)閉數(shù)據(jù)傳送

24、ESTAB-LISHEDESTAB-LISHEDAB客戶效勞器CLOSEDTCP 的連接釋放四次握手 數(shù)據(jù)傳輸結(jié)束后,通信的雙方都可釋放連接 A 的應(yīng)用進程先向其TCP 發(fā)出連接釋放報文段A停止再發(fā)送數(shù)據(jù),主動關(guān)閉 TCP 連接A 把連接釋放報文段首部的 FIN = 1,其序號seq = u,等待 B 確實認(rèn)計算機網(wǎng)絡(luò)5. 傳輸層:TCP連接與釋放48FIN 置1, seq = uCLOSED主動關(guān)閉數(shù)據(jù)傳送ESTAB-LISHEDESTAB-LISHEDAB客戶效勞器CLOSEDTCP 的連接釋放 B 發(fā)出確認(rèn)確認(rèn)號 ack = u 1,自己的序號 seq = v B方TCP 效勞器進程通知

25、高層應(yīng)用進程從 A 到 B 這個方向的連接就釋放了TCP 連接處于半關(guān)閉狀態(tài)。B 假設(shè)發(fā)送數(shù)據(jù),A 仍要接收ACK置1, seq = v, ack= u 1通知應(yīng)用進程計算機網(wǎng)絡(luò)5. 傳輸層:TCP連接與釋放49置 1, seq = uCLOSED主動關(guān)閉數(shù)據(jù)傳送ESTAB-LISHEDESTAB-LISHEDAB客戶效勞器CLOSEDTCP 的連接釋放 假設(shè) B 已經(jīng)沒有要向 A 發(fā)送的數(shù)據(jù),其應(yīng)用進程就 通知 TCP 釋放連接ACK 置1, seq = v, ack= u 1通知應(yīng)用進程被動關(guān)閉FIN 置 1, ACK 置1, seq = w, ack= u 1數(shù)據(jù)傳送計算機網(wǎng)絡(luò)5. 傳輸

26、層:TCP連接與釋放50FIN 置 1, seq = uCLOSED主動關(guān)閉數(shù)據(jù)傳送ESTAB-LISHEDESTAB-LISHEDAB客戶效勞器CLOSEDTCP 的連接釋放 A 收到連接釋放報文段后,必須發(fā)出確認(rèn) ACK=1,確認(rèn)號 ackw1,自己的序號seq=u+1ACK 置 1, seq = v, ack= u 1通知應(yīng)用進程被動關(guān)閉FIN 置 1, ACK 置1, seq = w, ack= u 1數(shù)據(jù)傳送ACK 置 1, seq = u + 1, ack = w 1計算機網(wǎng)絡(luò)5. 傳輸層:TCP連接與釋放51 接收方收到數(shù)據(jù) 后向源站發(fā)確認(rèn) ACK報文 發(fā)送方設(shè)置定時 器,源站在

27、限定 時間內(nèi)未收到 ACK,那么重發(fā) 數(shù)據(jù)發(fā)送方 數(shù)據(jù)接收方 接收確認(rèn) 發(fā)送報文段 接收報文段 發(fā)送ACK確認(rèn) 接收確認(rèn) 發(fā)送報文段 接收報文段 發(fā)送ACK確認(rèn) 超時重傳 確認(rèn)機制 重傳機制 可靠性問題 根本原理:確認(rèn)機制、重傳機制 停止等待協(xié)議 根本問題:數(shù)據(jù)喪失、亂序、重復(fù)等計算機網(wǎng)絡(luò)5. 傳輸層:可靠性機制52確認(rèn)問題再討論 捎帶確認(rèn) 累計確認(rèn) 不設(shè)置專門的報文段反饋確認(rèn) 對正確接收到的、連續(xù)的、最高序 號的報文段進行確認(rèn)Piggybacking100, , 500, , 10001050, , 2000成功接收數(shù)據(jù)丟失成功接收確認(rèn)號:1001接收隊列:缺點:無法確認(rèn)所有已經(jīng)接收數(shù)據(jù),可

28、能導(dǎo)致傳輸效率低下。計算機網(wǎng)絡(luò)5. 傳輸層:可靠性機制53 引起重傳原因: 1.數(shù)據(jù)沒到對方 2.到了,但錯了,被丟棄 3.到了,也對了, 但確認(rèn)丟了或確認(rèn)遲到重傳問題再討論 解決: 1.設(shè)置超時計時器 2.每發(fā)一個分組要暫時保存副本 3.超時時間設(shè)置很復(fù)雜timeoutretransmissionframe 1frame 1ACK 1lost計算機網(wǎng)絡(luò)5. 傳輸層:可靠性機制54超時重傳定時器的設(shè)置RTTRound Trip Time:往返時間- 報文段發(fā)出到收到確認(rèn)信息間的時間段 方法 自適應(yīng)重傳算法 Karn算法和定時器補償 重傳定時時限RTO的計算方法 計算機網(wǎng)絡(luò)5. 傳輸層:可靠性機

29、制55停止等待協(xié)議的信道利用率停止等待協(xié)議的優(yōu)點:簡單缺點:信道利用率太低 ATDRTTTD + RTT + TABtt確認(rèn)分組分組確認(rèn)利用率計算機網(wǎng)絡(luò)5. 傳輸層:可靠性機制56流水線傳輸 解決:采用流水線傳輸管道化技術(shù),提高利用率 策略:發(fā)送方可連續(xù)發(fā)送多個分組,不必每發(fā)完一個 分組就停頓下來等待對方確實認(rèn) 典型協(xié)議:連續(xù)ARQ協(xié)議 滑動窗口協(xié)議B分組ttAACK計算機網(wǎng)絡(luò)5. 傳輸層:可靠性機制57用管道化技術(shù)發(fā)送幀面臨的新問題 問題:出錯情況連續(xù)發(fā)送W個分組,其中有一幀出錯或丟了,但其后續(xù)幀被成功發(fā)送 解決:2種接收策略 回退N幀 Go-back n 選擇性重傳計算機網(wǎng)絡(luò)5. 傳輸層:

30、可靠性機制58回退N幀接收方:丟棄出錯分組及其所有后續(xù)分組發(fā)送方:超時重傳出錯幀及其后續(xù)幀errordiscardacksendtimeoutreceiveresend0 1 E D D D D D D 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 2 3 4 5 6 7 8 計算機網(wǎng)絡(luò)5. 傳輸層:可靠性機制59選擇性重傳buffertimeoutreceive0 1 2 3 4 5 6 7 8 resend2 0 1 E 3 4 5 6 7 8 2 resend3 D resend4 D send9 接收方: 丟棄錯分組,緩存后續(xù)正確接收分組發(fā)送方:只重發(fā)出錯幀及后續(xù)的局

31、部幀ack 9 discard9 receive計算機網(wǎng)絡(luò)5. 傳輸層:可靠性機制60流量控制 滑動窗口機制 一般的滑動窗口機制 思 想:采用管道化技術(shù),一次傳輸多個分組, 但規(guī)定一個上限 1 2 3 4 5 6 7 8 9 10 11 12 13 分 組 WindowSize=8 緩 存 窗 口:確認(rèn)到來之前最多可以發(fā)送分組的數(shù)量 隨著確認(rèn)不斷到來,窗口會不斷向后滑動, 直到所有分組都被包含在窗口內(nèi),從而發(fā)送出去計算機網(wǎng)絡(luò)5. 傳輸層:流量控制61滑動窗口例如A-BB通告A,其接收窗口值為20,確認(rèn)值為31前移不允許發(fā)送已發(fā)送并收到確認(rèn)A 的發(fā)送窗口 = 20允許發(fā)送的序號262728293

32、03132333435363738394041424344454647484950515253545556B 期望收到的序號前移根據(jù) B 給出的窗口值A(chǔ) 構(gòu)造出自己的發(fā)送窗口 計算機網(wǎng)絡(luò)5. 傳輸層:流量控制62不允許發(fā)送已發(fā)送并收到確認(rèn)A 的發(fā)送窗口位置不變允許發(fā)送但尚未發(fā)送262728293031323334353637383940414243444546474849505152535455已發(fā)送但未收到確認(rèn)56P1P2P3可用窗口A 發(fā)送了 11 個字節(jié)的數(shù)據(jù),但未收到確認(rèn) 允許發(fā)送但尚未發(fā)送A 的發(fā)送窗口向前滑動2627282930313233343536373839404142434

33、44546474849505152535455已發(fā)送并收到確認(rèn)不允許發(fā)送已發(fā)送但未收到確認(rèn)56P1P2P3A 收到新確實認(rèn)號34,發(fā)送窗口向前滑動 計算機網(wǎng)絡(luò)5. 傳輸層:流量控制63不允許發(fā)送已發(fā)送并收到確認(rèn)A 的發(fā)送窗口已滿,有效窗口為零262728293031323334353637383940414243444546474849505152535455已發(fā)送但未收到確認(rèn)56P1P2P3A 的發(fā)送窗口內(nèi)的序號都已用完,但還沒有再收到確認(rèn),必須停止發(fā)送滑動窗口例如計算機網(wǎng)絡(luò)5. 傳輸層:流量控制64 滑動窗口以字節(jié)為單位,最大65535字節(jié) TCP 連接的每一端都必須設(shè)有兩個窗口 一個發(fā)送

34、窗口和一個接收窗口 一方的發(fā)送窗口和另一方接收窗口一致! TCP采用可變發(fā)送窗口方式進行流量控制 接收端可根據(jù)自己的資源情況,動態(tài)調(diào)整自己的接收窗口,并將新的窗口通告給對方,使對方的發(fā)送和自己的接收窗口一致TCP滑動窗口機制計算機網(wǎng)絡(luò)5. 傳輸層:流量控制65使用可變滑動窗口進行流控1002003004005006007008009001012013014015016017018011已發(fā)送并被確認(rèn)已發(fā)送但未被確認(rèn)可發(fā)送不可發(fā)送指針1002003004005006007008009001012013014015016017018011已發(fā)送并被確認(rèn)可發(fā)送不可發(fā)送指針發(fā)送窗口前移發(fā)送窗口縮小發(fā)送窗口初始:

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論