計(jì)算機(jī)網(wǎng)絡(luò)--第五章-運(yùn)輸層全解_第1頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)--第五章-運(yùn)輸層全解_第2頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)--第五章-運(yùn)輸層全解_第3頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)--第五章-運(yùn)輸層全解_第4頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)--第五章-運(yùn)輸層全解_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì) 算 機(jī) 網(wǎng) 絡(luò)計(jì) 算 機(jī) 網(wǎng) 絡(luò)第5章 運(yùn)輸層第 5 章 運(yùn) 輸 層本章的主要內(nèi)容本章的主要內(nèi)容: :5.1 5.1 運(yùn)輸層協(xié)議概述運(yùn)輸層協(xié)議概述5.2 5.2 用戶數(shù)據(jù)報(bào)協(xié)議用戶數(shù)據(jù)報(bào)協(xié)議 UDPUDP5.3 5.3 傳輸控制協(xié)議傳輸控制協(xié)議 TCP TCP 概述概述5.4 5.4 可靠傳輸?shù)墓ぷ髟砜煽總鬏數(shù)墓ぷ髟?.5 TCP 5.5 TCP 報(bào)文段的首部格式報(bào)文段的首部格式5.6 TCP 5.6 TCP 可靠傳輸?shù)膶?shí)現(xiàn)可靠傳輸?shù)膶?shí)現(xiàn)5.7 TCP5.7 TCP的流量控制的流量控制5.8 TCP 5.8 TCP 的擁塞控制的擁塞控制5.9 TCP 5.9 TCP 的運(yùn)輸連接管理的運(yùn)

2、輸連接管理5.1.15.1.1遠(yuǎn)程遠(yuǎn)程主機(jī)間進(jìn)程的通信(功能需求)主機(jī)間進(jìn)程的通信(功能需求)5.1 5.1 運(yùn)輸層協(xié)議概述運(yùn)輸層協(xié)議概述n創(chuàng)建創(chuàng)建設(shè)備間設(shè)備間端端( (進(jìn)程進(jìn)程) )到到端端( (進(jìn)程進(jìn)程) )的的邏輯通信通道邏輯通信通道 允許允許一臺(tái)設(shè)備上同時(shí)運(yùn)行多個(gè)一臺(tái)設(shè)備上同時(shí)運(yùn)行多個(gè)網(wǎng)絡(luò)通信網(wǎng)絡(luò)通信進(jìn)程進(jìn)程/ /應(yīng)用程序應(yīng)用程序n為為主機(jī)間應(yīng)用進(jìn)程的通信主機(jī)間應(yīng)用進(jìn)程的通信提供提供端到端端到端傳輸傳輸/ /傳送服務(wù)傳送服務(wù) 可以可以確保進(jìn)程確保進(jìn)程/ /應(yīng)用程序間數(shù)據(jù)可靠、有序地傳送應(yīng)用程序間數(shù)據(jù)可靠、有序地傳送5 54 43 32 21 1運(yùn)輸層提供應(yīng)用進(jìn)程運(yùn)輸層提供應(yīng)用進(jìn)程間的邏

3、輯間的邏輯通信通信通道通道應(yīng)用進(jìn)程應(yīng)用進(jìn)程應(yīng)用進(jìn)程應(yīng)用進(jìn)程IP IP 層層APAP1 1APAP2 2APAP4 4端口端口端口端口5 54 43 32 21 1APAP3 3傳輸傳輸服務(wù):服務(wù):可以為不同傳輸需求的應(yīng)用提供不同的傳輸服務(wù)可以為不同傳輸需求的應(yīng)用提供不同的傳輸服務(wù)n 面向連接面向連接/ /無(wú)連接的服務(wù)無(wú)連接的服務(wù)n 帶確認(rèn)帶確認(rèn)/ /無(wú)確認(rèn)的服務(wù)無(wú)確認(rèn)的服務(wù)n 將異樣網(wǎng)絡(luò)服務(wù)隱藏在一組同樣傳輸服務(wù)下將異樣網(wǎng)絡(luò)服務(wù)隱藏在一組同樣傳輸服務(wù)下n 為應(yīng)用層保障傳輸服務(wù)質(zhì)量為應(yīng)用層保障傳輸服務(wù)質(zhì)量運(yùn)輸層運(yùn)輸層的主要功能:的主要功能:不同傳輸層協(xié)議針對(duì)傳輸需求包含不同不同傳輸層協(xié)議針對(duì)傳輸

4、需求包含不同的規(guī)則及其功能的規(guī)則及其功能n 編址與尋址編址與尋址( (標(biāo)識(shí)標(biāo)識(shí)) )進(jìn)程進(jìn)程n ( (進(jìn)程間進(jìn)程間) ) 創(chuàng)建創(chuàng)建( (會(huì)話會(huì)話) )連接連接n ( (進(jìn)程間進(jìn)程間) )數(shù)據(jù)分段數(shù)據(jù)分段/ /重組重組n ( (進(jìn)程間進(jìn)程間) )連接狀態(tài)檢測(cè)和控制連接狀態(tài)檢測(cè)和控制n ( (進(jìn)程間進(jìn)程間) )傳輸傳輸差錯(cuò)檢測(cè)和控制差錯(cuò)檢測(cè)和控制n ( (進(jìn)程間進(jìn)程間) )流量檢測(cè)和控制流量檢測(cè)和控制n 網(wǎng)絡(luò)擁塞控制網(wǎng)絡(luò)擁塞控制傳輸服務(wù)傳輸服務(wù)& &運(yùn)輸層的主要功能運(yùn)輸層的主要功能:傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層鏈路層鏈路層物理層物理層應(yīng)用層應(yīng)用層主機(jī)相主機(jī)相關(guān)層關(guān)層網(wǎng)絡(luò)相網(wǎng)絡(luò)相關(guān)層關(guān)層

5、內(nèi)容無(wú)內(nèi)容無(wú)關(guān)傳輸關(guān)傳輸內(nèi)容相內(nèi)容相關(guān)傳輸關(guān)傳輸跟跟蹤蹤會(huì)會(huì)話話不同的應(yīng)用對(duì)數(shù)據(jù)有不同的傳輸要求 需要開發(fā)/選擇不同的傳輸層協(xié)議5.1.2 5.1.2 兩個(gè)主要運(yùn)輸層協(xié)議兩個(gè)主要運(yùn)輸層協(xié)議 TCP/IPTCP/IP體系中的運(yùn)輸層設(shè)有兩個(gè)不同的協(xié)議:體系中的運(yùn)輸層設(shè)有兩個(gè)不同的協(xié)議:(1)UDP (1)UDP 用戶數(shù)據(jù)報(bào)協(xié)議基本屬性:用戶數(shù)據(jù)報(bào)協(xié)議基本屬性:n提供提供無(wú)連接無(wú)確認(rèn)服務(wù)無(wú)連接無(wú)確認(rèn)服務(wù), ,非非可靠可靠邏輯通信通道邏輯通信通道。n采用盡力方式傳送,提供低開銷數(shù)據(jù)傳輸。采用盡力方式傳送,提供低開銷數(shù)據(jù)傳輸。n數(shù)據(jù)單元稱數(shù)據(jù)單元稱UDPUDP報(bào)文報(bào)文或或用戶數(shù)據(jù)報(bào)用戶數(shù)據(jù)報(bào). .(2)

6、TCP(2)TCP傳輸控制協(xié)議基本屬性傳輸控制協(xié)議基本屬性: :n提供提供面向連接和確認(rèn)服務(wù)面向連接和確認(rèn)服務(wù), , 可靠可靠邏輯通信通道邏輯通信通道 跟蹤已發(fā)送的數(shù)據(jù)跟蹤已發(fā)送的數(shù)據(jù) 確認(rèn)已接收的數(shù)據(jù)確認(rèn)已接收的數(shù)據(jù) 重新傳輸未確認(rèn)的數(shù)據(jù)重新傳輸未確認(rèn)的數(shù)據(jù) 原序處理原序處理 流量控制。流量控制。n傳送的數(shù)據(jù)單元稱傳送的數(shù)據(jù)單元稱TCPTCP報(bào)文段報(bào)文段。TCPUDPIP應(yīng)用層與各種網(wǎng)絡(luò)接口5.1.3 5.1.3 運(yùn)輸層的端口運(yùn)輸層的端口協(xié)議端口號(hào)協(xié)議端口號(hào): :傳輸層地址。對(duì)傳輸層地址。對(duì)TCP/IPTCP/IP體系中應(yīng)用進(jìn)程的標(biāo)識(shí)。體系中應(yīng)用進(jìn)程的標(biāo)識(shí)。 公認(rèn)端口號(hào)公認(rèn)端口號(hào):數(shù)值范圍:

