正在加载图片...
3.快重传和快恢复 快重传举例 主机A 主机B A发送M,和M B确认M和M2 ●快重传算法规定,发送端只要一连收到三个 重复的ACK即可断定有分组丢失了,就应立 A发送M3但丢失了 即重传丢失的报文段而不必继续等待为该报 文段设置的重传计时器的超时 B只能再次确认M(因为M3没有收到) 不难看出,快重传并非取消重传计时器,而 A发送M 是在某些情况下可更早地重传丢失的报文 B发送第二个重复确认ACK3 A发送M6 1B发送第三个重复确认ACK A收到了三个重复的确认ACK,就立即重传 M3,而不必等待超时重传 快恢复算法 745TCP的重传机制 (1)当发送端收到连续三个重复的ACK时,就重 设置慢开始门限 ssthresh ●重传机制是TCP中最重要和最复杂的问 (2)与慢开始不同之处是拥塞窗口cMnd不是设置为 题之一 1,而是设置为 ssthresh+3xMsS TCP每发送一个报文段,就对这个报文 (3)若收到的重复的ACK为n个(n>3),则将 段设置一次计时器。只要计时器设置的 cWnd设置为 ssthresh+ nx MSS 重传时间到但还没有收到确认,就要重 (4)若发送窗口值还容许发送报文段,就按拥塞避免 传这一报文段 算法继续发送报文段 (5)若收到了确认新的报文段的ACK,就将cwnd缩 小到 ssthresh 往返时延的自适应算法 往返时延的方差很大 记录每一个报文段发出的时间,以及收到相应的 确认报文段的时间。这两个时间之差就是报文段 ●由于TCP的下层是一个互连网环境,P数据报 的往返时延 所选择的路由变化很大。因而运输层的往返时延 ●将各个报文段的往返时延样本加权平均,就得出 的方差也很大。 报文段的平均往返时延RTT 往返时延的 每测量到一个新的往返时延样本,就按下式重新 概率分布 算一次平均往返时延RTT: 平均往返时延RTT 数据链路 ax(旧的RTT+(1-a)x(新的往返时延样本)(7-2) 在上式中,0≤a<1。7 3. 快重传和快恢复 l 快重传算法规定,发送端只要一连收到三个 重复的 ACK 即可断定有分组丢失了,就应立 即重传丢失的报文段而不必继续等待为该报 文段设置的重传计时器的超时。 l 不难看出,快重传并非取消重传计时器,而 是在某些情况下可更早地重传丢失的报文 段。 快重传举例 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。 7.4.5 TCP 的重传机制 l重传机制是 TCP 中最重要和最复杂的问 题之一。 lTCP 每发送一个报文段,就对这个报文 段设置一次计时器。只要计时器设置的 重传时间到但还没有收到确认,就要重 传这一报文段。 往返时延的方差很大 l 由于 TCP 的下层是一个互连网环境,IP 数据报 所选择的路由变化很大。因而运输层的往返时延 的方差也很大。 时间 数据链路层 运输层 T1 T2 T3 往返时延的 概率分布 往返时延的自适应算法 l 记录每一个报文段发出的时间,以及收到相应的 确认报文段的时间。这两个时间之差就是报文段 的往返时延。 l 将各个报文段的往返时延样本加权平均,就得出 报文段的平均往返时延RTT。 l 每测量到一个新的往返时延样本,就按下式重新 计算一次平均往返时延RTT: 平均往返时延RTT = a ´ (旧的RTT) + (1 - a) ´ (新的往返时延样本) (7-2) l 在上式中,0 £ a < 1
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有