网络传输层课件_第1页
网络传输层课件_第2页
网络传输层课件_第3页
网络传输层课件_第4页
网络传输层课件_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

(

2

)配套课件机

2

0

1

3

年第

6

传输层本章

内容6.1传输

层的

念6.2

因特网上的用户数据报协议6.3

因特网上的传输控制协议6.4用于多媒体传输控制的实时传输/传输控制协

议●网络层已经保证了寻址到目的主机,那么

层的

?●

层的

端到

义,

端点到目的端点之间的通信,还是指端点

应用进程之间的通信?●

层向

供哪

不同的

?6.1

层的

基本

念●面向连接和无连接服务●因特网上的端到端通信●

端口

字的

念●

层的多

解6.1.1面向

务●计算机网络通常提供两种类型的服务√面向连接服

(connection-orientedservice)√无连接服务

(

connectionless

service)1.

面向连

务●

接,

可以

换。

据传

输结

接,

。●

立,

个阶

。●

送,

高。

期间

内向同

接收

文的

。●

面向

接的

议:

TCP

。2.

务●

进行

接收

方建

接,

接向

接收

O●

务的特点:

,使

便灵活√

小√通

速√

低6.1.2因

特网

上的

信●端到端的通信是指端点应用程序进程之间

。●

议的

保障

序进程之间的通信,

因此传输层协议也被

称为端

(

end-to-endprotocol)

。端点A应用进程端l传输层网络层数据链路层物理层端到

之间

信传输层网络层数据链路层物理层端点B应用进程因特网6.1.3

端口

字的

念●

端口

端点

之间的

。●

层的

端口

上的

端口,

上的

端口

。●

端口

端口

记,

0

~

6

5

5

3

5

。传

层的端口

号分

类1)

(wellknownports)该类端口号范围为0~1023,它们通常绑定

于一些众所周知的服务,这些端口由系统

。端口号应用协议21/20文

议23远

议25简

单邮

议53DNS67/68动

议80超

议161简

单网

议部分常用的熟知端口号2)

(registered

ports)该类端口号范围为1024~49151。它们通常用

外的

用的

。3)动态和/或私有端口(dynamic

and/or

privateports)该类端口号范围为49152~65535,该类端口不可以被正式地注册占用。套

(socket)●为了区分不同的网络应用服务,就必须把

主机

的IP地

端口

使

。●

机IP

端口号的

绑定

成了

(socket)

。主

机IP

址、

端口号

关系IP

端口号33

188033

1880套接字源端口:

xx目的端口:80客户A应用进程端!传输层网络层数据链路层物理层端

信源端口:80目的端口(客户A):xx

目的端口(客户B):yy/服务器端应用进程源端口:

yy目的端口:80客户B应用进程传输层网络层数据链路层物理层传输层网络层数据链路层物理层因特网6.1.4传

输层的

用与多

解●

文的多

复用

和多

能(在

)。●

层的多

:多

使

用同

。●

层的多

的报文分发给不同的应用程序进程。●多

端口

。传

输层的多

和多

解TCP/UDP(多路复用)TCP/UDP(多路分解)应用进程应用进程IP数据报端口6.2因

特网

上的

议●

UDP概述●

UDP

报结

构●

UDP校验和6.2.1

UDP概

述●

(User

Datagram

Protocol,UDP)

是向

务的简

单的

。●

它在网络层IP的基础上,增加了端口机制和

简单的校验机制。●

UDP

为因

特网

最简

便

。●

RFC768对

UDP

做出了明

。应用应

议运

议远程文件

服务

器NFSUDP网络管理SNMPUDPIP电话专用UDP流式

多媒体专用UDP域

名服

务DNSUDP采

用UDP的

用6.2.1

UDP概

述UDP

如下

:√

接√尽力而为的传输√首

小√无拥塞

制源端口目的端口首部长度校验和数据部分……6.2.2

UDP数据报●UDP数据

报由

:UDP

数据报首部和UDP

报数

。位0

16

31●