7、數(shù)值范圍0 10230 1023。 注冊(cè)端口號(hào)注冊(cè)端口號(hào):數(shù)值范圍:數(shù)值范圍1024 1024 4915149151,必須在,必須在IANA IANA 注冊(cè),以防重復(fù)。注冊(cè),以防重復(fù)。 客戶端口號(hào)客戶端口號(hào):數(shù)值范圍:數(shù)值范圍49152 49152 6553565535,留給客戶進(jìn),留給客戶進(jìn) 程選擇暫時(shí)使用。程選擇暫時(shí)使用。應(yīng)用進(jìn)程應(yīng)用進(jìn)程 應(yīng)用層應(yīng)用層傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層網(wǎng)絡(luò)實(shí)體網(wǎng)絡(luò)實(shí)體傳輸實(shí)體傳輸實(shí)體傳輸?shù)刂罚ㄟM(jìn)程地址)傳輸?shù)刂罚ㄟM(jìn)程地址)網(wǎng)絡(luò)地址(主機(jī)地址)網(wǎng)絡(luò)地址(主機(jī)地址)主機(jī)主機(jī)A A(用戶)(用戶)傳輸層傳輸層/ /網(wǎng)絡(luò)層接口網(wǎng)絡(luò)層接口應(yīng)用層應(yīng)用層/ /傳輸層接口傳輸層接口

8、應(yīng)用進(jìn)程應(yīng)用進(jìn)程 網(wǎng)絡(luò)實(shí)體網(wǎng)絡(luò)實(shí)體傳輸實(shí)體傳輸實(shí)體主機(jī)主機(jī)B B(服務(wù)器)(服務(wù)器)TPDUTPDU邏輯通信通邏輯通信通道道端口(端口(TSAPTSAP)互聯(lián)網(wǎng)編號(hào)指派機(jī)構(gòu) (IANA) 負(fù)責(zé)分配端口號(hào)進(jìn)程尋址:源端口與目的端口進(jìn)程尋址:源端口與目的端口5.2 5.2 用戶數(shù)據(jù)報(bào)協(xié)議用戶數(shù)據(jù)報(bào)協(xié)議UDPUDP5.2.1 UDP5.2.1 UDP概述概述 UDPUDP在在IPIP的數(shù)據(jù)報(bào)服務(wù)之上增加進(jìn)程標(biāo)識(shí)(即端口號(hào))的數(shù)據(jù)報(bào)服務(wù)之上增加進(jìn)程標(biāo)識(shí)(即端口號(hào))和差錯(cuò)檢測(cè)的功能。和差錯(cuò)檢測(cè)的功能。 UDP UDP 的主要特點(diǎn)的主要特點(diǎn)nUDPUDP是無(wú)連接的,不維護(hù)連接。是無(wú)連接的,不維護(hù)連接。nU

9、DPUDP使用盡最大努力交付。使用盡最大努力交付。nUDPUDP是面向報(bào)文的,既不合并,也不拆分上下層報(bào)文。是面向報(bào)文的,既不合并,也不拆分上下層報(bào)文。n沒(méi)有序列號(hào),不關(guān)注信息傳輸?shù)拇涡?。沒(méi)有序列號(hào),不關(guān)注信息傳輸?shù)拇涡?。n沒(méi)有擁塞控制。沒(méi)有擁塞控制。 nUDPUDP的首部開銷小,只有的首部開銷小,只有8 8個(gè)字節(jié)。個(gè)字節(jié)。n一種簡(jiǎn)單設(shè)計(jì),所需開銷較低,數(shù)據(jù)傳輸速度較快。一種簡(jiǎn)單設(shè)計(jì),所需開銷較低,數(shù)據(jù)傳輸速度較快。 5.2.2 UDP5.2.2 UDP的首部格式的首部格式偽首部偽首部源端口源端口目的端口目的端口長(zhǎng)長(zhǎng) 度度檢驗(yàn)和檢驗(yàn)和數(shù)數(shù) 據(jù)據(jù)首首 部部UDPUDP長(zhǎng)度長(zhǎng)度源源 IP IP 地

10、址地址目的目的 IP IP 地址地址0 01717IP IP 數(shù)據(jù)報(bào)數(shù)據(jù)報(bào)4 44 41 11 12 212122 22 22 22 2字節(jié)字節(jié)數(shù)數(shù) 據(jù)據(jù)首首 部部UDP UDP 用戶數(shù)據(jù)報(bào)用戶數(shù)據(jù)報(bào) 用戶數(shù)據(jù)報(bào)用戶數(shù)據(jù)報(bào)UDPUDP有兩個(gè)字段:數(shù)據(jù)字段和首部字段。有兩個(gè)字段:數(shù)據(jù)字段和首部字段。首部字段有首部字段有8 8個(gè)字節(jié),由個(gè)字節(jié),由4 4個(gè)字段組成,每個(gè)字段都是兩個(gè)個(gè)字段組成,每個(gè)字段都是兩個(gè)字節(jié)。字節(jié)。 5.2.2 UDP5.2.2 UDP的首部格式的首部格式偽首部偽首部源端口源端口目的端口目的端口UDPUDP長(zhǎng)度長(zhǎng)度檢驗(yàn)和檢驗(yàn)和數(shù)數(shù) 據(jù)據(jù)首首 部部UDPUDP長(zhǎng)度長(zhǎng)度源源IPIP

11、地址地址目的目的IPIP地址地址0 01717IP IP 數(shù)據(jù)報(bào)數(shù)據(jù)報(bào)4 44 41 11 12 212122 22 22 22 2字節(jié)字節(jié)發(fā)送在前發(fā)送在前數(shù)數(shù) 據(jù)據(jù)首首 部部UDP UDP 用戶數(shù)據(jù)報(bào)用戶數(shù)據(jù)報(bào)5.2.2 UDP5.2.2 UDP的首部格式的首部格式 在計(jì)算檢驗(yàn)和時(shí),臨時(shí)把在計(jì)算檢驗(yàn)和時(shí),臨時(shí)把“偽首部偽首部”和和UDPUDP用戶數(shù)據(jù)報(bào)用戶數(shù)據(jù)報(bào)連接在一起。偽首部?jī)H僅是為了計(jì)算檢驗(yàn)和。連接在一起。偽首部?jī)H僅是為了計(jì)算檢驗(yàn)和。偽首部偽首部源端口源端口目的端口目的端口長(zhǎng)長(zhǎng) 度度檢驗(yàn)和檢驗(yàn)和數(shù)數(shù) 據(jù)據(jù)首首 部部UDPUDP長(zhǎng)長(zhǎng)源源IPIP地址地址目的目的IPIP地址地址0 0171

12、7IPIP數(shù)據(jù)報(bào)數(shù)據(jù)報(bào)4 44 41 11 12 212122 22 22 22 2字字節(jié)節(jié)發(fā)送在前發(fā)送在前數(shù)數(shù) 據(jù)據(jù)首首 部部UDP UDP 用戶數(shù)據(jù)報(bào)用戶數(shù)據(jù)報(bào)UDPUDP復(fù)用復(fù)用和和分用(解復(fù)用)分用(解復(fù)用)是基于端口的是基于端口的IP IP UDP UDP 數(shù)據(jù)報(bào)到達(dá)數(shù)據(jù)報(bào)到達(dá)端口端口2 2端口端口3 3端口端口1 1UDPUDP復(fù)用和解復(fù)用復(fù)用和解復(fù)用UDPUDP的復(fù)用和分用的復(fù)用和分用UDP UDP 數(shù)據(jù)報(bào)出發(fā)數(shù)據(jù)報(bào)出發(fā)5.3.1 TCP5.3.1 TCP最主要的特點(diǎn)最主要的特點(diǎn)5.3 5.3 傳輸控制協(xié)議傳輸控制協(xié)議TCPTCP概述概述n 面向連接的運(yùn)輸層協(xié)議面向連接的運(yùn)輸層協(xié)

13、議 n 每一條每一條TCPTCP連接只能有兩個(gè)端點(diǎn)連接只能有兩個(gè)端點(diǎn)n 提供面向字節(jié)流的全雙工通信提供面向字節(jié)流的全雙工通信n 提供可靠交付服務(wù)提供可靠交付服務(wù) 監(jiān)控亂序、差錯(cuò)、重復(fù)、丟失監(jiān)控亂序、差錯(cuò)、重復(fù)、丟失 確認(rèn)(重傳)確認(rèn)(重傳) 超時(shí)重傳超時(shí)重傳 端到端流量控制端到端流量控制 端到端擁塞控制端到端擁塞控制5.3.2 TCP 5.3.2 TCP 的連接的連接創(chuàng)建套接字創(chuàng)建套接字n一條一條TCPTCP連接有兩個(gè)連接有兩個(gè)端點(diǎn)端點(diǎn)。nTCPTCP的每個(gè)連接的每個(gè)連接端點(diǎn)端點(diǎn)叫做叫做套接字套接字(socket)(socket)或插口或插口。 socket = (IPsocket = (IP

14、地址地址: :端口號(hào)端口號(hào)) )n一條一條TCPTCP連接連接即通信的兩個(gè)端點(diǎn)即通信的兩個(gè)端點(diǎn)( (或兩個(gè)套接字或兩個(gè)套接字) )的關(guān)聯(lián)。的關(guān)聯(lián)。 TCP TCP 連接連接 := socket1, socket2 := socket1, socket2 := (IP1:Port1), (IP2:Port2) := (IP1:Port1), (IP2:Port2)nTCPTCP連接是運(yùn)輸層實(shí)現(xiàn)連接是運(yùn)輸層實(shí)現(xiàn)可靠通信可靠通信的基礎(chǔ)。的基礎(chǔ)。TCPTCP的套接字原語(yǔ)的套接字原語(yǔ)原語(yǔ)原語(yǔ)功能含義功能含義SOCKET創(chuàng)建一個(gè)新的通信端點(diǎn)創(chuàng)建一個(gè)新的通信端點(diǎn)BIND將一個(gè)本地地址關(guān)聯(lián)到一個(gè)套接字上將一個(gè)

