計算機通信網(wǎng)絡(luò)之傳輸層_第1頁
計算機通信網(wǎng)絡(luò)之傳輸層_第2頁
計算機通信網(wǎng)絡(luò)之傳輸層_第3頁
計算機通信網(wǎng)絡(luò)之傳輸層_第4頁
計算機通信網(wǎng)絡(luò)之傳輸層_第5頁
已閱讀5頁,還剩126頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2013-12-051傳輸層本章重點:

理解傳輸層的主要作用及傳輸服務(wù);

TCP協(xié)議;2013-12-0521

傳輸層的概念傳輸層的任務(wù)是提供從源端到目的端可靠而有效的數(shù)據(jù)傳輸,能屏蔽低層網(wǎng)絡(luò)的差異。傳輸層協(xié)議沒有OSI網(wǎng)絡(luò)層協(xié)議復(fù)雜,因為它們只包括兩個端節(jié)點上的協(xié)調(diào),而無需象網(wǎng)絡(luò)層那樣整個路由上的所有節(jié)點的協(xié)調(diào)。網(wǎng)絡(luò)層可能提供并非十分可靠的網(wǎng)絡(luò)傳輸,傳輸層就是要在這種不十分可靠的網(wǎng)絡(luò)服務(wù)上,提供可靠的傳輸服務(wù)。2013-12-053傳輸層的概念傳輸層向它的上面的應(yīng)用層

提供服務(wù),它屬于面向通信

部分的最高層,同時也是用

戶功能中的最低層。在通信

子網(wǎng)中沒有傳輸層。傳輸層

只存在于通信子網(wǎng)以外的主

機中。傳輸層是整個協(xié)議層次結(jié)構(gòu)

的核心,它為高層屏蔽任何

與網(wǎng)絡(luò)有關(guān)的操作,傳輸層是端到端協(xié)議,與使用的網(wǎng)絡(luò)無關(guān)。傳輸層

應(yīng)用層

傳輸層

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

物理層用戶功能

網(wǎng)絡(luò)

功能面向信息處理

面向

通信2013-12-05傳輸層

4

4介于通信子網(wǎng)和資源子網(wǎng)之間,對高層用戶屏蔽了通信的細節(jié)彌補了通信子網(wǎng)所提供服務(wù)的差異和不足,提供端到端之間的無差錯保證傳輸層工作的簡繁取決于通信子網(wǎng)提供服務(wù)的類型資源子網(wǎng)通信子網(wǎng)傳輸?shù)氖褂谜邆鬏數(shù)奶峁┱邆鬏攲釉贠SI模型中的位置

應(yīng)用層表示層會話層傳輸層網(wǎng)絡(luò)層鏈路層物理層......2013-12-055傳輸層

端到端的通信:嚴格地講,兩個主機進行通信實際上就是兩個主

機中的應(yīng)用進程互相通信。IP協(xié)議雖然能把分組送到目的主機,

但是這個分組還停留在主機的網(wǎng)絡(luò)層而沒有交付給主機中的應(yīng)用

進程。由于通信的兩個端點是源主機和目的主機中的應(yīng)用進程,

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

Internet

IP作用范圍TCP和UDP作用范圍2013-12-05傳輸層

6

6傳輸層與上下層之間的關(guān)系傳輸層使高層用戶看見的好象就在兩個傳輸層實體之間有一條端到端的、可靠的、全雙工的通信通道(即數(shù)字管道)應(yīng)用/傳輸接口

傳輸實體網(wǎng)絡(luò)地址

網(wǎng)絡(luò)層

主機1應(yīng)用(或會話層)

傳輸?shù)刂?/p>

主機2應(yīng)用(或會話層)

TPDU

傳輸協(xié)議

傳輸/網(wǎng)絡(luò)接口網(wǎng)絡(luò)層、傳輸層和應(yīng)用層傳輸實體

網(wǎng)絡(luò)層端口

運輸層提供應(yīng)用進程間的邏輯通信運輸層為相互通信的應(yīng)用進程提供了

邏輯通信54321主機

A主機

B應(yīng)用進程

應(yīng)用進程路由器

1路由器

2LAN2WAN

AP1AP2AP3AP4IP

層LAN1AP1

AP2端口AP4

54321

IP

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

TCP

UDP

的作用范圍AP3應(yīng)用進程之間的通信兩個主機進行通信實際上就是兩個主機中的應(yīng)用進程互相通信。應(yīng)用進程之間的通信又稱為端到端的通信。運輸層的一個很重要的功能就是復(fù)用和分用。應(yīng)用層不同進程的報文通過不同的端口向下交到運輸層,再往下就共用網(wǎng)絡(luò)層提供的服務(wù)?!斑\輸層提供應(yīng)用進程間的邏輯通信”?!斑壿嬐ㄐ拧钡囊馑际牵哼\輸層之間的通信好像是沿水平方向傳送數(shù)據(jù)。但事實上這兩個運輸層之間并沒有一條水平方向的物理連接。2013-12-059傳輸層

傳輸層協(xié)議和數(shù)據(jù)鏈路層協(xié)議非常相似,都必須進行順

序控制、差錯控制、流量控制等工作。

但由于運行的環(huán)境不同,兩者的具體操作是大不相同。

傳輸層的端到端之間經(jīng)過一個復(fù)雜的、具有存儲能力的

通信子網(wǎng),使得其在尋址、連接的管理、控制協(xié)議等方

面都非常復(fù)雜。傳輸層

102013-12-05傳輸協(xié)議的要素傳輸層與數(shù)據(jù)鏈路層的比較相同點:

可靠的數(shù)據(jù)傳輸不同點:

數(shù)據(jù)鏈路層通過物理通道直接通信,而在傳輸層,其

面對的傳輸通道是一個網(wǎng)絡(luò)

數(shù)據(jù)鏈路層的連接建立很簡單,而傳輸層要復(fù)雜得多

數(shù)據(jù)鏈路層的通信是點對點的,每條輸出線對應(yīng)了唯

一的一個設(shè)備,而傳輸層則需要給出目的端地址

在數(shù)據(jù)鏈路層無中間存儲環(huán)節(jié),而在傳輸層,每一途

經(jīng)的路由器都必須存儲、尋徑、轉(zhuǎn)發(fā),而尋徑到轉(zhuǎn)發(fā)

的時間隨路由器本身的性能和路由算法而定

數(shù)據(jù)鏈路層通常使用一對發(fā)送緩沖區(qū)和接收緩沖區(qū),

而在傳輸層,對每個連接都必須分配一定的緩沖區(qū),

其緩沖區(qū)的管理將復(fù)雜得多TCP/IP

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

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

UDP(User

Datagram

Protocol)(2)

傳輸控制協(xié)議

TCP(Transmission

Control

Protocol)運輸層的兩個主要協(xié)議兩個對等運輸實體在通信時傳送的數(shù)據(jù)單位叫作運輸協(xié)議數(shù)據(jù)單元

TPDU

(Transport

ProtocolData

Unit)。TCP

傳送的數(shù)據(jù)單位協(xié)議是

TCP

報文段(segment)

UDP

傳送的數(shù)據(jù)單位協(xié)議是

UDP

報文或用戶數(shù)據(jù)報。TCP

UDP應(yīng)用層UDPTCPIP與各種網(wǎng)絡(luò)接口TCP/IP

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

UDPUDP

