收藏 分享(赏)

第5章运输层35-36-0.ppt

上传人:mcady 文档编号:4857485 上传时间:2019-01-16 格式:PPT 页数:25 大小:145KB
下载 相关 举报
第5章运输层35-36-0.ppt_第1页
第1页 / 共25页
第5章运输层35-36-0.ppt_第2页
第2页 / 共25页
第5章运输层35-36-0.ppt_第3页
第3页 / 共25页
第5章运输层35-36-0.ppt_第4页
第4页 / 共25页
第5章运输层35-36-0.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,1,第五章 运输层,5.6 TCP可靠传输的实现 5.7 TCP的流量控制,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,2,学习目标,掌握以字节为单位的滑动窗口 理解超时重传时间的选择、选择确认 掌握利用滑动窗口实现流量控制 了解必须考虑传输效率,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,3,5.6.1 以字节为单位的滑动窗口,根据 B 给出的窗口值 A 构造出自己的发送窗口,TCP 标准强烈不赞成 发送窗口前沿向后收缩,A 发送了 11 个字节的数据,P3 P1 = A 的发送窗口(又称为通知窗口) P2 P1 = 已发送

2、但尚未收到确认的字节数 P3 P2 = 允许发送但尚未发送的字节数(又称为可用窗口),A 收到新的确认号,发送窗口向前滑动,先存下,等待缺少的数据的到达,A 的发送窗口内的序号都已用完, 但还没有再收到确认,必须停止发送。,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,7,发送缓存,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,8,接收缓存,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,9,发送缓存与接收缓存的作用,发送缓存用来暂时存放:发送应用程序传送给发送方 TCP 准备发送的数据;TCP 已发送出但尚未收到确认的数据。 接收缓存用来暂时存放:按序到达的、但尚未被接收应用

3、程序读取的数据;不按序到达的数据。,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,10,需要强调三点,A 的发送窗口并不总是和 B 的接收窗口一样大(因为有一定的时间滞后)。 TCP 标准没有规定对不按序到达的数据应如何处理。通常是先临时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程。 TCP 要求接收方必须有累积确认的功能,这样可以减小传输开销。,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,11,5.6.2 超时重传时间的选择,重传机制是 TCP 中最重要和最复杂的问题之一。 TCP 每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重

4、传时间到但还没有收到确认,就要重传这一报文段。,往返时延的方差很大,由于 TCP 的下层是一个互联网环境,IP 数据报所选择的路由变化很大。因而运输层的往返时间的方差也很大。,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,13,加权平均往返时间,TCP 保留了 RTT 的一个加权平均往返时间 RTTS(这 又称为平滑的往返时间)。 第一次测量到 RTT 样本时,RTTS 值就取为所测量到的 RTT 样本值。以后每测量到一个新的 RTT 样本,就按下式重新计算一次 RTTS:新的 RTTS (1 ) (旧的 RTTS) (新的 RTT 样本) (5-4) 式中,0 1。若 很接近于零,表示

5、 RTT 值更新较慢。若选择 接近于 1,则表示 RTT 值更新较快。 RFC 2988 推荐的 值为 1/8,即 0.125。,超时重传时间 RTO (Retransmission Time-Out),RTO 应略大于加权平均往返时间 RTTS RFC 2988 建议使用下式计算 RTO:RTO RTTS + 4 RTTD (5-5) RTTD 是 RTT 的偏差的加权平均值。 RFC 2988 建议这样计算 RTTD。第一次测量时,RTTD 值取为测量到的 RTT 样本值的一半。在以后的测量中,则使用下式计算加权平均的 RTTD: 新的 RTTD = (1 ) (旧的RTTD) + RTT

6、S 新的 RTT 样本 (5-6) 是个小于 1 的系数,其推荐值是 1/4,即 0.25。,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,15,往返时间的测量相当复杂,TCP 报文段 1 没有收到确认。重传(即报文段 2)后,收到了确认报文段 ACK。 如何判定此确认报文段是对原来的报文段 1 的确认,还是对重传的报文段 2 的确认?,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,16,Karn 算法,在计算平均往返时间 RTT 时,只要报文段重传了,就不采用其往返时间样本。 这样得出的加权平均往返时间 RTTS 和超时重传时间 RTO 就较准确。,南理工泰州科技学院计算机科学与

7、技术系 主讲:吴许俊,17,报文段每重传一次,就把 RTO 增大一些: 新的 RTO (旧的 RTO) 系数 的典型值是 2 。 当不再发生报文段的重传时,才根据报文段的往返时延更新平均往返时延 RTT 和超时重传时间 RTO 的数值。 实践证明,这种策略较为合理。,修正的 Karn 算法,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,18,5.6.3 选择确认 SACK (Selective ACK),接收方收到了和前面的字节流不连续的两个字节块。 如果这些字节的序号都在接收窗口之内,那么接收方就先收下这些数据,但要把这些信息准确地告诉发送方,使发送方不要再重复发送这些已收到的数据。,

8、南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,19,接收到的字节流序号不连续,和前后字节不连续的每一个字节块都有两个边界:左边界和右边界。图中用四个指针标记这些边界。第一个字节块的左边界 L1 = 1501,但右边界 R1 = 3001第二个字节块的左边界 L2 = 3501,而右边界 R2 = 4501,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,20,RFC 2018 的规定,如果要使用选择确认,那么在建立 TCP 连接时,双方同意在 TCP 首部的选项中加上“允许 SACK”的选项。 如果使用选择确认,那么原来首部中的“确认号字段”的用法仍然不变;而TCP首部增加的SACK

9、 选项,用于报告收到的不连续的字节块的边界。 首部选项的长度最多40 字节,指明一个边界4 字节,因此最多只能指明 4 个字节块的边界信息,1个字节指明是SACK选项,1个字节指明选项占用多少字节。,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,21,5.7.1 利用滑动窗口实现流量控制,一般说来,我们总是希望数据传输得更快一些。但如果发送方把数据发送得过快,接收方就可能来不及接收,这就会造成数据的丢失。 流量控制(flow control)就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。 利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制。,流量控

10、制举例,A 向 B 发送数据。在连接建立时, B 告诉 A:“我的接收窗口 rwnd = 400(字节)”。,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,23,持续计时器 (persistence timer)。,TCP 为每一个连接设有一个持续计时器。 只要 TCP 连接的一方收到对方的零窗口通知,就启动持续计时器。 若持续计时器设置的时间到期,就发送一个零窗口探测报文段(仅携带 1 字节的数据),而对方就在确认这个探测报文段时给出了现在的窗口值。 若窗口仍然是零,则收到这个报文段的一方就重新设置持续计时器。 若窗口不是零,则死锁的僵局就可以打破了。,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,24,5.7.2 必须考虑传输效率,可以用不同的机制来控制 TCP 报文段的发送时机: 第一种机制是 TCP 维持一个变量,它等于最大报文段长度 MSS。只要缓存中存放的数据达到 MSS 字节时,就组装成一个 TCP 报文段发送出去。 第二种机制是由发送方的应用进程指明要求发送报文段,即 TCP 支持的推送(push)操作。 第三种机制是发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段(但长度不能超过 MSS)发送出去。,南理工泰州科技学院计算机科学与技术系 主讲:吴许俊,25,作业,5-22 5-23 5-33 5-34,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 规范标准 > 交通运输

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报