15、本地地址關(guān)聯(lián)到一個(gè)套接字上LISTEN宣布愿意接受連接,并給出隊(duì)列大小等宣布愿意接受連接,并給出隊(duì)列大小等ACCEPT阻塞調(diào)用方,直到有連接到來(lái)阻塞調(diào)用方,直到有連接到來(lái)CONNECT主動(dòng)地嘗試建立一個(gè)連接主動(dòng)地嘗試建立一個(gè)連接SEND在指定的連接上發(fā)送數(shù)據(jù)在指定的連接上發(fā)送數(shù)據(jù)RECV從指定的連接上接收數(shù)據(jù)從指定的連接上接收數(shù)據(jù)CLOSE釋放指定的連接釋放指定的連接TCPTCP面向字節(jié)面向字節(jié)流流的通信的通信n以以字節(jié)字節(jié)為單位。即:對(duì)應(yīng)用層報(bào)文無(wú)長(zhǎng)度限制。為單位。即:對(duì)應(yīng)用層報(bào)文無(wú)長(zhǎng)度限制。n依據(jù)接收窗口值、網(wǎng)絡(luò)擁塞狀況等控制依據(jù)接收窗口值、網(wǎng)絡(luò)擁塞狀況等控制報(bào)文段字節(jié)數(shù)報(bào)文段字節(jié)數(shù)長(zhǎng)度。

16、長(zhǎng)度。n可把大數(shù)據(jù)塊劃短傳送,也可等待積累有足夠多的字節(jié)后再可把大數(shù)據(jù)塊劃短傳送,也可等待積累有足夠多的字節(jié)后再構(gòu)成報(bào)文段發(fā)送出去構(gòu)成報(bào)文段發(fā)送出去。 7 7 6 68 8H H 發(fā)送發(fā)送TCPTCP報(bào)文段報(bào)文段發(fā)送方發(fā)送方接收方接收方把字節(jié)寫入把字節(jié)寫入發(fā)送緩存發(fā)送緩存從接收緩存從接收緩存讀取字節(jié)讀取字節(jié)應(yīng)用進(jìn)程應(yīng)用進(jìn)程應(yīng)用進(jìn)程應(yīng)用進(jìn)程1 12 23 30 01818 171716161515 14141919202021214 45 5131312121111 H H1010 9 9 H H加上加上TCPTCP首部首部構(gòu)成構(gòu)成TCPTCP報(bào)文段報(bào)文段TCPTCPTCPTCP字字節(jié)節(jié)流流字字

17、節(jié)節(jié)流流H H 表示表示 TCP TCP 報(bào)文段的首部報(bào)文段的首部TCP TCP 連接連接x表示序號(hào)為表示序號(hào)為 x 的數(shù)據(jù)字節(jié)的數(shù)據(jù)字節(jié)5.4 5.4 可靠傳輸?shù)墓ぷ髟砜煽總鬏數(shù)墓ぷ髟?.4.1 5.4.1 停止等待協(xié)議停止等待協(xié)議(a) (a) 無(wú)差錯(cuò)情況無(wú)差錯(cuò)情況A發(fā)送發(fā)送M M1 1確認(rèn)確認(rèn)M M1 1B發(fā)送發(fā)送M M2 2發(fā)送發(fā)送M M3 3確認(rèn)確認(rèn)M M2 2確認(rèn)確認(rèn)M M3 3A發(fā)送發(fā)送M M1 1B超時(shí)重傳超時(shí)重傳M M1 1發(fā)送發(fā)送M M2 2確認(rèn)確認(rèn)M M1 1丟棄有差錯(cuò)丟棄有差錯(cuò)的報(bào)文的報(bào)文(b) (b) 有差錯(cuò)超時(shí)重傳有差錯(cuò)超時(shí)重傳t tt tt tt tn一種確認(rèn)

