計(jì)算機(jī)網(wǎng)絡(luò) 傳輸層_第1頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò) 傳輸層_第2頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò) 傳輸層_第3頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò) 傳輸層_第4頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò) 傳輸層_第5頁(yè)
已閱讀5頁(yè),還剩70頁(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)介

傳輸層

主要內(nèi)容

傳輸層協(xié)議概述

網(wǎng)絡(luò)體系中的傳輸層

g傳輸層中的兩個(gè)協(xié)議

4端口的概念

。用戶數(shù)據(jù)報(bào)協(xié)議UDP

9UDP概述

wUDP用戶數(shù)據(jù)報(bào)的首部格式

。傳輸控制協(xié)議TCP

?TCP概述

9TCP報(bào)文段的首部

9TCP的數(shù)據(jù)編號(hào)與確認(rèn)

6TCP的流量控制與擁塞控制

9TCP的重傳機(jī)制

?采用隨機(jī)早期丟棄RED進(jìn)行擁塞控制

?TCP的傳輸連接管理

傳輸層協(xié)議概述

。從通信和信息處理的角度看,傳輸層向它上面的應(yīng)用層提供通信

服務(wù),它屬于面向通信部分的最高層,同時(shí)也是用戶功能中的最3

低層。!

「----------------:

面向信息處理1應(yīng)用層

」'用戶功能

「?jìng)鬏攲覿

I_________________________J

面向通信J網(wǎng)絡(luò)層'

數(shù)據(jù)鏈路層:網(wǎng)絡(luò)功能

物理層\

傳輸層為相互通信的應(yīng)用進(jìn)程提

供了邏輯通信

主機(jī)A主機(jī)B

IP協(xié)議日勺作用范圍

傳輸層協(xié)議TCP和UDP的作用范圍

應(yīng)用進(jìn)程之間的通信

兩個(gè)主機(jī)進(jìn)行通信實(shí)際上就是兩個(gè)主機(jī)中的應(yīng)用進(jìn)程

互相通信。

應(yīng)用進(jìn)程之間的通信又稱為端到端的通信。

?:?傳輸層的一個(gè)很重要的功能就是復(fù)用和分用。應(yīng)用層

不同進(jìn)程的報(bào)文通過(guò)不同的端口向下交到傳輸層,再

往下就共用網(wǎng)絡(luò)層提供的服務(wù)。

“傳輸層提供應(yīng)用進(jìn)程間的邏輯通信”?!斑壿嬐ㄐ拧?/p>

的意思是:傳輸層之間的通信好像是沿水平方向傳送

數(shù)據(jù)。但事實(shí)上這兩個(gè)傳輸層之間并沒(méi)有一條水平方

向的物理連接。

傳輸層的主要功能

。傳輸層為應(yīng)用進(jìn)程之間提供端到端的邏輯通信

(但網(wǎng)絡(luò)層是為主機(jī)之間提供邏輯通信)。

。傳輸層還要對(duì)收到的報(bào)文進(jìn)行差錯(cuò)檢測(cè)。

。傳輸層需要有兩種不同的傳輸協(xié)議,即面向連

接的TCP和無(wú)連接的UDPo

傳輸層與其上下層之間的關(guān)系

的OSI表示法

主機(jī)A|主機(jī)B

傳輸服務(wù)用戶傳輸服務(wù)用戶

應(yīng)用層

(應(yīng)用層實(shí)體)(應(yīng)用層實(shí)體)

傳輸層服務(wù)訪問(wèn)點(diǎn)1層接口

TSAP

傳輸實(shí)體V-----傳輸協(xié)議---?傳輸實(shí)體傳輸層

層接口

網(wǎng)絡(luò)層服務(wù)訪問(wèn)點(diǎn),網(wǎng)絡(luò)層

NSAP(或網(wǎng)際層)

傳輸層向上提供可靠的和不可靠

的邏輯通信信道

發(fā)

發(fā)

進(jìn)

進(jìn)

進(jìn)

進(jìn)

I程

數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)

運(yùn)

使用TCP協(xié)議使用UDP協(xié)議

傳輸層協(xié)議機(jī)制

