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

下載本文檔

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

文檔簡介

計算機網(wǎng)絡(luò)(第5版)

第5章運輸層

網(wǎng)絡(luò)與信息安全教研室-陳國順

第5章運輸層

5.1運輸層協(xié)議概述

5.1.1進程之間的通信

5.1.2運輸層的兩個主要協(xié)議

5.1.3運輸層的端口

5.2用戶數(shù)據(jù)報協(xié)議UDP

5.2.1UDP概述

5.2.2UDP的首部格式

網(wǎng)絡(luò)與信息安全教研室-陳國順

第5章運輸層(續(xù))

5.3傳輸控制協(xié)議TCP概述

5.3.1TCP最主要的特點

5.3.2TCP的連接

5.4可靠傳輸?shù)墓ぷ髟?/p>

5.4.1停止等待協(xié)議

5.4.2連續(xù)ARQ協(xié),議

5.5TCP報文段的首部格式

網(wǎng)絡(luò)與信息安全教研室-陳國順

第5章運輸層(續(xù))

5.6TCP可靠傳輸?shù)膶崿F(xiàn)

5.6.2超時重傳時間的選擇

5.6.3選擇確認SACK

5.7TCP的流量控制

5.7.1利用滑動窗口實現(xiàn)流量控制

5.7.1必須考慮傳輸效率

網(wǎng)絡(luò)與信息安全教研室-陳國順

第5章運輸層(M)

5.8TCP的擁塞控制

5.8.1擁塞控制的一般原理

582幾種擁塞控制方法

5.8.3隨機早期檢測RED

5.9TCP的運輸連接管理

591TCP的連接建立

592TCP的連接釋放

593TCP的有限狀態(tài)機

網(wǎng)絡(luò)與信息安全教研室-陳國順

5.1運輸層協(xié)議概述

5.1.1進程之間的通信

■從通信和信息處理的角度看,運輸層向它上面的應用

層提供通信服務,它屬于面向通信部分的最高層,同

時也是用戶功能中的最低層。

■當網(wǎng)絡(luò)的邊緣部分中的兩個主機使用網(wǎng)絡(luò)的核心部分

的功能進行端到端的通信時,只有位于網(wǎng)絡(luò)邊緣部分

的主機的協(xié)議棧才有運輸層,而網(wǎng)絡(luò)核心部分中的路

由器在轉(zhuǎn)發(fā)分組時都只用到下三層的功能。

網(wǎng)絡(luò)與信息安全教研室-陳國順

運輸層為相互通信的應用進程提供了邏輯通信

------------IP協(xié)議的作用范圍-------

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

應用進程之間的通信

■兩個主機進行通信實際上就是兩個主機中的應用

進程互相通信。

■應用進程之間的通信又稱為端到端的通信。

■運輸層的一個很重要的功能就是復用和分用。應

用層不同進程的報文通過不同的端口向下交到運

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

■“運輸層提供應用進程間的邏輯通信”?!斑壿?/p>

通信”的意思是:運輸層之間的通信好像是沿水

平方向傳送數(shù)據(jù)。但事實上這兩個運輸層之間并

沒有一條水平方向的物理連接。

網(wǎng)絡(luò)與信息安全教研室-陳國順

運輸層協(xié)議和網(wǎng)絡(luò)層協(xié)議的主要區(qū)別

應用進程應用進程

IP協(xié)議的作用范圍

(提供主機之間的邏輯通信)

._____TCP和UDP協(xié)議的作用范圍

(提供進程之間的邏輯通信)

網(wǎng)絡(luò)與信息安全教研室-陳國順

運輸層的主要功能