在傳送數(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ā),但UDP用戶數(shù)據(jù)報是在運輸層的端到端抽象的邏輯信道中傳送的。TCP

報文段是在運輸層抽象的端到端邏輯信道中傳送,這種信道是可靠的全雙工信道。但這樣的信道卻不知道究竟經(jīng)過了哪些路由器,而這些路由器也根本不知道上面的運輸層是否建立了

TCP

連接。2013-12-05161.1

傳輸層的功能會話層實體向傳輸層實體提出進程間通信所需要的傳輸條件方面的請求,這種請求用傳輸連接建立服務(wù)原語中的服務(wù)質(zhì)量(QoS)參數(shù)來傳遞。傳輸層就需要事先知道網(wǎng)絡(luò)連接的服務(wù)質(zhì)量,并根據(jù)不同的網(wǎng)絡(luò)服務(wù)質(zhì)量來定義相匹配的傳輸服務(wù)和協(xié)議等級,以便最佳地利用網(wǎng)絡(luò)通信資源來向上提供統(tǒng)一質(zhì)量的傳輸服務(wù)。若通信子網(wǎng)所提供的服務(wù)越多,傳輸協(xié)議就可以設(shè)計得越簡單;反之,若通信子網(wǎng)所提供的服務(wù)越少,傳輸協(xié)議就必然越復(fù)雜。傳輸層

172013-12-05傳輸層提供的服務(wù)面向連接的服務(wù):通信可靠,對數(shù)據(jù)有校驗和重發(fā)如TCP/IP模型中應(yīng)用層協(xié)議FTP、Telnet等面向非連接的服務(wù):對數(shù)據(jù)無校驗和重發(fā),通信速率高如TCP/IP模型中應(yīng)用層協(xié)議SNMP、DNS等18

傳輸層

網(wǎng)絡(luò)服務(wù)類型,ISO定義的3種網(wǎng)絡(luò)服務(wù)如下:

A型網(wǎng)絡(luò)服務(wù):A型網(wǎng)絡(luò)提供的服務(wù)本質(zhì)上很完善,其分組丟

失率、重復(fù)或篡改的概率可以忽略。A型網(wǎng)絡(luò)僅需要盡可能

簡單的傳輸層協(xié)議,如局域網(wǎng)的服務(wù)接近A型網(wǎng)絡(luò)。

B型網(wǎng)絡(luò)服務(wù):B型網(wǎng)絡(luò)提供的服務(wù)具有可接受的殘留差錯率

和不可接受的被告知的故障率。如X.25。

C型網(wǎng)絡(luò)服務(wù):C型網(wǎng)絡(luò)提供的服務(wù)相當(dāng)不可靠,具有不可接

受的殘留差錯率和不可接受的被告知的故障率。如無連接的

分組交換網(wǎng)。

可見,網(wǎng)絡(luò)服務(wù)質(zhì)量的劃分是以用戶要求為依據(jù)的.若用戶要求比

較高,則一個網(wǎng)絡(luò)可能歸于C型;反之,則一個網(wǎng)絡(luò)可能歸于B

型甚至A型。例如,對于某個電子郵件系統(tǒng)來說,每周丟失一

個分組的網(wǎng)絡(luò)也許可算做A型;而同一個網(wǎng)絡(luò)對銀行系統(tǒng)來說

則只能算作C行了。三種類型的網(wǎng)絡(luò)服務(wù)中,A型服務(wù)質(zhì)量最高,B型網(wǎng)2013-12-05絡(luò)服務(wù)質(zhì)量次之,C型網(wǎng)絡(luò)服務(wù)質(zhì)量最差。2013-12-0519傳輸層

傳輸層協(xié)議類型

傳輸協(xié)議類0(TP0):支持A型網(wǎng)絡(luò),實現(xiàn)分段和重

組(segmentation

and

reassembly)功能。TP0先識

別底層網(wǎng)絡(luò)支持的最大協(xié)議數(shù)據(jù)單元(PDU)的最小值

的大小,根據(jù)此對數(shù)據(jù)包進行分段,然后數(shù)據(jù)包段在

接收端再進行重組。

傳輸協(xié)議類1(TP1):支持B型網(wǎng)絡(luò),執(zhí)行分段和重

組和差錯恢復(fù)功能。TP1對協(xié)議數(shù)據(jù)單元(PDU)進行

排序。如果有太多的

PDU

沒有獲得確認響應(yīng),將重發(fā)

PDU或重新啟動連接。

傳輸協(xié)議類2(TP2):支持A型網(wǎng)絡(luò),實現(xiàn)分段和重

組,以及單一虛擬電路上的數(shù)據(jù)流多路復(fù)用技術(shù)和解

除復(fù)用技術(shù)(demultiplexing)等功能。2013-12-0520傳輸層

傳輸協(xié)議類

3(TP3):支持B型網(wǎng)絡(luò),提供差錯恢復(fù)、

分段和重組、以及單一虛擬電路上的數(shù)據(jù)流復(fù)用技術(shù)和

解除復(fù)用技術(shù)等功能。TP3

也支持協(xié)議數(shù)據(jù)單元排序操

作。如果有太多的

PDU

沒有獲得確認響應(yīng),將重發(fā)

PDU

或重新啟動連接。

傳輸協(xié)議類

4(TP4):支持C類網(wǎng)絡(luò),提供差錯恢復(fù)功

能,實現(xiàn)分段和重組處理,并支持單一虛擬電路上的數(shù)

據(jù)流復(fù)用技術(shù)和解除復(fù)用技術(shù)。TP4

也支持協(xié)議數(shù)據(jù)單

元排序操作。如果有太多

PDU

沒有獲得確認響應(yīng),將重

發(fā)

PDU

或重新啟動連接。TP4

能提供可靠傳輸服務(wù)和功

能,既支持面向連接網(wǎng)絡(luò)服務(wù),也支持無連接網(wǎng)絡(luò)服務(wù)。

TP4

OSI

傳輸協(xié)議中使用最為普遍的,它類似于

TCP/IP

協(xié)議集中的傳輸控制協(xié)議

(TCP)。2013-12-0521傳輸層

從傳輸層協(xié)議類

0

到傳輸層協(xié)議類

4

(TP0、

TP1、TP2、

TP3

TP4),協(xié)議復(fù)雜性依次

遞增。TP0-3

只適用于面向連接通信,在該通信

方式下,任何數(shù)據(jù)發(fā)送之前,必須先建立會話連

接;而

TP4

既可以用于面向連接通信也可以用

于無連接通信。2013-12-0522傳輸協(xié)議類別(1)0類協(xié)議(TP0):簡單類(2)1類協(xié)議(TP1):基本差錯修復(fù)類(3)2類協(xié)議(TP2):復(fù)用類(4)3類協(xié)議(TP3):差錯修復(fù)和復(fù)用類(5)4類協(xié)議(TP4):差錯檢測和修復(fù)、復(fù)用傳輸協(xié)議類別網(wǎng)絡(luò)服務(wù)類型基本功能TP0A建立連接TP1B基本差錯修復(fù)TP2A復(fù)用TP3B差錯修復(fù)與復(fù)用TP4C差錯檢測與修復(fù),復(fù)用2013-12-0523OSI傳輸協(xié)議類別與網(wǎng)絡(luò)服務(wù)之間的匹配關(guān)系2013-12-05242

傳輸層處理的獨特問題8.2.1

