计算机网络-自顶向下方法-第三章总结

文章目录

    • 3.6 拥塞控制原理
    • 3.7 TCP拥塞控制

3.6 拥塞控制原理

网络拥塞的代价

  • 发送方必须执行重传以补偿因为缓存溢出而丢弃(丢失)的分组
  • 发送方在遇到大时延时所进行的不必要重传会引起路由器利用其链路带宽来转发不必要的分组副本
  • 即当一个分组沿一条路径被丢弃时,每个上游路由器用于转发该分组到丢弃该分组而使用的传输容量最终被浪费掉了

拥塞控制方法

  • 将到端拥塞控制
    在端到端拥塞控制方法中,网络层没有为运输层拥塞控制提供显式支持 , 即使网络中存在拥塞,端系统也必须通过对网络行为的观察(如分组丢失与时延)来推断之
  • 网络辅助的拥塞控制
    在网络辅助的拥塞控制中,网络层构件(即路由器)向发送方提供关于网络中拥塞状态的显式反馈信息 这种反馈可以简单地用一个比特来指示链路中的拥塞情况。

    拥塞信息从网络反馈到发送方通常有两种方式:
    \qquad 直接反馈信息可以由网络路由器发给发送方 这种方式的通知通常采用了一种阻塞分组 (choke packet) 的形式。
    \qquad 路由器标记或更新从发送方流向接收方的分组中的某个字段来指示拥塞的产生。 接收方一旦收到一个标记的分组后,就会向发送方通知该网络拥塞指示。

3.7 TCP拥塞控制

拥塞控制的方法

  • TCP 所采用的方法是让每一个发送方根据所感知到的网络拥塞程度来限制其能向连接发送流量的速率 如果一个 TCP发送方感知从它到目的地之间的路径上没什么拥塞,则TCP 发送方增加其发送速率;如果发送方感知沿着该路径有拥塞,则发送方就会降低其发送速率。
  • 运行在发送方的 TCP 拥塞控制机制跟踪一个额外的变量,即拥塞窗口 (congeslion window) 。拥塞窗口表示为 cwnd,它对一个 TCP 发送方能向网络中发送流量的速率进行了限制 特别是在一个发送方中未被确认的数据量不会超过 cwnd和rwnd 中的最小值。

TCP 发送方如何确定它们的发送速率,既使得网络不会拥塞,与此同时又能充分利用所有可用的带宽?

  • 一个丢失的报文段表意味着拥塞,因此当丢失报文段时应当降低 TCP 发送方的速率.
  • 一个确认报文段指示该网络正在向接收方交付发送方的报文段,因此 ,当对先前未确认报文段的确认到达时,能够增加友送方的速率确

拥塞控制算法

1.慢启动

  • 在慢启动 ( slow -start )状态, cwnd 的值以1个 MSS开始并且每当传输的报文段首次被确认就增加1个MSS 。

    三种结束慢启动的事件

  • 如果存在一个由超时指示的丢包事件(即拥塞), TCP 发送方将 cwnd 设置为1 并重新开始慢启动过程 它还将第二个状态变量的值 ssthresh ( "慢启动阔值"的速记)设置为 cwnd/2即当检测到拥塞时将 ssthresh 置为拥塞窗口值的一半。

  • 当 cwnd 的值等于 ssthresh 时,结束慢启动并且 TCP 转移到拥塞避免模式

  • 如果检测到 3个冗余 ACK这时TCP 执行一种快速重传并进入快速恢复状态。

2.拥塞避免

  • 每个RTT将cwnd增加一个MSS。
  • 当出现超时时,TCP拥塞避免算法行为相同 。与慢启动的情况一样, cwnd 的值被设置为1个 MSS ,当丢包事件出现时,ssthresh 的值被更新为 cwnd 值的一半

你可能感兴趣的:(计算机网络,计算机网络,网络,网络协议)