计算机网络 传输层_第1页
计算机网络 传输层_第2页
计算机网络 传输层_第3页
计算机网络 传输层_第4页
计算机网络 传输层_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

传输层

主要内容

传输层协议概述

网络体系中的传输层

g传输层中的两个协议

4端口的概念

。用户数据报协议UDP

9UDP概述

wUDP用户数据报的首部格式

。传输控制协议TCP

❖TCP概述

9TCP报文段的首部

9TCP的数据编号与确认

6TCP的流量控制与拥塞控制

9TCP的重传机制

♦采用随机早期丢弃RED进行拥塞控制

♦TCP的传输连接管理

传输层协议概述

。从通信和信息处理的角度看,传输层向它上面的应用层提供通信

服务,它属于面向通信部分的最高层,同时也是用户功能中的最3

低层。!

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

面向信息处理1应用层

」'用户功能

「传输层]

I_________________________J

面向通信J网络层'

数据链路层:网络功能

物理层\

传输层为相互通信的应用进程提

供了逻辑通信

主机A主机B

IP协议日勺作用范围

传输层协议TCP和UDP的作用范围

应用进程之间的通信

两个主机进行通信实际上就是两个主机中的应用进程

互相通信。

应用进程之间的通信又称为端到端的通信。

♦:♦传输层的一个很重要的功能就是复用和分用。应用层

不同进程的报文通过不同的端口向下交到传输层,再

往下就共用网络层提供的服务。

“传输层提供应用进程间的逻辑通信”。“逻辑通信”

的意思是:传输层之间的通信好像是沿水平方向传送

数据。但事实上这两个传输层之间并没有一条水平方

向的物理连接。

传输层的主要功能

。传输层为应用进程之间提供端到端的逻辑通信

(但网络层是为主机之间提供逻辑通信)。

。传输层还要对收到的报文进行差错检测。

。传输层需要有两种不同的传输协议,即面向连

接的TCP和无连接的UDPo

传输层与其上下层之间的关系

的OSI表示法

主机A|主机B

传输服务用户传输服务用户

应用层

(应用层实体)(应用层实体)

传输层服务访问点1层接口

TSAP

传输实体V-----传输协议---►传输实体传输层

层接口

网络层服务访问点,网络层

NSAP(或网际层)

传输层向上提供可靠的和不可靠

的逻辑通信信道

I程

数据数据数据

使用TCP协议使用UDP协议

传输层协议机制

1、可靠的网络服务

假定网络服务是100%可靠

传输层协议机制解决的问题:

寻址

多路复用

流控

连接建立和拆除

流控策略:

。将缓冲器溢出的TPDU简单地除去,这需要重

传,因而增加通信量。

。当缓冲区满时,拒收从网络服务来的TPDU,

对多个传输层连接多路复用单个网络连接时,

不使用这种策略。

滑动窗口技术。

信用证策略。

发送机A接收机B

6**2B准备接收7个

A可以发送7个6-®-2

5*3TPDUS

TPDUs4(0号到6号)