端到端差錯控制標(biāo)準(zhǔn)傳輸層協(xié)議的重點是要防止低層網(wǎng)絡(luò)在復(fù)位、清除、重啟動之后使數(shù)據(jù)丟失。傳輸層要負責(zé)處理低層無法消除了差錯。例如:在網(wǎng)絡(luò)層,IP數(shù)據(jù)報頭部的校驗和字段,只對頭部信息進行差錯檢驗,而不檢查數(shù)據(jù)部分8.2.2

端到端傳輸連接管理傳輸層連接管理的基本方法是基于“握手”規(guī)程和基于定時器的兩種方法的組合。由于網(wǎng)絡(luò)時延的不可預(yù)測性,使得傳輸層的連接管理變得更加復(fù)雜兩種機制的組合能保證某種類型的分組或標(biāo)識符在它們存在于系統(tǒng)的最大時間內(nèi)都是唯一的。傳輸層

252013-12-05連接建立通信子網(wǎng)的不可靠性通信子網(wǎng)中存在著延時和分組的丟失,以及由于延時和丟失而帶來的重復(fù)分組由于通信子網(wǎng)的盡力而為的傳輸原則,一個早已超時的分組最終還是到達了目的端,所以有必要將分組的生命周期限制在一個適當(dāng)?shù)姆秶鷥?nèi)連接建立時,如何處理過期分組,保證連接的唯一性是連接建立過程中首要考慮的問題常用的方法是:

三次握手法26節(jié)點A節(jié)點B0,

OPEN超時0,ACK0,

OPEN1,ACK0,

Data

1

1,ACK12,ACK1,

Data

2

2,ACK1,

Data

2

2,ACK23,ACK2,

CLOSE3,ACK3,

CLOSE

0,

OPEN

0,ACK0,

OPEN

0,ACK0,

Data

1

1,ACK12,ACK22,ACK1,

Data

2連接建立數(shù)據(jù)正確接收數(shù)據(jù)延遲,超時重發(fā)重發(fā)數(shù)據(jù)正確接收連接關(guān)閉連接再次建立數(shù)據(jù)正確接收延遲的數(shù)據(jù)被正確接收作為重復(fù)數(shù)據(jù)丟棄

兩次握手方式建立連接的問題示例2013-12-05兩次握手:第一次連接使用階段中發(fā)送的分組由于不可預(yù)測的時延出現(xiàn)在了第二次連接中,被當(dāng)作一個新的分組而接收下來,而真正的新分組卻被當(dāng)作重復(fù)分組丟棄掉。節(jié)點A節(jié)點B

時2013-12-05

0,

OPEN,

ID#10,ACK0,

ID#1,

OPEN,

ID#21,ACK0,

ID#2,

Data

1,

ID#1

1,ACK1,

ID#1連接建立啟動連接建立完成,數(shù)據(jù)正確接收數(shù)據(jù)延遲,超時重發(fā)重發(fā)數(shù)據(jù)正確接收連接關(guān)閉連接再次建立啟動連接建立完成,數(shù)據(jù)正確接收延遲的數(shù)據(jù)被丟棄數(shù)據(jù)正確接收

27

2,ACK1,

ID#2,

Data

2,

ID#1

2,ACK1,

ID#2,

Data

2,

ID#1

2,ACK2,

ID#1

3,ACK2,

ID#2,

CLOSE,

ID#1

3,ACK3,

ID#1,

CLOSE,

ID#2

0,

OPEN,

ID#3

0,ACK0,

ID#3,

OPEN,

ID#41,ACK0,

ID#4,

Data

1,

ID#3

1,ACK1,

ID#32,ACK1,

ID#4,

Data

2,

ID#3

2,ACK2,

ID#3

三次握手方式建立連接示例傳輸層

28連接建立過程正常的三次握手過程非正常的連接建立過程

2013-12-05由延遲而重復(fù)的TPDU的連接過程同時出現(xiàn)作廢的CR和ACC的情況傳輸層

292013-12-05正常的連接建立過程正常連接的三次握手過程t主機1主機2(a)正常操作

主機1發(fā)出的連接請求序號為

x(seq=x),主機2應(yīng)答接受主機1的

連接請求,并聲明自己的序列號為

y(seq=y,ACK=x),主機1收到確認

后發(fā)送第一個數(shù)據(jù)TPDU并確認主

機2的序列號(seq=x,ACK=y),至

此,整個連接建立過程正常結(jié)束,

數(shù)據(jù)傳輸已正式開始CR:Connection

Request(連接請求)

ACC:Connection

Accepted(接受連接)采用三次握手方法建立的正常情況2013-12-05傳輸層

30非正常的連接建立過程1出現(xiàn)延遲的重復(fù)TPDU時三次握手的工作過程來自一個已經(jīng)釋放連接的主機1的延時重復(fù)的連接請求,該TPDU在主機1毫不知曉的情況下到達主機2,主機2通過向主機1發(fā)送一個接受連接請求的TPDU來響應(yīng)該TPDU,并聲明自己的序號為y(seq=y,ACK=x),主機1收到這個確認后感到莫名其妙并當(dāng)即拒絕,主機2收到了主機1

的拒絕才意識到自己受到了延時的重復(fù)TPDU的欺騙并放棄該連接,據(jù)此,延時的重復(fù)請求將不會產(chǎn)生不良后果t主機1主機2

(b)重復(fù)的CR突然出現(xiàn)采用三次握手建立的第二種情況舊的重復(fù)2013-12-05傳輸層

31非正常的連接建立過程2子網(wǎng)中同時有作廢的CR和ACC的情況與上例一樣,主機2收到了一個延時的CR并做了確認應(yīng)答,在這里,關(guān)鍵是要認識到主機2已經(jīng)聲明使用y作為從主機2到主機1進行數(shù)據(jù)傳輸?shù)某跏夹蛱?,因此主機2十分清楚在正常情況下,主機1的數(shù)據(jù)傳輸應(yīng)捎帶對y確認的TPDU,于是,當(dāng)?shù)诙€延時的TPDU到達主機2時,主機2根據(jù)它確認的是序號z而不是y知道這也是一個過時的重復(fù)TPDU,因此也不會無故建立無人要求的連接采用三次握手建立的第三種情況t主機1主機2(c)重復(fù)的CR和重復(fù)的ACK舊的重復(fù)傳輸層

32釋放連接

2013-12-05非對稱釋放一方中止連接,則連接即告中斷缺陷:可能導(dǎo)致數(shù)據(jù)丟失對稱釋放傳輸層

332013-12-05對稱釋放A提出中止請求,B同意即中止對稱釋放方式適用于每個用戶進程有固定數(shù)量的數(shù)據(jù)需要發(fā)送,而且清楚地知道何時發(fā)送完畢的情況其他情況下,決定所有工作是否已經(jīng)完成,連接是否應(yīng)該釋放,可能是沒有把握的可以假想一種完美的協(xié)議:

A說:“

我發(fā)送完了,你呢?”

如果B響應(yīng):“

我也發(fā)送完了,再見,”

A收到了B的確認,連接便可以被安全釋放傳輸層

342013-12-05對稱釋放的幾種情況三次握手的正常情況最后的確認TPDU丟失應(yīng)答丟失應(yīng)答丟失以及后續(xù)的DR丟失發(fā)送DR并傳輸層

35對稱釋放1

三次握手的連接正常釋放情況2013-12-05釋放連接發(fā)送ACK

發(fā)送DR并啟動計時器釋放連接

三次握手的正常情況

