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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

21、QARQ協(xié)議協(xié)議1 12 23 34 45 56 67 78 89 9101011111212(a)(a)發(fā)送方維持發(fā)送窗口發(fā)送方維持發(fā)送窗口( (允許發(fā)送的或發(fā)送了還未被確認的分組序號)允許發(fā)送的或發(fā)送了還未被確認的分組序號)( (c c) ) 收到一個確認后發(fā)送窗口向前滑動收到一個確認后發(fā)送窗口向前滑動向前向前1 12 23 34 45 56 67 78 89 9101011111212發(fā)送窗口發(fā)送窗口 尺度尺度=5=5發(fā)送窗口發(fā)送窗口 尺度尺度=5=5( (b b) ) 收到一個分組后,發(fā)確認分組,窗口向前滑動收到一個分組后,發(fā)確認分組,窗口向前滑動向前向前1 12 23 34 45 5

22、6 67 78 89 9101011111212接收窗口接收窗口 尺度尺度=5=5例:例:停止等待停止等待ARQARQ,窗口尺度,窗口尺度=1=10 01 12 23 34 45 56 67 7初始狀態(tài)初始狀態(tài)無無待待發(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第一分組接收后等第一分組接收后等待第二序號分組待第二序號分組1 12 23 34 45 56 67 7

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

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

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

26、送在前發(fā)送在前位位 0 8 16 24 31 0 8 16 24 31 TCPTCP首部首部2020字節(jié)的字節(jié)的固定首部固定首部目的端口目的端口數(shù)據(jù)數(shù)據(jù)偏移偏移檢檢 驗驗 和和選選 項項 (長(長 度可變)度可變)源源 端端 口口序序 號號緊緊 急急 指指 針針窗窗 口口確確 認認 號號保保 留留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運輸層地址運輸層地址( (運輸層服務(wù)接口運輸層服

27、務(wù)接口TSAP)TSAP),標識進程。,標識進程。n支持運輸層的復(fù)用和分用功能。支持運輸層的復(fù)用和分用功能。TCPTCP首部首部2020字節(jié)的字節(jié)的固定首部固定首部目的端口目的端口數(shù)據(jù)數(shù)據(jù)偏移偏移檢檢 驗驗 和和選選 項項 (長(長 度可變)度可變)源源 端端 口口序號序號 (120120)緊緊 急急 指指 針針窗窗 口口確認號確認號 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 序號字段:序號字段:4 4字節(jié)。字節(jié)。TCPTCP為數(shù)據(jù)流中的每

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

29、首部起點的偏移?;蚴撞块L度首部起點的偏移?;蚴撞块L度(4(4字節(jié)為計算單位字節(jié)為計算單位) )數(shù)據(jù)偏移(即首部長度)數(shù)據(jù)偏移(即首部長度)TCPTCP首部首部2020字節(jié)的字節(jié)的固定首部固定首部目的端口目的端口5 5檢檢 驗驗 和和源源 端端 口口序號序號 (120120)緊緊 急急 指指 針針窗窗 口口確認號確認號 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ù)部分數(shù)據(jù)部分TCPTCP首部首部1201201211215005005 5

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

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

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

33、驗和字段檢驗的范圍包括首部和數(shù)據(jù)這兩部分。在計算檢驗和時,要在這兩部分。在計算檢驗和時,要在TCPTCP報文段的前面加上報文段的前面加上1212字節(jié)的偽首部字節(jié)的偽首部. .5.5 TCP5.5 TCP報文段的首部格式報文段的首部格式TCPTCP首部首部目的端口目的端口檢檢 驗驗 和和源源 端端 口口序號序號 (120120)緊緊 急急 指指 針針窗窗 口口確認號確認號 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位,指出在本報文段中緊急數(shù)據(jù)共位,指

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

35、CP首部首部2020字節(jié)的字節(jié)的固定首部固定首部目的端口目的端口數(shù)據(jù)數(shù)據(jù)偏移偏移檢檢 驗驗 和和選選 項項 (長(長 度可變)度可變)源源 端端 口口序序 號號緊緊 急急 指指 針針窗窗 口口確確 認認 號號保保 留留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é)為單位的滑動窗口以字節(jié)為單位的滑動窗口-窗口機制窗口機制5.6 TCP5.6 TCP可靠傳輸?shù)膶崿F(xiàn)可靠傳輸?shù)膶崿F(xiàn)圖示圖示: :根據(jù)根據(jù)B B給出的給出的( (接

36、收接收) )窗口值窗口值,A,A設(shè)置自己的發(fā)送窗口。設(shè)置自己的發(fā)送窗口。 前移前移不允許發(fā)送不允許發(fā)送已發(fā)送并已發(fā)送并收到確認收到確認A 的發(fā)送窗口的發(fā)送窗口 = 20允許發(fā)送的序號允許發(fā)送的序號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期望期望收到的序號收到的序號前沿前沿后沿后沿前移前移不允許發(fā)送不允許發(fā)送已發(fā)送并已發(fā)送并收到確