端口是

段,长

2

。cg被使用时,它指向源应用程序进程端口;cg若

端口

使

用,

0

。●目的端口长度为2个字节,只有在拥有特定

的目的网络地址时才有意义。●

段:

2

节,

度,

是UDP

数据报首部和UDP数据报数据

部分的总的字节数,其长度单位为字节。●

和:

段,

2

节。

用来检测UDP

文是

否出

错。当

被使用时,可将其值设置为0。UDP伪

部●计算校验和时,需要对UDP首部进行扩充。●扩充部分称为UDP

伪首部,长度为12字节。●

信息

于IP

段:

cs源IP地址,

目的IP地地址cg0填充字段(使扩充部分长度为4B的整数倍)

cs所用协议(UDP

为17)csUDP

长度●伪首部只在计算校验和时使用。源

I

P

址目

I

P

址0协议U

D

P

度UDP

构位

0

816

316.2.3

UDP校

和●

UDP

。●

端口

cs先将校验和字段清零cs每两字节为一个操作数相加cs运算中最高位出现进位时回卷与结果相加

cs最后结果取反成为校验和字段的值●目的端口对收到的数据报进行同样的运算,

求和结果为全1时报文无差错。→

121.195→

169.133→

121.195→

170.25→

0

1

7→

11→

1092→

11→

0(校验和)→

数据→

0→

求和得出的结果01111001

1100001110101001

1000010101111001

1100001110101010

00011001000000000001000100000000

0000101100000100

0100010000000000

00001011O00000000000000000110101

0100011101010001000000001101001000011011335全

0

17

111092

6911

0数据

数据

数据

全0计

算UDP

校验和示例填充

0010110111100100

→校验和8字节UDP

首部3字节数据12字节

伪首部RUDP●

UDP

提供不可靠的数据报服务●

可以

务中自

号、

认、

、流量控制和拥塞控制等可靠性机制,实现

使用UDP

进行可靠的端到端的通信。●

这种改进的UDP

协议通

靠的UDP(Reliable

UDP,RUDP)。6.3因特

上的传输控制协议●TCP概述●TCP

报文段结构●TCP

序号与确认●TCP

重传机制●TCP

连接管理●TCP

流量控制●TCP

拥塞控制6.3.1

TCP概

述●

(Transmission

ControlProtocol,TCP)是

面向

接、

面向

流的

靠的

。●

TCP采

号、

认、

连接控制、流量控制和拥塞控制等一系列

可靠性机制,为因特网应用提供可靠的通

。●IETF

RFC793、RFC1323和

RFC2581

对TCP

做出了明确的定义和规范。应用应

议运

议电

邮件SMTPTCP远程终端访问TelnetTCP万维网HTTPTCP文件传输FTPTCP采

用TCP

用●

TCP

具有如下特

点:√面

向连

接√面向字节流√

双工

信√

:提供可靠

的传输服

务6.3.2

TCP报

结构●

TCP是

面向

流的

议,我

端口

和目的

之间

输的

称为

TCP报

。●TCP报

段的

:√

TCP

报文段首部√TCP

报文

分源

口目的端口序号确认号首部长度保留标志位窗口校验和紧急指针选

(

)填充数据………

·…TCP

构10

16T

c

P

部位0314●

端口

和目的

端口:

和接收TCP报文段的应用程序进程,与IP数据

报中的源IP地址和目的IP地址组成插口,

唯一确定因特网中的TCP连接双方。源端口

和目的端口的长度都为2个字节。●

序号

段:

识TCP报

据部

字节在源端口发送字节流中的位置,长度为

4

。●

段:

识目的

端口

接收到的下一个TCP报

节的

,其长度为4个字节。●

段:

识TCP

部的

,

4

个比

位。

段的

4

节,TCP

部的

6

0

。●

保留

6

个比

0

。●

段:

6

右分别为URG

、ACK

、PSH

、RST

、SYN和FIN,

它们用来标识不同类型的TCP报文段

6

个比

。名称含义使