主機1

主機2

DR

啟動計時器DRACK主機1在結(jié)束數(shù)據(jù)傳輸后決定釋放連接,于是發(fā)送DR并啟動計時器,主機2在收到主機1

的DR后同意釋放連接,也發(fā)送DR并啟動計時器,主機1

在計時器沒有超時前收到主機2

的DR,便正式釋放連接并發(fā)送ACK,主機2也在計時器沒有超時前收到主機1

的ACK,于是也釋放了連接,至此整個數(shù)據(jù)傳輸過程,包括建立連接、傳輸數(shù)據(jù)和釋放連接的過程正常結(jié)束傳輸層

36最后的確2013-12-05

認TPDU丟失的情況主機2

主機1

發(fā)送DR并啟動計時器

釋放連接發(fā)送ACK

發(fā)送DR并啟動計時器DRDRACK丟失

┇(超時)釋放連接對稱釋放2最后的確認TPDU丟失主機1在結(jié)束數(shù)據(jù)傳輸后決定釋放連接,于是發(fā)送DR并啟動計時器,主機2在收到主機1

的DR后同意釋放連接,也發(fā)送DR并啟動計時器,主機1

在計時器沒有超時前收到主機2

的DR,便正式釋放連接并發(fā)送ACK,然而主機2在計時器超時后還未收到主機1

的ACK,但是由于已經(jīng)超時,于是也釋放了連接傳輸層

372013-12-05對稱釋放3應(yīng)答丟失主機1在結(jié)束數(shù)據(jù)傳輸后決定釋放連接,于是發(fā)送DR并啟動計時器,主機2在收到主機1

的DR后同意釋放連接,也發(fā)送DR并啟動計時器,然而,主機1

在計時器超時后還未收到主機2

的DR,于是又重新發(fā)送DR并啟動計時器,下面便是一個正常的三次握手,并最后正常釋放連接,即整個數(shù)據(jù)傳輸過程正常結(jié)束應(yīng)答丟失的情況

DR丟失

DR

DR

ACK

主機2

發(fā)送DR并啟動計時器

發(fā)送DR并啟動計時器

釋放連接

主機1

發(fā)送DR并啟動計時器

(超時)

發(fā)送DR并啟動計時器

釋放連接

發(fā)送ACK傳輸層

382013-12-05對稱釋放4應(yīng)答丟失以及后續(xù)的DR丟失主機1在結(jié)束數(shù)據(jù)傳輸后決定釋放連接,于是發(fā)送DR并啟動計時器,主機2在收到主機1

的DR后同意釋放連接,也發(fā)送DR并啟動計時器,然而,緊接著的一段時間內(nèi),線路遇到了災(zāi)難性的干擾,無論是哪一方的超時重發(fā)的TPDU都不能到達對方,最終,接收方計時器的超時而也釋放連接,發(fā)送方經(jīng)過n次重發(fā)和超時后只能無奈地

放棄努力并釋放連接應(yīng)答丟失以及后續(xù)的DR丟失主機1主機2

發(fā)送DR并啟動計時器

(超時)

釋放連接

DR丟失

丟失

發(fā)送DR并

啟動計時器

(超時)

發(fā)送DR并

啟動計時器

┇(N個超時)

釋放連接2013-12-05392.3

傳輸層超時和擁塞控制傳輸層1網(wǎng)絡(luò)端到端傳輸會產(chǎn)生長時延且時延的變化很大,所以在確定合適的超時和擁塞控制時會產(chǎn)生特殊的問題。如需要對來回傳輸時延進行估算。估算時延的一種方法是:將當(dāng)前的來回時延和以前估算的時延進行加權(quán)平均。

Wn

Wn1

(1)

n分組的重發(fā)超時通常取Wn,這里

(通常建議為2)402013-12-05與下層的網(wǎng)絡(luò)服務(wù)提供者進行交互。務(wù)原語3

傳輸服務(wù)

圖8-4

傳輸服務(wù)邏輯結(jié)構(gòu)圖

傳輸服務(wù)提供者也稱為傳輸實體,是提供有效、可靠的傳輸服務(wù)的硬件和軟件。

在同一系統(tǒng)中,傳輸實體經(jīng)過傳輸服務(wù)訪問點(TSAP)交換傳輸服務(wù)原語與上層的傳

輸服務(wù)用戶進行交互。與此同時,傳輸實體經(jīng)過網(wǎng)絡(luò)服務(wù)訪問點(NSAP)交換網(wǎng)絡(luò)服會話層實

體傳輸層實會話層實

體傳輸層實

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

物理層

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

物理層TSAPTSAPNSAPNSAP

傳輸連接

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

物理層

會話層傳輸服務(wù)

傳輸層傳輸媒介傳輸媒介2013-12-0541

3.1

傳輸服務(wù)分類與功能傳輸服務(wù)的分類

面向連接的服務(wù):連接建立,數(shù)據(jù)傳輸,連接釋放

與連接管理有關(guān)的服務(wù),主要負責(zé)建立傳輸連接以及在通信完畢

時釋放連接。

與數(shù)據(jù)傳輸有關(guān)的服務(wù):

面向無連接的服務(wù)2013-12-0542

傳輸服務(wù)的功能

1.

在傳輸服務(wù)用戶之間為傳輸TPDU而建立一條或多條傳

輸連接。

2.

傳輸連接建立時,使用QoS參數(shù)對服務(wù)質(zhì)量進行協(xié)商;

3.

透明地傳送TPDU;

4.

數(shù)據(jù)傳輸速率受到接收方傳輸服務(wù)用戶的控制,即流量

控制功能;

5.

經(jīng)傳輸服務(wù)用戶事先一致同意的情況下,可不受流控而

獨立傳送加速TPDU;

6.

提供無條件釋放傳輸連接的手段。2013-12-05433.2

傳輸服務(wù)質(zhì)量(QoS)

傳輸服務(wù)質(zhì)量(QoS):

QoS參數(shù)是由傳輸連接用戶根據(jù)

需要提出,在連接建立過程中協(xié)商決定的,一般給出希望

的值和最小可接受的值,并作為傳輸連接提供者選擇協(xié)議

的基礎(chǔ)。

ITU-T在X.214建議書中定義十一個QoS參數(shù):

傳輸連接建立時延

傳輸連接建立失敗概率

吞吐量

傳輸時延

殘差率

傳輸失敗概率

傳輸連接釋放時延

傳輸連接釋放失敗概率

傳輸連接的保護

傳輸連接優(yōu)先級

傳輸連接修復(fù)能力2013-12-05443.3

傳輸服務(wù)原語

服務(wù)原語:服務(wù)在形式上是一組原語(Primitive)

來描述的。原語被用來統(tǒng)治服務(wù)提供者采取某些行

動,或報告某同層實體已經(jīng)采取的行動。在OSI參

考模型中,服務(wù)原語劃分為四種類型。

請求(Request)。用戶利用它要求服務(wù)提供者提供某些服

務(wù),如建立連接或發(fā)送數(shù)據(jù)等;

指示(Indication)。服務(wù)提供者執(zhí)行一個請求以后,用指

示原語通知收方的用戶實體,告知有人想要與之建立連

接或發(fā)送數(shù)據(jù)等;

響應(yīng)(Response)。收到指示原語后,利用響應(yīng)原語向?qū)?/p>

方作出反應(yīng),;例如同意或不同意建立連接等;