■運輸層為應用進程之間提供端到端的邏輯通信(

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

■運輸層還要對收到的報文進行差錯檢測。

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

的TCP和無連接的UDP。

網(wǎng)絡(luò)與信息安全教研室-陳國順

1M成

兩種不同的運輸協(xié)議

■運輸層向高層用戶屏蔽了下面網(wǎng)絡(luò)核心的細節(jié)(如

網(wǎng)絡(luò)拓撲、所采用的路由選擇協(xié)議等),它使應用

進程看見的就是好像在兩個運輸層實體之間有一條

端到端的邏輯通信信道。

■當運輸層采用面向連接的TCP協(xié)議時,盡管下面的

網(wǎng)絡(luò)是不可靠的(只提供盡最大努力服務),但這

種邏輯通信信道就相當于一條全雙工的可靠信道。

■當運輸層采用無連接的UDP協(xié)議時,這種邏輯通信

信道是一條不可靠信道。

網(wǎng)絡(luò)與信息安全教研室-陳國順

5ZL2運輸層的兩個主要協(xié)議

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

⑴用戶數(shù)據(jù)報協(xié)議UDP(User

DatagramProtocol)

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

Protocol)

網(wǎng)絡(luò)與信息安全教研室-陳國順

TCP-MUDP

■兩個對等運輸實體在通信時傳送的數(shù)據(jù)單位叫作運

輸協(xié)議數(shù)據(jù)單元TPDU(TransportProtocolDataUnit)。

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

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

O

網(wǎng)絡(luò)與信息安全教研室-陳國順

TCPAP體系中的運輸層協(xié)議

應用層

運輸層UDPTCP

IP

與各種網(wǎng)絡(luò)接口

網(wǎng)絡(luò)與信息安全教研室-陳國順

TCP-MUDP

■UDP在傳送數(shù)據(jù)之前不需要先建立連接。對方的運

輸層在收到UDP報文后,不需要給出任何確認。雖

然UDP不提供可靠交付,但在某些情況下UDP是一

種最有效的工作方式。

■TCP則提供面向連接的服務。TCP不提供廣播或多播

服務。由于TCP要提供可靠的、面向連接的運輸服

務,因此不可避免地增加了許多的開銷。這不僅使

協(xié)議數(shù)據(jù)單元的首部增大很多,還要占用許多的處

理機資源。

網(wǎng)絡(luò)與信息安全教研室-陳國順

還要強調(diào)兩點

■運輸層的UDP用戶數(shù)據(jù)報與網(wǎng)際層的IP數(shù)據(jù)報有很

大區(qū)別。IP數(shù)據(jù)報要經(jīng)過互連網(wǎng)中許多路由器的存

儲轉(zhuǎn)發(fā),但UDP用戶數(shù)據(jù)報是在運輸層的端到端抽

象的邏輯信道中傳送的。

■TCP報文段是在運輸層抽象的端到端邏輯信道中傳送

,這種信道是可靠的全雙工信道。但這樣的信道卻

不知道究竟經(jīng)過了哪些路由器,而這些路由器也根

本不知道上面的運輸層是否建立了TCP連接。

網(wǎng)絡(luò)與信息安全教研室-陳國順

■運行在計算機中的進程是用進程標識符來標志的。

■運行在應用層的各種應用進程卻不應當讓計算機操作

系統(tǒng)指派它的進程標識符。這是因為在因特網(wǎng)上使用

的計算機的操作系統(tǒng)種類很多,而不同的操作系統(tǒng)又

使用不同格式的進程標識符。

■為了使運行不同操作系統(tǒng)的計算機的應用進程能夠互

相通信,就必須用統(tǒng)一的方法對TCPAP體系的應用進

程進行標志。

網(wǎng)絡(luò)與信息安全教研室-陳國順

需要解決的問題

■由于進程的創(chuàng)建和撤銷都是動態(tài)的,發(fā)送方幾乎無

法識別其他機器上的進程。

■有時我們會改換接收報文的進程,但并不需要通知

所有發(fā)送方。

■我們往往需要利用目的主機提供的功能來識別終點

,而不需要知道實現(xiàn)這個功能的進程。

網(wǎng)絡(luò)與信息安全教研室-陳國順

端口#(protocolportnumber)

簡稱為端口(port)

■解決這個問題的方法就是在運輸層使用協(xié)議端口號