明URG设

U

R

G

=

1

急数据,这时紧急指针字段有效。紧急数据插在报文段数据的前面,可以先被处理。ACK设

A

C

K

=

1

效用于设置确认号字段PSH设P

SH=1时,表明请求推操作有效发

P

S

H

=

1

,

让目

端口

收到的

T

C

P

付(

)

层,

而不必在缓冲中排队RST设

R

S

T

=

1

有效用

T

C

P

时,

接SYN设

S

Y

N

=1

时,

A

C

K

=

0

时,

求建立TCP连接;当S

Y

N

=1

,

A

C

K

=1时,

示响

T

C

P

接当

T

C

P

A

C

K

使

用FIN设

F

I

N

=

1

端口

发送完毕,并请求断开连接用于连接释放标

使

明●窗口字段:2个字节,进行流量控制。接收

方通知发送方自己目前能够接收数据量(由缓冲空间限制),

发送方据此设置发送

窗口。●校验和字段:

TCP报文段的差错检测,长度

为2个字节。TCP

校验和计算方法与UDP校

验和计算方法相同。●

紧急

段中

的URG

志位配合使用,长度为2个字节。●

选项:

为TCP提

扩展

功能填充

段:

4

节的

整数信时。需要进行填充。6.3.3

TCP序号

认●在TCP

输的

流中,TCP为

号,

3

2

间为0~232-1中循环使用。●在TCP连接建立时,源端口与目的端口需要

商定一个初始序号,

以后发送的报文段中序号的设置是初始序号的延续。第1个报文段数据第2个报文段数据

第10个报文段数据1000110002……11001…·12000……19001…·20000TCP

例数据文件●

在TCP

报文段传输过程中,

由于网络拥塞,

可能

会出现

失的

况,

目的端口对所接收到的正确的报文段进行

确认,以便通知源端口所发送的报文段的

。●

TCP支持

选择确

认、累

。6.3.4

TCP重

传机

制●若TCP

程中

,

。●

-

-

:源

端口

在发

送一

个TCP

报文段时,首先将复制一个副本存放在

冲区内,

的时间内没有收到来自目的端口的确认信息,

错,

。●计时器超时时间(TimeOut)的设置:取决

于TCP报文段传输的往返时间(Round

Trip

Time,RTT)

,

即从源端

口到达

的端

及源端口收到目的端口的确认信息的所经历的总时间。●由于因特网环境的不确定性,

RTT是变化

。●

TCP

采用了自适应重传算法以适应网络的不

确定性。自适

法的基

想:TCP

监视每

一个连

接的性能,根

接RTT的

化随时调整TimeOut

的设置

以适应

因特网

境的变

。1.

计算平滑

的RTTRTT=

a*OldRTT

+(1-a)*NewSampleRTT(O≤a<1)2.

超时时

间略大于RTTTimeOut=β*RTT(β>1)(β建议值为2)发送报文段重传该报文段无法确认该ACK

信息是针对第一次

发送的报文段还是重传报文段收到AC确

认TCP

性RTT1RTT2目的端口B源端口A●问题

发生重传时

新的RTT不可知。

●Karn算法:不采用发生重传时测得的RTT来重新计算

时间

。●

新问题:

延时

及时

时值上,会导致更多的重传发生。●对

Karn

法的

修正:

时,

e

:TimeOut=γ*TimeOut

(γ>1)(γ取值通常为2)w值N时6.3.5

TCP连接管理●

TCP是一

面向

接的

议,

方不

段,

条连

接,并

关闭

接O1.

立连

接●

TCP使

。●

,请

用进程被称为服务器。●

为了

接,

令等待连接请求的到达;客户则执行主动打开命令,并指明它想要连接到的服务器的IP

端口

号,

器的响

。应的的立立连户,称过应用进程在

次握手建立

TC

P

连接接收SYN+ACK

报文段

发送ACK报文段SEQ=x+1,ACK=y+1接收SYN

报文段发送SYN+ACK