18、和重傳機(jī)制一種確認(rèn)和重傳機(jī)制: :實(shí)現(xiàn)可靠通信的協(xié)議技術(shù)。實(shí)現(xiàn)可靠通信的協(xié)議技術(shù)。n稱為支持重傳的肯定確認(rèn)機(jī)制(稱為支持重傳的肯定確認(rèn)機(jī)制(PARPAR)n或稱自動(dòng)重傳請(qǐng)求或稱自動(dòng)重傳請(qǐng)求(ARQ): (ARQ): 發(fā)送方無(wú)需接收方請(qǐng)求的出錯(cuò)分發(fā)送方無(wú)需接收方請(qǐng)求的出錯(cuò)分組重傳組重傳5.4.1 5.4.1 停止等待協(xié)議停止等待協(xié)議- -續(xù)續(xù)確認(rèn)丟失和確認(rèn)遲到確認(rèn)丟失和確認(rèn)遲到A發(fā)送發(fā)送M M1 1B超時(shí)超時(shí)重傳重傳M M1 1發(fā)送發(fā)送M M2 2丟棄重復(fù)的丟棄重復(fù)的M M1 1重傳確認(rèn)重傳確認(rèn)M M1 1(a) (a) 確認(rèn)丟失確認(rèn)丟失確認(rèn)確認(rèn)M M1 1A發(fā)送發(fā)送M M1 1B超時(shí)超時(shí)重傳重

19、傳M M1 1發(fā)送發(fā)送M M2 2丟棄重復(fù)的丟棄重復(fù)的M M1 1重傳確認(rèn)重傳確認(rèn)M M1 1(b) (b) 確認(rèn)遲到確認(rèn)遲到確認(rèn)確認(rèn)M M1 1收下遲到收下遲到的確認(rèn)的確認(rèn)但什么也不做但什么也不做t tt tt tt t5.4.1 5.4.1 停止等待協(xié)議停止等待協(xié)議停止等待協(xié)議簡(jiǎn)單,但信道利用率太低。停止等待協(xié)議簡(jiǎn)單,但信道利用率太低。T TD DRTTRTTA AT TD D + RTT + + RTT + T TA AB B分組分組確認(rèn)確認(rèn)t tt t分組分組確認(rèn)確認(rèn)ADDTTTURTT信道利用率信道利用率RTTRTT:往返時(shí)間:往返時(shí)間( (信道空閑時(shí)間信道空閑時(shí)間) )T TD D

20、: A A發(fā)送數(shù)據(jù)分組的時(shí)間發(fā)送數(shù)據(jù)分組的時(shí)間T TA A: B B發(fā)送確認(rèn)分組的時(shí)間發(fā)送確認(rèn)分組的時(shí)間對(duì)停止等待協(xié)議的改進(jìn):對(duì)停止等待協(xié)議的改進(jìn):n發(fā)送方可連續(xù)發(fā)送多個(gè)分組,不必每發(fā)完一個(gè)分組就停頓發(fā)送方可連續(xù)發(fā)送多個(gè)分組,不必每發(fā)完一個(gè)分組就停頓下來(lái)等待對(duì)方的確認(rèn)。下來(lái)等待對(duì)方的確認(rèn)。n由于信道上一直有數(shù)據(jù)不間斷地傳送,這種傳輸方式可獲由于信道上一直有數(shù)據(jù)不間斷地傳送,這種傳輸方式可獲得較高的信道利用率。得較高的信道利用率。 流水線傳輸流水線傳輸B分組分組ttAACKACKn對(duì)應(yīng)使用連續(xù)對(duì)應(yīng)使用連續(xù)ARQARQ協(xié)議和滑動(dòng)窗口機(jī)制協(xié)議和滑動(dòng)窗口機(jī)制滑動(dòng)窗口協(xié)議滑動(dòng)窗口協(xié)議5.4.2 5.4.

21、2 連續(xù)連續(xù)ARQARQ協(xié)議協(xié)議1 12 23 34 45 56 67 78 89 9101011111212(a)(a)發(fā)送方維持發(fā)送窗口發(fā)送方維持發(fā)送窗口( (允許發(fā)送的或發(fā)送了還未被確認(rèn)的分組序號(hào))允許發(fā)送的或發(fā)送了還未被確認(rèn)的分組序號(hào))( (c c) ) 收到一個(gè)確認(rèn)后發(fā)送窗口向前滑動(dòng)收到一個(gè)確認(rèn)后發(fā)送窗口向前滑動(dòng)向前向前1 12 23 34 45 56 67 78 89 9101011111212發(fā)送窗口發(fā)送窗口 尺度尺度=5=5發(fā)送窗口發(fā)送窗口 尺度尺度=5=5( (b b) ) 收到一個(gè)分組后,發(fā)確認(rèn)分組,窗口向前滑動(dòng)收到一個(gè)分組后,發(fā)確認(rèn)分組,窗口向前滑動(dòng)向前向前1 12 23

22、 34 45 56 67 78 89 9101011111212接收窗口接收窗口 尺度尺度=5=5例:例:停止等待停止等待ARQARQ,窗口尺度,窗口尺度=1=10 01 12 23 34 45 56 67 7初始狀態(tài)初始狀態(tài)無(wú)無(wú)待待發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送方發(fā)送方接收方接收方1 12 23 34 45 56 67 70 01 12 23 34 45 56 67 70 01 12 23 34 45 56 67 71 12 23 34 45 56 67 71 12 23 34 45 56 67 70 00 00 0第一分組接收后等第一分組接收后等待第二序號(hào)分組待第二序號(hào)分組1 12 23 34 45

23、 56 67 70 00 01 12 23 34 45 56 67 7第一確認(rèn)接收后第一確認(rèn)接收后窗口滑動(dòng)(差錯(cuò)窗口滑動(dòng)(差錯(cuò)/ /流量控制)機(jī)制流量控制)機(jī)制初始狀態(tài):初始狀態(tài):等待第一序號(hào)分組等待第一序號(hào)分組第一分組發(fā)送后第一分組發(fā)送后連續(xù)連續(xù)ARQ-ARQ-回退回退N N重傳重傳n發(fā)送方重傳首個(gè)超時(shí)或發(fā)送方重傳首個(gè)超時(shí)或否定確認(rèn)(否定確認(rèn)(NAK)分組后的所分組后的所有已發(fā)分組。有已發(fā)分組。n接收方可累積確認(rèn)。即對(duì)按序到達(dá)的最后一個(gè)有效分接收方可累積確認(rèn)。即對(duì)按序到達(dá)的最后一個(gè)有效分組發(fā)送確認(rèn)。組發(fā)送確認(rèn)。錯(cuò)誤錯(cuò)誤連續(xù)連續(xù)ARQ-ARQ-選擇重傳選擇重傳n發(fā)送方僅重傳發(fā)送方僅重傳否定確認(rèn)

24、(否定確認(rèn)(NAK)分組。分組。n接收方可累積確認(rèn),即對(duì)按序到達(dá)的最后一個(gè)有效分組發(fā)接收方可累積確認(rèn),即對(duì)按序到達(dá)的最后一個(gè)有效分組發(fā)送確認(rèn)。送確認(rèn)。錯(cuò)誤錯(cuò)誤TCP 可靠通信可靠通信(確認(rèn)重傳機(jī)制)的具體實(shí)現(xiàn)確認(rèn)重傳機(jī)制)的具體實(shí)現(xiàn)n TCP TCP連接的每一端設(shè)有兩個(gè)窗口:連接的每一端設(shè)有兩個(gè)窗口: 發(fā)送窗口發(fā)送窗口 接收窗口接收窗口n TCPTCP對(duì)對(duì)字節(jié)字節(jié)進(jìn)行進(jìn)行序號(hào)序號(hào)控制控制n TCPTCP的的確認(rèn)基于序號(hào)確認(rèn)基于序號(hào)n TCPTCP兩端的四個(gè)窗口可動(dòng)態(tài)變化。兩端的四個(gè)窗口可動(dòng)態(tài)變化。n TCPTCP連接的往返時(shí)間連接的往返時(shí)間 RTT RTT 不是固定不變的。需要使不是固定不變的

25、。需要使 用特定的算法估算較為合理的重傳時(shí)間。用特定的算法估算較為合理的重傳時(shí)間。5.5 TCP5.5 TCP報(bào)文段的首部格式報(bào)文段的首部格式TCPTCP首部首部2020字節(jié)的字節(jié)的固定首部固定首部目的端口目的端口數(shù)據(jù)數(shù)據(jù)偏移偏移檢檢 驗(yàn)驗(yàn) 和和選選 項(xiàng)項(xiàng) (長(zhǎng)(長(zhǎng) 度可變)度可變)源源 端端 口口序序 號(hào)號(hào)緊緊 急急 指指 針針窗窗 口口確確 認(rèn)認(rèn) 號(hào)號(hào)保保 留留F FI IN N32 32 位位S SY YN NR RS ST TP PS SH HA AC CK KU UR RG G填填 充充TCPTCP數(shù)據(jù)部分?jǐn)?shù)據(jù)部分TCPTCP首部首部TCPTCP報(bào)文段報(bào)文段IPIP數(shù)據(jù)部分?jǐn)?shù)據(jù)部分I

26、PIP首部首部發(fā)送在前發(fā)送在前位位 0 8 16 24 31 0 8 16 24 31 TCPTCP首部首部2020字節(jié)的字節(jié)的固定首部固定首部目的端口目的端口數(shù)據(jù)數(shù)據(jù)偏移偏移檢檢 驗(yàn)驗(yàn) 和和選選 項(xiàng)項(xiàng) (長(zhǎng)(長(zhǎng) 度可變)度可變)源源 端端 口口序序 號(hào)號(hào)緊緊 急急 指指 針針窗窗 口口確確 認(rèn)認(rèn) 號(hào)號(hào)保保 留留F FI IN N32 32 位位S SY YN NR RS ST TP PS SH HA AC CK KU UR RG G填填 充充位位 0 8 16 24 31 0 8 16 24 31 源端口和目的端口字段源端口和目的端口字段n2 2字節(jié)。字節(jié)。n運(yùn)輸層地址運(yùn)輸層地址( (運(yùn)輸層

27、服務(wù)接口運(yùn)輸層服務(wù)接口TSAP)TSAP),標(biāo)識(shí)進(jìn)程。,標(biāo)識(shí)進(jìn)程。n支持運(yùn)輸層的復(fù)用和分用功能。支持運(yùn)輸層的復(fù)用和分用功能。TCPTCP首部首部2020字節(jié)的字節(jié)的固定首部固定首部目的端口目的端口數(shù)據(jù)數(shù)據(jù)偏移偏移檢檢 驗(yàn)驗(yàn) 和和選選 項(xiàng)項(xiàng) (長(zhǎng)(長(zhǎng) 度可變)度可變)源源 端端 口口序號(hào)序號(hào) (120120)緊緊 急急 指指 針針窗窗 口口確認(rèn)號(hào)確認(rèn)號(hào) 501501保保 留留F FI IN NS SY YN NR RS ST TP PS SH HA AC CK KU UR RG G填填 充充位位 0 8 16 24 31 0 8 16 24 31 序號(hào)字段:序號(hào)字段:4 4字節(jié)。字節(jié)。TCPTC

28、P為數(shù)據(jù)流中的每一個(gè)字節(jié)編號(hào)。序號(hào)為數(shù)據(jù)流中的每一個(gè)字節(jié)編號(hào)。序號(hào)字段的值指示本報(bào)文段數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。字段的值指示本報(bào)文段數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。確認(rèn)號(hào)字段確認(rèn)號(hào)字段: : 4 4字節(jié),字節(jié),TCPTCP將期望收到的下一個(gè)報(bào)文段數(shù)據(jù)的將期望收到的下一個(gè)報(bào)文段數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào),作為確認(rèn)信息。第一個(gè)字節(jié)的序號(hào),作為確認(rèn)信息。序號(hào)字段和確認(rèn)號(hào)字段序號(hào)字段和確認(rèn)號(hào)字段TCPTCP數(shù)據(jù)部分?jǐn)?shù)據(jù)部分TCPTCP首部首部120120121121500500TCPTCP數(shù)據(jù)部分?jǐn)?shù)據(jù)部分TCPTCP首部首部占占4 4位位, ,指示指示TCPTCP報(bào)文段的數(shù)據(jù)字段起始字節(jié)距離報(bào)文段的數(shù)據(jù)字段起始字節(jié)

29、距離TCPTCP首部起點(diǎn)的偏移?;蚴撞块L(zhǎng)度首部起點(diǎn)的偏移?;蚴撞块L(zhǎng)度(4(4字節(jié)為計(jì)算單位字節(jié)為計(jì)算單位) )數(shù)據(jù)偏移(即首部長(zhǎng)度)數(shù)據(jù)偏移(即首部長(zhǎng)度)TCPTCP首部首部2020字節(jié)的字節(jié)的固定首部固定首部目的端口目的端口5 5檢檢 驗(yàn)驗(yàn) 和和源源 端端 口口序號(hào)序號(hào) (120120)緊緊 急急 指指 針針窗窗 口口確認(rèn)號(hào)確認(rèn)號(hào) 501501保保 留留F FI IN NS SY YN NR RS ST TP PS SH HA AC CK KU UR RG G位位 0 8 16 24 31 0 8 16 24 31 TCPTCP數(shù)據(jù)部分?jǐn)?shù)據(jù)部分TCPTCP首部首部12012012112150