(protocolportnumber),或通常簡稱為端I(port)。

■雖然通信的終點是應用進程,但我們可以把端口想

象是通信的終點,因為我們只要把要傳送的報文交

到目的主機的某一個合適的目的端口,剩下的工作

(即最后交付目的進程)就由TCP來完成。

網(wǎng)絡(luò)與信息安全教研室-陳國順

軟件端口與硬件端口

■在協(xié)議棧層間的抽象的協(xié)議端口是軟件端口。

■路由器或交換機上的端口是硬件端口。

■硬件端口是不同硬件設(shè)備進行交互的接口,而軟件

端口是應用層的各種協(xié)議進程與運輸實體進行層間

交互的一種地址。

網(wǎng)絡(luò)與信息安全教研室-陳國順

TCPiwn

■端口用一個16位端口號進行標志。

■端口號只具有本地意義,即端口號只是為了標志本計

算機應用層中的各進程。在因特網(wǎng)中不同計算機的相

同端口號是沒有聯(lián)系的。

網(wǎng)絡(luò)與信息安全教研室-陳國順

三類端口

■熟知端口,數(shù)值一般為07023。

■登記端口號,數(shù)值為1024~49151,為沒有熟知端口號

的應用程序使用的。使用這個范圍的端口號必須在

IANA登記,以防止重復。

■客戶端口號或短暫端口號,數(shù)值為49152—65535,留

給客戶進程選擇暫時使用。當服務器進程收到客戶

進程的報文時,就知道了客戶進程所使用的動態(tài)端

口號。通信結(jié)束后,這個端口號可供其他客戶進程

以后使用。

網(wǎng)絡(luò)與信息安全教研室-陳國順

5.2用戶數(shù)據(jù)報協(xié)議UDP

5.2.1UDP概述

■UDP只在IP的數(shù)據(jù)報服務之上增加了很少一點的

功能,即端口的功能和差錯檢測的功能。

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

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

網(wǎng)絡(luò)與信息安全教研室-陳國順

UDP的主要特點

■UDP是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接

O

■UDP使用盡最大努力交付,即不保證可靠交付,同

時也不使用擁塞控制。

■UDP是面向報文的。UDP沒有擁塞控制,很適合多

媒體通信的要求。

■UDP支持一對一、一對多、多對一和多對多的交互

通信。

■UDP的首部開銷小,只有8個字節(jié)。

網(wǎng)絡(luò)與信息安全教研室-陳國順

<M<XBUDP

■發(fā)送方UDP對應用程序交下來的報文,在添加首部

后就向下交付IP層。UDP對應用層交下來的報文,

既不合并,也不拆分,而是保留這些報文的邊界。

■應用層交給UDP多長的報文,UDP就照樣發(fā)送,即

一次發(fā)送一個報文。

■接收方UDP對IP層交上來的UDP用戶數(shù)據(jù)報,在去

除首部后就原封不動地交付上層的應用進程,一次

交付一個完整的報文。

■應用程序必須選擇合適大小的報文。

網(wǎng)絡(luò)與信息安全教研室-陳國順

UDP是面向報文的

應用層報文應用層

UDP首部UDP用戶數(shù)「報的數(shù)據(jù)部分運輸層

網(wǎng)絡(luò)與信息安全教研室-陳國順

5J2UDP的首部格式

字節(jié)44112

源IP地址目的IP地址017UDP長度

字節(jié)122222

「曲贏一|源端口|目的端口|長度|檢瞼和

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

發(fā)送在前_______

首部數(shù)據(jù)

-----------------------------IP數(shù)據(jù)報

網(wǎng)絡(luò)與信息安全教研室-陳國順

(六)汴1函.<*M戌

,匚-m…二I?■'!::!?!.->工£1:.:一

UDP基于端口的分用

IP層

網(wǎng)絡(luò)與信息安全教研室-陳國順

用戶數(shù)據(jù)報UDP有兩個字段:數(shù)據(jù)字段和首部

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

