版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、12本講要求本講要求1 理解傳輸層解決的基本問(wèn)題理解傳輸層解決的基本問(wèn)題2 理解數(shù)據(jù)源和目的地的標(biāo)識(shí)問(wèn)題理解數(shù)據(jù)源和目的地的標(biāo)識(shí)問(wèn)題3 理解理解UDP協(xié)議的基本功能、報(bào)文格式協(xié)議的基本功能、報(bào)文格式4 理解理解TCP協(xié)議的報(bào)文格式協(xié)議的報(bào)文格式5 掌握掌握TCP協(xié)議的連接建立、關(guān)閉過(guò)程協(xié)議的連接建立、關(guān)閉過(guò)程3傳輸層為應(yīng)用提供端到端的控制傳輸層為應(yīng)用提供端到端的控制比特流比特流物理層物理層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層網(wǎng)絡(luò)層網(wǎng)絡(luò)層傳輸層傳輸層應(yīng)用層應(yīng)用層比特流比特流物理層物理層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層網(wǎng)絡(luò)層網(wǎng)絡(luò)層物理層物理層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層網(wǎng)絡(luò)層網(wǎng)絡(luò)層傳輸層傳輸層應(yīng)用層應(yīng)用層主機(jī)主機(jī)A主機(jī)主機(jī)B點(diǎn)到點(diǎn)點(diǎn)
2、到點(diǎn)點(diǎn)到點(diǎn)點(diǎn)到點(diǎn)端到端端到端 “點(diǎn)到點(diǎn)點(diǎn)到點(diǎn)”到到“端到端端到端”是一次質(zhì)的飛躍是一次質(zhì)的飛躍 4網(wǎng)絡(luò)層沒(méi)有解決的問(wèn)題網(wǎng)絡(luò)層沒(méi)有解決的問(wèn)題 端到端的傳輸服務(wù)標(biāo)識(shí) 網(wǎng)絡(luò)層僅有網(wǎng)絡(luò)層地址,還需要進(jìn)程標(biāo)識(shí) 端到端的服務(wù)質(zhì)量問(wèn)題 網(wǎng)絡(luò)層是一種盡最大努力交付Best-effort 服務(wù), 不保證可靠性無(wú)法確定數(shù)據(jù)到達(dá)目的地的時(shí)間無(wú)法確定數(shù)據(jù)到達(dá)目的地的狀態(tài) 丟失 重復(fù) 亂序 無(wú)法解決!5傳輸層基本問(wèn)題分析(脈傳輸層基本問(wèn)題分析(脈 絡(luò))絡(luò)) 通信源和目的地標(biāo)識(shí)問(wèn)題 數(shù)據(jù)從何而來(lái)?奔向何方?即數(shù)據(jù)傳輸?shù)淖畛踉嫉睾妥罱K目的地如何標(biāo)識(shí)? 服務(wù)質(zhì)量問(wèn)題 傳輸層如何實(shí)現(xiàn)可靠性?擁塞控制機(jī)制?流量控制機(jī)制?其他相
3、關(guān)問(wèn)題? 用戶數(shù)據(jù)報(bào)協(xié)議UDP 傳輸控制協(xié)議TCP進(jìn)程之間的通信進(jìn)程之間的通信 兩個(gè)主機(jī)進(jìn)行通信實(shí)際上就是兩個(gè)主機(jī)中的 應(yīng)用進(jìn)程互相通信。 應(yīng)用進(jìn)程之間的通信又稱為端到端的通信。 “傳輸層提供應(yīng)用進(jìn)程間的邏輯通信”。 “邏輯通信”指:傳輸層之間的通信好像是沿 水平方向傳送數(shù)據(jù)。但事實(shí)上這兩個(gè)傳輸層 之間并沒(méi)有一條水平方向的物理連接。計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:進(jìn)程標(biāo)識(shí)進(jìn)程標(biāo)識(shí) 7傳輸層提供應(yīng)用進(jìn)程間的邏輯通信傳輸層提供應(yīng)用進(jìn)程間的邏輯通信54321傳輸層提供應(yīng)用進(jìn)程間的邏輯通信應(yīng)用進(jìn)程應(yīng)用進(jìn)程IP 層AP1AP2AP4端口端口54321AP3主機(jī) A主機(jī) B路由器 1路由器 2A
4、P1LAN2WANAP2AP3AP4LAN1IP 協(xié)議- 提供主機(jī)之間的邏輯通信傳輸層協(xié)議- 提供進(jìn)程之間的邏輯通信計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:進(jìn)程標(biāo)識(shí)進(jìn)程標(biāo)識(shí) 8進(jìn)程標(biāo)識(shí)進(jìn)程標(biāo)識(shí)端口端口port 端口:是一種抽象的軟件結(jié)構(gòu) (包括一些數(shù)據(jù)結(jié)構(gòu)和IO緩沖區(qū)) 用于標(biāo)識(shí)應(yīng)用層的進(jìn)程 UDP和TCP都使用端口與上層的應(yīng)用進(jìn)程進(jìn)行通信計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:進(jìn)程標(biāo)識(shí)進(jìn)程標(biāo)識(shí) 9端口號(hào)端口號(hào) 16 bit (065535) TCP和UDP各自的端口號(hào)相互獨(dú)立 端口號(hào)只具有本地意義 端口號(hào)只是為了標(biāo)志本計(jì)算機(jī)應(yīng)用層中的各進(jìn)程 在因特網(wǎng)中不同計(jì)算機(jī)的相同端口號(hào)是沒(méi)有聯(lián)系的計(jì)
5、算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:進(jìn)程標(biāo)識(shí)進(jìn)程標(biāo)識(shí) 10端口號(hào)的分配端口號(hào)的分配 兩種基本分配方式 全局分配:集中式統(tǒng)一指派 本地分配: 動(dòng)態(tài)指派 服務(wù)器端使用的端口號(hào)049151 全局分配或動(dòng)態(tài)指派 客戶端使用的端口號(hào)4915265535 動(dòng)態(tài)指派或OS隨機(jī)分配計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:進(jìn)程標(biāo)識(shí)進(jìn)程標(biāo)識(shí) 熟知端口號(hào)熟知端口號(hào)TCPPort NumbersFTPTransportLayerTELNETDNSSNMPTFTPHTTPUDPApplicationLayer2123805369161RIP520查閱:你常用的網(wǎng)絡(luò)應(yīng)用的端口號(hào)?端口掃描?計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5.
6、傳輸層:傳輸層:進(jìn)程標(biāo)識(shí)進(jìn)程標(biāo)識(shí) 12TCP/IP通信五要素通信五要素 目的目的IP地址地址 要與之進(jìn)行數(shù)據(jù)通信的目的主機(jī)所在位置 目的端口目的端口 定位遠(yuǎn)程主機(jī)進(jìn)行數(shù)據(jù)交換的進(jìn)程 源源IP地址地址 數(shù)據(jù)的發(fā)送方,通過(guò)這個(gè)要素讓遠(yuǎn)程主機(jī)系統(tǒng)知道對(duì)等通信的主機(jī) 源端口號(hào)源端口號(hào) 通過(guò)這個(gè)來(lái)定位本地處理通信數(shù)據(jù)的進(jìn)程。 協(xié)議協(xié)議 定位具體的通信協(xié)議計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:進(jìn)程標(biāo)識(shí)進(jìn)程標(biāo)識(shí) 13用戶數(shù)據(jù)報(bào)協(xié)議用戶數(shù)據(jù)報(bào)協(xié)議UDP UDP特點(diǎn) 無(wú)連接 UDP不使用擁塞控制,不保證可靠交付 (除了提供校驗(yàn)和機(jī)制) 面向報(bào)文(傳輸基本單位:用戶數(shù)據(jù)報(bào)) 傳輸效率較高 適用于傳輸量比較少的
7、情況 支持一對(duì)一、一對(duì)多、多對(duì)一、多對(duì)多通信 UDP適適合要求簡(jiǎn)潔、快速、合要求簡(jiǎn)潔、快速、可靠性要求不高的應(yīng)用可靠性要求不高的應(yīng)用 UDP作用 相對(duì)于IP協(xié)議,唯一增加的能力是提供協(xié)議 端口,以保證進(jìn)行通信計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:UDP14UDP 報(bào)文封裝報(bào)文封裝 計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:UDP IP首部首部 IP數(shù)據(jù)區(qū)數(shù)據(jù)區(qū) 幀首部幀首部 幀數(shù)據(jù)區(qū)幀數(shù)據(jù)區(qū) UDP首部首部 UDP數(shù)據(jù)區(qū)數(shù)據(jù)區(qū) 應(yīng)用層報(bào)文應(yīng)用層報(bào)文 應(yīng)用層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層15源端口目的端口長(zhǎng) 度檢驗(yàn)和數(shù) 據(jù)首 部IP 數(shù)據(jù)報(bào)2222字節(jié)發(fā)送在前數(shù) 據(jù)首 部UDP 用戶數(shù)據(jù)報(bào) UDP
8、由兩部分組成:數(shù)據(jù)字段和首部字段 首部字段8 個(gè)字節(jié),由 4 個(gè)字段組成UDP 首部格式首部格式 計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:UDP16偽首部源端口目的端口長(zhǎng) 度檢驗(yàn)和數(shù) 據(jù)首 部UDP長(zhǎng)度源 IP 地址目的 IP 地址017IP 數(shù)據(jù)報(bào)字節(jié)44112122222字節(jié)發(fā)送在前數(shù) 據(jù)首 部UDP 用戶數(shù)據(jù)報(bào)UDP校驗(yàn)和計(jì)算校驗(yàn)和計(jì)算u計(jì)算范圍:計(jì)算范圍:偽首部偽首部+UDP首部首部+UDP數(shù)據(jù)數(shù)據(jù)u計(jì)算方法:與計(jì)算方法:與IP首部校驗(yàn)和的計(jì)算方法相同首部校驗(yàn)和的計(jì)算方法相同計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:UDP17UDP偽首部偽首部 引入偽首部目的是驗(yàn)證數(shù)據(jù)報(bào)是否已正確到
9、達(dá)終點(diǎn)引入偽首部目的是驗(yàn)證數(shù)據(jù)報(bào)是否已正確到達(dá)終點(diǎn) - 不僅檢查端口,還檢查了不僅檢查端口,還檢查了IP地址地址 偽首部既不向下傳送也不向上遞交偽首部既不向下傳送也不向上遞交 - 僅僅為了計(jì)算校驗(yàn)和僅僅為了計(jì)算校驗(yàn)和 偽首部的引入破壞了分層原則,是根據(jù)需要做的折中偽首部的引入破壞了分層原則,是根據(jù)需要做的折中計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:UDP18常見(jiàn)的使用常見(jiàn)的使用UDP的服務(wù)的服務(wù) DNS:域名解析服務(wù), 使用53端口 SNMP:簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議,使用161端口 Oicq:Oicq的程序既接受服務(wù),又提供服務(wù) oicq服務(wù)器使用8000端口,偵聽(tīng)是否有信息到來(lái)客戶端使用4000
10、端口,向外發(fā)送信息 TFTP:快速文件傳輸協(xié)議,端口號(hào)69 RPC:遠(yuǎn)程過(guò)程調(diào)用,端口號(hào)111 計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:UDP19 TCP的特點(diǎn)的特點(diǎn) 面向連接面向連接 每一條連接只能有兩個(gè)端點(diǎn)每一條連接只能有兩個(gè)端點(diǎn)endpoint 保證可靠交付保證可靠交付 提供全雙工通信提供全雙工通信 傳送數(shù)據(jù)單元:報(bào)文段傳送數(shù)據(jù)單元:報(bào)文段TCP segment 面向字節(jié)流面向字節(jié)流TCP協(xié)議協(xié)議-可靠的可靠的計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP TCP是一個(gè)面向連接的、端到端的、提供可靠性服務(wù)的傳輸層協(xié)議20TCP的連接標(biāo)識(shí)的連接標(biāo)識(shí) TCP 使用“連接”(而不僅僅是“端
11、口”)作為最基本的 抽象 如何標(biāo)識(shí)一條TCP連接? 用IP地址可以嗎? 用端口號(hào)可以嗎? 需要IP地址和端口號(hào)共同使用 所以,端點(diǎn)標(biāo)識(shí)!計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP21套接字套接字(socket) TCP 連接的端點(diǎn)稱為插口,套接字、套接口 套接字和端口、IP 地址的關(guān)系是: IP 地址3 端口號(hào)1500 3: 1500套接字(socket) 計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP每一條tcp連接唯一的被通信兩端的兩個(gè)端點(diǎn)(套接字)所確定 TCP 連接 := socket1, socket2 = (IP1: port1),
12、(IP2: port2) 22 TCP 是面向字節(jié)流的(是面向字節(jié)流的(1)7 68H發(fā)送 TCP 報(bào)文段發(fā)送方接收方把字節(jié)寫(xiě)入發(fā)送緩存從接收緩存讀取字節(jié)應(yīng)用進(jìn)程應(yīng)用進(jìn)程1230181716151419202145131211H109 H加上 TCP 首部構(gòu)成 TCP 報(bào)文段 TCP TCP字節(jié)流字節(jié)流H 表示 TCP 報(bào)文段的首部 x 表示序號(hào)為 x 的數(shù)據(jù)字節(jié) TCP 連接(虛連接) 計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP23 TCP 連接是一條虛連接而不是一條真正的物理連接 TCP 對(duì)應(yīng)用進(jìn)程一次把多長(zhǎng)的報(bào)文發(fā)送到TCP 的緩存中是不關(guān)心的。 TCP 根據(jù)對(duì)方給出的窗口值和當(dāng)前
13、網(wǎng)絡(luò)擁塞的程度來(lái)決定一個(gè)報(bào)文段應(yīng)包含多少個(gè)字節(jié)(UDP 發(fā)送的報(bào)文長(zhǎng)度是應(yīng)用進(jìn)程給出的)。 TCP 可把太長(zhǎng)的數(shù)據(jù)塊劃分短一些再傳送。TCP 也可等待積累有足夠多的字節(jié)后再構(gòu)成報(bào)文段發(fā)送出去 TCP 是面向字節(jié)流的(是面向字節(jié)流的(2)計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP24n 報(bào)文段格式報(bào)文段格式n 連接建立與關(guān)閉連接建立與關(guān)閉:三次握手:三次握手+ +四次握手四次握手n 可靠性機(jī)制可靠性機(jī)制 防丟失:確認(rèn)與重傳防丟失:確認(rèn)與重傳 防重復(fù):報(bào)文段序號(hào)防重復(fù):報(bào)文段序號(hào)n 流量控制流量控制:滑動(dòng)窗口機(jī)制:滑動(dòng)窗口機(jī)制n 擁塞控制擁塞控制:加速遞減與慢啟動(dòng)技術(shù):加速遞減與慢啟動(dòng)技術(shù)T
14、CP實(shí)現(xiàn)可靠傳輸基本問(wèn)題實(shí)現(xiàn)可靠傳輸基本問(wèn)題要實(shí)現(xiàn)可靠的數(shù)據(jù)流傳輸服務(wù),要實(shí)現(xiàn)可靠的數(shù)據(jù)流傳輸服務(wù),必須解決哪幾個(gè)問(wèn)題必須解決哪幾個(gè)問(wèn)題?計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP25TCP報(bào)文段的首部報(bào)文段的首部TCP 數(shù)據(jù)部分?jǐn)?shù)據(jù)部分TCP 首部首部TCP 報(bào)文段報(bào)文段TCP首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充IP 數(shù)據(jù)部分IP 首部發(fā)送在前固定首部20字節(jié)計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP報(bào)文段報(bào)文段26TC
15、P首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充源端口和目的端口字段各占 2 字節(jié)。端口是傳輸層與應(yīng)用層的服務(wù)接口。傳輸層的復(fù)用和分用功能都要通過(guò)端口才能實(shí)現(xiàn)。 27TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充序號(hào)字段占 4 字節(jié)。TCP 連接中傳送的數(shù)據(jù)流中的每一個(gè)字節(jié)都編上一
16、個(gè)序號(hào)。序號(hào)字段的值則指的是本報(bào)文段所發(fā)送的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。 28TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù) 偏移 檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充確認(rèn)號(hào)字段占 4 字節(jié),是期望收到對(duì)方的下一個(gè)報(bào)文段的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。 若確認(rèn)號(hào)=N, 則到序號(hào)N-1為止的所有數(shù)據(jù)都已正確收到!29TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG
17、比特 0 8 16 24 31填 充數(shù)據(jù)偏移(首部長(zhǎng)度)占 4 bit,它指出 TCP 報(bào)文段的數(shù)據(jù)起始處距離 TCP 報(bào)文段的起始處有多遠(yuǎn)?!皵?shù)據(jù)偏移”的單位不是字節(jié)而是 32 bit 字(4 字節(jié)為計(jì)算單位)首部長(zhǎng)度范圍:20-60字節(jié)30TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充保留字段占 6 bit,保留為今后使用,但目前應(yīng)置為 0 31TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源
18、 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充緊急比特 URG 當(dāng) URG 1 時(shí),表明緊急指針字段有效。它告訴系統(tǒng)此報(bào)文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當(dāng)于高優(yōu)先級(jí)的數(shù)據(jù))。 32TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充確認(rèn)比特 ACK 只有當(dāng) ACK 1 時(shí)確認(rèn)號(hào)字段才有效。當(dāng) ACK 0 時(shí),確認(rèn)號(hào)無(wú)效。 33TCP首部20字節(jié)固定首部目 的 端 口
19、數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充推送比特 PSH (PuSH) 接收 方TCP 收到推送比特置 1 的報(bào)文段,就盡快地交付給接收應(yīng)用進(jìn)程,而不再等到整個(gè)緩存都填滿了后再向上交付。 34TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充復(fù)位比特 RST (ReSeT) 當(dāng) RST 1 時(shí),表明 TCP 連接
20、中出現(xiàn)嚴(yán)重差錯(cuò)(如由于主機(jī)崩潰或其他原因),必須釋放連接,然后再重新建立運(yùn)輸連接。 35TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充同步比特 SYN 同步比特 SYN 置為 1,就表示這是一個(gè)連接請(qǐng)求或連接接受報(bào)文 36TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充終止比特
21、 FIN 用來(lái)釋放一個(gè)連接。當(dāng)FIN 1 時(shí),表明此報(bào)文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運(yùn)輸連接 37TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充窗口字段 占 2 字節(jié)。窗口字段用來(lái)控制對(duì)方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。窗口值告訴對(duì)方:我現(xiàn)在能接收多少數(shù)據(jù)!窗口值經(jīng)常變化!38TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTP
22、SHACKURG比特 0 8 16 24 31填 充檢驗(yàn)和 占 2 字節(jié)。檢驗(yàn)和字段檢驗(yàn)的范圍包括首部和數(shù)據(jù)這兩部分。在計(jì)算檢驗(yàn)和時(shí),要在 TCP 報(bào)文段的前面加上 12 字節(jié)的偽首部。偽首部TCP長(zhǎng)度源 IP 地址目的 IP 地址06441121239TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充緊急指針字段 占 16 bit。緊急指針指出在本報(bào)文段中的緊急數(shù)據(jù)的最后一個(gè)字節(jié)的序號(hào)。即使窗口為0,也可發(fā)送緊急數(shù)據(jù)! 40TCP首部2
23、0字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充選項(xiàng)字段 長(zhǎng)度可變。第一版TCP只規(guī)定了一種選項(xiàng),即最大報(bào)文段長(zhǎng)度 MSS;第二版TCP增加了窗口擴(kuò)大因子、時(shí)間戳等選項(xiàng) MSS 是 TCP 報(bào)文段中的數(shù)據(jù)字段數(shù)據(jù)字段的最大長(zhǎng)度 數(shù)據(jù)字段加上 TCP 首部才等于整個(gè)的 TCP 報(bào)文段 窗口和窗口和MSS的區(qū)別:的區(qū)別: MSS是一個(gè)報(bào)文的最大長(zhǎng)度是一個(gè)報(bào)文的最大長(zhǎng)度 而窗口則是所能發(fā)送的所有數(shù)據(jù)總數(shù)。它可以是多而窗口則是所能發(fā)送的所有數(shù)據(jù)總數(shù)。它可以
24、是多個(gè)報(bào)文段,但每個(gè)報(bào)文段必須滿足個(gè)報(bào)文段,但每個(gè)報(bào)文段必須滿足MSS的限制,同時(shí)的限制,同時(shí)其數(shù)據(jù)總和不能超過(guò)窗口大小其數(shù)據(jù)總和不能超過(guò)窗口大小41TCP首部20字節(jié)固定首部目 的 端 口數(shù)據(jù)偏移檢 驗(yàn) 和選 項(xiàng) (長(zhǎng) 度 可 變)源 端 口序 號(hào)緊 急 指 針窗 口確 認(rèn) 號(hào)保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充填充字段 這是為了使整個(gè)首部長(zhǎng)度是 4 字節(jié)的整數(shù)倍。 42TCP連接管理連接管理 連接方式連接方式 C/S客戶服務(wù)器方式客戶服務(wù)器方式 主動(dòng)發(fā)起連接建立的應(yīng)主動(dòng)發(fā)起連接建立的應(yīng)用進(jìn)程叫客戶用進(jìn)程叫客戶 被動(dòng)等待連接建立的應(yīng)被動(dòng)等待連接建立的
25、應(yīng)用進(jìn)程叫服務(wù)器用進(jìn)程叫服務(wù)器 連接三個(gè)階段連接三個(gè)階段 建立連接建立連接 數(shù)據(jù)傳輸數(shù)據(jù)傳輸 釋放連接釋放連接 計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP連接與釋放連接與釋放43TCP建立連接建立連接連接建立過(guò)程要解決的問(wèn)題:連接建立過(guò)程要解決的問(wèn)題: 要使每一方都能夠確知對(duì)方的存在要使每一方都能夠確知對(duì)方的存在 要允許雙方協(xié)商一些參數(shù)要允許雙方協(xié)商一些參數(shù)(如最大報(bào)文段長(zhǎng)度(如最大報(bào)文段長(zhǎng)度MSS,最大窗口大小,服務(wù)質(zhì),最大窗口大小,服務(wù)質(zhì)量量Qos等)等) 對(duì)傳輸實(shí)體資源進(jìn)行分配對(duì)傳輸實(shí)體資源進(jìn)行分配(如緩沖區(qū)大小,連接表中的項(xiàng)目等)(如緩沖區(qū)大小,連接表中的項(xiàng)目等)計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)
26、網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP連接與釋放連接與釋放44requestconfirmindicationresponseconfirmrequesttimeoutre-requestindicationindicationresponseresponseconfirm正常連接正常連接重復(fù)連接重復(fù)連接連接的建立過(guò)程問(wèn)題連接的建立過(guò)程問(wèn)題 -可能出現(xiàn)重復(fù)連接可能出現(xiàn)重復(fù)連接問(wèn)題:兩次握手不能解決建立連接的延遲重復(fù)問(wèn)題解決方法:三次握手(three-way handshake)計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP連接與釋放連接與釋放45TCP連接建立過(guò)程連接建立過(guò)程三次握手三次握手SYN
27、置1, seq = x主機(jī) BSYN置1, ACK置1, seq= y, ack= x 1ACK置1, seq = x + 1, ack= y 1被動(dòng)打開(kāi)主動(dòng)打開(kāi)確認(rèn)確認(rèn)主機(jī) A連接請(qǐng)求計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP連接與釋放連接與釋放SYN報(bào)文段占用一個(gè)序號(hào);報(bào)文段占用一個(gè)序號(hào);ACK報(bào)文段,如不攜帶數(shù)據(jù)則不占用序號(hào);報(bào)文段,如不攜帶數(shù)據(jù)則不占用序號(hào);發(fā)送數(shù)據(jù)的第一字節(jié)序號(hào)為:初始序列號(hào)發(fā)送數(shù)據(jù)的第一字節(jié)序號(hào)為:初始序列號(hào)+146TCP連接的終止連接的終止 半關(guān)閉半關(guān)閉 半關(guān)閉的概念半關(guān)閉的概念 關(guān)閉一個(gè)方向上的數(shù)據(jù)傳送,而另一個(gè)方向可關(guān)閉一個(gè)方向上的數(shù)據(jù)傳送,而另一個(gè)方向
28、可以傳輸數(shù)據(jù)以傳輸數(shù)據(jù) 因?yàn)橐粋€(gè)因?yàn)橐粋€(gè)TCP連接是全雙工,每個(gè)方向都可以獨(dú)立的連接是全雙工,每個(gè)方向都可以獨(dú)立的 傳輸數(shù)據(jù),因此每個(gè)方向必須單獨(dú)地進(jìn)行關(guān)閉傳輸數(shù)據(jù),因此每個(gè)方向必須單獨(dú)地進(jìn)行關(guān)閉 當(dāng)一方完成它的數(shù)據(jù)發(fā)送任務(wù)后就能發(fā)送一個(gè)當(dāng)一方完成它的數(shù)據(jù)發(fā)送任務(wù)后就能發(fā)送一個(gè)FIN來(lái)來(lái) 終止這個(gè)方向的連接。當(dāng)一端收到一個(gè)終止這個(gè)方向的連接。當(dāng)一端收到一個(gè)FIN,它必,它必須通知應(yīng)用層另一端已經(jīng)終止了那個(gè)方向的數(shù)據(jù)傳送須通知應(yīng)用層另一端已經(jīng)終止了那個(gè)方向的數(shù)據(jù)傳送 計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP連接與釋放連接與釋放47FIN 置 1, seq = uCLOSED主動(dòng)關(guān)閉數(shù)據(jù)傳
29、送ESTAB-LISHEDESTAB-LISHEDAB客戶服務(wù)器CLOSEDTCP 的連接釋放的連接釋放四次握手四次握手 數(shù)據(jù)傳輸結(jié)束后,通信的雙方都可釋放連接 A 的應(yīng)用進(jìn)程先向其TCP 發(fā)出連接釋放報(bào)文段 A停止再發(fā)送數(shù)據(jù),主動(dòng)關(guān)閉 TCP 連接 A 把連接釋放報(bào)文段首部的 FIN = 1,其序號(hào)seq = u,等待 B 的確認(rèn)計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP連接與釋放連接與釋放48FIN 置1, seq = uCLOSED主動(dòng)關(guān)閉數(shù)據(jù)傳送ESTAB-LISHEDESTAB-LISHEDAB客戶服務(wù)器CLOSEDTCP 的連接釋放的連接釋放 B 發(fā)出確認(rèn) 確認(rèn)號(hào) ack =
30、 u 1,自己的序號(hào) seq = v B方TCP 服務(wù)器進(jìn)程通知高層應(yīng)用進(jìn)程 從 A 到 B 這個(gè)方向的連接就釋放了 TCP 連接處于半關(guān)閉狀態(tài)半關(guān)閉狀態(tài)。B 若發(fā)送數(shù)據(jù),A 仍要接收ACK置1, seq = v, ack= u 1通知應(yīng)用進(jìn)程計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP連接與釋放連接與釋放49置 1, seq = uCLOSED主動(dòng)關(guān)閉數(shù)據(jù)傳送ESTAB-LISHEDESTAB-LISHEDAB客戶服務(wù)器CLOSEDTCP 的連接釋放的連接釋放 若 B 已經(jīng)沒(méi)有要向 A 發(fā)送的數(shù)據(jù),其應(yīng)用進(jìn)程就 通知 TCP 釋放連接ACK 置1, seq = v, ack= u 1通知
31、應(yīng)用進(jìn)程被動(dòng)關(guān)閉FIN 置 1, ACK 置1, seq = w, ack= u 1數(shù)據(jù)傳送計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP連接與釋放連接與釋放50FIN 置 1, seq = uCLOSED主動(dòng)關(guān)閉數(shù)據(jù)傳送ESTAB-LISHEDESTAB-LISHEDAB客戶服務(wù)器CLOSEDTCP 的連接釋放的連接釋放 A 收到連接釋放報(bào)文段后,必須發(fā)出確認(rèn) ACK=1,確認(rèn)號(hào) ackw1,自己的序號(hào)seq=u+1ACK 置 1, seq = v, ack= u 1通知應(yīng)用進(jìn)程被動(dòng)關(guān)閉FIN 置 1, ACK 置1, seq = w, ack= u 1數(shù)據(jù)傳送ACK 置 1, seq =
32、 u + 1, ack = w 1計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:TCP連接與釋放連接與釋放51n 接收方收到數(shù)據(jù) 后向源站發(fā)確認(rèn) (ACK)報(bào)文n 發(fā)送方設(shè)置定時(shí) 器,源站在限定 時(shí)間內(nèi)未收到 ACK,則重發(fā) 數(shù)據(jù)發(fā)送方數(shù)據(jù)發(fā)送方 數(shù)據(jù)接收方數(shù)據(jù)接收方 接收確認(rèn)接收確認(rèn) 發(fā)送報(bào)文段發(fā)送報(bào)文段 接收?qǐng)?bào)文段接收?qǐng)?bào)文段 發(fā)送發(fā)送ACK確認(rèn)確認(rèn) 接收確認(rèn)接收確認(rèn) 發(fā)送報(bào)文段發(fā)送報(bào)文段 接收?qǐng)?bào)文段接收?qǐng)?bào)文段 發(fā)送發(fā)送ACK確認(rèn)確認(rèn) 超時(shí)重傳超時(shí)重傳 確認(rèn)機(jī)制確認(rèn)機(jī)制 重傳機(jī)制重傳機(jī)制 可靠性問(wèn)題可靠性問(wèn)題 基本原理:確認(rèn)機(jī)制、重傳機(jī)制基本原理:確認(rèn)機(jī)制、重傳機(jī)制 停止等待協(xié)議停止等待協(xié)議 基
33、本問(wèn)題:數(shù)據(jù)丟失、亂序、重復(fù)等基本問(wèn)題:數(shù)據(jù)丟失、亂序、重復(fù)等計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:可靠性機(jī)制可靠性機(jī)制52確認(rèn)問(wèn)題再討論確認(rèn)問(wèn)題再討論 捎帶確認(rèn)捎帶確認(rèn) 累計(jì)確認(rèn)累計(jì)確認(rèn) 不設(shè)置專門(mén)的報(bào)文段反饋確認(rèn)不設(shè)置專門(mén)的報(bào)文段反饋確認(rèn) 對(duì)正確接收到的、對(duì)正確接收到的、連續(xù)的連續(xù)的、最高序、最高序 號(hào)的報(bào)文段進(jìn)行確認(rèn)號(hào)的報(bào)文段進(jìn)行確認(rèn)Piggybacking100, , 500, , 10001050, , 2000成功接收數(shù)據(jù)丟失成功接收確認(rèn)號(hào):確認(rèn)號(hào):10011001接收隊(duì)列:缺點(diǎn):無(wú)法確認(rèn)所有已經(jīng)接收數(shù)據(jù),可能導(dǎo)致傳輸效率低下。計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:可靠性機(jī)
34、制可靠性機(jī)制53 引起重傳原因:引起重傳原因: 1.數(shù)據(jù)沒(méi)到對(duì)方數(shù)據(jù)沒(méi)到對(duì)方 2.到了,但錯(cuò)了,被丟棄到了,但錯(cuò)了,被丟棄 3.到了,也對(duì)了,到了,也對(duì)了, 但確認(rèn)丟了或確認(rèn)遲到但確認(rèn)丟了或確認(rèn)遲到重傳問(wèn)題再討論重傳問(wèn)題再討論 解決:解決: 1.設(shè)置超時(shí)計(jì)時(shí)器設(shè)置超時(shí)計(jì)時(shí)器 2.每發(fā)一個(gè)分組要暫時(shí)保留副本每發(fā)一個(gè)分組要暫時(shí)保留副本 3.超時(shí)時(shí)間設(shè)置(很復(fù)雜)超時(shí)時(shí)間設(shè)置(很復(fù)雜)timeoutretransmissionframe 1frame 1ACK 1lost計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:可靠性機(jī)制可靠性機(jī)制54超時(shí)重傳定時(shí)器的設(shè)置超時(shí)重傳定時(shí)器的設(shè)置RTT(Round Tr
35、ip Time):):往返時(shí)間往返時(shí)間- 報(bào)文段發(fā)出到收到確認(rèn)信息間的時(shí)間段報(bào)文段發(fā)出到收到確認(rèn)信息間的時(shí)間段n 方法方法 自適應(yīng)重傳算法自適應(yīng)重傳算法n Karn算法和定時(shí)器補(bǔ)償算法和定時(shí)器補(bǔ)償 重傳定時(shí)時(shí)限重傳定時(shí)時(shí)限RTO的計(jì)算方法的計(jì)算方法 計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:可靠性機(jī)制可靠性機(jī)制55停止等待協(xié)議的信道利用率停止等待協(xié)議的信道利用率 停止等待協(xié)議的優(yōu)點(diǎn):簡(jiǎn)單 缺點(diǎn):信道利用率太低 ATDRTTTD + RTT + TABtt確認(rèn)分組分組確認(rèn)ADDTTTURTT利用率計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:可靠性機(jī)制可靠性機(jī)制56流水線傳輸流水線傳輸 解決:采用解
36、決:采用流水線傳輸(管道化技術(shù))流水線傳輸(管道化技術(shù)),提高利用率,提高利用率 策略:策略:發(fā)送方可連續(xù)發(fā)送多個(gè)分組,不必每發(fā)完一個(gè) 分組就停頓下來(lái)等待對(duì)方的確認(rèn) 典型協(xié)議:典型協(xié)議:連續(xù)連續(xù)ARQ協(xié)議協(xié)議 滑動(dòng)窗口協(xié)議滑動(dòng)窗口協(xié)議B分組ttAACK計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:可靠性機(jī)制可靠性機(jī)制57用管道化技術(shù)發(fā)送幀面臨的新問(wèn)題用管道化技術(shù)發(fā)送幀面臨的新問(wèn)題 問(wèn)題:出錯(cuò)情況問(wèn)題:出錯(cuò)情況 連續(xù)發(fā)送連續(xù)發(fā)送W個(gè)分組,其中有一幀出錯(cuò)或丟了,個(gè)分組,其中有一幀出錯(cuò)或丟了,但其后續(xù)幀被成功發(fā)送但其后續(xù)幀被成功發(fā)送 解決:解決:2種接收策略種接收策略 回退回退N幀幀 Go-back n
37、 選擇性重傳選擇性重傳計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:可靠性機(jī)制可靠性機(jī)制58回退回退N幀幀接收方:丟棄出錯(cuò)分組及其所有后續(xù)分組接收方:丟棄出錯(cuò)分組及其所有后續(xù)分組發(fā)送方:超時(shí)重傳出錯(cuò)幀及其后續(xù)幀發(fā)送方:超時(shí)重傳出錯(cuò)幀及其后續(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 計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:可靠性機(jī)制可靠性機(jī)制59選擇性重傳選擇性重傳buffertimeoutreceive0 1 2 3 4 5 6 7
38、 8 resend2 0 1 E 3 4 5 6 7 8 2 resend3 D resend4 D send9 接收方接收方: 丟棄錯(cuò)分組,緩存后續(xù)正確接收分組丟棄錯(cuò)分組,緩存后續(xù)正確接收分組發(fā)送方:只重發(fā)出錯(cuò)幀及后續(xù)的部分幀發(fā)送方:只重發(fā)出錯(cuò)幀及后續(xù)的部分幀ack 9 discard9 receive計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:可靠性機(jī)制可靠性機(jī)制60流量控制流量控制 滑動(dòng)窗口機(jī)制滑動(dòng)窗口機(jī)制 p 一般的滑動(dòng)窗口機(jī)制一般的滑動(dòng)窗口機(jī)制 思思 想:采用管道化技術(shù),一次傳輸多個(gè)分組,想:采用管道化技術(shù),一次傳輸多個(gè)分組, 但但規(guī)定一個(gè)上限規(guī)定一個(gè)上限 1 2 3 4 5 6 7
39、8 9 10 11 12 13 分分 組組 WindowSize=8 緩緩 存存 窗窗 口:確認(rèn)到來(lái)之前最多可以發(fā)送分組的數(shù)量口:確認(rèn)到來(lái)之前最多可以發(fā)送分組的數(shù)量 隨著確認(rèn)不斷到來(lái),窗口會(huì)不斷向后滑動(dòng),隨著確認(rèn)不斷到來(lái),窗口會(huì)不斷向后滑動(dòng), 直到所有分組都被包含在窗口內(nèi),從而發(fā)送出去直到所有分組都被包含在窗口內(nèi),從而發(fā)送出去計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:流量控制流量控制61滑動(dòng)窗口示例滑動(dòng)窗口示例A-BB通告A,其接收窗口值為20,確認(rèn)值為31前移不允許發(fā)送已發(fā)送并收到確認(rèn)A 的發(fā)送窗口 = 20允許發(fā)送的序號(hào)26 27 28 29 30 31 32 33 34 35 36 37
40、 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56B 期望收到的序號(hào)前移根據(jù) B 給出的窗口值A(chǔ) 構(gòu)造出自己的發(fā)送窗口 計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:流量控制流量控制62不允許發(fā)送已發(fā)送并收到確認(rèn)A 的發(fā)送窗口位置不變?cè)试S發(fā)送但尚未發(fā)送26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已發(fā)送但未收到確認(rèn)56P1P2P3可用窗口A 發(fā)送了 11 個(gè)字節(jié)的數(shù)據(jù),但未收到確認(rèn) 允許發(fā)送但尚未發(fā)送A
41、的發(fā)送窗口向前滑動(dòng)26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已發(fā)送并收到確認(rèn)不允許發(fā)送已發(fā)送但未收到確認(rèn)56P1P2P3A 收到新的確認(rèn)號(hào)34,發(fā)送窗口向前滑動(dòng) 計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:流量控制流量控制63不允許發(fā)送已發(fā)送并收到確認(rèn)A 的發(fā)送窗口已滿,有效窗口為零26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已發(fā)
42、送但未收到確認(rèn)56P1P2P3A 的發(fā)送窗口內(nèi)的序號(hào)都已用完,但還沒(méi)有再收到確認(rèn),必須停止發(fā)送滑動(dòng)窗口示例滑動(dòng)窗口示例計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:流量控制流量控制64 滑動(dòng)窗口以字節(jié)為單位,最大65535字節(jié) TCP 連接的每一端都必須設(shè)有兩個(gè)窗口 一個(gè)發(fā)送窗口和一個(gè)接收窗口 一方的發(fā)送窗口和另一方接收窗口一致! TCP采用可變發(fā)送窗口方式進(jìn)行流量控制 接收端可根據(jù)自己的資源情況,動(dòng)態(tài)調(diào)整自己的接收窗口,并將新的窗口通告給對(duì)方,使對(duì)方的發(fā)送和自己的接收窗口一致TCP滑動(dòng)窗口機(jī)制滑動(dòng)窗口機(jī)制計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:流量控制流量控制65使用可變滑動(dòng)窗口進(jìn)行流控使用可
43、變滑動(dòng)窗口進(jìn)行流控1002003004005006007008009001012013014015016017018011已發(fā)送并被確認(rèn)已發(fā)送但未被確認(rèn)可發(fā)送不可發(fā)送指針1002003004005006007008009001012013014015016017018011已發(fā)送并被確認(rèn)可發(fā)送不可發(fā)送指針發(fā)送窗口前移發(fā)送窗口縮小發(fā)送窗口初始:500字節(jié)新窗口通告:400字節(jié)計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)5. 傳輸層:傳輸層:流量控制流量控制660窗口通告面臨新問(wèn)題窗口通告面臨新問(wèn)題 問(wèn)題一:?jiǎn)栴}一: 0窗口通告停止所有的傳輸,接收緩存又窗口通告停止所有的傳輸,接收緩存又 有空間,怎么辦?有空間,怎么辦?Tips:Tips:持續(xù)定時(shí)器使用時(shí)機(jī):持續(xù)定時(shí)器使用時(shí)機(jī):n 一方發(fā)送了一方發(fā)送了0 0窗口通告,另一方就啟動(dòng)定時(shí)器窗口通告,另一方就啟動(dòng)定時(shí)器n 問(wèn)題二:?jiǎn)栴}二: 非非0窗口通告丟失,怎么辦?窗口通告丟失,怎么辦? 結(jié)結(jié) 果:果: 造成死鎖造成死鎖 解解 決:決: 發(fā)送方為每個(gè)連接都啟動(dòng)發(fā)送方為每個(gè)連接都啟動(dòng)持續(xù)定時(shí)器持續(xù)定時(shí)器,周,周 期性的向接收方發(fā)期性
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 18181-3:2025 EN Information technology - JPEG XL image coding system - Part 3: Conformance testing
- 二零二五版建筑安裝工程節(jié)能評(píng)估合同模板2篇
- 二零二五年機(jī)關(guān)單位勞動(dòng)合同續(xù)簽與解約操作指南3篇
- 二零二五版海洋工程船舶維修保險(xiǎn)合同3篇
- 二零二五年度教育培訓(xùn)機(jī)構(gòu)借款合同范本:助力教育產(chǎn)業(yè)發(fā)展3篇
- 二零二五年紅提葡萄品牌推廣與銷(xiāo)售代理合同3篇
- 二零二五版股權(quán)投資合作終止后的股權(quán)轉(zhuǎn)讓合同2篇
- 二零二五版保育員家庭服務(wù)與職業(yè)發(fā)展合同3篇
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)勞動(dòng)保障監(jiān)察與管理規(guī)范合同3篇
- 二零二五版地下管廊鋼筋施工分包合同范本3篇
- 奶茶督導(dǎo)述職報(bào)告
- 山東萊陽(yáng)核電項(xiàng)目一期工程水土保持方案
- 白熊效應(yīng)(修訂版)
- 小學(xué)數(shù)學(xué)知識(shí)結(jié)構(gòu)化教學(xué)
- 視頻監(jiān)控維保項(xiàng)目投標(biāo)方案(技術(shù)標(biāo))
- 社會(huì)組織能力建設(shè)培訓(xùn)
- 立項(xiàng)報(bào)告蓋章要求
- 2022年睪丸腫瘤診斷治療指南
- 被執(zhí)行人給法院執(zhí)行局寫(xiě)申請(qǐng)范本
- 主變壓器試驗(yàn)報(bào)告模板
- 安全防護(hù)通道施工方案
評(píng)論
0/150
提交評(píng)論