1、可靠的網(wǎng)絡(luò)服務(wù)

假定網(wǎng)絡(luò)服務(wù)是100%可靠

傳輸層協(xié)議機(jī)制解決的問(wèn)題:

尋址

多路復(fù)用

流控

連接建立和拆除

流控策略:

。將緩沖器溢出的TPDU簡(jiǎn)單地除去,這需要重

傳,因而增加通信量。

。當(dāng)緩沖區(qū)滿時(shí),拒收從網(wǎng)絡(luò)服務(wù)來(lái)的TPDU,

對(duì)多個(gè)傳輸層連接多路復(fù)用單個(gè)網(wǎng)絡(luò)連接時(shí),

不使用這種策略。

滑動(dòng)窗口技術(shù)。

信用證策略。

發(fā)送機(jī)A接收機(jī)B

6**2B準(zhǔn)備接收7個(gè)

A可以發(fā)送7個(gè)6-?-2

5*3TPDUS

TPDUs4(0號(hào)到6號(hào))

A每次發(fā)送后62匹國(guó)7''''-

B回答響應(yīng)3個(gè)

721TPDUs,但除了

縮小它的窗口5,^3r__,

4尸—,6-^-2原有的預(yù)算外,只

5T3能接收-個(gè)附加的

TPDU(即B將接

5辛方<收TPDU3到7)

A按照每個(gè)信用證70]S

調(diào)整它的窗口fijfXO

5V3N=5-

A用完了它B回答響應(yīng)3個(gè)

的信用證TPDUs并恢復(fù)

原有的信用證

A接收到新

的信用證

信用證分配協(xié)議實(shí)例

2、不可靠的網(wǎng)絡(luò)服務(wù)

對(duì)不可靠的網(wǎng)絡(luò)服務(wù),傳輸層協(xié)議要復(fù)雜得多,

傳輸層協(xié)議機(jī)制解決的問(wèn)題:

重傳策略

重復(fù)檢測(cè)

流控

連接建立

連接結(jié)束

故障恢復(fù)

A注釋

舊的RFC到達(dá)

RFCZYB響應(yīng),A發(fā)送一個(gè)

新的RFC

N=Z

丟棄由于次序出錯(cuò),

B丟棄數(shù)據(jù)TPDU

兩次握手例子

B注釋

A發(fā)起一個(gè)連接

RFCY,

B接收并回答響應(yīng)

ACKX

A回答響應(yīng)并開(kāi)始發(fā)送

舊的RFC到達(dá)

B接收并回答響應(yīng)

RST.ACKYA拒絕B的連接

(b)延遲的RFC

RFCZ,A發(fā)起一個(gè)連接

B接收并回答響應(yīng)

舊的RFC/ACK

到達(dá),A拒絕

A回答響應(yīng)并開(kāi)始發(fā)送

(c)延遲RFC/ACK

三次握手的例子

TCP/IP體系中的傳輸層

U傳輸層中的兩個(gè)協(xié)議

TCP/IP的傳輸層有兩個(gè)不同的協(xié)議:

(1)用戶數(shù)據(jù)報(bào)協(xié)議UDP

(UserDatagramProtocol)

(2)傳輸控制協(xié)議TCP

(TransmissionControlProtocol)

TCP與UDP

兩個(gè)對(duì)等傳輸實(shí)體在通信時(shí)傳送的數(shù)據(jù)單位叫作

傳輸協(xié)議數(shù)據(jù)單元TPDLI(TransportProtocol

DataUnit)o

TCP傳送的數(shù)據(jù)協(xié)議單位是TCP報(bào)文段

(segment)

UDP傳送的數(shù)據(jù)協(xié)議單位是UDP報(bào)文或用戶數(shù)

據(jù)報(bào)。

TCP/IP體系中的傳輸層協(xié)議

傳輸層

TCP與UDP

。UDP在傳送數(shù)據(jù)之前不需要先建立連接。對(duì)

方的傳輸層在收到UDP報(bào)文后,不需要給出

任何確認(rèn)。雖然UDP不提供可靠交付,但在

某些情況下UDP是一種最有效的工作方式。

?TCP則提供面向連接的服務(wù)。TCP不提供廣

播或多播服務(wù)。由于TCP要提供可靠的、面

向連接的傳輸服務(wù),因此不可避免地增加了許

多的開(kāi)銷。這不僅使協(xié)議數(shù)據(jù)單元的首部增大

很多,還要占用許多的處理機(jī)資源。

還要強(qiáng)調(diào)兩點(diǎn)

。傳輸層的UDP用戶數(shù)據(jù)報(bào)與網(wǎng)際層的IP數(shù)據(jù)報(bào)

有很大區(qū)別。IP數(shù)據(jù)報(bào)要經(jīng)過(guò)互連網(wǎng)中許多路

由器的存儲(chǔ)轉(zhuǎn)發(fā),但UDP用戶數(shù)據(jù)報(bào)是在傳輸

層的端到端抽象的邏輯信道中傳送的。

*TCP報(bào)文段是在傳輸層抽象的端到端邏輯信道

中傳送,這種信道是可靠的全雙工信道。但這

樣的信道卻不知道究竟經(jīng)過(guò)了哪些路由器,而

這些路由器也根本不知道上面的傳輸層是否建

立了TCP連接。

端口的概念

端口就是傳輸層服務(wù)訪問(wèn)點(diǎn)TSAPo

端口的作用就是讓?xiě)?yīng)用層的各種應(yīng)用進(jìn)程都能將

其數(shù)據(jù)通過(guò)端口向下交付給傳輸層,以及讓傳輸

層知道應(yīng)當(dāng)將其報(bào)文段中的數(shù)據(jù)向上通過(guò)端口交

付給應(yīng)用層相應(yīng)的進(jìn)程。

。從這個(gè)意義上講,端口是用來(lái)標(biāo)志應(yīng)用層的進(jìn)程。

?端口在進(jìn)程之間的通信中所起的作用

廠發(fā)送方、、接收》

/'/\

應(yīng)用進(jìn)程應(yīng)用進(jìn)程

應(yīng)

用[zTs.rETs.rEi\r=i^

運(yùn)

3□□[O-D炳

TCP復(fù)用UDP復(fù)用分用

層TCP分用UDP

UDP:UDP:

TCP報(bào)文段用戶數(shù)據(jù)報(bào)TCP報(bào)文段用戶數(shù)據(jù)報(bào)

7?

網(wǎng)

絡(luò)IP復(fù)用IP分用

.y\—.

IPIP數(shù)據(jù)報(bào)

端口

?:?端口用一個(gè)16bit端口號(hào)進(jìn)行標(biāo)志。

。端口號(hào)只具有本地意義,即端口號(hào)只是為

了標(biāo)志本計(jì)算機(jī)應(yīng)用層中的各進(jìn)程。在因

特網(wǎng)中不同計(jì)算機(jī)的相同端口號(hào)是沒(méi)有聯(lián)

系的。

兩類端口

。一類是熟知端口,其數(shù)值一般為0~1023。當(dāng)

一種新的應(yīng)用程序出現(xiàn)時(shí),必須為它指派一個(gè)

熟知端口。

。另一類則是一般端口,用來(lái)隨時(shí)分配給請(qǐng)求通

信的客戶進(jìn)程。

插口(socket)

。TCP使用“連接”(而不僅僅是“端口”)作為最

基本的抽象,同時(shí)將TCP連接的端點(diǎn)稱為插口

(socket),或套接字、套接口。

?:.插口和端口、IP地址的關(guān)系是:

IP地址端口號(hào)

31500

插口(SOCket)|131.623.13,15。

用戶數(shù)據(jù)報(bào)協(xié)議UDP

UDP概述

。UDP只在IP的數(shù)據(jù)報(bào)服務(wù)之上增加了很少一)

點(diǎn)的功能,即端口的功能和差錯(cuò)檢測(cè)的功能。)

雖然UDP用戶數(shù)據(jù)報(bào)只能提供不可靠的交付,

但UDP在某些方面有其特殊的優(yōu)點(diǎn)。

力發(fā)送數(shù)據(jù)之前不需要建立連接

9UDP的主機(jī)不需要維持復(fù)雜的連接狀態(tài)表。

9UDP用戶數(shù)據(jù)報(bào)只有8個(gè)字節(jié)的首部開(kāi)銷。/'

小網(wǎng)絡(luò)出現(xiàn)的擁塞不會(huì)使源主機(jī)的發(fā)送速率降低。這

對(duì)某些實(shí)時(shí)應(yīng)用是很重要的。

端口是用報(bào)文隊(duì)列來(lái)實(shí)現(xiàn)

應(yīng)TFTP客戶TFTP服務(wù)器

層1

/X/X

出隊(duì)列入隊(duì)列出隊(duì)列入隊(duì)列

運(yùn)

UDP端口51000

UDP用戶數(shù)據(jù)報(bào)

UDP用戶數(shù)據(jù)報(bào)的

首部格式

字節(jié)44112

源IP地址目的IP地址017UDP長(zhǎng)度

字節(jié)122222

;偽首部源端口目的端口長(zhǎng)度檢驗(yàn)和

__________

UDP用戶數(shù)據(jù)報(bào)首部數(shù)據(jù)

發(fā)送在前

數(shù)''據(jù)

首部

IP數(shù)據(jù)報(bào)

用戶數(shù)據(jù)報(bào)UDP有兩個(gè)字段:數(shù)據(jù)字段和首

部字段。首部字段有8個(gè)字節(jié),由4個(gè)字段

組成,每個(gè)字段都是兩個(gè)字節(jié)。

字節(jié)44112

源IP地址目的IP地址017UDP長(zhǎng)度

字節(jié)122222

「前i.-1源端口|目的端口|長(zhǎng)度|檢驗(yàn)和

UDP用戶數(shù)據(jù)報(bào)首部數(shù)據(jù)

發(fā)送在前

首部數(shù)、百

IP數(shù)據(jù)報(bào)

在計(jì)算檢驗(yàn)和時(shí),臨時(shí)把“偽首部”和

UDP用戶數(shù)據(jù)報(bào)連接在一起。偽首部

僅僅是為了計(jì)算檢驗(yàn)和。

字節(jié)44112

源IP地址目的IP地址017UDP長(zhǎng)度

計(jì)算UDP檢驗(yàn)和的例子

1001100100010011一153.19

040000100001101000->8.104

12字節(jié)

1010101100000011T171.3

偽首部1

全017150000111000001011->14.11

8字節(jié)1087130000000000010001T0和17

一15\

UDP首部,15全00000000000001111

0000010000111111―1087

7字節(jié)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)-13\

0000000000001101

數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)金0

0000000000001111-15f

填充0000000000000000一0(檢驗(yàn)和)

0101010001000101T數(shù)據(jù)

0101001101010100一數(shù)據(jù)

0100100101001110

0100011100000000一數(shù)據(jù)和0(填充)

按二進(jìn)制反碼運(yùn)算求和1001011011101101T求和得出的結(jié)果

將得出的結(jié)果求反碼0110100100010010一檢驗(yàn)和

_____________________________________________________________________

請(qǐng)注意:進(jìn)行反碼運(yùn)算求和時(shí),最高位有進(jìn)位2,這個(gè)2應(yīng)當(dāng)加到最低位。j

UDP的復(fù)用、分解與端口

?提供復(fù)用和分解的功能,這種復(fù)用和分

解的功能是通過(guò)端口機(jī)制來(lái)實(shí)現(xiàn)的。

?UDP端口號(hào)的指定方式:

由某些管理機(jī)構(gòu)指定的稱為著名端口,

供用戶使用。

動(dòng)態(tài)綁定方式,由應(yīng)用程序指定端口o

UDP的分解操作

一十~傳輸控制協(xié)議TCP

TCP概述

"、±L1J

友送師接收端

TCP協(xié)議功能

⑴定義了兩臺(tái)計(jì)算機(jī)之間進(jìn)行可靠的傳輸而交換的數(shù)

據(jù)和確認(rèn)信息的格式。

⑵允許一臺(tái)計(jì)算機(jī)上的多個(gè)應(yīng)用程序同時(shí)進(jìn)行通信,

也能對(duì)接收到的數(shù)據(jù)進(jìn)行分解,分別送到多個(gè)程序。

⑶使用連接而不是協(xié)議端口作為基本的抽象概念,連

接是用一對(duì)端點(diǎn)來(lái)標(biāo)識(shí)的。

(4)是一個(gè)面向連接的協(xié)議,即在TCP進(jìn)行互聯(lián)網(wǎng)絡(luò)通信

之前,通信雙方必須先建立連接,然后再進(jìn)行通信。

⑸將數(shù)據(jù)流看做字節(jié)的序列,為了便于傳輸又將這個(gè)

序列劃分為若干段。

(6)使用專門(mén)的滑動(dòng)窗口機(jī)制來(lái)解決傳輸效率和流量控

制這兩個(gè)問(wèn)題。

32bit

TCP報(bào)文段TCP首部TCP數(shù)據(jù)部分

發(fā)送在前1

〕IP首部IP數(shù)據(jù)部分V

序號(hào)Q

2O

節(jié)

f

確認(rèn)號(hào)字段——占4字節(jié),是期望收到對(duì)方的下一個(gè)

報(bào)文段的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。

系統(tǒng)此報(bào)文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當(dāng)于高優(yōu)先級(jí)的數(shù)據(jù))。

窗口字段——占2字節(jié)。窗口字段用來(lái)控制對(duì)方發(fā)送的數(shù)據(jù)量,單位為字。

TCP連接的一端根據(jù)設(shè)置的緩存空間大小確定自己的接收窗口大小,然后通知

對(duì)方以確定對(duì)方的發(fā)送窗口的上限。

MSS是TCP報(bào)文段中的數(shù)據(jù)字段的最大長(zhǎng)度。

數(shù)據(jù)字段加上TCP首部

才等于整個(gè)的TCP報(bào)文段。

選項(xiàng)(長(zhǎng)度可變)I填充

選項(xiàng)字段一一長(zhǎng)度可變。TCP只規(guī)定了一種選項(xiàng),即最大報(bào)文段長(zhǎng)度

MSS(MaximumSegmentSize)0MSS告訴對(duì)方TCP:“我的緩存所能

接收的報(bào)文段的數(shù)據(jù)字段的最大長(zhǎng)度是MSS個(gè)字節(jié)?!?/p>

TCP的數(shù)據(jù)編號(hào)與確認(rèn)

?TCP協(xié)議是面向字節(jié)的。TCP將所要傳送的報(bào)文

看成是字節(jié)組成的數(shù)據(jù)流,并使每一個(gè)字節(jié)對(duì)應(yīng)于

一個(gè)序號(hào)。1

。在連接建立時(shí),雙方要商定初始序號(hào)。TCP每次

發(fā)送的報(bào)文段的首部中的序號(hào)字段數(shù)值表示該報(bào)文

段中的數(shù)據(jù)部分的第一個(gè)字節(jié)的序號(hào)。

TCP的確認(rèn)是對(duì)接收到的數(shù)據(jù)的最高序號(hào)表示確

認(rèn)。接收端返回的確認(rèn)號(hào)是已收到的數(shù)據(jù)的最高序

號(hào)加1o因此確認(rèn)號(hào)表示接收端期望下次收到的數(shù)

據(jù)中的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)。

TCP的流量控制與擁塞控制

1.滑動(dòng)窗口的概念

?TCP采用大小可變的滑動(dòng)窗口進(jìn)行流量控制。窗口

大小的單位是字節(jié)。

。在TCP報(bào)文段首部的窗口字段寫(xiě)入的數(shù)值就是當(dāng)前

給對(duì)方設(shè)置的發(fā)送窗口數(shù)值的上限。

?:?發(fā)送窗口在連接建立時(shí)由雙方商定。但在通信的聞

程中,接收端可根據(jù)自己的資源情況,隨時(shí)動(dòng)態(tài)地

調(diào)整對(duì)方的發(fā)送窗口上限值(可增大或減?。?/p>

-------------發(fā)送窗口--------------?

—---->收到確認(rèn)即可前移

1100101200201300301400401500501600601700701800801900

--------------可發(fā)送--------------------------不可發(fā)送----------

指針

。發(fā)送端要發(fā)送900字節(jié)長(zhǎng)的數(shù)據(jù),劃分為9個(gè)

100字節(jié)長(zhǎng)的報(bào)文段,而發(fā)送窗口確定為500

子下O

。發(fā)送端只要收到了對(duì)方的確認(rèn),發(fā)送窗口就可

前移。

。發(fā)送TCP要維護(hù)一個(gè)指針。每發(fā)送一個(gè)報(bào)文

段,指針就向前移動(dòng)一個(gè)報(bào)文段的距離。

-------------發(fā)送窗口--------------?

—---->收到確認(rèn)即可前移

1100101200201300301400401500501600601700701800801900

--------------可發(fā)送--------------------------不可發(fā)送----------

指針--------------發(fā)送窗口前移------------

=><

|1100

1012001koi500501600601700701800801900

1卜1

已發(fā)送—已發(fā)送但J-------可發(fā)送-------不發(fā)送—

r并被確認(rèn)~未被確認(rèn)nJ

指針

?:?發(fā)送端已發(fā)送了400字節(jié)的數(shù)據(jù),但只收到對(duì)前

200字節(jié)數(shù)據(jù)的確認(rèn),同時(shí)窗口大小不變。

現(xiàn)在發(fā)送端還可發(fā)送300字節(jié)。

?:?發(fā)送端收到了對(duì)方對(duì)前400字節(jié)數(shù)據(jù)的確認(rèn),但對(duì)

方通知發(fā)送端必須把窗口減小到400字節(jié)。

現(xiàn)在發(fā)送端最多還可發(fā)送400字節(jié)的數(shù)據(jù)。

?-------------發(fā)送窗口前移-----------

1100101200401500501600601700701800801900

i卜

已發(fā)送.已發(fā)送但口

L并被確認(rèn)一可發(fā)送-------不發(fā)送—

未被確認(rèn)k-------?nJ

指針

發(fā)送窗口縮小

1

|1100

101200201300301400|Loi500501600601700701800801900

一不可‘

<__________已發(fā)送___________J『L_________HPTJ儀巖達(dá);/》>

并被確認(rèn)|L發(fā)送7

指針

利用可變窗口大小進(jìn)行流量控制

雙方確定的窗口值是400

主機(jī)A主機(jī)B

|SEQ=1TA還能發(fā)送300字節(jié)

ISEQ=101/A還能發(fā)送200字節(jié)

SEQ=2Q,

V”I

AGK二WIN=3叩允許A再發(fā)送300字節(jié)(序號(hào)201至500)

SEQ=301

A還能發(fā)送200字節(jié)(序號(hào)301至500)

SEQ=401

AA還能發(fā)送100字節(jié)(序號(hào)401至500)

SEQ=201

A超時(shí)重發(fā),但不能發(fā)送序號(hào)500以后的數(shù)據(jù)

I.ACK=501.WIN=20。

允許A再發(fā)送200字節(jié)(序號(hào)501至700)

ISEQ=501」

丁TTTF].|A還能發(fā)送100字節(jié)(序號(hào)501至700)

1.ACK=601.WIN=0]

不允許A再發(fā)送(到序號(hào)600的數(shù)據(jù)都已收至IJ)

2慢開(kāi)始和擁塞避免

。發(fā)送端的主機(jī)在確定發(fā)送報(bào)文段的速率時(shí),既要

根據(jù)接收端的接收能力,又要從全局考慮不要使

網(wǎng)絡(luò)發(fā)生擁塞。

。因此,每一個(gè)TCP連接需要有以下兩個(gè)狀態(tài)變

量:

力接收端窗口rwnd(receiverwindow)又稱為通

知窗口(advertisedwindow)o

《擁塞窗口cwnd(congestionwindow)。

接收端窗口rwnd和

擁塞窗口cwnd

?(1)接收端窗口rwnd這是接收端根據(jù)其目前的

接收緩存大小所許諾的最新的窗口值,是來(lái)自接

收端的流量控制。接收端將此窗口值放在TCP

報(bào)文的首部中的窗口字段,傳送給發(fā)送端。I

?(2)擁塞窗口cwnd(congestionwindow)是發(fā)

送端根據(jù)自己估計(jì)的網(wǎng)絡(luò)擁塞程度而設(shè)置的窗口

值,是來(lái)自發(fā)送端的流量控制。

發(fā)送窗口的上限值

”發(fā)送端的發(fā)送窗口的上限值應(yīng)當(dāng)取為接收端窗口

rwnd和擁塞窗口cwnd這兩個(gè)變量中較小的一個(gè),

即應(yīng)按以下公式確定:

發(fā)送窗口的上限值=Min[rwnd,cwnd]

當(dāng)rwnd<cwnd時(shí),是接收端的接收能力限制發(fā)送

窗口的最大值。

當(dāng)cwnd<rwnd時(shí),則是網(wǎng)絡(luò)的擁塞限制發(fā)送窗口

的最大值。

慢開(kāi)始算法的原理

。在主機(jī)剛剛開(kāi)始發(fā)送報(bào)文段時(shí)可先將擁塞窗口

cwnd設(shè)置為一個(gè)最大報(bào)文段MSS的數(shù)值。

。在每收到一個(gè)對(duì)新的報(bào)文段的確認(rèn)后,將擁塞

窗口增加至多一個(gè)MSS的數(shù)值。

。用這樣的方法逐步增大發(fā)送端的擁塞窗口

cwnd,可以使分組注入到網(wǎng)絡(luò)的速率更加合理。

乘法減小

(multiplicativedecrease)

?:?“乘法減小”是指不論在慢開(kāi)始階段還是擁

塞避免階段,只要出現(xiàn)一次超時(shí)(即出現(xiàn)

一次網(wǎng)絡(luò)擁塞),就把慢開(kāi)始門(mén)限值設(shè)置

為當(dāng)前的擁塞窗口值乘以0.5o

。當(dāng)網(wǎng)絡(luò)頻繁出現(xiàn)擁塞時(shí),慢開(kāi)始門(mén)限值就

下降得很快,以大大減少注入到網(wǎng)絡(luò)中的

分組數(shù)。

加法增大

(additiveincrease)

。“加法增大”是指執(zhí)行擁塞避免算法后,當(dāng)

收到對(duì)所有報(bào)文段的確認(rèn)就將擁塞窗口

cwnd增加一個(gè)MSS大小,使擁塞窗口緩

慢增大,以防止網(wǎng)絡(luò)過(guò)早出現(xiàn)擁塞。

必須強(qiáng)調(diào)指出

。擁塞避免”并非指完全能夠避免了

擁塞。利用以上的措施要完全避免

網(wǎng)絡(luò)擁塞還是不可能的。

。“擁塞避免”是說(shuō)在擁塞避免階段

把擁塞窗口控制為按線性規(guī)律增長(zhǎng),

使網(wǎng)絡(luò)比較不容易出現(xiàn)擁塞。

3.快重傳和快恢復(fù)

??熘貍魉惴ㄒ?guī)定,發(fā)送端只要一連收到三

個(gè)重復(fù)的ACK即可斷定有分組丟失了,

就應(yīng)立即重傳丟失的報(bào)文段而不必繼續(xù)等

待為該報(bào)文段設(shè)置的重傳計(jì)時(shí)器的超時(shí)。

。不難看出,快重傳并非取消重傳計(jì)時(shí)器,

而是在某些情況下可更早地重傳丟失的報(bào)

文段。

,:快重傳舉例

主機(jī)A主機(jī)B

M1,M2

A

A發(fā)送Mi和M2

ACK2,ACK3

B確認(rèn)MI和M2

A發(fā)送M3但丟失了

M4

A發(fā)送M4

ACK3

B只能再次確認(rèn)M2(因?yàn)镸3沒(méi)有收到)

A發(fā)送M5

ACK3B發(fā)送第二個(gè)重復(fù)確認(rèn)ACK3

M6

A發(fā)送M6

ACKR

B發(fā)送第三個(gè)重復(fù)確認(rèn)ACK3

A收到了三個(gè)重復(fù)的確認(rèn)A

溫馨提示

  • 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)論