A每次发送后62匹国7''''-

B回答响应3个

721TPDUs,但除了

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

4尸—,6-^-2原有的预算外,只

5T3能接收-个附加的

TPDU(即B将接

5辛方<收TPDU3到7)

A按照每个信用证70]S

调整它的窗口fijfXO

5V3N=5-

A用完了它B回答响应3个

的信用证TPDUs并恢复

原有的信用证

A接收到新

的信用证

信用证分配协议实例

2、不可靠的网络服务

对不可靠的网络服务,传输层协议要复杂得多,

传输层协议机制解决的问题:

重传策略

重复检测

流控

连接建立

连接结束

故障恢复

A注释

旧的RFC到达

RFCZYB响应,A发送一个

新的RFC

N=Z

丢弃由于次序出错,

B丢弃数据TPDU

两次握手例子

B注释

A发起一个连接

RFCY,

B接收并回答响应

ACKX

A回答响应并开始发送

旧的RFC到达

B接收并回答响应

RST.ACKYA拒绝B的连接

(b)延迟的RFC

RFCZ,A发起一个连接

B接收并回答响应

旧的RFC/ACK

到达,A拒绝

A回答响应并开始发送

(c)延迟RFC/ACK

三次握手的例子

TCP/IP体系中的传输层

U传输层中的两个协议

TCP/IP的传输层有两个不同的协议:

(1)用户数据报协议UDP

(UserDatagramProtocol)

(2)传输控制协议TCP

(TransmissionControlProtocol)

TCP与UDP

两个对等传输实体在通信时传送的数据单位叫作

传输协议数据单元TPDLI(TransportProtocol

DataUnit)o

TCP传送的数据协议单位是TCP报文段

(segment)

UDP传送的数据协议单位是UDP报文或用户数

据报。

TCP/IP体系中的传输层协议

传输层

TCP与UDP

。UDP在传送数据之前不需要先建立连接。对

方的传输层在收到UDP报文后,不需要给出

任何确认。虽然UDP不提供可靠交付,但在

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

❖TCP则提供面向连接的服务。TCP不提供广

播或多播服务。由于TCP要提供可靠的、面

向连接的传输服务,因此不可避免地增加了许

多的开销。这不仅使协议数据单元的首部增大

很多,还要占用许多的处理机资源。

还要强调两点

。传输层的UDP用户数据报与网际层的IP数据报

有很大区别。IP数据报要经过互连网中许多路

由器的存储转发,但UDP用户数据报是在传输

层的端到端抽象的逻辑信道中传送的。

*TCP报文段是在传输层抽象的端到端逻辑信道

中传送,这种信道是可靠的全双工信道。但这

样的信道却不知道究竟经过了哪些路由器,而

这些路由器也根本不知道上面的传输层是否建

立了TCP连接。

端口的概念

端口就是传输层服务访问点TSAPo

端口的作用就是让应用层的各种应用进程都能将

其数据通过端口向下交付给传输层,以及让传输

层知道应当将其报文段中的数据向上通过端口交

付给应用层相应的进程。

。从这个意义上讲,端口是用来标志应用层的进程。

♦端口在进程之间的通信中所起的作用

厂发送方、、接收》

/'/\

应用进程应用进程

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

3□□[O-D炳

TCP复用UDP复用分用

层TCP分用UDP

UDP:UDP:

TCP报文段用户数据报TCP报文段用户数据报

7।

络IP复用IP分用

.y\—.

IPIP数据报

端口

♦:♦端口用一个16bit端口号进行标志。

。端口号只具有本地意义,即端口号只是为

了标志本计算机应用层中的各进程。在因

特网中不同计算机的相同端口号是没有联

系的。

两类端口

。一类是熟知端口,其数值一般为0~1023。当

一种新的应用程序出现时,必须为它指派一个

熟知端口。

。另一类则是一般端口,用来随时分配给请求通

信的客户进程。

插口(socket)

。TCP使用“连接”(而不仅仅是“端口”)作为最

基本的抽象,同时将TCP连接的端点称为插口

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

♦:.插口和端口、IP地址的关系是:

IP地址端口号

31500

插口(SOCket)|131.623.13,15。

用户数据报协议UDP

UDP概述

。UDP只在IP的数据报服务之上增加了很少一)

点的功能,即端口的功能和差错检测的功能。)

虽然UDP用户数据报只能提供不可靠的交付,

但UDP在某些方面有其特殊的优点。

力发送数据之前不需要建立连接

9UDP的主机不需要维持复杂的连接状态表。

9UDP用户数据报只有8个字节的首部开销。/'

小网络出现的拥塞不会使源主机的发送速率降低。这

对某些实时应用是很重要的。

端口是用报文队列来实现

应TFTP客户TFTP服务器

层1

/X/X

出队列入队列出队列入队列

UDP端口51000

UDP用户数据报

UDP用户数据报的

首部格式

字节44112

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

字节122222

;伪首部源端口目的端口长度检验和

__________

UDP用户数据报首部数据

发送在前

数''据

首部

IP数据报

用户数据报UDP有两个字段:数据字段和首

部字段。首部字段有8个字节,由4个字段

组成,每个字段都是两个字节。

字节44112

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

字节122222

「前i.-1源端口|目的端口|长度|检验和

UDP用户数据报首部数据

发送在前

首部数、百

IP数据报

在计算检验和时,临时把“伪首部”和

UDP用户数据报连接在一起。伪首部

仅仅是为了计算检验和。

字节44112

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

计算UDP检验和的例子

1001100100010011一153.19

040000100001101000->8.104

12字节

1010101100000011T171.3

伪首部1

全017150000111000001011->14.11

8字节1087130000000000010001T0和17

一15\

UDP首部,15全00000000000001111

0000010000111111―1087

7字节数据数据数据-13\

0000000000001101

数据数据数据金0

0000000000001111-15f

填充0000000000000000一0(检验和)

0101010001000101T数据

0101001101010100一数据

0100100101001110

0100011100000000一数据和0(填充)

按二进制反码运算求和1001011011101101T求和得出的结果

将得出的结果求反码0110100100010010一检验和

_____________________________________________________________________

请注意:进行反码运算求和时,最高位有进位2,这个2应当加到最低位。j

UDP的复用、分解与端口

❖提供复用和分解的功能,这种复用和分

解的功能是通过端口机制来实现的。

❖UDP端口号的指定方式:

由某些管理机构指定的称为著名端口,

供用户使用。

动态绑定方式,由应用程序指定端口o

UDP的分解操作

一十~传输控制协议TCP

TCP概述

"、±L1J

友送师接收端

TCP协议功能

⑴定义了两台计算机之间进行可靠的传输而交换的数

据和确认信息的格式。

⑵允许一台计算机上的多个应用程序同时进行通信,

也能对接收到的数据进行分解,分别送到多个程序。

⑶使用连接而不是协议端口作为基本的抽象概念,连

接是用一对端点来标识的。

(4)是一个面向连接的协议,即在TCP进行互联网络通信

之前,通信双方必须先建立连接,然后再进行通信。

⑸将数据流看做字节的序列,为了便于传输又将这个

序列划分为若干段。

(6)使用专门的滑动窗口机制来解决传输效率和流量控

制这两个问题。

32bit

TCP报文段TCP首部TCP数据部分

发送在前1

〕IP首部IP数据部分V

序号Q

2O

f

确认号字段——占4字节,是期望收到对方的下一个

报文段的数据的第一个字节的序号。

系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。

窗口字段——占2字节。窗口字段用来控制对方发送的数据量,单位为字。

TCP连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知

对方以确定对方的发送窗口的上限。

MSS是TCP报文段中的数据字段的最大长度。

数据字段加上TCP首部

才等于整个的TCP报文段。

选项(长度可变)I填充

选项字段一一长度可变。TCP只规定了一种选项,即最大报文段长度

MSS(MaximumSegmentSize)0MSS告诉对方TCP:“我的缓存所能

接收的报文段的数据字段的最大长度是MSS个字节。”

TCP的数据编号与确认

❖TCP协议是面向字节的。TCP将所要传送的报文

看成是字节组成的数据流,并使每一个字节对应于

一个序号。1

。在连接建立时,双方要商定初始序号。TCP每次

发送的报文段的首部中的序号字段数值表示该报文

段中的数据部分的第一个字节的序号。

TCP的确认是对接收到的数据的最高序号表示确

认。接收端返回的确认号是已收到的数据的最高序

号加1o因此确认号表示接收端期望下次收到的数

据中的第一个数据字节的序号。

TCP的流量控制与拥塞控制

1.滑动窗口的概念

❖TCP采用大小可变的滑动窗口进行流量控制。窗口

大小的单位是字节。

。在TCP报文段首部的窗口字段写入的数值就是当前

给对方设置的发送窗口数值的上限。

♦:♦发送窗口在连接建立时由双方商定。但在通信的闻

程中,接收端可根据自己的资源情况,随时动态地

调整对方的发送窗口上限值(可增大或减小)。

-------------发送窗口--------------►

—---->收到确认即可前移

1100101200201300301400401500501600601700701800801900

--------------可发送--------------------------不可发送----------

指针

。发送端要发送900字节长的数据,划分为9个

100字节长的报文段,而发送窗口确定为500

子下O

。发送端只要收到了对方的确认,发送窗口就可

前移。

。发送TCP要维护一个指针。每发送一个报文

段,指针就向前移动一个报文段的距离。

-------------发送窗口--------------►

—---->收到确认即可前移

1100101200201300301400401500501600601700701800801900

--------------可发送--------------------------不可发送----------

指针--------------发送窗口前移------------

=><

|1100

1012001koi500501600601700701800801900

1卜1

已发送—已发送但J-------可发送-------不发送—

r并被确认~未被确认nJ

指针

♦:♦发送端已发送了400字节的数据,但只收到对前

200字节数据的确认,同时窗口大小不变。

现在发送端还可发送300字节。

♦:♦发送端收到了对方对前400字节数据的确认,但对

方通知发送端必须把窗口减小到400字节。

现在发送端最多还可发送400字节的数据。

«-------------发送窗口前移-----------

1100101200401500501600601700701800801900

i卜

已发送.已发送但口

L并被确认一可发送-------不发送—

未被确认k-------♦nJ

指针

发送窗口缩小

1

|1100

101200201300301400|Loi500501600601700701800801900

一不可‘

<__________已发送___________J『L_________HPTJ仪岩达;/》>

并被确认|L发送7

指针

利用可变窗口大小进行流量控制

双方确定的窗口值是400

主机A主机B

|SEQ=1TA还能发送300字节

ISEQ=101/A还能发送200字节

SEQ=2Q,

V”I

AGK二WIN=3叩允许A再发送300字节(序号201至500)

SEQ=301

A还能发送200字节(序号301至500)

SEQ=401

AA还能发送100字节(序号401至500)

SEQ=201

A超时重发,但不能发送序号500以后的数据

I.ACK=501.WIN=20。

允许A再发送200字节(序号501至700)

ISEQ=501」

丁TTTF].|A还能发送100字节(序号501至700)

1.ACK=601.WIN=0]

不允许A再发送(到序号600的数据都已收至IJ)

2慢开始和拥塞避免

。发送端的主机在确定发送报文段的速率时,既要

根据接收端的接收能力,又要从全局考虑不要使

网络发生拥塞。

。因此,每一个TCP连接需要有以下两个状态变

量:

力接收端窗口rwnd(receiverwindow)又称为通

知窗口(advertisedwindow)o

《拥塞窗口cwnd(congestionwindow)。

接收端窗口rwnd和

拥塞窗口cwnd

♦(1)接收端窗口rwnd这是接收端根据其目前的

接收缓存大小所许诺的最新的窗口值,是来自接

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

报文的首部中的窗口字段,传送给发送端。I

♦(2)拥塞窗口cwnd(congestionwindow)是发

送端根据自己估计的网络拥塞程度而设置的窗口

值,是来自发送端的流量控制。

发送窗口的上限值

”发送端的发送窗口的上限值应当取为接收端窗口

rwnd和拥塞窗口cwnd这两个变量中较小的一个,

即应按以下公式确定:

发送窗口的上限值=Min[rwnd,cwnd]

当rwnd<cwnd时,是接收端的接收能力限制发送

窗口的最大值。

当cwnd<rwnd时,则是网络的拥塞限制发送窗口

的最大值。

慢开始算法的原理

。在主机刚刚开始发送报文段时可先将拥塞窗口

cwnd设置为一个最大报文段MSS的数值。

。在每收到一个对新的报文段的确认后,将拥塞

窗口增加至多一个MSS的数值。

。用这样的方法逐步增大发送端的拥塞窗口

cwnd,可以使分组注入到网络的速率更加合理。

乘法减小

(multiplicativedecrease)

♦:♦“乘法减小”是指不论在慢开始阶段还是拥

塞避免阶段,只要出现一次超时(即出现

一次网络拥塞),就把慢开始门限值设置

为当前的拥塞窗口值乘以0.5o

。当网络频繁出现拥塞时,慢开始门限值就

下降得很快,以大大减少注入到网络中的

分组数。

加法增大

(additiveincrease)

。“加法增大”是指执行拥塞避免算法后,当

收到对所有报文段的确认就将拥塞窗口

cwnd增加一个MSS大小,使拥塞窗口缓

慢增大,以防止网络过早出现拥塞。

必须强调指出

。拥塞避免”并非指完全能够避免了

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

网络拥塞还是不可能的。

。“拥塞避免”是说在拥塞避免阶段

把拥塞窗口控制为按线性规律增长,

使网络比较不容易出现拥塞。

3.快重传和快恢复

。快重传算法规定,发送端只要一连收到三

个重复的ACK即可断定有分组丢失了,

就应立即重传丢失的报文段而不必继续等

待为该报文段设置的重传计时器的超时。

。不难看出,快重传并非取消重传计时器,

而是在某些情况下可更早地重传丢失的报

文段。

,:快重传举例

主机A主机B

M1,M2

A

A发送Mi和M2

ACK2,ACK3

B确认MI和M2

A发送M3但丢失了

M4

A发送M4

ACK3

B只能再次确认M2(因为M3没有收到)

A发送M5

ACK3B发送第二个重复确认ACK3

M6

A发送M6

ACKR

B发送第三个重复确认ACK3

A收到了三个重复的确认A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论