30、05005 5 保留字段保留字段: : 占占6 6位,保留今后使用,但目前應(yīng)置為位,保留今后使用,但目前應(yīng)置為0 0。 緊急緊急URG:URG: URG URG 1,1,表明緊急指針字段有效。告訴系統(tǒng)此報(bào)表明緊急指針字段有效。告訴系統(tǒng)此報(bào)文段中有緊急數(shù)據(jù)文段中有緊急數(shù)據(jù), ,應(yīng)盡快應(yīng)盡快傳送傳送( (相當(dāng)于高優(yōu)先級(jí)的數(shù)據(jù)相當(dāng)于高優(yōu)先級(jí)的數(shù)據(jù)) )。 確認(rèn)確認(rèn) ACK:ACK: 只有當(dāng)只有當(dāng)ACK ACK 1 1時(shí)確認(rèn)號(hào)字段才有效。時(shí)確認(rèn)號(hào)字段才有效。 推送推送(Push):(Push): 收到收到PSH = 1 PSH = 1 的報(bào)文段,應(yīng)盡快地的報(bào)文段,應(yīng)盡快地交付交付接接收應(yīng)用進(jìn)程收應(yīng)用進(jìn)

31、程, ,不必等到整個(gè)緩存都填滿了后再向上交付。不必等到整個(gè)緩存都填滿了后再向上交付。 復(fù)位復(fù)位(Reset):(Reset): 當(dāng)當(dāng)RST RST 1 1 時(shí),表明時(shí),表明TCPTCP連接中出現(xiàn)嚴(yán)連接中出現(xiàn)嚴(yán)重差錯(cuò)(如由于主機(jī)崩潰或其他原因),必須釋放連接,重差錯(cuò)(如由于主機(jī)崩潰或其他原因),必須釋放連接,然后再重新建立運(yùn)輸連接。然后再重新建立運(yùn)輸連接。 5.5 TCP5.5 TCP報(bào)文段的首部格式報(bào)文段的首部格式TCPTCP首部首部目的端口目的端口檢檢 驗(yàn)驗(yàn) 和和源源 端端 口口序號(hào)序號(hào) (120120)緊緊 急急 指指 針針窗窗 口口確認(rèn)號(hào)確認(rèn)號(hào) 501501保保 留留F FI IN NS

32、 SY YN NR RS ST TP PS SH HA AC CK KU UR RG G數(shù)據(jù)數(shù)據(jù)偏移偏移同步同步SYN:SYN: SYN=1, SYN=1,表示這是一個(gè)連接請(qǐng)求或連接接受報(bào)文。表示這是一個(gè)連接請(qǐng)求或連接接受報(bào)文。 終止終止(FINis):(FINis): FIN FIN 1,1,表明此報(bào)文段的發(fā)送端的數(shù)據(jù)已發(fā)送表明此報(bào)文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運(yùn)輸連接完畢,并要求釋放運(yùn)輸連接。 窗口字段窗口字段: : 占占2 2字節(jié)字節(jié), ,是對(duì)方設(shè)置發(fā)送窗口的依據(jù)是對(duì)方設(shè)置發(fā)送窗口的依據(jù), ,單位為字節(jié)。單位為字節(jié)。檢驗(yàn)和檢驗(yàn)和: : 占占2 2字節(jié)。檢驗(yàn)和字段檢驗(yàn)的范圍包括首

33、部和數(shù)據(jù)字節(jié)。檢驗(yàn)和字段檢驗(yàn)的范圍包括首部和數(shù)據(jù)這兩部分。在計(jì)算檢驗(yàn)和時(shí),要在這兩部分。在計(jì)算檢驗(yàn)和時(shí),要在TCPTCP報(bào)文段的前面加上報(bào)文段的前面加上1212字節(jié)的偽首部字節(jié)的偽首部. .5.5 TCP5.5 TCP報(bào)文段的首部格式報(bào)文段的首部格式TCPTCP首部首部目的端口目的端口檢檢 驗(yàn)驗(yàn) 和和源源 端端 口口序號(hào)序號(hào) (120120)緊緊 急急 指指 針針窗窗 口口確認(rèn)號(hào)確認(rèn)號(hào) 501501保保 留留F FI IN NS SY YN NR RS ST TP PS SH HA AC CK KU UR RG G數(shù)據(jù)數(shù)據(jù)偏移偏移緊急指針字段緊急指針字段: : 占占1616位,指出在本報(bào)文段中

34、緊急數(shù)據(jù)共位,指出在本報(bào)文段中緊急數(shù)據(jù)共有多少個(gè)字節(jié)(緊急數(shù)據(jù)放在本報(bào)文段數(shù)據(jù)的最前面)。有多少個(gè)字節(jié)(緊急數(shù)據(jù)放在本報(bào)文段數(shù)據(jù)的最前面)。選項(xiàng)字段選項(xiàng)字段: : 長(zhǎng)度可變,最長(zhǎng)為長(zhǎng)度可變,最長(zhǎng)為4040字節(jié)。字節(jié)。例:例:最大報(bào)文段長(zhǎng)度最大報(bào)文段長(zhǎng)度MSSMSS。MSSMSS告訴對(duì)方告訴對(duì)方TCP:TCP:“我的緩存所我的緩存所能接收的報(bào)文段的能接收的報(bào)文段的數(shù)據(jù)字段數(shù)據(jù)字段的最大長(zhǎng)度是的最大長(zhǎng)度是MSS MSS 個(gè)字節(jié)。個(gè)字節(jié)?!?填充字段填充字段: : 這是為了使整個(gè)首部長(zhǎng)度是這是為了使整個(gè)首部長(zhǎng)度是4 4字節(jié)的整數(shù)倍。字節(jié)的整數(shù)倍。 5.5 TCP5.5 TCP報(bào)文段的首部格式報(bào)文段的

35、首部格式TCPTCP首部首部2020字節(jié)的字節(jié)的固定首部固定首部目的端口目的端口數(shù)據(jù)數(shù)據(jù)偏移偏移檢檢 驗(yàn)驗(yàn) 和和選選 項(xiàng)項(xiàng) (長(zhǎng)(長(zhǎng) 度可變)度可變)源源 端端 口口序序 號(hào)號(hào)緊緊 急急 指指 針針窗窗 口口確確 認(rèn)認(rèn) 號(hào)號(hào)保保 留留F FI IN N32 32 位位S SY YN NR RS ST TP PS SH HA AC CK KU UR RG G填填 充充位位 0 8 16 24 31 0 8 16 24 31 5.6.1 5.6.1 以字節(jié)為單位的滑動(dòng)窗口以字節(jié)為單位的滑動(dòng)窗口-窗口機(jī)制窗口機(jī)制5.6 TCP5.6 TCP可靠傳輸?shù)膶?shí)現(xiàn)可靠傳輸?shù)膶?shí)現(xiàn)圖示圖示: :根據(jù)根據(jù)B B給出

36、的給出的( (接收接收) )窗口值窗口值,A,A設(shè)置自己的發(fā)送窗口。設(shè)置自己的發(fā)送窗口。 前移前移不允許發(fā)送不允許發(fā)送已發(fā)送并已發(fā)送并收到確認(rèn)收到確認(rèn)A 的發(fā)送窗口的發(fā)送窗口 = 20允許發(fā)送的序號(hào)允許發(fā)送的序號(hào)2626 2727 2828 2929 3030 3131 3232 3333 3434 3535 3636 3737 3838 3939 4040 4141 4242 4343 4444 4545 4646 4747 4848 4949 5050 5151 5252 5353 5454 5555 5656B期望期望收到的序號(hào)收到的序號(hào)前沿前沿后沿后沿前移前移不允許發(fā)送不允許發(fā)送已發(fā)送

37、并已發(fā)送并收到確認(rèn)收到確認(rèn)A 的發(fā)送窗口位置不變的發(fā)送窗口位置不變?cè)试S發(fā)送但尚未發(fā)送允許發(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)已發(fā)送但未收到確認(rèn)56P1P2P3不允許接收不允許接收已發(fā)送確認(rèn)已發(fā)送確認(rèn)并交付主機(jī)并交付主機(jī)B 的接收窗口的接收窗口允許接收允許接收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