每個字段都是兩個字節(jié)。

字節(jié)44112

源IP地址目的IP地址017UDP長度

字節(jié)122222

「曲曾而-]源端口|目的端口|長度|檢驗和[

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

發(fā)送在前_______

首部數(shù)寸據(jù)

-----------------------------IP數(shù)據(jù)報

在計算檢驗和時,臨時把“偽首部”和UDP用戶數(shù)據(jù)

報連接在一起。偽首部僅僅是為了計算檢驗和。

字節(jié)44112

源IP地址目的IP地址017UDP長度

字節(jié)12_2222

[偽首部]源端口|目的端口|長度|檢驗和

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

發(fā)送在前_______

首部一—據(jù)

-----------------------------IP數(shù)據(jù)報

計算UDP檢驗和的例子

1001100100010011—153.19

153.19.8.1040000100001101000—8.104

12字節(jié)

1010101100000011->171.3

偽首部171.3.14.11

全017150000111000001011->14.11

8字節(jié)1087130000000000010001-0和17

UDP首部“15全00000000000001111—15

0000010000111111T1087

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

0000000000001101—13

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

0000000000001111T15

填充0000000000000000一0(檢驗和)

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

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

0100100101001110-數(shù)據(jù)

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

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

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

5.3傳輸控制協(xié)議TCP概述

5.3.1TCP最主要的特點

■TCP是面向連接的運輸層協(xié)議。

■每一條TCP連接只能有兩個端點(endpoint),每一

條TCP連接只能是點對點的(一對一)。

■TCP提供可靠交付的服務。

■TCP提供全雙工通信。

■面向字節(jié)流。

網(wǎng)絡(luò)與信息安全教研室-陳國順

(帚I)海I28總戌

,匚-m…?二L1?-'I工£廠一.:」*:。?

TCP面向流的概念

/7IL

網(wǎng)絡(luò)與信息安全教研室-陳國順

應當注意

■TCP連接是一條虛連接而不是一條真正的物理連接。

■TCP對應用進程一次把多長的報文發(fā)送到TCP的緩存

中是不關(guān)心的。

■TCP根據(jù)對方給出的窗口值和當前網(wǎng)絡(luò)擁塞的程度來

決定一個報文段應包含多少個字節(jié)(UDP發(fā)送的報文

長度是應用進程給出的)。

■TCP可把太長的數(shù)據(jù)塊劃分短一些再傳送。TCP也可

等待積累有足夠多的字節(jié)后再構(gòu)成報文段發(fā)送出去。

網(wǎng)絡(luò)與信息安全教研室-陳國順

5.3.2TCP的連接

■TCP把連接作為最基本的抽象。

■每一條TCP連接有兩個端點。

■TCP連接的端點不是主機,不是主機的IP地址,不是

應用進程,也不是運輸層的協(xié)議端口。TCP連接的端

點叫做套接字(socket)或插口。

■端口號并接至?(contatenatedwith)IP地址即構(gòu)成了套接

字。

網(wǎng)絡(luò)與信息安全教研室-陳國順

套接字(socket)

套接字socket=(IP地址:端口號)(5-1)

■每一條TCP連接唯一地被通信兩端的兩個端點(即兩

個套接字)所確定。即:

TCP連接::={socketl,socket2}

={(IP1:port1),(IP2:port2)}(5-2)

網(wǎng)絡(luò)與信息安全教研室-陳國順

M戌

同一個名詞socket

有多種不同的意思

■應用編程接口API稱為socketAPI,簡稱為socketo

■socketAPI中使用的一個函數(shù)名也叫作socket。

■調(diào)用socket函數(shù)的端點稱為socketo

■調(diào)用socket函數(shù)時其返回值稱為socket描述符,

可簡稱為socketo

■在操作系統(tǒng)內(nèi)核中連網(wǎng)協(xié)議的Berkeley實現(xiàn),稱

為socket實現(xiàn)。

網(wǎng)絡(luò)與信息安全教研室-陳國順

54可靠傳輸?shù)墓ぷ髟?/p>

