网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

计算机网络中的拥塞控制技术

更新时间:2026年03月27日   作者:spoto   标签(Tag):

拥塞控制是一种机制,它用于调节发送方的数据传输速率,从而确保网络在各种流量负载下仍能保持稳定。

  • 它通过限制路由器队列中累积的数据量,从而有效控制网络延迟。
  • 它通过防止在流量高峰时队列的规模和大小出现不可预测的变化,从而减少了抖动现象。
  • 它通过避免路由器和交换机中出现缓冲区溢出现象,从而降低了数据包丢失的情况。
  • 它通过确保多个连接能够更均匀地共享可用带宽,从而提升了公平性。
  • 它通过减少重传次数来保持稳定的吞吐量,同时避免重复出现过载情况。

拥塞控制的类型

这些技术大致可以分为两类:开环方法(预防性方法)和闭环方法(反应性方法)。

1. 开环拥塞控制

开环拥塞控制通过采用预先定义的规则和设计时的策略来防止拥塞现象,而无需依赖传输过程中来自网络的实时反馈信息。

开环拥塞控制策略

重传策略:丢失或损坏的数据包将由发送方重新传输。为了避免网络拥塞,必须仔细设置重传计时器,以避免不必要的多次重试,因为这可能会加重网络的负担。

2. 窗口策略:滑动窗口协议的类型会影响网络的拥塞情况。在Go-Back-N ARQ协议中,即使发生一次丢失,也需要重新传输多个数据包,这会增加网络负担。而Selective Repeat ARQ协议则更为理想,因为它只重新传输丢失的数据包,从而避免了不必要的拥塞现象。

3. 放弃政策:路由器可以选择性地丢弃那些不太重要、已损坏或传输延迟的数据包,从而避免网络拥塞。这一点在多媒体应用中非常有用,比如音频或视频流传输。在这些应用中,丢失一些数据包通常不会对音质产生明显的影响。

4. 致谢政策:确认流量会为网络带来负担。为了减少拥塞,可以采取一些策略,比如为多个数据包发送一个确认消息,或者将确认消息的发送延迟到数据包准备好被发送时,或者等到计时器到期为止。

5. 入馆政策:接入控制机制只会在有足够的网络资源可用时才允许新的连接建立。在建立连接之前,路由器或交换机会检查带宽和缓冲区的可用性。如果添加新的流量可能会导致网络拥塞,那么该请求会被拒绝,以保护现有的网络流量。

6. 流量整形与速率控制(补充内容):开环系统还可能包含流量整形功能,即由源端来限制数据包的传输速率。此外,还有速率控制功能,以确保网络中的流量符合约定的限制标准。

2. 闭环拥塞控制

闭环拥塞控制机制能够利用网络反馈信息来检测通信过程中的拥塞情况,然后通过调整发送速率或网络行为来减轻拥塞现象。

背压:当某个节点出现拥塞时,它会暂时停止接收来自上游节点的数据包,从而减缓流向源端的流量。这种机制可以将拥塞信号从网络的一端传播到另一端。这种方法主要适用于虚拟电路网络,因为在这些网络中,各个节点都知道自己的上游邻居节点的情况。例如,如果第三个节点出现拥塞,那么它就会停止接收数据包,这会导致第二个节点也出现拥塞现象,进而影响到第一个节点。最终,这些信息会被传递给源端,使其降低传输速度。

在上述图中,第三个节点处于拥塞状态,因此无法继续接收数据包。这样一来,第二个节点可能会因为输出数据流的速度变慢而陷入拥塞状态。同样地,第一个节点也可能出现拥塞情况,此时它会向源端发送信号,请求源端降低数据传输速度。

2. 窒息式技巧:当路由器出现拥塞时,它会向发送端直接发送一个特殊的“阻塞数据包”,指示发送端降低其传输速率。路由器会监控自身的资源使用情况,当资源利用率超过某个阈值时,就会触发该阻塞数据包的发送。只有发送端会收到通知,而中间节点则不会知道存在拥塞情况。

3. 隐性信号传递:在这种方法中,不会发送任何明确的拥塞信息。相反,源节点会根据网络的行为来推断是否存在拥塞情况,比如延迟或缺失的确认消息等。然后,源节点会相应地调整自己的发送速率。

4. 明确的信号传递:一个处于拥堵状态的节点会将拥堵信息直接传递给源节点或目标节点,这些信息被嵌入到数据包中。这与“阻塞包”不同,因为阻塞包是单独的控制数据包。

  • 前向信号传递:拥塞信息会被发送给目的地,然后目的地会采取相应的措施来处理或避免拥塞情况的发生。
  • 逆向信号传递:拥塞信息会被发送给发送方,从而指示其降低传输速率。

N网络辅助拥塞控制

网络辅助的拥塞控制是一种方法,其中路由器通过主动发送信号来提前感知拥塞情况,或者控制队列的堆积,而不是让一切由发送方自行判断来处理。

网络辅助技术

ECN(显式拥塞通知):ECN使得路由器能够……标记/记号在出现拥塞情况时,可以选择将数据包暂时保存起来,而不是立即丢弃它们。接收方会将这一信号反馈给发送方,而发送方则会降低自己的发送速率。这样,就可以在不等待数据包被丢弃的情况下,有效控制拥塞情况了。

2. AQM(主动队列管理):AQM是一种队列管理方法,在这种方法中,路由器会开始丢弃或标记某些数据包。之前缓冲区满了之后,就不会出现长时间的排队现象。这样一来,排队等待的时间就会减少,同时网络在高峰时段的表现也会更加稳定。

3. CoDel(可控延迟):CoDel是一种AQM技术,它着重于控制延迟时间,而不仅仅是缓冲区的大小。该技术会监控数据包在队列中停留的时间。如果延迟持续较高,系统就会减少或标记这些数据包,从而迫使发送方降低发送速度,使队列中的延迟恢复到正常水平。

4. 它为什么有用:网络辅助方法能够降低缓冲区溢出的风险,同时减少数据包丢失的情况。因为,通过标记或控制性丢弃的方式,可以更早地处理拥塞问题。

5. 对真实网络而言,这一解决方案带来的关键优势在于:这些方法能够确保像语音和视频这样的对延迟要求较高的应用程序运行得更稳定,因为它们能够防止在负载过重的情况下出现队列过长的问题。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料