確認(Confirm)。請求對方可以通過接收確認原語來獲

悉對方是否同意接受請求。2013-12-0545原語可以攜帶參數(shù),如連接請求原語的參數(shù),包

括被叫地址、主叫地址以及需要什么服務(wù)類別等。

連接指示原語的參數(shù)包含呼叫者的表示、需要服

務(wù)的類別等。階段服務(wù)原語參數(shù)連接建立建立傳輸連接T_CONNECT.requestT_CONNECT.indication被叫地址、主叫地址、加速數(shù)據(jù)選擇、服務(wù)質(zhì)量、傳輸服務(wù)用戶數(shù)據(jù)T_CONNECT.responseT_CONNECT.confirm服務(wù)質(zhì)量、響應(yīng)地址、加速數(shù)據(jù)選擇、傳輸服務(wù)用戶數(shù)據(jù)數(shù)據(jù)傳送正常數(shù)據(jù)傳送T_DATA.requestT_DATA.indication傳送服務(wù)用戶數(shù)據(jù)加速數(shù)據(jù)傳送T_EXPEDITED_DATA.requestT_EXPEDITED_DATA.indication傳送服務(wù)用戶數(shù)據(jù)連接釋放釋放傳輸連接T_DISCONNECT.request傳送服務(wù)用戶數(shù)據(jù)T_DISCONNECT.indication拆連原因、傳送服務(wù)用戶數(shù)據(jù)有序釋放連接T_CLOSE.request/T_CLOSE.indication/原語參數(shù)T_UNIT_DATA.request主叫地址、被叫地址、服務(wù)質(zhì)量、傳送服務(wù)用戶數(shù)據(jù)T_UNIT_DATA.indication主叫地址、被叫地址、服務(wù)質(zhì)量、傳送服務(wù)用戶數(shù)據(jù)2013-12-0546傳輸服務(wù)原語及參數(shù)2013-12-0547系統(tǒng)A系統(tǒng)B會話層會話層傳輸層

T_CONNECT.request

T_CONNECT.indication

T_CONNECT.responseT_CONNECT.confirm

傳輸層中建立連接的時序圖2013-12-0548系統(tǒng)A系統(tǒng)B會話層會話層傳輸層

T_CONNECT.requestT_DISCONNECT.indicationT_CONNECT.indicationT_DISCONNECT.request系統(tǒng)A會話層傳輸層

T_CONNECT.requestT_DISCONNECT.indication(a)(b)

傳輸服務(wù)中連接建立拒絕的兩種情況兩種情況:(a)是目的主機傳輸服務(wù)用戶拒絕接受該連接;(b)是傳輸層服務(wù)提供者拒絕建立連接;2013-12-0549數(shù)據(jù)傳送階段的服務(wù)原語系統(tǒng)A系統(tǒng)B會話層會話層傳輸層

T_DATA.request

T_DATA.indicationT_EXPEDITED_DATA.requestT_EXPEDITED_DATA.

indication

圖8-7

數(shù)據(jù)傳送階段的服務(wù)原語數(shù)據(jù)傳送時,不需要從接收數(shù)據(jù)的傳輸用戶得到響應(yīng)和證實服務(wù)原語,傳輸協(xié)議負責(zé)數(shù)據(jù)的正確交付2013-12-0550服務(wù)用戶發(fā)起系統(tǒng)A系統(tǒng)B傳輸層

會話層T_DISCONNECT.request

會話層T_DISCONNECT.indication服務(wù)提供者發(fā)起傳輸服務(wù)中連接的有序釋放T_DISCONNECT.indication

OSI中傳輸連接釋放的兩種情況

系統(tǒng)A

T_DISCONNECT.indication系統(tǒng)B傳輸層

會話層

T_CLOSE.requestT_CLOSE.indication

會話層T_CLOSE.indicationT_CLOSE.request不再發(fā)數(shù)據(jù)不再發(fā)數(shù)據(jù)51網(wǎng)絡(luò)層傳輸服務(wù)用戶傳輸層傳輸服務(wù)用戶傳輸層N_CONNECT.indicationN_CONNECT.response

N_CONNECT.requestN_CONNECT.confirm

N_DATA.requestN_DATA.indicationN_DATA.indicationT_CONNECT.indication

T_CONNECT.responseN_DATA.requestT_CONNECT.requestT_CONNECT.confirm(CR

TPDU)(CC

TPDU)(CR

TPDU)(CC

TPDU)N_UNIT_DATA.indicationN_UNIT_DATA.indicationT_CONNECT.indication

T_CONNECT.responseN_UNIT_DATA.requestT_CONNECT.confirm

2013-12-05(CR

TPDU)(CR

TPDU)(CC

TPDU)

(a)

面向連接的網(wǎng)絡(luò)服務(wù)T_CONNECT.request

N_UNIT_DATA.request

(CC

TPDU)

(b)

無連接的網(wǎng)絡(luò)服務(wù)使用網(wǎng)絡(luò)服務(wù)建立傳輸連接原語參數(shù)含義UNSPECIFIED_PASSIVE_OPEN.request源端口,[超時],[超時動作],[優(yōu)先級][安全度]偵聽符合安全度和優(yōu)先級要求的任意遠端用戶的連接嘗試FULL_PASSIVE_OPEN.request源端口,目的端口,目的地址,[超時],[超時動作],[優(yōu)先級],[安全度]偵聽目標(biāo)地址指明的符合安全度和優(yōu)先級要求的遠端用戶的連接嘗試ACTIVE_OPEN.request源端口,目的端口,目的地址,[超時],[超時動作],[優(yōu)先級],[安全度]請求在一定的安全度和優(yōu)先級上建立到指定用戶的連接ACTIVE_OPEN_WITH_DATA.request源端口,目的端口,目的地址,[超時],[超時動作],[優(yōu)先級],[安全度]數(shù)據(jù)長度,推送標(biāo)志,緊急標(biāo)志請求在一定的安全度和優(yōu)先級上建立到指定用戶的連接,同時傳輸數(shù)據(jù)SEND.request本地連接名,數(shù)據(jù),數(shù)據(jù)長度,推送標(biāo)志,緊急標(biāo)志,[超時],[超時動作]通過指定的連接發(fā)送數(shù)據(jù)ALLOCATE.request本地連接名,數(shù)據(jù)長度為TCP分配一個接收數(shù)據(jù)的緩沖區(qū)CLOSE.request本地連接名有序釋放連接ABORT.request本地連接名突然釋放連接STATUS.request本地連接名報告連接狀態(tài)2013-12-0552TCP服務(wù)請求原語原語參數(shù)含義OPEN_ID.confirm本地連接名,源端口,目的端口,目的地址通知用戶已建立的連接的名稱OPEN_FAILURE.confirm本地連接名報告主動打開連接失敗OPEN_SUCCESS.confirm本地連接名報告主動打開連接成功DELIVER.indication本地連接名,數(shù)據(jù),數(shù)據(jù)長度,緊急標(biāo)志報告數(shù)據(jù)到達CLOSING.indication本地連接名報告遠端用戶已發(fā)出CLOSETERMINATE.confirm本地連接名,描述報告連接已經(jīng)終止STATUS_RESPONSE.confirm本地連接名,源端口,源地址,目的端口,等待ACK數(shù),等待接收數(shù),緊急狀態(tài),優(yōu)先級,安全度,超時報告連接的當(dāng)前狀態(tài)ERROR.indication本地連接名,描述報告服務(wù)請求或內(nèi)部錯誤2013-12-0553TCP服務(wù)指示、證實原語54TCP服務(wù)原語