5.4.1停止等待協(xié)議

■在發(fā)送完一個分組后,必須暫時保留已發(fā)送的分組

的副本。

■分組和確認分組都必須進行編號。

■超時計時器的重傳時間應當比數(shù)據(jù)在分組傳輸?shù)钠?/p>

均往返時間更長一些。

網(wǎng)絡(luò)與信息安全教研室-陳國順

確認丟失和確認遲到

:白

可靠通信的實現(xiàn)

■使用上述的確認和重傳機制,我們就可以在不可靠

的傳輸網(wǎng)絡(luò)上實現(xiàn)可靠的通信。

■這種可靠傳輸協(xié)議常稱為自動重傳請求ARQ

(AutomaticRepeatreQuest)□

■ARQ表明重傳的請求是自動進行的。接收方不需要

請求發(fā)送方重傳某個出錯的分組。

網(wǎng)絡(luò)與信息安全教研室-陳國順

信道利用率

網(wǎng)絡(luò)與信息安全教研室-陳國順

TD+RTT+T/

網(wǎng)絡(luò)與信息安全教研室-陳國順

(M)海,工也"話成

s

-IrI::!?!----J'*<.t.J1f:i1?-'

________________流水線傳輸

■發(fā)送方可連續(xù)發(fā)送多個分組,不必每發(fā)完一個分組

就停頓下來等待對方的確認。

■由于信道上一直有數(shù)據(jù)不間斷地傳送,這種傳輸方

式可獲得很高的信道利用率。

網(wǎng)絡(luò)與信息安全教研室-陳國順

542連續(xù)ARQ協(xié)議

網(wǎng)絡(luò)與信息安全教研室-陳國順

累積確認

■接收方一般采用累積確認的方式。即不必對收到的分

組逐個發(fā)送確認,而是對按序到達的最后一個分組發(fā)

送確認,這樣就表示:到這個分組為止的所有分組都

已正確收到了。

■累積確認有的優(yōu)點是:容易實現(xiàn),即使確認丟失也不

必重傳。缺點是:不能向發(fā)送方反映出接收方已經(jīng)正

確收到的所有分組的信息。

網(wǎng)絡(luò)與信息安全教研室-陳國順

Go-back-N(回退N)

■如果發(fā)送方發(fā)送了前5個分組,而中間的第3個分組

丟失了。這時接收方只能對前兩個分組發(fā)出確認。

發(fā)送方無法知道后面三個分組的下落,而只好把后

面的三個分組都再重傳一次。

■這就叫做Go?back?N(回退N),表示需要再退回來

重傳已發(fā)送過的N個分組。

■可見當通信線路質(zhì)量不好時,連續(xù)ARQ協(xié)議會帶來

負面的影響。

網(wǎng)絡(luò)與信息安全教研室-陳國順

TCP可靠通信的具體實現(xiàn)

■TCP連接的每一端都必須設(shè)有兩個窗口—一個發(fā)送

窗口和一個接收窗口。

■TCP的可靠傳輸機制用字節(jié)的序號進行控制。TCP所

有的確認都是基于序號而不是基于報文段。

■TCP兩端的四個窗口經(jīng)常處于動態(tài)變化之中。

■TCP連接的往返時間RTT也不是固定不變的。需要使

用特定的算法估算較為合理的重傳時間。

網(wǎng)絡(luò)與信息安全教研室-陳國順

32位

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

發(fā)送在前

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

層與應用層的服務接口。運輸層的復用和分用功能都

要通過端口才能實現(xiàn)。

中的每一個字節(jié)都編上一個序號。序號字段的值則指

的是本報文段所發(fā)送的數(shù)據(jù)的第一個字節(jié)的序號。

位O8X6d

-24i

L」

源端口目的端口

序2O

節(jié)

]確認號立

1口

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

保留RCSY窗口

偏移GKHN

檢驗和緊急指針f

.選項(長度可變)填充

