計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)第五章運(yùn)輸層_第1頁
計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)第五章運(yùn)輸層_第2頁
計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)第五章運(yùn)輸層_第3頁
計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)第五章運(yùn)輸層_第4頁
計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)第五章運(yùn)輸層_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

彷睜工業(yè)和信息化部“十二五”規(guī)劃教材

21比“5等學(xué)校計(jì)算機(jī)規(guī)劃教材

二I、:(—IinvetMtsPlannedTePAxX、.?l'C*MnputcfSacncv

計(jì)算機(jī)網(wǎng)絡(luò)教程

(第4版)

ATextbookonComputerNetworks(4thEdition)

謝鈞謝希仁編著

■參考計(jì)算機(jī)專業(yè)考研大綱

■體現(xiàn)了作者多年的教學(xué)經(jīng)驗(yàn)

■吸收了多種國外著名教材的優(yōu)點(diǎn)

■提供實(shí)驗(yàn)建議、教學(xué)PPT、部分習(xí)題答案

第五章運(yùn)輸層

主要內(nèi)容

運(yùn)輸層的基本原理

0運(yùn)輸層的地位

0運(yùn)輸層與網(wǎng)絡(luò)層的區(qū)別

運(yùn)輸層機(jī)制

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

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

I端口和連接管理

第五章運(yùn)輸層

本章知識點(diǎn)分布

章節(jié)知識點(diǎn)相關(guān)概念或原理

§5.1運(yùn)輸層協(xié)進(jìn)程間通信、運(yùn)輸層協(xié)運(yùn)輸層地位、運(yùn)輸層主要功

議概述議、運(yùn)輸層復(fù)用、運(yùn)能、運(yùn)輸層協(xié)議與網(wǎng)絡(luò)

輸層分用、端口層協(xié)議區(qū)別、端口概念

、端口分類、SOCKET

§5.2用戶數(shù)據(jù)UDP包格式、UDP校驗(yàn)UDP優(yōu)點(diǎn)、偽首部作用

報(bào)協(xié)議UDP和、UDP偽首部

5

§5.3傳輸控制TCP報(bào)文結(jié)構(gòu)、TCP可TCP特點(diǎn)、TCP校驗(yàn)和、

協(xié)議TCP靠傳輸、TCP流量管TCP偽首部、滑動窗口

理、TCP連接管理、三次握手

§5.4擁塞控制擁塞控制慢開始、擁塞避免、快速恢

復(fù)

第五章運(yùn)輸層3

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

5.1.1進(jìn)程之間的通信

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

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

功能中的最低層。

面向信息處理

,用戶功能

面向通信

網(wǎng)絡(luò)功能

第五章運(yùn)輸層

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

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

端口運(yùn)輸層提供應(yīng)用進(jìn)程間的邏輯通信端

IP層■■■3

2

1

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

路由器1路由器2

ARAP

LANWAN3

AP1

2AP4

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

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

第五章運(yùn)輸層5

運(yùn)輸層協(xié)議與網(wǎng)絡(luò)層協(xié)議的區(qū)別

⑴運(yùn)輸層為應(yīng)用進(jìn)程之間提供端到端的邏輯通信,而網(wǎng)絡(luò)層是為主機(jī)之間提

供邏輯通信;(P200圖5-2)

⑵運(yùn)輸層還為收到的報(bào)文進(jìn)行差錯檢測,而網(wǎng)絡(luò)層只檢驗(yàn)IP數(shù)據(jù)報(bào)首部是否

出錯卻不檢查數(shù)據(jù)部分;

⑶根據(jù)應(yīng)用不同,運(yùn)輸層需要有兩種不同的協(xié)議:面向連接的TCP和無連接

的UDP,而網(wǎng)絡(luò)層無法同時(shí)實(shí)現(xiàn)這兩種協(xié)議,僅是一種無連接的服務(wù)。

運(yùn)輸層的主要功能

。運(yùn)輸層為應(yīng)用進(jìn)程之間提供端到端的邏輯通信(但網(wǎng)絡(luò)

層是為主機(jī)之間提供邏輯通信)。

0運(yùn)輸層還要對收到的報(bào)文進(jìn)行差錯檢測。

。運(yùn)輸層需要有兩種不同的運(yùn)輸協(xié)議,即面向連接的TCP

和無連接的UDPo

第五章運(yùn)輸層7

5.1.2因特網(wǎng)的運(yùn)輸層協(xié)議

Applications

UDP一UserDatagramProtocol

TCP一TransportControlProtocolTCPUDP

IP

z各口層

各種應(yīng)用詳見課本P201表54

第五章運(yùn)輸層8

5.1.3運(yùn)輸層的復(fù)用與分用

1、端口概念的引出:

0當(dāng)前大多數(shù)操作系統(tǒng)都是支持多進(jìn)程的,即每一臺主機(jī)

上可以同時(shí)運(yùn)行多個進(jìn)程或應(yīng)用程序。每一臺主機(jī)中的每

一個進(jìn)程都可以與另一臺主機(jī)中的另一個進(jìn)程通信。

。但在IP協(xié)議層,每一個目標(biāo)IP地址標(biāo)識一臺主機(jī),沒有

更多的信息可以用來區(qū)分?jǐn)?shù)據(jù)報(bào)應(yīng)該交給那一個進(jìn)程或應(yīng)