38、54 55 56未按序收到未按序收到可用窗口可用窗口5.6.15.6.1以字節(jié)為單位的滑動(dòng)窗口以字節(jié)為單位的滑動(dòng)窗口5.6.1 5.6.1 以字節(jié)為單位的滑動(dòng)窗口以字節(jié)為單位的滑動(dòng)窗口 A A收到新的確認(rèn)號(hào),發(fā)送窗口向前滑動(dòng)收到新的確認(rèn)號(hào),發(fā)送窗口向前滑動(dòng) 允許發(fā)送但尚未發(fā)送A 的發(fā)送窗口向前滑動(dòng)262728293031323334353637383940414243444546474849505152535455已發(fā)送并收到確認(rèn)不允許發(fā)送已發(fā)送但未收到確認(rèn)56P1P2P3允許接收B 的接收窗口向前滑動(dòng)2627282930313233343536373839404142434445464748

39、49505152535455已發(fā)送確認(rèn)并交付主機(jī)不允許接收56未按序收到先存下,等待缺少的數(shù)據(jù)的到達(dá)5.6.1 5.6.1 以字節(jié)為單位的滑動(dòng)窗口以字節(jié)為單位的滑動(dòng)窗口 A A的發(fā)送窗口內(nèi)的序號(hào)都已用完,但還沒(méi)有再的發(fā)送窗口內(nèi)的序號(hào)都已用完,但還沒(méi)有再收到確認(rèn),必須停止發(fā)送。收到確認(rèn),必須停止發(fā)送。不允許不允許發(fā)送發(fā)送已發(fā)送并收到確認(rèn)已發(fā)送并收到確認(rèn)A 的發(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ā)送但未

40、收到確認(rèn)已發(fā)送但未收到確認(rèn)56P1P2P3發(fā)送緩存發(fā)送緩存最后被確認(rèn)的字節(jié)發(fā)送應(yīng)用程序?qū)懢彺姘l(fā)送緩存最后發(fā)送的字節(jié)發(fā)送窗口TCP序號(hào)增大5.6.1 5.6.1 以字節(jié)為單位的滑動(dòng)窗口以字節(jié)為單位的滑動(dòng)窗口發(fā)送緩存:發(fā)送緩存:用來(lái)暫時(shí)存放發(fā)送應(yīng)用程序傳送給發(fā)送方用來(lái)暫時(shí)存放發(fā)送應(yīng)用程序傳送給發(fā)送方TCPTCP準(zhǔn)備發(fā)送的數(shù)據(jù);準(zhǔn)備發(fā)送的數(shù)據(jù);TCPTCP已發(fā)送出但尚未收到確認(rèn)的數(shù)據(jù)已發(fā)送出但尚未收到確認(rèn)的數(shù)據(jù)5.6.1 5.6.1 以字節(jié)為單位的滑動(dòng)窗口以字節(jié)為單位的滑動(dòng)窗口接收緩存接收緩存接收應(yīng)用程序讀緩存已收到接收窗口TCP接收緩存下一個(gè)讀取的字節(jié)序號(hào)增大下一個(gè)期望收到的字節(jié)(確認(rèn)號(hào))接收緩存

41、:接收緩存:用來(lái)暫時(shí)存放按序到達(dá)的、但尚未被接收用來(lái)暫時(shí)存放按序到達(dá)的、但尚未被接收應(yīng)用程序讀取的數(shù)據(jù);或不按序到達(dá)的數(shù)據(jù)。應(yīng)用程序讀取的數(shù)據(jù);或不按序到達(dá)的數(shù)據(jù)。5.6.2 5.6.2 超時(shí)重傳時(shí)間(定時(shí)器之一)的選擇超時(shí)重傳時(shí)間(定時(shí)器之一)的選擇TCPTCP最關(guān)鍵和最復(fù)雜的問(wèn)題之一最關(guān)鍵和最復(fù)雜的問(wèn)題之一, ,分析:分析:時(shí)間運(yùn)輸層:延遲具有較高的隨機(jī)性運(yùn)輸層:延遲具有較高的隨機(jī)性(動(dòng)態(tài)性動(dòng)態(tài)性)T1TT3往返時(shí)間的概率分布子網(wǎng)子網(wǎng)鏈路鏈路傳輸層環(huán)境傳輸層環(huán)境:多路徑,多路徑,TCPTCP連接連接的往返時(shí)間(的往返時(shí)間(RTTRTT)不穩(wěn)定。)不穩(wěn)定。鏈路層環(huán)境鏈路層環(huán)境:點(diǎn)到點(diǎn)鏈接:點(diǎn)

42、到點(diǎn)鏈接, ,鏈路連鏈路連接的往返時(shí)間接的往返時(shí)間(RTT)(RTT)相對(duì)穩(wěn)定。相對(duì)穩(wěn)定。鏈路層:延遲具有較高的預(yù)測(cè)性超時(shí)間隔大,吞吐量下降超時(shí)間隔大,吞吐量下降超時(shí)間隔小,產(chǎn)生過(guò)多的不必重發(fā)超時(shí)間隔小,產(chǎn)生過(guò)多的不必重發(fā)5.6.2 5.6.2 超時(shí)重傳時(shí)間的選擇超時(shí)重傳時(shí)間的選擇 解決方案:采用高度解決方案:采用高度動(dòng)態(tài)動(dòng)態(tài)的的自適應(yīng)自適應(yīng)算法,即根據(jù)對(duì)網(wǎng)算法,即根據(jù)對(duì)網(wǎng)絡(luò)性能的連續(xù)測(cè)量,不斷地調(diào)整超時(shí)重傳時(shí)間間隔。絡(luò)性能的連續(xù)測(cè)量,不斷地調(diào)整超時(shí)重傳時(shí)間間隔。1.1.計(jì)算:計(jì)算:RTTRTT 方法:方法:加權(quán)平均往返時(shí)間加權(quán)平均往返時(shí)間RTTSRTTS。首次測(cè)量到首次測(cè)量到RTTRTT的樣

43、的樣 本就為本就為RTTSRTTS值。每測(cè)量到一新的值。每測(cè)量到一新的 RTT RTT 樣本,樣本, 按下式重新計(jì)算按下式重新計(jì)算RTTSRTTS的平滑值的平滑值 : RTTSRTTS (1(1 ) ) 舊舊RTTSRTTS新新RTTRTT樣本樣本 = =舊舊RTTSRTTS( (新新RTTRTT樣本樣本- -舊舊RTTS)RTTS) 或或 = 1= 1 ,有:,有: RTTSRTTS 舊舊RTTSRTTS (1-1- ) 新新RTTRTT樣本樣本 其中其中 為平滑因子為平滑因子 0 01 1??梢姡?。可見: 若若 很接近于零,很接近于零, 則則RTTSRTTS調(diào)節(jié)幅度小。調(diào)節(jié)幅度小。 若選擇

44、若選擇 接近于接近于1 1,則,則RTTSRTTS調(diào)節(jié)幅度大。調(diào)節(jié)幅度大。 參數(shù):參數(shù):推薦的推薦的 值為值為1/8(1/8(即即0.125)0.125)。保持一定的平滑。保持一定的平滑。 2. 2.計(jì)算:計(jì)算:超時(shí)重傳時(shí)間超時(shí)重傳時(shí)間(RetransmissionTime-Out,(RetransmissionTime-Out,RTORTO) ) 方法:方法:RTO RTO 應(yīng)略大于加權(quán)平均往返時(shí)間應(yīng)略大于加權(quán)平均往返時(shí)間 RTTSRTTS。 (1)(1)計(jì)算計(jì)算RTTRTT期望值與觀察值之期望值與觀察值之偏差偏差: RTTSRTTS 新新RTT RTT 樣本樣本 (2)(2)隨后隨后, ,

45、使用下式計(jì)算使用下式計(jì)算偏差偏差值的平滑值值的平滑值RTTDRTTD: 新新RTTD =(1RTTD =(1) ) ( (舊舊RTTD) RTTD) + +RTTSRTTS 新新RTT RTT 樣本樣本 RTTDRTTD 是是 RTTRTT偏差偏差的加權(quán)平均值的加權(quán)平均值。 首次測(cè)量時(shí),首次測(cè)量時(shí),RTTD RTTD 值取值取RTT/2RTT/2 (3)(3)最后計(jì)算最后計(jì)算RTORTO RTO RTO RTTS + RTTS + 4 4 RTTD RTTD 可見:可見: 若若 很接近于零,很接近于零, 則新偏差值調(diào)節(jié)作用小。則新偏差值調(diào)節(jié)作用小。 若選擇若選擇 接近于接近于1 1,則新偏差值

