当前位置:文档之家› 第7章运输层-1

第7章运输层-1


26
流量控制和缓冲策略
信用量方案(例)
0 7 6 5 4 0 7 A发送3个 6 DT TPDU 5 4 0 7 A A继续发送 6 2个DT TPDU 5 4 0 7 A收到 6 AK 2 CREDIT 5 5 4 0 7 A继续发送3个 6 DT TPDU 5 4 0 7 A收到 AK 7 CREDIT 7 6 5 4 A可以发送 7个DT TPDU 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 N=0 N=1 N=2 N=3 N=4
运输服务 用户
用户 运输 地址 应用/运输层 接口 用户
运体
TPDU 运输协议
运输实体
网络实体
运输/网络层 接口
网络实体
用户使用运输服务原语(如Unix的Socket或Windows的Winsock)访问服务。
3
运输层提供的服务
为什么需要运输服务?
用户不能对通信子网加以控制,因而无法采用更优的通 信处理机制来解决网络层服务质量低劣的问题,更不能 通过改进数据链路层纠错能力来改善它,解决这一问题 的唯一可能办法就是在网络层之上增加一层运输层。 运输层的存在使运输服务比网络服务更可靠,分组的丢 失、残缺甚至网络复位都可以被运输层检测到,并采取 相应的补救措施。 运输服务独立于网络服务,可以采用一个标准的原语集 作为运输服务,而网络服务则取决于不同的网络可能有 很大的不同。 因此,运输层的存在可以提供更高质量的信息传输能力 和更好使用运输服务的接口标准。
21
连接释放
解决这些问题也用三次握手方法
DR DR DR DC 启动时钟
启动时钟
启动时钟
DR DC 启动时钟
……
DC 停止钟 ACK
DC 停止钟 AC K
删除连接
ACK
丢失
删除连接 超时,删除连接 (b) ACK丢失
DR
停止钟,删除连接 (a) 正常情况
DR
启动时钟 丢失
超时,DR
DR DC 启动时钟
13
重复检测
可能产生重复的情况:
数据报服务可能产生重复 确认丢失,重发TPDU TPDU延迟变长,计时器超时,重发DT TPDU
通常用序号来标识 通常用序号来标识TPDU,以识别重复的TPDU。 ,以识别重复的 。
14
重复检测
在连接释放前收到重复TPDU,需重点考虑以下问 题:
可能会产生重复的确认 序号空间必须足够大,以防止在TPDU生存期内发生循 环 运输实体A 运输实体B
11
重传策略
TPDU出错或丢失,都会导致发送方重传
通常使用回退N 选择重传
重传计时器
计时器值固定
如果值太大,则反应变得很慢; 如果太小,那么,一旦遇到网络拥挤,会导致很多重传,这反 过来更加重了网络拥挤。
12
重传策略
计时器基于观察值动态调整:假如运输实体记录每个 DT TPDU的时间和收到相应AK TPDU的时间,即可得到 每个DT TPDU的往返时间,可把这个计时器置成这个往 返时间的平均值(或稍大一点),但这个值并不可信, 因为:
受限制的子网设计 每个TPDU设置一个站计数器 每个TPDU加上时间信息
16
连接建立
连接建立的主要目的:
使每一端知道另一端是否存在。 进行选项协商(如:协议类、窗口大小、服务质量等)。 为运输实体分配资源(如:缓冲区、连接表项等)。
两次握手(Two-Way Handshake)的连接建立过程:
运输用户A T-Connect. Req CR TPDU T-Connect. Ind T-Connect. Cnf (Refuse) T-Connect. Cnf (Refuse/Accept) CC TPDU (Refuse) T-Connect. Rsp (Refuse/Accept) CC TPDU (Refuse/Accept) 运输 实体A 运输 实体B 运输用户B
9
寻址
运输协议寻址方法
运输层用户
TSAP
运输层用户
运输协议 运输实体
NSAP
运输实体 TPDU 网络层实体 及下层实体 网络 B
网络层实体 及下层实体 A
* 运输服务访问点TSAP(Transport Service Access Point,如TCP端口号)
10
重传策略和重复检测
运输协议保障可靠运输服务的一个简单而有 效的方法是重传,即发送运输实体在设定的 时间内没有收到接收运输实体已正确收到的 确认后重发原来的TPDU。 重传会导致接收者可能会收到重复或失序的 TPDU,因此需要进行重复检测。
DR DC 启动时钟
启动时钟 丢失
超时, DR
DR
DC 启动时钟
丢失
……
DC 停止钟 ACK
删除连接 (c) DC丢失
ACK
几次超时后, 删除连接
……
超时,删除连接
停时钟,删除连接 (d) DC丢失及以后的每个DR均丢失
22
连接释放
图(a)是正常的三次握手释放连接过程,没有出现TPDU丢 失现象,计时器在超时前也正确收到了所需要的TPDU。 图(b)表现了最后一个ACK TPDU丢失的情况,此时ACK的 接收者需要用计时器来补救,超时后,那个方向的连接被 强行释放。 图(c)表现了第一个DC丢失时,通过重发的DR来重启三次 握手释放连接过程并成功完成。 图(d)是一个比较“倒霉”的情况,第一个DC和后面重复 的DR都丢失了,最后双方都只能靠计时器来强行释放连 接。
CC Y,X
A发起连接建立 B 接受 A 确认并发数据
(a) 正常
(c) CC延迟
CC Y,X
旧的CR X 到达B B接受 A拒绝B的连接
旧的CR到达B B接受 旧的DT到达B A拒绝
(b) CR延迟
(d) CR,DT 延迟
19
连接建立
在正常情况下,CR TPDU包括发送序号,CC TPDU包 括发送序号和对CR中序号的确认。发起方则以第一个 DT TPDU作为对CC TPDU的确认,如图(a)所示。 图(b)是CR TPDU被延迟的情况,这个CR TPDU在A不 知道的情况下到达B,B向A发出CC TPDU作为应答, A在检查序号时发现这是由于延迟引起的,当然拒绝 连接建立,B就会知道这次连接建立不成功。 图(c)是CC TPDU被延迟的情况,由于使用序号,这个 CC TPDU不会影响A。 最坏的情况是CR和对CC TPDU确认都被延迟,如图(d) 所示。同样,由于使用了序号,A和B都不会对它们 作出接受的确认。
25
流量控制和缓冲策略
信用量方案基本组成部分有:发送窗口与接收窗口, 每个窗口又有上缘和下缘。
对发送窗口,建立连接后,下缘置为0,上缘是对等运输 实体给出的信用量,发送一个TPDU后,下缘加1,上缘通 过AK TPDU调整,上缘和下缘之间的差即是可发送的 TPDU数,当上缘和下缘重合时不能发送TPDU; 对接收窗口,初始时下缘置为0,确认后作调整,上缘是 对等实体的信用量,上缘和下缘之差表示可接收的TPDU 数,发信用量后调整。
对等运输实体可能不马上对DT TPDU确认,它可以一次确认多 个DT TPDU(或由于后述的流控原因而不发AK TPDU)。 若一个DT TPDU重传,那么发送运输实体并不知道收到的AK TPDU是最初发送的DT TPDU的确认还是重传的DT TPDU的确 认。 网络状况可能突然发生变化,如特别拥挤或负载很轻。
运输服 务用户 TSU1 Q oS5 Q oS0 Q oS1 Q oS0 运输实体 TE1 Q oS5 Q oS0 Q oS0:最 低 Q oS Q oS 3:TE 2建 议 的 Q oS Q oS1:T S U 1期 望 的 Q os Q oS4:T S U 2可 接 受 的 Q oS Q oS2:T E 1建 议 的 Q oS Q oS 5:各 方 都 能 接 受 的 Q oS 通 常 : Q oS 1 ≥ Q oS2 ≥ Q oS3 ≥ Q oS 4 ≥ Q oS 5 ≥ Q oS0 Q oS3 Q oS0 运输实体 TE2 运输服 务用户 TS U 2 Q oS 4 Q oS 0
20
连接释放
简单的连接释放过程:
运输用户A T-Disconnect.Req DR TPDU T-Disconnect.Ind f DC TPDU T-Data.Req 运输 实体A 运输 实体B 运输用户B
丢失
出现半连通状态 重复的和丢失的DR/DC TPDU 两军问题
N=0 N=1 N=2 N=0 N=1 N=3 N=4 N=5 N=6 N=7 N=0
延迟
延迟分组
AK2 AK2 AK3 AK4 AK5 AK6 AK7 AK0?
15
重复检测
在连接释放后收到重复TPDU ,则必须解决前后连 接的序号覆盖问题,可用如下方法:
序号跨越连接 使用连接标识符
缺陷:运输实体必须记忆这些历史信息,当系统 崩溃时可能就无法知道序号或连接标识符。 另一个较好的方法是引入TPDU生存期:每个 TPDU在通信子网中停留时间不能超过生存期。这 需要确保TPDU不会在网络中永存,可用下述技术 之一:
运输层提供两种类型的服务:面向连接和无连接 的运输服务。
4
服务质量
运输层弥补了网络层的服务质量的缺陷,运输服 务质量(QoS)衡量了运输层的总体性能。 QoS参数
连接建立延迟 连接建立失败概率 吞吐量 传输延迟 残留差错率 保护性 优先权 回弹率
5
服务质量
通过QoS协商,源端和目的端的运输用户间达成 一致
7
主要内容
运输服务和服务质量(7.1)
运输实体 运输层提供的服务 服务质量 服务原语
运输协议机制(7.2)*
寻址 重传策略和重复检测 连接建立和连接释放 流量控制和缓冲策略 多路复用 崩溃恢复
相关主题