確認號字段——占4字節(jié),是期望收到對方的下一個

報文段的數(shù)據(jù)的第一個字節(jié)的序號。

數(shù)據(jù)偏移(即首部長度)——占4位,它指出TCP報文

段的數(shù)據(jù)起始處距離TCP報文段的起始處有多遠。“數(shù)

據(jù)偏移”的單位是32位字(以4字節(jié)為計算單位)。

位08162431

A

源端口目的端口

序號2

o

確認號固-++-

CP首

TC部

首TI

數(shù)據(jù)11uAPRSF

巖爹1保留kCsSY1窗口

偏移][GKHTNN

檢驗和緊急指針

選項(長度可變)填充

保留字段一一占6位,保留為今后使用,但目前

應置為Oo

位08162431

A

源端口目的端口

序號2

o

確認號固-++-

CP首

TC部

首TI

囂保留滕科花

窗口

1扁移|G|KHTNN

檢驗和緊急指針

選項(長度可變)填充

緊急URG—當URG=1時,表明緊急指針字

段有效。它告訴系統(tǒng)此報文段中有緊急數(shù)據(jù),應盡

快傳送(相當于高優(yōu)先級的數(shù)據(jù))。

位08162431

A

源端口目的端口

序號2

o

確認號固-++-

CP首

TC部

首TI

囂保留熊辟.

窗口

1扁移qK|HTNN

檢驗和緊急指針

選項(長度可變)填充

確認ACK——只有當ACK=1時確認號字段才

有效。當ACK=O時,確認號無效。

位08162431

A

源端口目的端口

序號2

o

確認號固-++-

CP首

TC部

首TI

器保留"糖皆

窗口

1扁移G巾H|TNh

檢驗和緊急指針

選項(長度可變)填充

推送PSH(PuSH)—才妾收TCP收至ijPSH=1的報

文段,就盡快地交付接收應用進程,而不再等到整個

緩存都填滿了后再向上交付。

位08162431

A

源端口目的端口

序號2

o

確認號固-++-

CP首

TC部

首TI

器保留懿器融

窗口

1桶》多GKh|T]NN

檢驗和緊急指針

選項(長度可變)填充

復位RST(ReSeT)—當RST=1時,表明TCP連

接中出現(xiàn)嚴重差錯(如由于主機崩潰或其他原因),必

須釋放連接,然后再重新建立運輸連接。

位08162431

A

源端口目的端口

序號2

o

確認號固-++-

CP首

TC部

首TI

數(shù)據(jù)UAPIS|F

置蒙保留RcSiY|I窗口

偏移GKH1Njh

檢驗和緊急指針

選項(長度可變)填充

同步SYN——同步SYN=1表示這是一個連接請

求或連接接受報文。

終止FIN(FINis)——用來釋放一個連接。FIN=1

表明此報文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋

放運輸連接。

A

o

2

節(jié)

窗口字段一占2字節(jié),用來讓對方設(shè)置發(fā)送窗口的依據(jù),單位為字節(jié)。

檢驗和----占2字節(jié)。檢驗和字段檢驗的范圍包括

首部和數(shù)據(jù)這兩部分。在計算檢驗和時,要在TCP

報文段的前面加上12字節(jié)的偽首部。

緊急指針字段——占16位,指出在本報文段中緊

急數(shù)據(jù)共有多少個字節(jié)(緊急數(shù)據(jù)放在本報文段數(shù)

據(jù)的最前面)。

MSS(MaximumSegmentSize)

是TCP報文段中的數(shù)據(jù)字段的最大長度。

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

才等于整個的TCP報文段。

選項(長度可變)I填充

選項字段——長度可變。TCP最初只規(guī)定了一種選

項,即最大報文段長度MSSoMSS告訴對方TCP:

“我的緩存所能接收的報文段的數(shù)據(jù)字段的最大長

度是MSS個字節(jié)?!?/p>

其他選項

■窗口擴大選項——占3字節(jié),其中有一個字節(jié)表示