TSAP2013-12-05三次握手方式建立TCP連接傳輸服務(wù)用戶傳輸服務(wù)提供者網(wǎng)絡(luò)傳輸服務(wù)用戶傳輸服務(wù)提供者

(交互的TPDU)UNSEPECIFIED_PASSIVE_OPEN.

request

ACTIVE_OPEN.request

OPEN_ID.confirm

ID#

x

OPEN_ID.confirm

ID#

y,ACK

x+1

OPEN_SUCCESS.confirm

ACK

y+1

OPEN_SUCCESS.confirm系統(tǒng)A:server系統(tǒng)B:clientTSAP4.

運輸層的端口運行在計算機中的進程是用進程標(biāo)識符來標(biāo)志的。運行在應(yīng)用層的各種應(yīng)用進程卻不應(yīng)當(dāng)讓計算機操作系統(tǒng)指派它的進程標(biāo)識符。這是因為在因特網(wǎng)上使用的計算機的操作系統(tǒng)種類很多,而不同的操作系統(tǒng)又使用不同格式的進程標(biāo)識符。為了使運行不同操作系統(tǒng)的計算機的應(yīng)用進程能夠互相通信,就必須用統(tǒng)一的方法對

TCP/IP

體系的應(yīng)用進程進行標(biāo)志。需要解決的問題由于進程的創(chuàng)建和撤銷都是動態(tài)的,發(fā)送方幾乎無法識別其他機器上的進程。有時我們會改換接收報文的進程,但并不需要通知所有發(fā)送方。我們往往需要利用目的主機提供的功能來識別終點,而不需要知道實現(xiàn)這個功能的進程。端口號(protocol

port

number)

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

port

number),或通常簡稱為端口(port)。雖然通信的終點是應(yīng)用進程,但我們可以把端口想象是通信的終點,因為我們只要把要傳送的報文交到目的主機的某一個合適的目的端口,剩下的工作(即最后交付目的進程)就由

TCP來完成。軟件端口與硬件端口在協(xié)議棧層間的抽象的協(xié)議端口是軟件端口。路由器或交換機上的端口是硬件端口。硬件端口是不同硬件設(shè)備進行交互的接口,而軟件端口是應(yīng)用層的各種協(xié)議進程與運輸實體進行層間交互的一種地址。TCP

的端口端口用一個

16

位端口號進行標(biāo)志。端口號只具有本地意義,即端口號只是為了標(biāo)志本計算機應(yīng)用層中的各進程。在因特網(wǎng)中不同計算機的相同端口號是沒有聯(lián)系的。傳輸層

602013-12-05

傳輸服務(wù)訪問點TSAP(Transport

Service

Access

Point)兩個程序要建立連接時,必須指明對方是哪一個應(yīng)用程序,這個標(biāo)記稱為傳輸層地址,也稱為傳輸服務(wù)訪問點(TSAP)在TCP協(xié)議中傳輸層地址即TCP的端口號網(wǎng)絡(luò)層地址稱為網(wǎng)絡(luò)服務(wù)訪問點NSAP(NetworkService

Access

Point),NSAP在IP協(xié)議中即IP地址2013-12-0561傳輸層2013-12-0562端口的概念

UDP和TCP都使用了與上層接口處的端口(port)與

上層的應(yīng)用進程進行通信。應(yīng)用層的各種進程是通過相

應(yīng)的端口與傳輸實體進行交互的。因此在傳輸協(xié)議數(shù)據(jù)

單元(即TCP報文段或UDP用戶數(shù)據(jù)報)的頭部中要寫

入源端口號和目的端口號。當(dāng)傳輸層收到IP層交上來

的數(shù)據(jù),就要根據(jù)其目的端口號來決定應(yīng)當(dāng)通過哪一個

端口上交給目的應(yīng)用進程。

用OSI的術(shù)語,端口就是傳輸服務(wù)訪問點TSAP。端口

的作用就是讓應(yīng)用層的各種應(yīng)用進程將其數(shù)據(jù)通過端口

向下交付給傳輸層,以及讓傳輸層知道應(yīng)當(dāng)將其報文段

中的數(shù)據(jù)向上通過端口交付給應(yīng)用層相應(yīng)的進程。

端口是用一個16比特的端口號進行標(biāo)志??稍试S64K

個端口號。三類端口熟知端口,數(shù)值一般為

0~1023。登記端口號,數(shù)值為1024~49151,為沒有熟知端口號的應(yīng)用程序使用的。使用這個范圍的端口號必須在

IANA

登記,以防止重復(fù)。客戶端口號或短暫端口號,數(shù)值為49152~65535,留給客戶進程選擇暫時使用。當(dāng)服務(wù)器進程收到客戶進程的報文時,就知道了客戶進程所使用的動態(tài)端口號。通信結(jié)束后,這個端口號可供其他客戶進程以后使用。2013-12-0564套接字(socket):為了在通信時不致發(fā)生混亂,就必須把端口號和主機的IP地址結(jié)合在一起使用。一個TCP連接由它的兩個端點來標(biāo)志,而每個端點又是由IP地址和端口號決定的。將TCP連接的端點稱為套接字(socket)。例如:若IP地址為3,端口號為1500,則套接字(socket)為(

3

1500)。尋址(Addressing)方法:定義傳輸服務(wù)訪問點TSAP(Transport

ServiceAccess

Point),將應(yīng)用進程與這些TSAP相連。在Internet中,TSAP為(IP

address,

local

port)套接字原語含義SOCKET創(chuàng)建一個新的連接端口BIND綁定連接端口與本地地址LISTEN聲明愿意接受連接,給出連接請求隊列的大小ACCEPT阻塞呼叫者,直到連接嘗試到達CONNECT嘗試建立連接SEND通過連接發(fā)送數(shù)據(jù)RECEIVE通過連接接收數(shù)據(jù)CLOSE釋放連接2013-12-0565Berkeley

Socket(套接字)傳輸層

662013-12-05如何知道對方的TSAPwell-known

TSAP

每個服務(wù)都有自己固定的TSAP,所有網(wǎng)絡(luò)用戶都

知道采用名字服務(wù)器(name

server)或目錄服務(wù)器(directory

server)

用戶與名字服務(wù)器建立連接,向服務(wù)器發(fā)送一個報

文,指明服務(wù)的名稱,服務(wù)器將該服務(wù)對應(yīng)的

TSAP返回給用戶,類似于114查號服務(wù)器方將分配的TSAP通知主機進程服務(wù)器傳輸層

67服務(wù)器方將分配的TSAP通知主機初始連接協(xié)議(initial

connection

protocol)2013-12-05

主機1的用戶進程如何與主機2的時間服務(wù)器建立連接(a)(b)用戶主機1主機2TSAP用戶主機1主機2

進程服務(wù)器時間服務(wù)

器2013-12-0568初始連接協(xié)議

當(dāng)服務(wù)程序很多時,使用初始連接協(xié)議(initial

connection

protocol)

一個稱為進程服務(wù)器(process

server)的進程(inetd)同時

在多個端口上監(jiān)聽;

遠方客戶程序向它實際想訪問的服務(wù)程序的TSAP發(fā)出連接建

立請求;

如果沒有服務(wù)程序在此TSAP上監(jiān)聽,則遠方客戶和進程服務(wù)