报文段SEQ=y,ACK=x+1发送SYN

报文段

SEQ=x接收ACK

报文段服务器B客户A2.

闭连

接●

TCP通

信,

方中的

后,

可以向

发起关闭连接的请求,

以结束一个方向的连接

。一

个TC

P

接服务器B

送收

报文段SEQ=y,ACK=x+1发送FIN+ACK报文段

SEQ=y,ACK=x+1接收ACK报文段KNCI关

闭客户A发送FIN报文段SEQ=x接收ACK

报文段接收FIN+ACK报文段发送ACK报文段SEQ=x+1,ACK=y+13.

模型●

TCP采

有限

机的

模型

,该模型能够解释TCP连接中各种可能的状态

以及状态下一步可能发生的转换。●

TCP有限

机中

有11

态,

TCP连接都从CLOSED状

。SYN-RCVD关闭发送FINFIN-WAIT-1收到ACK主动关闭发送FIN收到FIN

发送ACKCLOSE-WAIT关闭发送FIN收到ACKLAST-ACK发送SYN发送SYN,ACK收到SYN,ACK发送ACKESTABLISHED被动关闭收到FIN,发送ACK收到ACKTIME-WAIT收到ACKFIN-WAIT-2关闭或超时SYN-SENT被动打开

关闭LISTEN发送ACK收到FIN发送ACK收

到RST收到SYN,等待两倍最大报文段生存时间收到SYN发送SYN,ACK收到FIN,ACK主动打开发送SYNCLOSINGCLOSED开始关

闭等待两倍报文段

生存时间TIME-WAIT收到FIN发送ACKFIN-WAIT-2收到ACK发

和一个TC

P

程SYN-SENT收

到SYN,ACK发送ACK主动打开

发送SYN关闭

发送FINESTABLISHEDFIN-WAIT-1CLOSED被

请求

关闭

个TCP

连接状态

转换过

程收到ACK

CLOSED

被动打开LAST-ACK

LISTEN关闭收到SYN发送FIN

送SYN,ACKCLOSE-WAITSYN-RCVD收

到FIN发送ACK收到ACKESTABLISHED6.3.6

TCP流量

制●由

于TCP通

空间

配以

度的

不同,

可能

溢出的情况,这就需要一种控制机制能够协调

方的

。●

TCP

使

动窗口

解决

述问

。●

个TCP连

接维

个窗口,即发

窗口

接收窗口,窗口大小的单位是字节。●

收的

。已到达但未被应用已到达并被应用程序处理

程序处理1000

1001

20002001

30003001

40004001

5000NextByteExpected指针已发送并被确认已发送但未被确认

还可继续发送

不可发送l100010012000

2001

30003001

40004001

5000

5001

60006001

70007001

8000

8001

9000LastByteWritten指针TCP

发送窗口

已到达但未被应用

程序处理6001

70007001

8000TCP

口等待到达5001

6000LastByteRcvd指针LastByteAcked指针LastBvteRead指针LastByteSent指针●

在TCP流量控制过程中,发送窗口的大小随

接收

布的

窗口

。●窗口

大时,

窗口的

小,以

便

更多的

。●窗口

减小

时,

窗口的

大小,以便接收方能够来得及接收数据。●窗口

零时,

数据,直到窗口通告值重新调整为大于零的

。ACK=100LSEQ=1001ACK=200LSEQ=2001ACK=3001WIN=2000SEQ=3001ACK=4001SEQ=4001ACK=5001

WIN=QACK=5001WIN=1000SEQ=5001TCP

流量

制发送方ASEQ=1调整窗口通告值为

2000字节接收方B6.3.7

TCP拥

制●

拥塞(congestion)

是指因特网中的数据报过

多,超过了中间结点的最大容量,导致网络性

下降的

。●

拥塞控制(congestion

control)算法主要用于

避免拥塞现象发生。●

TCP

始、

避免、

重传和快速恢复等拥塞控制算法。●

TCP

流量控制只考虑接收方的接收能力。0

负载拥