用程序。如何解決這個問題?

第五章運(yùn)輸層9?

端口概念的引出:

0解決的方案是:按功能(服務(wù))分類,為每類功能提供一個協(xié)

議“端口”作為最終的報(bào)文接收端。

0協(xié)議端口是邏輯意義上的,用一些正整數(shù)標(biāo)識

0一臺主機(jī)可以設(shè)置多個端口,也即意味著同一主機(jī)可運(yùn)行多種服務(wù)。

?;诓僮飨到y(tǒng)的支持,多個端口可并行訪問,即多種服務(wù)可同時(shí)運(yùn)行。

第五章運(yùn)輸層10

2、端口的概念

0端口就是運(yùn)輸層服務(wù)訪問點(diǎn)TSAPO

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

過端口向下交付給運(yùn)輸層,以及讓運(yùn)輸層知道應(yīng)當(dāng)將其報(bào)

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

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

第五章運(yùn)輸層

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

發(fā)送方接收方

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

應(yīng)

層222222222222

運(yùn)■■■端口■■■■■■端口■■■

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

UDPUDP

報(bào)文段

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

網(wǎng)

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

|lP數(shù)據(jù)報(bào)|lP數(shù)據(jù)報(bào)

第五章運(yùn)輸層12

3、三類端口

(1)熟知端口,其數(shù)值一般為0~1023。當(dāng)一種新的應(yīng)用程序

出現(xiàn)時(shí),必須為它指派一個熟知端口。

⑵登記端口,其數(shù)值為1024?49151。這類端口是ICANN

控制的,使用這個范圍的端口必須在ICANN登記,以防

止重復(fù)。

⑶動態(tài)端口,其數(shù)值為49152~65535。這類端口是留給客

戶進(jìn)程選擇作為臨時(shí)端口。

第五章運(yùn)輸層131

熟知端口:最常用的應(yīng)用服務(wù)的端口

ddd

0H

dwld

NzxwH

Application(slsH

>。。()Well-known

()()port

2521

Transport11116169rcp23

UDp

NetworkIP

第五章運(yùn)輸層

XrOCKET概念

?SOCKET(套接字):標(biāo)識連接的端點(diǎn),IP地址+端口號

PORT連接1

500

PORT連接2

501

fIP=128,36.1.22

PORT

500

I連接1的一對socket是(131.6.23.13,500)和(130.42.85.15,25)

I連接2的一對socket是(131.6.23.13,501)和(130.42.85.15,25)

I連接3的一對socket是(128.36.1.22,500)和(130.42.85.15,25)

第五章運(yùn)輸層15

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

UserDatagramProtocol

UDP的優(yōu)點(diǎn):詳見P203

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

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

3、UDP沒有擁塞控制,因此網(wǎng)絡(luò)出現(xiàn)的擁塞不會使源主機(jī)的發(fā)送速率

降低。

4、UDP是面向報(bào)文的。

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

6、首部開銷小。

7、對某些實(shí)時(shí)應(yīng)用較好。

第五章運(yùn)輸層16.

UDP協(xié)議封裝

IUDP數(shù)據(jù)報(bào)由兩部分構(gòu)成:UDP報(bào)頭和數(shù)據(jù)區(qū)

IUDP報(bào)文是封裝在IP分組中進(jìn)行傳送的

第五章運(yùn)輸層17

UDP數(shù)據(jù)報(bào)的格式

015W源端口:

發(fā)送端的UDP端口號;當(dāng)不需要對

端返回?cái)?shù)據(jù)時(shí),該字段為Oo

