第5章--传输层协议.pptVIP

  1. 1、本文档共86页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
必须强调指出 “拥塞避免”并非指完全能够避免了拥塞。利用以上的措施要完全避免网络拥塞还是不可能的。 “拥塞避免”是说在拥塞避免阶段把拥塞窗口控制为按线性规律增长,使网络比较不容易出现拥塞。 3. 快重传和快恢复 快重传算法规定,发送端只要一连收到三个重复的 ACK 即可断定有分组丢失了,就应立即重传丢失的报文段而不必继续等待为该报文段设置的重传计时器的超时。 不难看出,快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段。 快重传举例 M1, M2 ACK2, ACK3 M4 主机 A 主机 B B 确认 M1 和 M2 A 发送 M1 和 M2 A 收到了三个重复的确认 ACK3,就立即重传 M3,而不必等待超时重传。 M3 丢失! A 发送 M3 但丢失了 A 发送 M4 ACK3 M5 A 发送 M5 ACK3 B 发送第二个重复确认 ACK3 M6 A 发送 M6 ACK3 M3 B 发送第三个重复确认 ACK3 B 只能再次确认 M2(因为 M3 没有收到) 快恢复算法 (1) 当发送端收到连续三个重复的 ACK 时,就重新设置慢开始门限 ssthresh。 (2) 与慢开始不同之处是拥塞窗口 cwnd 不是设置为 1,而是设置为 ssthresh + 3 ? MSS。 (3) 若收到的重复的 ACK 为 n 个(n 3),则将 cwnd 设置为 ssthresh + n ? MSS。 (4) 若发送窗口值还容许发送报文段,就按拥塞避免算法继续发送报文段。 (5) 若收到了确认新的报文段的 ACK,就将 cwnd 缩小到 ssthresh。 5.3.5 TCP 的重传机制 重传机制是 TCP 中最重要和最复杂的问题之一。 TCP 每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段。 往返时延的方差很大 由于 TCP 的下层是一个互连网环境,IP 数据报所选择的路由变化很大。因而运输层的往返时延的方差也很大。 时间 数据链路层 运输层 T1 T2 T3 往返时延的 概率分布 往返时延的自适应算法 记录每一个报文段发出的时间,以及收到相应的确认报文段的时间。这两个时间之差就是报文段的往返时延。 将各个报文段的往返时延样本加权平均,就得出报文段的平均往返时延 RTT。 每测量到一个新的往返时延样本,就按下式重新计算一次平均往返时延 RTT: 平均往返时延RTT ? ? ? (旧的RTT) ? (1 ? ?) ? (新的往返时延样本) 在上式中,0 ? ? ? 1。 参数 ? 的选择 若 ? 很接近于 1,表示新算出的平均往返时延 RTT 和原来的值相比变化不大,而新的往返时延样本的影响不大(RTT 值更新较慢)。 若选择 ? 接近于零,则表示加权计算的平均往返时延 RTT 受新的往返时延样本的影响较大(RTT 值更新较快)。 典型的 ? 值为 7/8。 超时重传时间 RTO (RetransmissionTime-Out) 计时器的 RTO 应略大于上面得出的 RTT,即: RTO ? ? ? RTT 这里 ? 是个大于 1 的系数。 若取 ? 很接近于1 ,发送端可及时地重传丢失的报文段,因此效率得到提高。 但若报文段并未丢失而仅仅是增加了一点时延,那么过早地重传反而会加重网络的负担。 因此 TCP 原先的标准推荐将 ? 值取为 2。 往返时延 RTT? 往返时间的测量相当复杂 TCP 报文段 1 没有收到确认。重传(即报文段 2)后,收到了确认报文段 ACK。 如何判定此确认报文段是对原来的报文段 1 的确认,还是对重传的报文段 2 的确认? 发送一个 TCP 报文段 超时重传 TCP 报文段 收到 ACK 时间 1 2 往返时延 RTT? 是对哪一个报文段 的确认? Karn 算法 在计算平均往返时延 RTT 时,只要报文段重传了,就不采用其往返时延样本。 这样得出的平均往返时延 RTT 和重传时间就较准确。 修正的 Karn 算法 报文段每重传一次,就将重传时间增大一些: 新的重传时间 ? ? ? (旧的重传时间) 系数 ? 的典型值是2 。 当不再发生报文段的重传时,才根据报文段的往返时延更新平均往返时延 RTT 和重传时间的数值。 实践证明,这种策略较为合理。 5.3.6 随机早期丢弃 RED (Random Early Discard) 使路由器的队列维持两个参数,即队列长度最小门限 THmin 和最大门限 THmax。 RED 对每一个到达的数据报都先计算平均队列长度 LAV。 若平均队列长度小于最小门限 THmin,则将新到达的数据报放入队列进行排队。 若平

文档评论(0)

moon8888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档