![CH7 運輸層.ppt_第1頁](http://file1.renrendoc.com/fileroot2/2020-1/6/eb479964-1634-454b-933a-7ec8b3fde948/eb479964-1634-454b-933a-7ec8b3fde9481.gif)
![CH7 運輸層.ppt_第2頁](http://file1.renrendoc.com/fileroot2/2020-1/6/eb479964-1634-454b-933a-7ec8b3fde948/eb479964-1634-454b-933a-7ec8b3fde9482.gif)
![CH7 運輸層.ppt_第3頁](http://file1.renrendoc.com/fileroot2/2020-1/6/eb479964-1634-454b-933a-7ec8b3fde948/eb479964-1634-454b-933a-7ec8b3fde9483.gif)
![CH7 運輸層.ppt_第4頁](http://file1.renrendoc.com/fileroot2/2020-1/6/eb479964-1634-454b-933a-7ec8b3fde948/eb479964-1634-454b-933a-7ec8b3fde9484.gif)
![CH7 運輸層.ppt_第5頁](http://file1.renrendoc.com/fileroot2/2020-1/6/eb479964-1634-454b-933a-7ec8b3fde948/eb479964-1634-454b-933a-7ec8b3fde9485.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、計算機網(wǎng)絡(luò),第 7 章 運輸層,第 7 章 運輸層,*7.1 運輸層協(xié)議概述 *7.2 TCP/IP 體系中的運輸層 7.2.1 運輸層中的兩個協(xié)議 7.2.2 端口的概念 *7.3 用戶數(shù)據(jù)報協(xié)議 UDP 7.3.1 UDP 概述 7.3.2 UDP 用戶數(shù)據(jù)報的首部格式,第 7 章 運輸層(續(xù)),7.4 傳輸控制協(xié)議 TCP *7.4.1 TCP 概述 *7.4.2 TCP 報文段的首部 *7.4.3 TCP 的數(shù)據(jù)編號與確認 *7.4.4 TCP 的流量控制與擁塞控制 *7.4.5 TCP 的重傳機制 *7.4.7 TCP 的運輸連接管理,7.1 運輸層協(xié)議概述,從通信和信息處理的角度看
2、,運輸層向它上面的應(yīng)用層提供通信服務(wù),它屬于面向通信部分的最高層,同時也是用戶功能中的最低層。,物理層,網(wǎng)絡(luò)層,運輸層,應(yīng)用層,數(shù)據(jù)鏈路層,面向信息處理,面向通信,用戶功能,網(wǎng)絡(luò)功能,運輸層為相互通信的應(yīng)用進程提供了邏輯通信,5 4 3 2 1,運輸層提供應(yīng)用進程間的邏輯通信,主機 A,主機 B,應(yīng)用進程,應(yīng)用進程,路由器 1,路由器 2,AP1,LAN2,WAN,AP2,AP3,AP4,IP 層,LAN1,AP1,AP2,AP4,端口,端口,5 4 3 2 1,IP 協(xié)議的作用范圍,運輸層協(xié)議 TCP 和 UDP 的作用范圍,AP3,應(yīng)用進程之間的通信,兩個主機進行通信實際上就是兩個主機中的
3、應(yīng)用進程互相通信。 應(yīng)用進程之間的通信又稱為端到端的通信。 運輸層的一個很重要的功能就是復(fù)用和分用。應(yīng)用層不同進程的報文通過不同的端口向下交到運輸層,再往下就共用網(wǎng)絡(luò)層提供的服務(wù)。 “運輸層提供應(yīng)用進程間的邏輯通信”?!斑壿嬐ㄐ拧钡囊馑际牵哼\輸層之間的通信好像是沿水平方向傳送數(shù)據(jù)。但事實上這兩個運輸層之間并沒有一條水平方向的物理連接。,運輸層協(xié)議和網(wǎng)絡(luò)層協(xié)議的主要區(qū)別,應(yīng)用進程,應(yīng)用進程,IP 協(xié)議的作用范圍 (提供主機之間的邏輯通信),TCP 和 UDP 協(xié)議的作用范圍 (提供進程之間的邏輯通信),因 特 網(wǎng),運輸層的主要功能,運輸層為應(yīng)用進程之間提供端到端的邏輯通信(但網(wǎng)絡(luò)層是為主機之間提
4、供邏輯通信)。 運輸層還要對收到的報文進行差錯檢測。 運輸層需要有兩種不同的運輸協(xié)議,即面向連接的 TCP 和無連接的 UDP。,運輸層與其上下層之間的關(guān)系的 OSI 表示法,運輸實體,運輸實體,運輸協(xié)議,運輸層,層接口,運輸服務(wù)用戶 (應(yīng)用層實體),運輸服務(wù)用戶 (應(yīng)用層實體),層接口,網(wǎng)絡(luò)層 (或網(wǎng)際層),應(yīng)用層,主機 A,主機 B,運輸層服務(wù)訪問點 TSAP,網(wǎng)絡(luò)層服務(wù)訪問點 NSAP,運輸層向上提供可靠的和不可靠的邏輯通信信道,?,應(yīng) 用 層,運 輸 層,發(fā) 送 進 程,接 收 進 程,接 收 進 程,數(shù)據(jù),數(shù)據(jù),全雙工可靠信道,數(shù)據(jù),數(shù)據(jù),使用 TCP 協(xié)議,使用 UDP 協(xié)議,不可
5、靠信道,發(fā) 送 進 程,TCP/IP的運輸層有兩個不同的協(xié)議: (1) 用戶數(shù)據(jù)報協(xié)議 UDP (User Datagram Protocol) (2) 傳輸控制協(xié)議 TCP (Transmission Control Protocol),7.2 TCP/IP 體系中的運輸層7.2.1 運輸層中的兩個協(xié)議,兩個對等運輸實體在通信時傳送的數(shù)據(jù)單位叫作運輸協(xié)議數(shù)據(jù)單元 TPDU (Transport Protocol Data Unit)。 TCP 傳送的數(shù)據(jù)單位協(xié)議是 TCP 報文段(segment) UDP 傳送的數(shù)據(jù)單位協(xié)議是 UDP 報文或用戶數(shù)據(jù)報。,TCP 與 UDP,TCP/IP 體
6、系中的運輸層協(xié)議,TCP,UDP,IP,應(yīng)用層,與各種網(wǎng)絡(luò)接口,運輸層,TCP 與 UDP,UDP 在傳送數(shù)據(jù)之前不需要先建立連接。對方的運輸層在收到 UDP 報文后,不需要給出任何確認。雖然 UDP 不提供可靠交付,但在某些情況下 UDP 是一種最有效的工作方式。 TCP 則提供面向連接的服務(wù)。TCP 不提供廣播或多播服務(wù)。由于 TCP 要提供可靠的、面向連接的運輸服務(wù),因此不可避免地增加了許多的開銷。這不僅使協(xié)議數(shù)據(jù)單元的首部增大很多,還要占用許多的處理機資源。,還要強調(diào)兩點,運輸層的 UDP 用戶數(shù)據(jù)報與網(wǎng)際層的IP數(shù)據(jù)報有很大區(qū)別。IP 數(shù)據(jù)報要經(jīng)過互連網(wǎng)中許多路由器的存儲轉(zhuǎn)發(fā),但 U
7、DP 用戶數(shù)據(jù)報是在運輸層的端到端抽象的邏輯信道中傳送的。 TCP 報文段是在運輸層抽象的端到端邏輯信道中傳送,這種信道是可靠的全雙工信道。但這樣的信道卻不知道究竟經(jīng)過了哪些路由器,而這些路由器也根本不知道上面的運輸層是否建立了 TCP 連接。,7.2.2 端口的概念,端口就是運輸層服務(wù)訪問點 TSAP。 端口的作用就是讓應(yīng)用層的各種應(yīng)用進程都能將其數(shù)據(jù)通過端口向下交付給運輸層,以及讓運輸層知道應(yīng)當將其報文段中的數(shù)據(jù)向上通過端口交付給應(yīng)用層相應(yīng)的進程。 從這個意義上講,端口是用來標志應(yīng)用層的進程。,端口在進程之間的通信中所起的作用,應(yīng) 用 層,運 輸 層,網(wǎng) 絡(luò) 層,TCP 報文段,UDP 用
8、戶數(shù)據(jù)報,應(yīng)用進程,TCP 復(fù)用,IP 復(fù)用,UDP 復(fù)用,TCP 報文段,UDP 用戶數(shù)據(jù)報,應(yīng)用進程,端口,端口,TCP 分用,UDP 分用,IP 分用,發(fā)送方,接收方,端口,端口用一個 16 bit 端口號進行標志。 端口號只具有本地意義,即端口號只是為了標志本計算機應(yīng)用層中的各進程。在因特網(wǎng)中不同計算機的相同端口號是沒有聯(lián)系的。,兩類端口,一類是熟知端口,其數(shù)值一般為 01023。當一種新的應(yīng)用程序出現(xiàn)時,必須為它指派一個熟知端口。 另一類則是一般端口,用來隨時分配給請求通信的客戶進程。,插口(socket),TCP 使用“連接”(而不僅僅是“端口”)作為最基本的抽象,同時將 TCP
9、連接的端點稱為插口(socket),或套接字、套接口。 插口和端口、IP 地址的關(guān)系是:,7.3 用戶數(shù)據(jù)報協(xié)議 UDP 7.3.1 UDP 概述,UDP 只在 IP 的數(shù)據(jù)報服務(wù)之上增加了很少一點的功能,即端口的功能和差錯檢測的功能。 雖然 UDP 用戶數(shù)據(jù)報只能提供不可靠的交付,但 UDP 在某些方面有其特殊的優(yōu)點。 發(fā)送數(shù)據(jù)之前不需要建立連接 UDP 的主機不需要維持復(fù)雜的連接狀態(tài)表。 UDP 用戶數(shù)據(jù)報只有8個字節(jié)的首部開銷。 網(wǎng)絡(luò)出現(xiàn)的擁塞不會使源主機的發(fā)送速率降低。這對某些實時應(yīng)用是很重要的。,端口是用報文隊列來實現(xiàn),UDP 端口 51000,UDP 端口 69,出隊列,入隊列,出
10、隊列,入隊列,TFTP 服務(wù)器,TFTP 客戶,UDP 用戶數(shù)據(jù)報,應(yīng) 用 層,運 輸 層,7.3.2 UDP 用戶數(shù)據(jù)報的首部格式,偽首部,源端口,目的端口,長 度,檢驗和,數(shù) 據(jù),首 部,UDP長度,源 IP 地址,目的 IP 地址,0,17,IP 數(shù)據(jù)報,字節(jié),4,4,1,1,2,12,2,2,2,2,字節(jié),發(fā)送在前,數(shù) 據(jù),首 部,UDP 用戶數(shù)據(jù)報,偽首部,源端口,目的端口,長 度,檢驗和,數(shù) 據(jù),首 部,UDP長度,源 IP 地址,目的 IP 地址,0,17,IP 數(shù)據(jù)報,字節(jié),4,4,1,1,2,12,2,2,2,2,字節(jié),發(fā)送在前,數(shù) 據(jù),首 部,UDP 用戶數(shù)據(jù)報,用戶數(shù)據(jù)報
11、 UDP 有兩個字段:數(shù)據(jù)字段和首部字段。首部字段有 8 個字節(jié),由 4 個字段組成,每個字段都是兩個字節(jié)。,7.4 傳輸控制協(xié)議 TCP 7.4.1 TCP 概述,端口,發(fā)送 TCP 報文段,TCP,TCP,接收緩存,發(fā)送緩存,報文段,報文段,報文段,端口,發(fā)送端,接收端,向發(fā)送緩存 寫入數(shù)據(jù)塊,從接收緩存 讀取數(shù)據(jù)塊,應(yīng)用進程,應(yīng)用進程,TCP 首部,20 字節(jié)的 固定首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,32 bit,S Y N,R S T,P S H,A C K,U R G,
12、比特 0 8 16 24 31,填 充,TCP 數(shù)據(jù)部分,TCP 首部,TCP 報文段,IP 數(shù)據(jù)部分,IP 首部,發(fā)送在前,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,源端口和目的端口字段各占 2 字節(jié)。端口是運輸層與應(yīng)用層的服務(wù)接口。運輸層的復(fù)用和分用功能都要通過端口才能實現(xiàn)。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,
13、選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,序號字段占 4 字節(jié)。TCP 連接中傳送的數(shù)據(jù)流中的每一個字節(jié)都編上一個序號。序號字段的值則指的是本報文段所發(fā)送的數(shù)據(jù)的第一個字節(jié)的序號。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8
14、16 24 31,填 充,確認號字段占 4 字節(jié),是期望收到對方的下一個報文段的數(shù)據(jù)的第一個字節(jié)的序號。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,數(shù)據(jù)偏移占 4 bit,它指出 TCP 報文段的數(shù)據(jù)起始處距離 TCP 報文段的起始處有多遠?!皵?shù)據(jù)偏移”的單位不是字節(jié)而是 32 bit 字(4 字節(jié)為計算單位)。,TCP 首部,20 字節(jié) 固定 首部,目 的
15、 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,保留字段占 6 bit,保留為今后使用,但目前應(yīng)置為 0。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,緊急比特 URG 當
16、 URG 1 時,表明緊急指針字段有效。它告訴系統(tǒng)此報文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當于高優(yōu)先級的數(shù)據(jù))。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,確認比特 ACK 只有當 ACK 1 時確認號字段才有效。當 ACK 0 時,確認號無效。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口
17、,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,推送比特 PSH (PuSH) 接收 TCP 收到推送比特置 1 的報文段,就盡快地交付給接收應(yīng)用進程,而不再等到整個緩存都填滿了后再向上交付。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,復(fù)位比
18、特 RST (ReSeT) 當 RST 1 時,表明 TCP 連接中出現(xiàn)嚴重差錯(如由于主機崩潰或其他原因),必須釋放連接,然后再重新建立運輸連接。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,同步比特 SYN 同步比特 SYN 置為 1,就表示這是一個連接請求或連接接受報文。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選
19、項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,終止比特 FIN (FINal) 用來釋放一個連接。當FIN 1 時,表明此報文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運輸連接。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 3
20、1,填 充,窗口字段 占 2 字節(jié)。窗口字段用來控制對方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。TCP 連接的一端根據(jù)設(shè)置的緩存空間大小確定自己的接收窗口大小,然后通知對方以確定對方的發(fā)送窗口的上限。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,檢驗和 占 2 字節(jié)。檢驗和字段檢驗的范圍包括首部和數(shù)據(jù)這兩部分。在計算檢驗和時,要在 TCP 報文段的前面加上 12 字節(jié)的偽首
21、部。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A C K,U R G,比特 0 8 16 24 31,填 充,緊急指針字段 占 16 bit。緊急指針指出在本報文段中的緊急數(shù)據(jù)的最后一個字節(jié)的序號。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S H,A
22、C K,U R G,比特 0 8 16 24 31,填 充,選項字段 長度可變。TCP 只規(guī)定了一種選項,即最大報文段長度 MSS (Maximum Segment Size)。MSS 告訴對方 TCP:“我的緩存所能接收的報文段的數(shù)據(jù)字段的最大長度是 MSS 個字節(jié)?!?MSS 是 TCP 報文段中的數(shù)據(jù)字段的最大長度。 數(shù)據(jù)字段加上 TCP 首部 才等于整個的 TCP 報文段。,TCP 首部,20 字節(jié) 固定 首部,目 的 端 口,數(shù)據(jù) 偏移,檢 驗 和,選 項 (長 度 可 變),源 端 口,序 號,緊 急 指 針,窗 口,確 認 號,保 留,F I N,S Y N,R S T,P S
23、H,A C K,U R G,比特 0 8 16 24 31,填 充,填充字段 這是為了使整個首部長度是 4 字節(jié)的整數(shù)倍。,7.4.3 TCP 的數(shù)據(jù)編號與確認,TCP 協(xié)議是面向字節(jié)的。TCP 將所要傳送的報文看成是字節(jié)組成的數(shù)據(jù)流,并使每一個字節(jié)對應(yīng)于一個序號。 在連接建立時,雙方要商定初始序號。TCP 每次發(fā)送的報文段的首部中的序號字段數(shù)值表示該報文段中的數(shù)據(jù)部分的第一個字節(jié)的序號。 TCP 的確認是對接收到的數(shù)據(jù)的最高序號表示確認。接收端返回的確認號是已收到的數(shù)據(jù)的最高序號加 1。因此確認號表示接收端期望下次收到的數(shù)據(jù)中的第一個數(shù)據(jù)字節(jié)的序號。,7.4.4 TCP 的流量控制與擁塞控制
24、1. 滑動窗口的概念,TCP 采用大小可變的滑動窗口進行流量控制。窗口大小的單位是字節(jié)。 在 TCP 報文段首部的窗口字段寫入的數(shù)值就是當前給對方設(shè)置的發(fā)送窗口數(shù)值的上限。 發(fā)送窗口在連接建立時由雙方商定。但在通信的過程中,接收端可根據(jù)自己的資源情況,隨時動態(tài)地調(diào)整對方的發(fā)送窗口上限值(可增大或減小)。,收到確認即可前移,100,200,300,400,500,600,700,800,900,101,201,301,401,501,601,701,801,1,可發(fā)送,不可發(fā)送,發(fā)送端要發(fā)送 900 字節(jié)長的數(shù)據(jù),劃分為 9 個 100 字節(jié)長的報文段,而發(fā)送窗口確定為 500 字節(jié)。 發(fā)送端只
25、要收到了對方的確認,發(fā)送窗口就可前移。 發(fā)送 TCP 要維護一個指針。每發(fā)送一個報文段,指針就向前移動一個報文段的距離。,收到確認即可前移,100,200,300,400,500,600,700,800,900,101,201,301,401,501,601,701,801,1,不可發(fā)送,100,200,300,400,500,600,700,800,900,101,201,301,401,501,601,701,801,1,發(fā)送窗口,可發(fā)送,不可發(fā)送,發(fā)送窗口前移,發(fā)送端已發(fā)送了 400 字節(jié)的數(shù)據(jù),但只收到對前 200 字節(jié)數(shù)據(jù)的確認,同時窗口大小不變。 現(xiàn)在發(fā)送端還可發(fā)送 300 字節(jié)。
26、,100,200,300,400,500,600,700,800,900,101,201,301,401,501,601,701,801,1,已發(fā)送 并被確認,已發(fā)送但 未被確認,可發(fā)送,不可發(fā)送,指針,100,200,300,400,500,600,700,800,900,101,201,301,401,501,601,701,801,1,不可 發(fā)送,指針,發(fā)送窗口前移,發(fā)送端收到了對方對前 400 字節(jié)數(shù)據(jù)的確認,但對方通知發(fā)送端必須把窗口減小到 400 字節(jié)。 現(xiàn)在發(fā)送端最多還可發(fā)送 400 字節(jié)的數(shù)據(jù)。,利用可變窗口大小進行流量控制雙方確定的窗口值是 400,主機 A,主機 B,允許
27、A 再發(fā)送 300 字節(jié)(序號 201 至 500),A 還能發(fā)送 200 字節(jié),A 還能發(fā)送 200 字節(jié)(序號 301 至 500),A 還能發(fā)送 300 字節(jié),A 還能發(fā)送 100 字節(jié)(序號 401 至 500),A 超時重發(fā),但不能發(fā)送序號 500 以后的數(shù)據(jù),允許 A 再發(fā)送 200 字節(jié)(序號 501 至 700),A 還能發(fā)送 100 字節(jié)(序號 501 至 700),不允許 A 再發(fā)送(到序號 600 的數(shù)據(jù)都已收到),2. 慢開始和擁塞避免,發(fā)送端的主機在確定發(fā)送報文段的速率時,既要根據(jù)接收端的接收能力,又要從全局考慮不要使網(wǎng)絡(luò)發(fā)生擁塞。 因此,每一個 TCP 連接需要有以
28、下兩個狀態(tài)變量: 接收端窗口 rwnd (receiver window) 又稱為通知窗口(advertised window)。 擁塞窗口 cwnd (congestion window)。,接收端窗口 rwnd 和擁塞窗口 cwnd,(1) 接收端窗口 rwnd 這是接收端根據(jù)其目前的接收緩存大小所許諾的最新的窗口值,是來自接收端的流量控制。接收端將此窗口值放在 TCP 報文的首部中的窗口字段,傳送給發(fā)送端。 (2) 擁塞窗口 cwnd (congestion window) 是發(fā)送端根據(jù)自己估計的網(wǎng)絡(luò)擁塞程度而設(shè)置的窗口值,是來自發(fā)送端的流量控制。,發(fā)送窗口的上限值,發(fā)送端的發(fā)送窗口的上
29、限值應(yīng)當取為接收端窗口 rwnd 和擁塞窗口 cwnd 這兩個變量中較小的一個,即應(yīng)按以下公式確定: 發(fā)送窗口的上限值 Min rwnd, cwnd (7-1) 當 rwnd cwnd 時,是接收端的接收能力限制發(fā)送窗口的最大值。 當 cwnd rwnd 時,則是網(wǎng)絡(luò)的擁塞限制發(fā)送窗口的最大值。,慢開始算法的原理,在主機剛剛開始發(fā)送報文段時可先將擁塞窗口 cwnd 設(shè)置為一個最大報文段 MSS 的數(shù)值。 在每收到一個對新的報文段的確認后,將擁塞窗口增加至多一個 MSS 的數(shù)值。 用這樣的方法逐步增大發(fā)送端的擁塞窗口 cwnd,可以使分組注入到網(wǎng)絡(luò)的速率更加合理。,慢開始和擁塞避免算法的實現(xiàn)舉例
30、,當 TCP 連接進行初始化時,將擁塞窗口置為 1。圖中的窗口單位不使用字節(jié)而使用報文段。,慢開始門限的初始值設(shè)置為 16 個報文段, 即 ssthresh = 16。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口 cwnd,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,慢開始和擁塞避免算法的實現(xiàn)舉例,發(fā)送端的發(fā)送窗口不能超過擁塞窗口 cwnd 和接收端窗口 rwnd 中的最小值。我們假定接收端窗口足夠大,因此現(xiàn)在發(fā)送窗口的數(shù)值等于擁塞窗口的數(shù)值。,2,4,6,8,1
31、0,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口 cwnd,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,慢開始和擁塞避免算法的實現(xiàn)舉例,在執(zhí)行慢開始算法時,擁塞窗口 cwnd 的初始值為 1,發(fā)送第一個報文段 M0。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口 cwnd,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,慢開始和擁塞避免算法的實現(xiàn)舉例,2,4,6,
32、8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口 cwnd,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,發(fā)送端收到 ACK1 (確認 M0,期望收到 M1)后,將 cwnd 從 1 增大到 2,于是發(fā)送端可以接著發(fā)送 M1 和 M2 兩個報文段。,慢開始和擁塞避免算法的實現(xiàn)舉例,發(fā)送端每收到一個對新報文段的確認 ACK,就把發(fā)送端的擁塞窗口加 1,因此擁塞窗口 cwnd 隨著傳輸次數(shù)按指數(shù)規(guī)律增長。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,1
33、6,20,24,傳輸次數(shù),擁塞窗口 cwnd,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,慢開始和擁塞避免算法的實現(xiàn)舉例,當擁塞窗口 cwnd 增長到慢開始門限值 ssthresh 時(即當 cwnd = 16 時),就改為執(zhí)行擁塞避免算法,擁塞窗口按線性規(guī)律增長。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口 cwnd,ssthresh = 16,慢開始,慢開始,擁塞避免,更新后的 ssthresh = 12,慢開始和擁塞避免算法的實現(xiàn)舉例,假定擁塞窗口的數(shù)值增長
34、到 24 時,網(wǎng)絡(luò)出現(xiàn)超時(表明網(wǎng)絡(luò)擁塞了)。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口 cwnd,ssthresh = 16,慢開始,慢開始,擁塞避免,擁塞避免,更新后的 ssthresh = 12,慢開始和擁塞避免算法的實現(xiàn)舉例,更新后的 ssthresh 值變?yōu)?12(即發(fā)送窗口數(shù)值 24 的一半),擁塞窗口再重新設(shè)置為 1,并執(zhí)行慢開始算法。,2,4,6,8,10,12,14,16,18,20,22,0,0,4,8,12,16,20,24,傳輸次數(shù),擁塞窗口 cwnd,ssthresh = 16,慢開始,慢開始
35、,擁塞避免,擁塞避免,更新后的 ssthresh = 12,乘法減小(multiplicative decrease),“乘法減小“是指不論在慢開始階段還是擁塞避免階段,只要出現(xiàn)一次超時(即出現(xiàn)一次網(wǎng)絡(luò)擁塞),就把慢開始門限值 ssthresh 設(shè)置為當前的擁塞窗口值乘以 0.5。 當網(wǎng)絡(luò)頻繁出現(xiàn)擁塞時,ssthresh 值就下降得很快,以大大減少注入到網(wǎng)絡(luò)中的分組數(shù)。,加法增大(additive increase),“加法增大”是指執(zhí)行擁塞避免算法后,當收到對所有報文段的確認就將擁塞窗口 cwnd增加一個 MSS 大小,使擁塞窗口緩慢增大,以防止網(wǎng)絡(luò)過早出現(xiàn)擁塞。,3. 快重傳和快恢復(fù),快重傳算法規(guī)定,發(fā)送端只要一連收到三個重復(fù)的 ACK 即可斷定有分組丟失了,就應(yīng)立即重傳丟失的報文段而不必繼續(xù)等待為該報文段設(shè)置的重傳計時器的超時。 不難看出,快重傳并非取消重傳計時器,而是在某些情況下可更早地重傳丟失的報文段。,快重傳舉例,主機 A,主機 B,B 確認 M1 和 M2,A 發(fā)送 M1 和 M2,A 收到了三個重復(fù)的確認 ACK3,就立即重傳 M3,而不
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國背景音樂廣播語音系統(tǒng)行業(yè)投資前景及策略咨詢研究報告
- 2025年電渦流緩速器控制器項目可行性研究報告
- 2025至2031年中國熱熔膠噴槍行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國帶燈熒光筆行業(yè)投資前景及策略咨詢研究報告
- 2025年對焊加強管座項目可行性研究報告
- 2025年臺式移印打碼機項目可行性研究報告
- 2025年八針鏈式縫紉機項目可行性研究報告
- 2025至2030年中國面粉機磨輥數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年速溶乳化輕質(zhì)硅酸鈉項目投資價值分析報告
- 2025至2030年納豆激酶項目投資價值分析報告
- 區(qū)域經(jīng)理年終工作總結(jié)匯報
- (完整版)語文寫作方格紙模板
- 勞動防護用品培訓(xùn)試卷帶答案
- 二年級上冊加減混合計算400題及答案
- 《字體設(shè)計》課程標準
- 初中八年級音樂-勞動號子《軍民大生產(chǎn)》
- 站樁的知識講座
- 革命文物主題陳列展覽導(dǎo)則(試行)
- 醫(yī)學(xué)遺傳學(xué)第三版課件
- 四川家庭農(nóng)場補貼標準2023年
- 五年級下冊字帖
評論
0/150
提交評論