37、認收到確認A 的發(fā)送窗口位置不變的發(fā)送窗口位置不變允許發(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ā)送但未收到確認已發(fā)送但未收到確認56P1P2P3不允許接收不允許接收已發(fā)送確認已發(fā)送確認并交付主機并交付主機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 54 55 56

38、未按序收到未按序收到可用窗口可用窗口5.6.15.6.1以字節(jié)為單位的滑動窗口以字節(jié)為單位的滑動窗口5.6.1 5.6.1 以字節(jié)為單位的滑動窗口以字節(jié)為單位的滑動窗口 A A收到新的確認號,發(fā)送窗口向前滑動收到新的確認號,發(fā)送窗口向前滑動 允許發(fā)送但尚未發(fā)送A 的發(fā)送窗口向前滑動262728293031323334353637383940414243444546474849505152535455已發(fā)送并收到確認不允許發(fā)送已發(fā)送但未收到確認56P1P2P3允許接收B 的接收窗口向前滑動262728293031323334353637383940414243444546474849505152

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

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

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

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

43、為RTTSRTTS值。每測量到一新的值。每測量到一新的 RTT RTT 樣本,樣本, 按下式重新計算按下式重新計算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.計算:計算:超時重傳時間超時重傳時間(RetransmissionTime-Out,(RetransmissionTime-Out,RTORTO) ) 方法:方法:RTO RTO 應(yīng)略大于加權(quán)平均往返時間應(yīng)略大于加權(quán)平均往返時間 RTTSRTTS。 (1)(1)計算計算RTTRTT期望值與觀察值之期望值與觀察值之偏差偏差: RTTSRTTS 新新RTT RTT 樣本樣本 (2)(2)隨后隨后, ,使用下式計算使用

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

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

47、頸瓶頸”在何處以及瓶頸帶寬是多少的準確信息)的問在何處以及瓶頸帶寬是多少的準確信息)的問題,是一種避免網(wǎng)絡(luò)資源過載的題,是一種避免網(wǎng)絡(luò)資源過載的端到端端到端的控制機制。的控制機制。 端到端的擁塞控制致力于解決的問題端到端的擁塞控制致力于解決的問題n當丟包表明擁塞發(fā)生時,發(fā)送方該如何回應(yīng)?當丟包表明擁塞發(fā)生時,發(fā)送方該如何回應(yīng)? n在任一時刻,發(fā)送方如何確定一個數(shù)據(jù)流的可能容量在任一時刻,發(fā)送方如何確定一個數(shù)據(jù)流的可能容量5.8.1 5.8.1 擁塞控制的一般原理擁塞控制的一般原理擁塞控制所起的作用擁塞控制所起的作用提供的負載提供的負載吞吐量吞吐量理想的擁塞控制理想的擁塞控制實際的擁塞控制實際的

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

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

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

51、M M7 7 確認確認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 慢開始門限的用法如下:慢開始門限的用法如下: 當當 cwnd ssthresh cwnd ssthresh cwnd ssthresh 時,停止使用慢開始算法時,停止使用慢開始算法而改用擁塞避

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

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

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

55、。但接下去去不執(zhí)行慢開始算法。不執(zhí)行慢開始算法。 由于發(fā)送方現(xiàn)在認為網(wǎng)絡(luò)很可能由于發(fā)送方現(xiàn)在認為網(wǎng)絡(luò)很可能沒有發(fā)生擁塞沒有發(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、管理算法一種基于路由器的擁塞避免機制,一種隊列管理算法 TCPTCP報文段的傳輸超時,大都是由于路由器轉(zhuǎn)發(fā)慢或緩沖區(qū)爆報文段的傳輸超時,大都是由于路由器轉(zhuǎn)發(fā)慢或緩沖區(qū)爆滿時造成的。當發(fā)送方出現(xiàn)超時后,就進入慢開始狀態(tài)。當網(wǎng)滿時造成的。當發(fā)送方出現(xiàn)超時后,就進入慢開始狀態(tài)。當網(wǎng)絡(luò)中有多個絡(luò)中有多個TCPTCP連接進入慢開始狀態(tài)時,網(wǎng)絡(luò)的通信量將會突連接進入慢開始狀態(tài)時,網(wǎng)絡(luò)的通信量將會突然下降很多,這些現(xiàn)象稱為全局同步問題??梢圆捎秒S機早檢然下降很多,這些現(xiàn)象稱為全局同步問題??梢圆捎秒S機早檢測測(RED)(RED)方法避免全局同步的出現(xiàn)。方法避免全局同步的出現(xiàn)。 RED RED 將路由器的到達

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

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

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

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

溫馨提示

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

評論

0/150

提交評論