移位值S。新的窗口值等于TCP首部中的窗口位數(shù)

增大到(16+S),相當于把窗口值向左移動S位后獲

得實際的窗口大小。

■時間戳選項一占10字節(jié),其中最主要的字段時間

戳值字段(4字節(jié))和時間戳回送回答字段(4字

節(jié))。

■選擇確認選項——在后面的563節(jié)介紹。

網(wǎng)絡(luò)與信息安全教研室-陳國順

2o

節(jié)

f

填充字段這是為了使整個首部長度是4字節(jié)的

整數(shù)倍。

55TCP可靠傳輸?shù)膶崿F(xiàn)T

5.6.1以字節(jié)為單位的滑動窗口

根據(jù)B給出的窗口值

A構(gòu)造出自己的發(fā)送窗口

后沿前沿

<——I——》>

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

!—!.1諄與士

I—>ZII[工ytZ-M\J?i—?

收到確認曰

收至

網(wǎng)絡(luò)與信息安全教研室-陳國順

A發(fā)送了11個字節(jié)的數(shù)據(jù)

------------------A的發(fā)送窗口位置不變---------------

可用窗口

X

國國國回回回32回mu國國國

已發(fā)送并廣[不允許發(fā)送

已發(fā)送但未收到確認[允許發(fā)送但尚未發(fā)送

收到確認

Pi

1------------------------------B的接收窗口-----------------

的發(fā)送窗口向前滑動----?

國國國回回回回回國國園

已發(fā)送并收到確認懷允許

T已發(fā)送允許發(fā)送但尚未發(fā)送I發(fā)送

P1但未收到確認

p2p3

B的接收窗口向前卞動??

國回國回回回回回國國叵|738)回40|阿陽阿悶網(wǎng)園回網(wǎng)回回阿園用回回園

已發(fā)送確認

允許接收

并交付主機

先存下,等待缺少的

數(shù)據(jù)的到達

A的發(fā)送窗口已滿,有效窗口為零

國國國畫回回國回國國防37網(wǎng)國網(wǎng)網(wǎng)明網(wǎng)|44|4目網(wǎng)庭網(wǎng)網(wǎng)園園園園|5455同

已發(fā)送并收到確認[不允許

已發(fā)送但未收到確認1±^、乎

I友達

Plp2

P3

發(fā)送緩存

網(wǎng)絡(luò)與信息安全教研室-陳國順

接收緩存

網(wǎng)絡(luò)與信息安全教研室-陳國順

■發(fā)送緩存用來暫時存放:

■接收緩存用來暫時存放:

網(wǎng)絡(luò)與信息安全教研室-陳國順

需要強調(diào)三點

■A的發(fā)送窗口并不總是和B的接收窗口一樣大(因為

有一定的時間滯后)。

■TCP標準沒有規(guī)定對不按序到達的數(shù)據(jù)應如何處理。

通常是先臨時存放在接收窗口中,等到字節(jié)流中所

缺少的字節(jié)收到后,再按序交付上層的應用進程。

■TCP要求接收方必須有累積確認的功能,這樣可以減

小傳輸開銷。

網(wǎng)絡(luò)與信息安全教研室-陳國順

5^62起時重傳時間的選擇

■重傳機制是TCP中最重要和最復雜的問題之一。

■TCP每發(fā)送一個報文段,就對這個報文段設(shè)置一次

計時器。只要計時器設(shè)置的重傳時間到但還沒有

收到確認,就要重傳這一報文段。

網(wǎng)絡(luò)與信息安全教研室-陳國順

往返時延的方差很大

■由于TCP的下層是一個互聯(lián)網(wǎng)環(huán)境,IP數(shù)據(jù)報所選

擇的路由變化很大。因而運輸層的往返時間的方差

也很大。

網(wǎng)絡(luò)與信息安全教研室-陳國順

(徐)冰1叫M波

5G〒,兇ul!ri£5il3*<<&3lUiiiii£i?

■TCP保留了RTT的一個加權(quán)平均往返時間RTTS(這又

稱為平滑的往返時間)。

■第一次測量到RTT樣本時,RTTs值就取為所測量到的

RTT樣本值。以后每測量到一個新的RTT樣本,就按

下式重新計算一次RTTs:

新的RTTs=(1—a)x(舊的RTTJ

_________+ax(新的RTT樣本)________(5-4)______

■式中,0?a<1。若a很接近于零,表示RTT值更新

較慢。若選擇a接近于1,則表示RTT值更新較快。

■RFC2988推薦的a值為1/8,即0.125。

網(wǎng)絡(luò)與信息安全教研室-陳國順

1函孝成

5G〒,兇u4l!r*i£5il3*<<&3lUiiiii£i?

RTQjR^tr^rni^i2nlini^^Qyt)

■RTO應略大于上面得出的加權(quán)平均往返時間RTTs。

■RFC2988建議使用下式計算RTO:

RTO=RTTS+4xRTTD(5-5)

■RTTD是RTT的偏差的加權(quán)平均值。

■RFC2988建議這樣計算RTTD。第一次測量時,RTTD

值取為測量到的RTT樣本值的一半。在以后的測量

中,則使用下式計算加權(quán)平均的RTTD:

新的RTTD=(1—P)X(舊的RTTJ

+px|RTTs-新的RTT樣本|(5?6)

■P是個小于1的系數(shù),其推薦值是1/4,即0.25。

網(wǎng)絡(luò)與信息安全教研室-陳國順

兇"Cl!PUIH?Biiihiinriia

往返時間的測量相當復雜____________

■TCP報文段1沒有收到確認。重傳(即報文段2)后

,收到了確認報文段ACK。

■如何判定此確認報文段是對原來的報文段1的確認

,還是對重傳的報文段2的確認?

■■■■■■■■■■■■■■■■■■?■是對哪一個報文段

超時重傳..........的確認?

發(fā)送_個.

TCP報文段TCP報文段收至UACK

12時間

匚------往返時間RTT?-------->

往返時間RTT?------------------------->

網(wǎng)絡(luò)與信息安全教研室-陳國順

KarnMM

■在計算平均往返時間RTT時,只要報文段重傳了,

就不采用其往返時間樣本。

■這樣得出的加權(quán)平均平均往返時間RTTs和超時重傳

時間RT。就較準確。

網(wǎng)絡(luò)與信息安全教研室-陳國順

BMMKarnMM

■報文段每重傳一次,就把RT。增大一些:

新的RTO=yx(舊的RTO)

,系數(shù)丫的典型值是2。

■當不再發(fā)生報文段的重傳時,才根據(jù)報文段的往返時

延更新平均往返時延RTT和超時重傳時間RTO的數(shù)值

O

■實踐證明,這種策略較為合理。

網(wǎng)絡(luò)與信息安全教研室-陳國順

563選擇確認SACK

(SelectiveACK)

■接收方收到了和前面的字節(jié)流不連續(xù)的兩個字節(jié)塊

O

■如果這些字節(jié)的序號都在接收窗口之內(nèi),那么接收

方就先收下這些數(shù)據(jù),但要把這些信息準確地告訴

發(fā)送方,使發(fā)送方不要再重復發(fā)送這些已收到的數(shù)

據(jù)。

網(wǎng)絡(luò)與信息安全教研室-陳國順

接收到的字節(jié)流序號不連續(xù)

L連續(xù)的字節(jié)流一?第一個字節(jié)塊第二個字節(jié)塊

1???1000???1501???3000???3501???4500

確認號=1001L1=1501R1=3001L2=35014=4501

?和前后字節(jié)不連續(xù)的每一個字節(jié)塊都有兩個邊界:

左邊界和右邊界。圖中用四個指針標記這些邊界。

?第一個字節(jié)塊的左邊界L〔二1501,但右邊界Ri=3001。

■左邊界指出字節(jié)塊的第一個字節(jié)的序號,但右邊界減1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論