IPheader

UDP目的端口:

源端口

2接收端的UDP端口號。

______________________________

2目的端口

'數(shù)據(jù)報(bào)長度:

2長度\~~[1

以字節(jié)計(jì)算的整個數(shù)據(jù)報(bào)的長度,

2校驗(yàn)和最小值8字節(jié)(只含UDP頭)。

data數(shù)據(jù)報(bào)校驗(yàn)和(可選)

0:表示未選用校驗(yàn)功能;

其它值表示數(shù)據(jù)報(bào)的校驗(yàn)和,若該

字段為全1則表示校驗(yàn)和為Oo

\1

第五章運(yùn)輸層

UDP數(shù)據(jù)報(bào)的校驗(yàn)

0UDP數(shù)據(jù)報(bào)校驗(yàn)和是一項(xiàng)可選的功能

。用戶禁止該功能可以進(jìn)一步提高通信的效率

0UDP校驗(yàn)和的計(jì)算方法:與IP分組頭的校驗(yàn)方法相似

0校驗(yàn)和計(jì)算:除校驗(yàn)數(shù)據(jù)報(bào)首部外,還校驗(yàn)UDP偽首部和數(shù)據(jù)部分。

0其中偽首部的格式為:\、

q偽首部并非UDP數(shù)據(jù)報(bào)中實(shí)際的有效成分

O偽首部是一個虛擬的數(shù)據(jù)結(jié)構(gòu):

然L1)當(dāng)上U.、&的分組頭中提取的1

目的IP地址報(bào)昂否正確地傳到大目

填充域協(xié)議UDP長度UDP數(shù)據(jù)報(bào)的長度

在一定程度上違反了網(wǎng)就邦舞譚)的原由

全0IP分組頭中指定的協(xié)議類

型碼(UDP=17)

\______________________________________

第五章運(yùn)輸層19

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

5.3.1TCP主要特點(diǎn)

用確認(rèn)和超時(shí)重傳保證可靠傳輸

確認(rèn)報(bào)文丟失情況

運(yùn)輸層A運(yùn)輸層B

發(fā)送報(bào)文段1|

確認(rèn)報(bào)文段1

發(fā)送報(bào)文段2T

確認(rèn)報(bào)文段2

超時(shí)重傳報(bào)文段

2,丟棄重復(fù)的報(bào)文段

確認(rèn)報(bào)文段2

發(fā)送報(bào)文段3

時(shí)間時(shí)間

5.3.2TCP報(bào)文段結(jié)構(gòu)

0TCP報(bào)文段的結(jié)構(gòu)

。報(bào)文段分為頭部和數(shù)39并封裝在一個IP分組中傳輸

TCP報(bào)文段

IP分組

0TCP頭:攜帶必須的標(biāo)識和控制信息,包括:

。連接標(biāo)識:

源端口和目的端口:標(biāo)識連接的兩個端點(diǎn)

0差錯和流量控制:

序號:指出本報(bào)文段在發(fā)送方的數(shù)據(jù)字節(jié)流中的位置

確認(rèn)序號:指出本機(jī)希望接收的下一個字節(jié)的序號

第五章運(yùn)輸層23

源端口/目的端口:TSAP地址,標(biāo)識接收端和發(fā)送端的應(yīng)用

