[计算机硬件及网络]第六章传输层.ppt

  1. 1、本文档共111页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机硬件及网络]第六章传输层

网络中的延迟重复控制分组 三次握手(three-way handshake) 可解决由于网络层丢失、存储或者重复包的问题。 不要求连接双方以相同的序号建立连接。 netstat * * * * * * * * * * * * * 6.5.7 TCP拥塞控制 拥塞的检测: 传输线路上的噪声引起的分组丢失 拥塞路由器上的分组丢失 发送拥塞后的处理:发送端降速 引起数据丢弃的原因: 接收端接收缓冲区溢出(接收方的容量) 网络内部的拥塞(网络的容量) 接收方的处理能力不足 传输网络 小容量接收器 调整传输速率 接收能力 发送方 传输网络 链路拥塞 大容量接收器 调整传输速率 网络能力 发送方 网络不够畅通 发送方的两个窗口 接收方允许的窗口(rwnd个MSS) 拥塞窗口(cwnd个MSS) 允许发送的字节数是两个窗口的较小值 TCP拥塞控制是对拥塞窗口大小的控制 慢启动 拥塞避免 拥塞后的操作 TCP的拥塞控制方案 慢启动(slow start) 在主机刚刚开始发送报文段时可先设置拥塞窗口 cwnd = 1,即设置为一个最大报文段 MSS 的数值。 在每收到一个对新的报文段的确认后,将拥塞窗口加倍,即增加一个 MSS 的数值。 用这样的方法逐步增大发送端的拥塞窗口 cwnd,可以使分组注入到网络的速率更加合理。 Source Destination TCP的拥塞避免:每一次成功的传输都将拥塞窗口线性增长(而不是加倍)。 Sender Receiver 阈值(threshold) 发送方的第三个参数:阈值threshold(拥塞避免门限),初始值为64KB 当 cwnd threshold 时,使用慢启动算法。 否则,不使用慢启动算法而改用拥塞避免算法。 拥塞避免算法的思路是让拥塞窗口 cwnd 按线性规律缓慢增长。 网络拥塞时 无论在慢启动阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞(传输超时),就要把拥塞避免门限设置为当前拥塞窗口大小的一半。 然后把拥塞窗口 cwnd 重新设置为 1,执行慢启动算法。 这样做的目的就是要迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够时间把队列中积压的分组处理完毕。 22 16 “乘法减小” 2 4 6 8 10 12 14 16 18 20 0 0 4 8 12 20 24 拥塞窗口 cwnd 新的 threshold 值 网络拥塞 指数规律增长 threshold 的初值 慢启动 慢启动 慢启动 拥塞避免 “加法增大” 拥塞避免 “加法增大” 传输轮次 乘性减小(multiplicative decrease) “乘性减小”是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把拥塞避免门限设置为当前的拥塞窗口值的一半。 当网络频繁出现拥塞时,拥塞避免门限值就下降得很快,以大大减少注入到网络中的分组数 加性增大(additive increase) “加性增大”是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间),就把拥塞窗口 cwnd增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。 如无超时,拥塞窗口持续增长,直至到达接收方窗口大小。 6.5.8 TCP定时器管理 重传定时器(发送每个数据段同时启动) 超时前收到确认,关闭定时器 超时未收到确认,重发该数据段 持续定时器(用于解决死锁) 应对:TCP报文丢失,导致目的主机无法张开其发送窗口 保活定时器(用于检测连接长时间闲置) TIMED WAIT 定时器 2倍分组TTL,确保连接断开后分组消失 重传超时间隔的确定 重传定时器的定时间隔难以确定 取T1,间隔过短,引起不必要的数据重传 取T2,间隔过长,使得网络性能下降 解决办法:动态调整重传超时间隔 时间 数据链路层 运输层 T T1 T2 往返时间的 概率分布 重传超时间隔的确定 TCP维护一个变量RTT,代表到达连接目标端的往返时间的当前最佳估计值 对于未超时的数据段,TCP可以测量本次传输的往返时间M。 平滑的往返时延:RTT =?RTT +(1- ?) M ,其中?是历史RTT所占的权重,RFC 2988 推荐的 ? 值为 7/8;M为本次的观测值 平滑的偏差变量:D = ? D +(1- ?)|RTT- M|,建议值为?=0.75。 超时时间 timeout = RTT + 4?D 往返时间 RTT? 往返时间的测量相当复杂 TCP 报文段 1 没有收到确认。重传(即报文段 2)后,收到了确认报文段 ACK。 如何判定此确认报文段是对原来的报文段 1 的确认,还是对重传的报文段 2 的确认? 发送一个 TCP 报文段 超时重传 TCP 报文段 收到 ACK 时间 1 2 往返时间 R

您可能关注的文档

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档