器建立連接;

進程服務(wù)器產(chǎn)生所請求的服務(wù)進程,并使該進程繼承和遠程

客戶的連接;

進程服務(wù)器返回繼續(xù)監(jiān)聽;

遠方客戶程序與所希望的服務(wù)程序進行數(shù)據(jù)傳輸。服務(wù)器1服務(wù)器2TSAP1522TSAP1836NSAP傳輸層

692013-12-05連接方案舉例訪問一個時間服務(wù)器TSAP、NSAP和傳輸連接應(yīng)用進程TSAP

1208

傳輸連接

NSAP

應(yīng)用層

傳輸層

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

物理層21主機1主機234傳輸層

702013-12-05訪問一個時間服務(wù)器的說明.5.主機2上的時間服務(wù)進程將自己連到1522號TSAP上,等待即將到來的請求,例如,可以用LISTEN調(diào)用主機1上的一個應(yīng)用進程想找出當(dāng)天的時間,便發(fā)出一個CONNECT請求,將1208號TSAP設(shè)定為源地址,將1522號TSAP設(shè)定為目的地址主機1上的應(yīng)用進程發(fā)送一個時間請求主機2上的服務(wù)器進程以當(dāng)前的時間作為應(yīng)答傳輸連接釋放2013-12-05Transport

Layer3-71Multiplexing/demultiplexingapplicationP1applicationapplicationP2P3P4transportnetworklinkphysical

host

1transport

network

link

physical

host

2

transport

network

link

physicalhost

3

Demultiplexingatrcvhost:delivering

received

segmentsto

correct

socket

=

socket

=

process

Multiplexingatsendhost:gathering

data

from

multiplesockets,

enveloping

data

withheader

(later

used

fordemultiplexing)TCP/IP傳輸層的UDP和TCP

725

TCP協(xié)議

兩個重要協(xié)議

傳輸控制協(xié)議TCP

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

TCP和UDP都使用IP協(xié)議

TCP提供面向連接的服務(wù),但不提

供廣播或多播服務(wù)

UDP在傳送數(shù)據(jù)之前不需要預(yù)先建

立連接2013-12-05用戶數(shù)據(jù)報協(xié)議

UDPUDP

只在

IP

的數(shù)據(jù)報服務(wù)之上增加了很少一點的功能,即端口的功能和差錯檢測的功能。雖然

UDP

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

UDP

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

的主要特點UDP

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

使用盡最大努力交付,即不保證可靠交付,同時也不使用擁塞控制。UDP

是面向報文的。UDP

沒有擁塞控制,很適合多媒體通信的要求。UDP

支持一對一、一對多、多對一和多對多的交互通信。UDP

的首部開銷小,只有

8

個字節(jié)。面向報文的

UDP發(fā)送方

UDP

對應(yīng)用程序交下來的報文,在添加首部后就向下交付

IP

層。UDP

對應(yīng)用層交下來的報文,既不合并,也不拆分,而是保留這些報文的邊界。應(yīng)用層交給

UDP

多長的報文,UDP

就照樣發(fā)送,即一次發(fā)送一個報文。接收方

UDP

IP

層交上來的

UDP

用戶數(shù)據(jù)報,在去除首部后就原封不動地交付上層的應(yīng)用進程,一次交付一個完整的報文。應(yīng)用程序必須選擇合適大小的報文。UDP

是面向報文的IP

首部UDP

首部

UDP

用戶數(shù)據(jù)報的數(shù)據(jù)部分IP

數(shù)據(jù)報的數(shù)據(jù)部分運輸層

IP

層應(yīng)用層報文應(yīng)用層UDP

的首部格式據(jù)首

部源

IP

地址目的

IP

地址017

UDP長度

數(shù)IP

數(shù)據(jù)報字節(jié)44112

12偽首部

2源端口

2目的端口

2長

2檢驗和字節(jié)發(fā)送在前數(shù)據(jù)首

部UDP

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

基于端口的分用端口

2端口

3端口

1UDP

分用

UDP

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

IP

層據(jù)首

部源

IP

地址目的

IP

地址017

UDP長度

數(shù)IP

數(shù)據(jù)報字節(jié)44112

12偽首部

2源端口

2目的端口

2長

2檢驗和字節(jié)發(fā)送在前數(shù)據(jù)首

部UDP

用戶數(shù)據(jù)報用戶數(shù)據(jù)報

UDP

有兩個字段:數(shù)據(jù)字段和首部字段。首部字段有

8

個字節(jié),由

4

個字段組成,每個字段都是兩個字節(jié)。據(jù)首

部源

IP

地址目的

IP

地址017

UDP長度

數(shù)IP

數(shù)據(jù)報字節(jié)44112

12偽首部

2源端口

2目的端口

2長

2檢驗和字節(jié)發(fā)送在前數(shù)據(jù)首

部UDP

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

UDP

用戶數(shù)據(jù)報連接在一起。偽首部僅僅是為了計算檢驗和。153.18.1041全0171510871315全0數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)全0計算

UDP

檢驗和的例子10011001

00010011→153.1900001000

0110100010101011

0000001100001110

0000101100000000

0001000100000000

0000111100000100

0011111100000000

0000110100000000

00001111

→→

→→→

→→

8.104

171.314.11

0

17151087

131500000000

0000000001010100

0100010101010011

0101010001001001

0100111001000111

00000000→→→→→0(檢驗和)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)和

0(填充)

12

字節(jié)

偽首部

8

字節(jié)UDP

首部

7

字節(jié)

數(shù)據(jù)填充按二進制反碼運算求和

10010110

11101101

求和得出的結(jié)果

將得出的結(jié)果求反碼

01101001

00010010

檢驗和傳輸控制協(xié)議

TCP

概述TCP

是面向連接的運輸層協(xié)議。每一條

TCP

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

TCP

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

提供可靠交付的服務(wù)。

TCP

提供全雙工通信。面向字節(jié)流。8

7

6

HTCP

面向流的概念發(fā)送

TCP

報文段把字節(jié)寫入

發(fā)送緩存1235

4131211H

加上

TCP

首部構(gòu)成

TCP

報文段

20

19TCP

1817161514從接收緩存

讀取字節(jié)

TCP發(fā)送方

應(yīng)用進程

21

字節(jié)流接收方

應(yīng)用進程

0

字節(jié)流H

表示

TCP

報文段的首部

x

表示序號為

x

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

109

HTCP

連接應(yīng)當(dāng)注意TCP

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

對應(yīng)用進程一次把多長的報文發(fā)送到TCP

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

根據(jù)對方給出的窗口值和當(dāng)前網(wǎng)絡(luò)擁塞的程度來決定一個報文段應(yīng)包含多少個字節(jié)(UDP

發(fā)送的報文長度是應(yīng)用進程給出的)。TCP

可把太長的數(shù)據(jù)塊劃分短一些再傳送。TCP也可等待積累有足夠多的字節(jié)后再構(gòu)成報文段發(fā)送出去。TCP

的連接--套接字

(socket)套接字

socket

=

(IP地址:

端口號)(5-1)

每一條

TCP

連接唯一地被通信兩端的兩個

端點(即兩個套接字)所確定。即:TCP

連接

::=

{socket1,

socket2}=