進(jìn)程。這兩個值加上IP首部中的源IP地址和目的IP地址唯一

確認(rèn)序號:期望收到的下一個消息第一字節(jié)的序號。為確認(rèn)的一端所

期望接收的下一個序號。只有在標(biāo)識位中的ACK比特設(shè)置為1時(shí),

此埠即t右枇

窗口大?。夯瑒哟翱趨f(xié)議中的窗口大小

數(shù)據(jù)偏移:以32比特為計(jì)算通知發(fā)送方接收窗口的大小,即最多可以

發(fā)送的字節(jié)數(shù)

數(shù)據(jù)偏移保留控制字段窗口

校驗(yàn)和緊急指針

能選項(xiàng)(若有)

檢校和:對整個TCP首部和TCP數(shù)據(jù),緊急指針指出本報(bào)文段中的緊急

這個字段在TCP中是強(qiáng)制性的,一定數(shù)據(jù)的最后一個字節(jié)的序號,它

并在收端進(jìn)行驗(yàn)證。12B的偽首部+煙接收方知道緊急數(shù)據(jù)共有多長。

TCP報(bào)文段中的控制字段(選學(xué))

。控制字段(ControlBITS)6bit

-指出報(bào)文段的目的和內(nèi)容,給出報(bào)文頭中其他字段的解釋

_______發(fā)送方字節(jié)流結(jié)束,

ACKPSHSYN

URGRST回N終止位」表示數(shù)據(jù)已發(fā)送完,

要求釋放連接

同步位

序號同步,SYN=1,ACK=O表示連接

重建位請求消息;SYN=1,ACK=1表示同意建

立連接泊息

推送

_連接£位,1表示出現(xiàn)嚴(yán)重差錯,

確隊(duì)位義須釋放連接,重建

報(bào)文端請求推送操作,1表示請求接收

端的傳輸實(shí)體盡快交付應(yīng)用進(jìn)程

期急位

確認(rèn)字段,1表示確認(rèn)序號字段有意義

緊急指針字段可用,1表示加急數(shù)據(jù),應(yīng)盡快發(fā)送,

此時(shí)緊急位與緊急指針配合使用。

第五章運(yùn)輸層

TCP報(bào)文段的校驗(yàn)

0TCP校驗(yàn)和的計(jì)算方法:同UDP的校驗(yàn)

-校驗(yàn)和計(jì)算:除覆蓋數(shù)據(jù)報(bào)外,還覆蓋一個12字節(jié)

的TCP偽首部

-TCP偽首部的目的與UDP基本相同

078151631

源IP地址

目的IP地址

填充域協(xié)議

TCP長度TCP數(shù)據(jù)報(bào)的長度

(不含偽報(bào)頭)

\J

全0IP分組頭中指定的協(xié)

議類型碼(TCP=6)

\_______________

第五章運(yùn)輸層

5.3.3TCP的可靠傳輸(選學(xué))

數(shù)據(jù)編號與確認(rèn)

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

組成的數(shù)據(jù)流,并使每一個字節(jié)對應(yīng)于一個序號。

。在連接建立時(shí),雙方要商定初始序號。TCP每次發(fā)送的報(bào)文

段的首部中的序號字段數(shù)值表示該報(bào)文段中的數(shù)據(jù)部分的第

一個字節(jié)的序號。

0TCP的確認(rèn)是對接收到的數(shù)據(jù)的最高序號表示確認(rèn)。接收方

返回的確認(rèn)號是已收到的數(shù)據(jù)的最高序號加lo因此確認(rèn)號

表示接收方期望下次收到的數(shù)據(jù)中的第一個數(shù)據(jù)字節(jié)的序

號。

第五章運(yùn)輸層

2、滑動窗口的概念

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

位是字節(jié)。

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

設(shè)置的發(fā)送窗口數(shù)值的上限。

0發(fā)送窗口在連接建立時(shí)由雙方商定。但在通信的過程中,接

收方可根據(jù)自己的資源情況,隨時(shí)動態(tài)地調(diào)整對方的發(fā)送窗