46、調(diào)節(jié)作用大。,則新偏差值調(diào)節(jié)作用大。 參數(shù)參數(shù): 可用資源可用資源網(wǎng)絡(luò)產(chǎn)生擁塞網(wǎng)絡(luò)產(chǎn)生擁塞, ,網(wǎng)絡(luò)網(wǎng)絡(luò)吞吐量吞吐量將隨輸入負(fù)荷的增大而下降。將隨輸入負(fù)荷的增大而下降。n擁塞擁塞因過(guò)載而發(fā)生,又因網(wǎng)絡(luò)異構(gòu)性而加重。因過(guò)載而發(fā)生,又因網(wǎng)絡(luò)異構(gòu)性而加重。 擁塞控制與流量控制的關(guān)系擁塞控制與流量控制的關(guān)系: :n流量控制僅流量控制僅是發(fā)送端和接收端之間的點(diǎn)對(duì)點(diǎn)通信量的控制是發(fā)送端和接收端之間的點(diǎn)對(duì)點(diǎn)通信量的控制問(wèn)題,是一種避免接收方資源過(guò)載的問(wèn)題,是一種避免接收方資源過(guò)載的端到端端到端的控制機(jī)制。的控制機(jī)制。n 擁塞控制擁塞控制是一個(gè)全局性(無(wú)論是發(fā)送方還是接收方都沒(méi)是一個(gè)全局性(無(wú)論是發(fā)送方還是接

47、收方都沒(méi)有有“瓶頸瓶頸”在何處以及瓶頸帶寬是多少的準(zhǔn)確信息)的問(wèn)在何處以及瓶頸帶寬是多少的準(zhǔn)確信息)的問(wèn)題,是一種避免網(wǎng)絡(luò)資源過(guò)載的題,是一種避免網(wǎng)絡(luò)資源過(guò)載的端到端端到端的控制機(jī)制。的控制機(jī)制。 端到端的擁塞控制致力于解決的問(wèn)題端到端的擁塞控制致力于解決的問(wèn)題n當(dāng)丟包表明擁塞發(fā)生時(shí),發(fā)送方該如何回應(yīng)?當(dāng)丟包表明擁塞發(fā)生時(shí),發(fā)送方該如何回應(yīng)? n在任一時(shí)刻,發(fā)送方如何確定一個(gè)數(shù)據(jù)流的可能容量在任一時(shí)刻,發(fā)送方如何確定一個(gè)數(shù)據(jù)流的可能容量5.8.1 5.8.1 擁塞控制的一般原理?yè)砣刂频囊话阍頁(yè)砣刂扑鸬淖饔脫砣刂扑鸬淖饔锰峁┑呢?fù)載提供的負(fù)載吞吐量吞吐量理想的擁塞控制理想的擁塞控制實(shí)際

48、的擁塞控制實(shí)際的擁塞控制0死鎖(吞吐量死鎖(吞吐量 = 0)無(wú)擁塞控制無(wú)擁塞控制嚴(yán)重?fù)砣麌?yán)重?fù)砣p度擁塞輕度擁塞網(wǎng)絡(luò)的最大吞吐量網(wǎng)絡(luò)的最大吞吐量擁塞開始擁塞開始5.8.1 5.8.1 擁塞控制的一般原理?yè)砣刂频囊话阍?控制方案控制方案 開環(huán)控制開環(huán)控制: :就是在設(shè)計(jì)網(wǎng)絡(luò)時(shí)就是在設(shè)計(jì)網(wǎng)絡(luò)時(shí)事先事先將發(fā)生擁塞的因?qū)l(fā)生擁塞的因素考慮周到素考慮周到, ,力求網(wǎng)絡(luò)在工作時(shí)不產(chǎn)生力求網(wǎng)絡(luò)在工作時(shí)不產(chǎn)生( (避免避免) )擁塞。擁塞。 閉環(huán)控制閉環(huán)控制: :基于反饋信息的控制基于反饋信息的控制, ,需要:需要: 監(jiān)測(cè)網(wǎng)絡(luò)系統(tǒng)以便檢測(cè)到擁塞在何時(shí)、何處發(fā)生。監(jiān)測(cè)網(wǎng)絡(luò)系統(tǒng)以便檢測(cè)到擁塞在何時(shí)、何處發(fā)生。

49、將擁塞發(fā)生的信息傳送到可采取行動(dòng)的地方。將擁塞發(fā)生的信息傳送到可采取行動(dòng)的地方。調(diào)整網(wǎng)絡(luò)系統(tǒng)的運(yùn)行以解決出現(xiàn)的問(wèn)題。調(diào)整網(wǎng)絡(luò)系統(tǒng)的運(yùn)行以解決出現(xiàn)的問(wèn)題。5.8.2 5.8.2 幾種擁塞控制方法幾種擁塞控制方法 擁塞控制結(jié)合了幾種技術(shù)來(lái)避免網(wǎng)絡(luò)中鏈路和路擁塞控制結(jié)合了幾種技術(shù)來(lái)避免網(wǎng)絡(luò)中鏈路和路由器的過(guò)載由器的過(guò)載 (1) (1) 擁塞窗口和慢開始算法擁塞窗口和慢開始算法 擁塞窗口擁塞窗口(cwnd)(cwnd):發(fā)送方維持的一個(gè)狀態(tài)變量。發(fā)送方用發(fā)送方維持的一個(gè)狀態(tài)變量。發(fā)送方用此窗口來(lái)確定任意時(shí)刻它可以在網(wǎng)絡(luò)中有多少個(gè)未應(yīng)答的數(shù)此窗口來(lái)確定任意時(shí)刻它可以在網(wǎng)絡(luò)中有多少個(gè)未應(yīng)答的數(shù)據(jù)包,據(jù)包,

50、 cwndcwnd由發(fā)送方跟蹤網(wǎng)絡(luò)擁塞程度動(dòng)態(tài)自動(dòng)調(diào)節(jié)大小。由發(fā)送方跟蹤網(wǎng)絡(luò)擁塞程度動(dòng)態(tài)自動(dòng)調(diào)節(jié)大小。 慢開始算法:慢開始算法: 開始發(fā)送報(bào)文段時(shí)可設(shè)置擁塞窗口開始發(fā)送報(bào)文段時(shí)可設(shè)置擁塞窗口 cwnd = 1cwnd = 1(MSSMSS) 每收到一新的報(bào)文段的確認(rèn)后每收到一新的報(bào)文段的確認(rèn)后, ,將擁塞窗口加將擁塞窗口加1 1(MSSMSS) 。 5.8.2 5.8.2 幾種擁塞控制方法幾種擁塞控制方法 慢開始算法舉例慢開始算法舉例發(fā)送方發(fā)送方接收方接收方發(fā)送發(fā)送M M1 1 確認(rèn)確認(rèn)M M1 1發(fā)送發(fā)送M M2 2- M- M3 3確認(rèn)確認(rèn)M M2 2 - - M M3 3 發(fā)送發(fā)送M M

51、4 4 - - M M7 7 確認(rèn)確認(rèn)M M4 4 - - M M7 7 cwnd= 1 cwnd= 1 cwnd= 2 cwnd= 2 cwnd=4 cwnd=4 發(fā)送發(fā)送M M8 8 - - M M1515cwnd= 8 cwnd= 8 t tt t輪次輪次1 1輪次輪次2 2輪次輪次3 35.8.2 5.8.2 幾種擁塞控制方法幾種擁塞控制方法 慢開始門限狀態(tài)變量慢開始門限狀態(tài)變量ssthreshssthresh 慢開始門限的用法如下:慢開始門限的用法如下: 當(dāng)當(dāng) cwnd ssthresh cwnd ssthresh cwnd ssthresh 時(shí),停止使用慢開始算法時(shí),停止使用慢開始

52、算法而改用擁塞避免算法。而改用擁塞避免算法。 當(dāng)當(dāng) cwnd = ssthresh cwnd = ssthresh 時(shí),既可使用慢開始算法,時(shí),既可使用慢開始算法,也可使用擁塞避免算法。也可使用擁塞避免算法。 22221616“乘法減乘法減小小”2 24 46 68 81010121214141616181820200 00 04 48 8121220202424擁塞窗口擁塞窗口 cwndcwnd新的新的ssthreshssthresh值值網(wǎng)絡(luò)擁塞網(wǎng)絡(luò)擁塞指數(shù)規(guī)律增長(zhǎng)指數(shù)規(guī)律增長(zhǎng)ssthreshssthresh的初始值的初始值慢開始慢開始慢開始慢開始慢開始慢開始擁塞避免擁塞避免“加法增大加法增

53、大”擁塞避免擁塞避免“加法增大加法增大”傳輸輪次傳輸輪次 慢開始門限狀態(tài)變量的設(shè)置方法慢開始門限狀態(tài)變量的設(shè)置方法: : 當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞時(shí)(根據(jù)是沒(méi)有按時(shí)收到確認(rèn)),就當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞時(shí)(根據(jù)是沒(méi)有按時(shí)收到確認(rèn)),就要把慢開始門限要把慢開始門限 ssthresh ssthresh 設(shè)置為出現(xiàn)擁塞時(shí)的發(fā)送方設(shè)置為出現(xiàn)擁塞時(shí)的發(fā)送方窗口值的一半(但不能小于窗口值的一半(但不能小于2 2)。)。 把擁塞窗口把擁塞窗口cwndcwnd重新設(shè)置為重新設(shè)置為1,1,執(zhí)行慢開始算法。執(zhí)行慢開始算法。5.8.2 5.8.2 幾種擁塞控制方法幾種擁塞控制方法22221616“乘法減乘法減小小”2 24 46 68