{(IP1:

port1),

(IP2:

port2)}(5-2)端口號關(guān)鍵字服務(wù)說明21FTP文件傳輸協(xié)議23TELNET終端連接25SMTP簡單郵件傳輸協(xié)議53DNS域名解析協(xié)議80HTTP超文本傳輸協(xié)議110POP-3遠程E-mail訪問2013-12-0586常用TCP端口表

已分配的常用的TCP端口2013-12-0587TCP協(xié)議

TCP協(xié)議提供端到端數(shù)據(jù)流服務(wù),其中包含確保數(shù)據(jù)可靠

傳送的機制。這些機制包括校驗和、序列號、計時器、確

認以及重傳機制。TCP是一種面向連接的協(xié)議,可以為應(yīng)

用層提供可靠、有序的數(shù)據(jù)傳送。

TCP協(xié)議實現(xiàn)所提供服務(wù)的特點

面向連接(Connection

Orientation)

完全可靠(Complete

Reliability)

全雙工通信(Full

Duplex

Communication)

流接口(Stream

Interface)

可靠的連接建立(Reliable

Connection

Startup)

完美的連接終止(Graceful

Connection

Shutdown)2013-12-0588TCP協(xié)議

TCP

協(xié)議

按字節(jié)分配序號,對傳送數(shù)據(jù)的每一個字節(jié)進行編號;

32位的序號

傳輸實體之間使用段(segment)(TPDU)交換數(shù)據(jù);

每個段包含一個20字節(jié)的頭(選項部分另加)和0個或

多個數(shù)據(jù)字節(jié)。段的大小必須首先滿足65535字節(jié)的IP

包數(shù)據(jù)凈荷長度限制,還要滿足底層網(wǎng)絡(luò)傳輸介質(zhì)的最

大傳輸單元(MTU)的限制,比如以太網(wǎng)的MTU為

1500字節(jié);

TCP實體使用滑動窗口協(xié)議,確認序號等于接收方希望

接收的下一個序號。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部20

字節(jié)的固定首部位

08162431TCP

首部

TCP

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

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

TCP

報文段發(fā)送在前

IP

首部5.5

TCP

報文段的首部格式

32

位源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431源端口和目的端口字段——各占

2

字節(jié)。端口是運輸層與應(yīng)用層的服務(wù)接口。運輸層的復(fù)用和分用功能都要通過端口才能實現(xiàn)。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431序號字段——占

4

字節(jié)。TCP

連接中傳送的數(shù)據(jù)流中的每一個字節(jié)都編上一個序號。序號字段的值則指的是本報文段所發(fā)送的數(shù)據(jù)的第一個字節(jié)的序號。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431確認號字段——占

4

字節(jié),是期望收到對方的下一個報文段的數(shù)據(jù)的第一個字節(jié)的序號。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431數(shù)據(jù)偏移(即首部長度)——占

4

位,它指出

TCP

報文段的數(shù)據(jù)起始處距離

TCP

報文段的起始處有多遠?!皵?shù)據(jù)偏移”的單位是

32

位字(以

4

字節(jié)為計算單位)。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431保留字段——占

6

位,保留為今后使用,但目前應(yīng)置為

0。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)位

08162431

固定

首部緊急

URG

——

當(dāng)

URG

1

時,表明緊急指針字段有效。它告訴系統(tǒng)此報文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當(dāng)于高優(yōu)先級的數(shù)據(jù))。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431確認

ACK

——

只有當(dāng)

ACK

1

時確認號字段才有效。當(dāng)

ACK

0

時,確認號無效。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431推送

PSH

(PuSH)

——

接收

TCP

收到

PSH

=

1

的報文段,就盡快地交付接收應(yīng)用進程,而不再等到整個緩存都填滿了后再向上交付。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431復(fù)位

RST

(ReSeT)

——

當(dāng)

RST

1

時,表明

TCP

連接中出現(xiàn)嚴重差錯(如由于主機崩潰或其他原因),必須釋放連接,然后再重新建立運輸連接。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充

20字節(jié)固定首部位

08162431TCP首部

同步

SYN

——

同步

SYN

=

1

表示這是一個連接請

求或連接接受報文。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431終止

FIN

(FINis)

——

用來釋放一個連接。FIN

1表明此報文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運輸連接。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431窗口字段

——

2

字節(jié),用來讓對方設(shè)置發(fā)送窗口的依據(jù),單位為字節(jié)。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431檢驗和

——

2

字節(jié)。檢驗和字段檢驗的范圍包括首部和數(shù)據(jù)這兩部分。在計算檢驗和時,要在

TCP報文段的前面加上

12

字節(jié)的偽首部。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431緊急指針字段

——

16

位,指出在本報文段中緊急數(shù)據(jù)共有多少個字節(jié)(緊急數(shù)據(jù)放在本報文段數(shù)據(jù)的最前面)。源端口目的端口序號是TCP報文段中的數(shù)據(jù)字段TCP確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部固定首部比特

08162431選項字段

——

長度可變。TCP

最初只規(guī)定了一種選項,即最大報文段長度

MSS。MSS

告訴對方

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

MSS

個字節(jié)。”的最大長度。

20

字節(jié)其他選項窗口擴大選項

——占

3

字節(jié),其中有一個字節(jié)表示移位值

S。新的窗口值等于TCP

首部中的窗口位數(shù)增大到(16

+

S),相當(dāng)于把窗口值向左移動

S

位后獲得實際的窗口大小。時間戳選項——占10

字節(jié),其中最主要的字段時間戳值字段(4

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

字節(jié))。選擇確認選項——在后面的

5.6.3

節(jié)介紹。源端口目的端口序號確認號數(shù)據(jù)偏移保留URGACKPSHRSTSYNFIN窗口檢驗和緊急指針選項(長度可變)填充TCP首部

20字節(jié)固定首部位

08162431填充字段

——

這是為了使整個首部長度是

4

字節(jié)的整數(shù)倍。

TCP

的運輸連接管理1.

運輸連接的三個階段運輸連接就有三個階段,即:連接建立、數(shù)據(jù)傳送和連接釋放。運輸連接的管理就是使運輸連接的建立和釋放都能正常地進行。連接建立過程中要解決以下三個問題:要使每一方能夠確知對方的存在。要允許雙方協(xié)商一些參數(shù)(如最大報文段長度,最大窗口大小,服務(wù)質(zhì)量等)。能夠?qū)\輸實體資源(如緩存大小,連接表中的項目等)進行分配。客戶服務(wù)器方式TCP

連接的建立都是采用客戶服務(wù)器方式。主動發(fā)起連接建立的應(yīng)用進程叫做客戶(client)。被動等待連接建立的應(yīng)用進程叫做服務(wù)器(server)。CLOSED主動打開CLOSED

被動打開A客戶

服務(wù)器B

5.1

TCP

的連接建立用三次握手建立

TCP

連接A

TCP

B

發(fā)出連接請求報文段,其首部中的同步位

SYN

=

1,并選擇序號

seq

=

x,表明傳送數(shù)據(jù)時的第一個數(shù)據(jù)字節(jié)的序號是

x。CLOSED主動打開CLOSED

被動打開A客戶

服務(wù)器B

5.1

TCP

的連接建立用三次握手建立

TCP

連接?

B

TCP

收到連接請求報文段后,如同意,則

發(fā)回確認。?

B

在確認報文段中應(yīng)使

SYN

=

1,使

ACK

=

1,

其確認號ack

=

x

1,自己選擇的序號

seq

=

y。CLOSED主動打開CLOSED

溫馨提示

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

評論

0/150

提交評論