口上限值(可增大或減?。?。

第五章運(yùn)輸層28

發(fā)送窗口

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

1100101200201300301400401500501600601700701800801900

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

指針

0發(fā)送方要發(fā)送900字節(jié)長的數(shù)據(jù),劃分為9個100字節(jié)長

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

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

0發(fā)送TCP要維護(hù)一個指針。每發(fā)送一個報(bào)文段,指針就

向前移動一個報(bào)文段的距離。

第五章運(yùn)輸層291

發(fā)送窗口前移

1100101200201300301400401500501600601700701800801900

.?<.....已發(fā)送但

未被確認(rèn)H—

指針

發(fā)送窗口縮小

不可

可發(fā)送

發(fā)送

指針

0發(fā)送方收到了對方對前400字節(jié)數(shù)據(jù)的確認(rèn),但對方通知發(fā)

送方必須把窗口減小到400字節(jié)。

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

第五章運(yùn)輸層3:

3.慢開始和擁塞避免(選學(xué))

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

接收能力,又要從全局考慮不要使網(wǎng)絡(luò)發(fā)生擁塞。

0因此,每一個TCP連接需要有以下兩個狀態(tài)變量:

0接收方窗口rwnd(receiverwindow)又稱為通知窗口

(advertisedwindow)。

0擁塞窗口cwnd(congestionwindow)o

0(1)接收方窗口:是接收方根據(jù)其目前的接收緩存大小所許諾的最新的窗口

值,是來自接收方的流量控制。接收方將此窗口值放在TCP報(bào)文的首部中

的窗口字段,傳送給發(fā)送方。

0⑵擁塞窗口:是發(fā)送方根據(jù)自己估計(jì)的網(wǎng)絡(luò)擁塞程度而設(shè)置的窗口值,是

來自發(fā)送方的流量控制。

第五章運(yùn)輸層

三個窗口的關(guān)系

發(fā)送端的發(fā)送窗口上限取“通知窗口”和“擁塞窗口”中的

較小的一個:

發(fā)送窗口=min(通知窗口,擁塞窗口)

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

大值。

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

值。

第五章運(yùn)輸層331

三個技術(shù)

為了更好地進(jìn)行擁塞控制,常使用以下三種技術(shù),即:

慢開始(slow-start):在主機(jī)剛剛開始發(fā)送報(bào)文段時(shí)可

先將擁塞窗口cwnd設(shè)置為一個最大報(bào)文段MSS的數(shù)值。

在每收到一個對新的報(bào)文段的確認(rèn)后,將擁塞窗口增加至多一

個MSS的數(shù)值。

用這樣的方法逐步增大發(fā)送方的擁塞窗口cwnd,可以使分組注

入到網(wǎng)絡(luò)的速率更加合理。

乘法減小(muhiplicativedecrease):是指每出現(xiàn)一次

超時(shí),就將擁塞窗口值減半。若超時(shí)頻繁出現(xiàn),則慢開始門限值減小的速率

是很快的。

加法增大(additiveincrease):是指執(zhí)行擁塞避免算法后

,當(dāng)收到對所有發(fā)送出的報(bào)文的確認(rèn)就將擁塞窗口值增加,使擁塞窗口緩慢

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

第五章運(yùn)輸層34

擁塞避免

擁塞避免(congestionavoidance):是指當(dāng)擁塞

窗口增大到門限窗口值時(shí),就將擁塞窗口指數(shù)增長速率降低

為線性增長速率,避免網(wǎng)絡(luò)再次出現(xiàn)擁塞。

使用這些技術(shù)的一個前提就是:由于通信線路帶來的誤

碼而使得分組丟失的概率很小(遠(yuǎn)小于1%):因此,只要出現(xiàn)

分組丟失或延遲過長而引起超時(shí)重發(fā),就意味著在網(wǎng)絡(luò)中的

某個地方出現(xiàn)了擁塞。

第五章運(yùn)輸層35

5.3.4TCP的流量控制(選學(xué))

0如果發(fā)送方把數(shù)據(jù)發(fā)送得過快,接收方就可能來不及接收,

這就

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論