塞发

程无拥塞时:吞吐量与网络负载呈线性增长的关系;轻度拥塞:吞吐量随着网络负载的增长而缓慢增长;严重拥塞:吞吐量随着网络负载的增长而急剧降低直至死锁O拥塞窗口●接收窗口rwnd

(receiverwindow):

量控

制中

接收

方的

值,

能力,不能体现中间结点的处理能力。●

拥塞窗口

cwnd

(Congestion

window):

据网

络的

置,

送的

。1.慢

免●

:√建

后,

塞窗口的

初始

为1(1个

)

。√

发送方取rwnd和cwnd中的较小值作为当前发送

窗口

。√

每收到一个新的报文段的确认,将拥塞窗口的

大小

段,

cwnd以指

增长

。每收到1个确认,cwnd值就增加1

(cwnd

从1到2)

收到2个确认,cwnd值就增加2

(cwnd

从2到4)发送方

接收方发送报文段1发送报文段2-3cwnd=2慢

法发送报文段4-7cwnd=4慢

始阈

值●慢开始算法中的拥塞窗口cwnd

会以指数方式

。●为避免cwnd

过快增长引起网络拥塞,

设置慢

(

ssthresh)

。√cwnd<ssthresh时采用慢开始算法;√cwnd

≥ssthresh时采用拥塞避免算法,

窗口增长速度。减慢拥

法当cwnd≥ssthresh后,启用拥塞避免算法:●

延RTT,

只有当

段的

后,

窗口的大小增加一个报文段。●

加法增加(Additive

Increase)策

略,

cwnd

线

长,

比,其增长速度放慢,直到网络出现拥塞O确认报文段1确认报文段2-3确认报文段4-7发送报文段1发送报文段2-3cwnd=5发送报文段8-12cwnd=6

发送报文段13-18设ssthresh=4cwnd=ssthresh确认报文段13-18确认报文段8-12发送报文段4-7塞

算法

拥开

算法

慢发送方接收方乘

减小

略若有报

失,则

定网

塞,此时

论是处于慢开始阶段还是拥塞避免阶段,发送方将

采用乘法减小(Multiplicative

Decrease)的策略:●

慢开始阈值ssthresh减为当前cwnd

半(但不

能小于2)

。●

cwnd

重新设为1,启动慢开始算法。●

cwnd

增长到新的慢开始阈值ssthresh大小时,进

避免

。慢

例拥塞窗口拥塞避免阶段22初始ssthresh16更新后的ssthresh

11往返时延慢开始阶段2.

法●接收方收到乱序到达的TCP

报文段后,立即

段,

接收的

段最

。●

复的

,认定该报文段丢失。无论计时器时间是

束,

立即

。发送报文段1发送报文段2发送报文段3发送报文段4发送报文段5发送报文段6重新发送报文段2快

图确认报文段1确认报文段1确认报文段1确认报文段1接收方发送方快

法●发送方连续收到三个重复的确认报文段,启动拥

塞避免算法:cg将慢开始阈值ssthresh减半cg将拥塞窗口cwnd

的大小调整为更新后的ssthresh的

值cg

启动拥塞避免算法,之后拥塞窗口cwnd的值按照

线性方式增长●不启动慢开始算法的原因:只有一个报文段丢失,其它报文段正确接收,说明当前网络并没有发生严重的拥塞。6.4用

于多

输的

/●

议议

。●

RTCP:在

RTP

会话期间,为RTP

提供带外

。●

RT

P/RTCP应用

在UDP协

。●

IETFRFC3550对

RTP/RTCP

做出了明

确的

。RTP:

等多

流的

协VERPXCCMPT序号首部时间戳同

符参

符·数据部分RTP报

式位

0

2

3

4

8

9

16

31●

VER:2位,协议的版本号,

当前版本号为2。●P:

1

位,填充位,如果有效载荷后面需要填

充,

。●X:

1位,扩展位,如果该位设置,则在固定

温馨提示

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

评论

0/150

提交评论