54、 81010121214141616181820200 00 04 48 8121220202424擁塞窗口擁塞窗口 cwndcwnd新的新的ssthreshssthresh值值網(wǎng)絡(luò)擁塞網(wǎng)絡(luò)擁塞指數(shù)規(guī)律增長(zhǎng)指數(shù)規(guī)律增長(zhǎng)ssthreshssthresh的初始值的初始值慢開始慢開始慢開始慢開始慢開始慢開始擁塞避免擁塞避免“加法增大加法增大”擁塞避免擁塞避免“加法增大加法增大”傳輸輪次傳輸輪次 (2 2)快恢復(fù)算法)快恢復(fù)算法 當(dāng)發(fā)送端收到連續(xù)三個(gè)重復(fù)的確認(rèn)時(shí),就執(zhí)行當(dāng)發(fā)送端收到連續(xù)三個(gè)重復(fù)的確認(rèn)時(shí),就執(zhí)行“乘乘法減小法減小”算法,把慢開始門限算法,把慢開始門限 ssthresh ssthresh

55、減半。但接下減半。但接下去去不執(zhí)行慢開始算法。不執(zhí)行慢開始算法。 由于發(fā)送方現(xiàn)在認(rèn)為網(wǎng)絡(luò)很可能由于發(fā)送方現(xiàn)在認(rèn)為網(wǎng)絡(luò)很可能沒(méi)有發(fā)生擁塞沒(méi)有發(fā)生擁塞,因,因此現(xiàn)在不執(zhí)行慢開始算法,即擁塞窗口此現(xiàn)在不執(zhí)行慢開始算法,即擁塞窗口 cwnd cwnd 現(xiàn)在不設(shè)現(xiàn)在不設(shè)置為置為 1 1,而是設(shè)置為慢開始門限,而是設(shè)置為慢開始門限 ssthresh ssthresh 減半后的數(shù)減半后的數(shù)值,然后開始執(zhí)行擁塞避免算法(值,然后開始執(zhí)行擁塞避免算法(“加法增大加法增大”),使),使擁塞窗口緩慢地線性增大。擁塞窗口緩慢地線性增大。 5.8.2 5.8.2 幾種擁塞控制方法幾種擁塞控制方法 一種基于路由器的擁塞避

56、免機(jī)制,一種隊(duì)列管理算法一種基于路由器的擁塞避免機(jī)制,一種隊(duì)列管理算法 TCPTCP報(bào)文段的傳輸超時(shí),大都是由于路由器轉(zhuǎn)發(fā)慢或緩沖區(qū)爆報(bào)文段的傳輸超時(shí),大都是由于路由器轉(zhuǎn)發(fā)慢或緩沖區(qū)爆滿時(shí)造成的。當(dāng)發(fā)送方出現(xiàn)超時(shí)后,就進(jìn)入慢開始狀態(tài)。當(dāng)網(wǎng)滿時(shí)造成的。當(dāng)發(fā)送方出現(xiàn)超時(shí)后,就進(jìn)入慢開始狀態(tài)。當(dāng)網(wǎng)絡(luò)中有多個(gè)絡(luò)中有多個(gè)TCPTCP連接進(jìn)入慢開始狀態(tài)時(shí),網(wǎng)絡(luò)的通信量將會(huì)突連接進(jìn)入慢開始狀態(tài)時(shí),網(wǎng)絡(luò)的通信量將會(huì)突然下降很多,這些現(xiàn)象稱為全局同步問(wèn)題。可以采用隨機(jī)早檢然下降很多,這些現(xiàn)象稱為全局同步問(wèn)題??梢圆捎秒S機(jī)早檢測(cè)測(cè)(RED)(RED)方法避免全局同步的出現(xiàn)。方法避免全局同步的出現(xiàn)。 RED RED

57、 將路由器的到達(dá)隊(duì)列劃分成為三個(gè)區(qū)域?qū)⒙酚善鞯牡竭_(dá)隊(duì)列劃分成為三個(gè)區(qū)域從隊(duì)首發(fā)送最小門限 THmin最大門限 THmin分組到達(dá)平均隊(duì)列長(zhǎng)度 Lav排隊(duì)丟棄以概率 p 丟棄5.8.3 5.8.3 隨機(jī)早檢測(cè)隨機(jī)早檢測(cè)(RED)(RED) 丟棄概率丟棄概率 p p 與與 THmin THmin 和和 Thmax Thmax 的關(guān)系的關(guān)系 當(dāng)當(dāng) L LAV AV Thmin Thmin 時(shí),丟棄概率時(shí),丟棄概率 p p = 0 = 0。 當(dāng)當(dāng) L LAV AV Thmax Thmax 時(shí),丟棄概率時(shí),丟棄概率 p p = 1 = 1。 當(dāng)當(dāng) THmin THmin L LAV AV THmax T

58、Hmax時(shí),時(shí), 0 0 p p 1 1。 例如,按線性規(guī)律變化,從例如,按線性規(guī)律變化,從 0 0 變到變到 p p maxmax最小門限最小門限THTHminmin最大門限最大門限THTHmaxmax平均隊(duì)列長(zhǎng)度平均隊(duì)列長(zhǎng)度L Lavav分組丟棄概率分組丟棄概率p p1.01.00 0p pmaxmax。5.8.3 5.8.3 隨機(jī)早檢測(cè)隨機(jī)早檢測(cè)(RED)(RED) 瞬時(shí)隊(duì)列長(zhǎng)度和平均隊(duì)列長(zhǎng)度的區(qū)別瞬時(shí)隊(duì)列長(zhǎng)度和平均隊(duì)列長(zhǎng)度的區(qū)別 路由器中的隊(duì)列長(zhǎng)度經(jīng)常會(huì)很快出現(xiàn)變化,如果丟棄概路由器中的隊(duì)列長(zhǎng)度經(jīng)常會(huì)很快出現(xiàn)變化,如果丟棄概率按瞬時(shí)隊(duì)列長(zhǎng)度來(lái)計(jì)算,就可能出現(xiàn)一些不合理的現(xiàn)象。率按瞬時(shí)隊(duì)

59、列長(zhǎng)度來(lái)計(jì)算,就可能出現(xiàn)一些不合理的現(xiàn)象。為此,為此,REDRED采用了加權(quán)平均原理計(jì)算平均隊(duì)列的長(zhǎng)度。具體采用了加權(quán)平均原理計(jì)算平均隊(duì)列的長(zhǎng)度。具體計(jì)算方法見書計(jì)算方法見書P214.P214.隊(duì)列長(zhǎng)度隊(duì)列長(zhǎng)度時(shí)間時(shí)間瞬時(shí)隊(duì)列長(zhǎng)度瞬時(shí)隊(duì)列長(zhǎng)度平均隊(duì)列長(zhǎng)度平均隊(duì)列長(zhǎng)度5.8.3 5.8.3 隨機(jī)早檢測(cè)隨機(jī)早檢測(cè)(RED)(RED)5-9 TCP5-9 TCP的運(yùn)輸連接管理的運(yùn)輸連接管理 客戶服務(wù)器方式客戶服務(wù)器方式TCP TCP 連接的建立都是采用客戶服務(wù)器方連接的建立都是采用客戶服務(wù)器方式。主動(dòng)發(fā)起連接建立的應(yīng)用進(jìn)程叫做客戶式。主動(dòng)發(fā)起連接建立的應(yīng)用進(jìn)程叫做客戶(client)(client)

60、。被動(dòng)等待連接建立的應(yīng)用進(jìn)程叫做服務(wù)器被動(dòng)等待連接建立的應(yīng)用進(jìn)程叫做服務(wù)器(server)(server)。 (1) (1) 運(yùn)輸連接的三個(gè)階段運(yùn)輸連接的三個(gè)階段 運(yùn)輸連接需要連接建立、數(shù)據(jù)傳送和連接釋放三個(gè)階段。運(yùn)輸連接需要連接建立、數(shù)據(jù)傳送和連接釋放三個(gè)階段。運(yùn)輸連接的管理就是使連接的建立和釋放都能正常地進(jìn)行。運(yùn)輸連接的管理就是使連接的建立和釋放都能正常地進(jìn)行。 連接建立過(guò)程中要解決以下三個(gè)問(wèn)題:連接建立過(guò)程中要解決以下三個(gè)問(wèn)題: 要使每一方能夠確知對(duì)方的存在。要使每一方能夠確知對(duì)方的存在。 要允許雙方協(xié)商一些參數(shù)(如最大報(bào)文段長(zhǎng)度,最要允許雙方協(xié)商一些參數(shù)(如最大報(bào)文段長(zhǎng)度,最大窗口大小,服務(wù)質(zhì)量等)。

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論