本站点使用Cookies,继续浏览表示您同意我们使用Cookies。 Cookies和隐私政策>

首页 信息速查 产品智能选型 IP知识百科

NPCC

NPCC(Network-based Proactive Congestion Control)是一种以网络设备为核心的主动拥塞控制技术,支持在网络设备上智能识别拥塞状态,主动发送CNP拥塞通知报文,准确控制服务器发送RoCEv2报文的速率,既可以确保拥塞时的及时降速,又可以避免拥塞已经缓解时的过度降速。

为什么需要NPCC?

目前RoCEv2(RDMA over Converged Ethernet version 2)网络应用最广泛的拥塞控制机制,是在网络设备上发现拥塞后,由网络设备向接收端服务器发送携带拥塞标记的报文,接收端服务器随后向发送端服务器发送CNP拥塞通知报文(Congestion Notification Packets,简称CNP报文),以通知发送端服务器降低发送报文的速率,从而缓解拥塞。

传统的拥塞控制机制
传统的拥塞控制机制
智能无损网络中的AI ECN技术采用的就是上述拥塞控制机制,它仅要求网络设备在报文中打上拥塞标记,其他协议功能在服务器上实现。但当接收端服务器与发送端服务器距离较远时,该机制存在以下问题:
  • 响应慢:发生拥塞的是网络设备,然而对拥塞进行反馈的是接收端,当网络规模较大时,过长的拥塞反馈路径可能让发送端不能及时降速,甚至提前升速导致拥塞加剧;
  • 响应不准确:网络拥塞状态只能通过报文中的拥塞标记获得,接收端生成的CNP报文个数不能准确缓解拥塞。且在拥塞缓解过程中,转发设备仍然会持续进行拥塞标记,很容易造成吞吐过低。

NPCC功能支持在网络设备上智能识别拥塞状态,由网络设备主动向发送端服务器发送CNP报文,使发送端服务器及时降低发送报文的速率。不仅解决了拥塞反馈路径过长的问题,而且可以准确控制发送的CNP报文个数。既可以确保拥塞时的及时降速,又可以避免拥塞已经缓解时的过度降速。但由于启用NPCC功能的网络设备需要自行维护RoCEv2流表、计算CNP报文数目、构造和发送CNP报文,这个过程需要花费的时间相对较长,因此,在两端服务器距离较远的场景中使用NPCC更有收益。

NPCC的拥塞控制机制
NPCC的拥塞控制机制

NPCC是如何工作的?

NPCC工作原理
NPCC工作原理

NPCC的工作原理如上图所示。

  1. 维护RoCEv2流表,获取路径信息。

    开启NPCC功能的网络设备会根据报文的源IP地址、目的IP地址、Dest QP字段和端口索引信息建立和维护RoCEv2流表,以获知RoCEv2流的地址信息和转发路径。

  2. 检测队列拥塞状态,计算CNP报文数目。

    网络设备对端口中开启了NPCC功能的队列的队列长度(即缓存占用量)进行检测,根据队列的拥塞状态智能计算主动发送的CNP报文数目:

    • 队列长度上涨:队列浅时,发送少量CNP报文,防止拥塞状态误判断;队列深时,发送较多的CNP报文,快速缓解队列拥塞,降低转发时延。
    • 队列长度下降:队列浅时,不发送CNP报文,防止过度降速造成吞吐下降;队列深时,发送少量的CNP报文,在尽量保证吞吐和时延性能的情况下缓解队列拥塞。
    • 队列长度突发小抖动:认为出现了微突发场景,此时不发送CNP报文,防止出现过度降速。
  3. 构造CNP报文并转发。

    网络设备根据计算出的CNP报文数目和RoCEv2流表中的地址信息构造CNP报文,并向发送端服务器主动发送CNP报文,服务器收到后降低RoCEv2报文的发送速率。

NPCC的应用

如下图所示,在数据中心互联的长距场景中,DeviceA和DeviceB作为数据中心互联的出口设备,当DeviceA的出端口发生拥塞时,DeviceA会向DC2的接收端服务器发送携带拥塞标记的报文,DC2的接收端服务器随后向DC1的发送端服务器发送CNP报文,DC1的发送端服务器接收到CNP报文后降低发送报文的速率。由于两个数据中心距离很远,消耗时间较长,因此无法达到及时降速的效果。

在DeviceA上开启NPCC功能后,当DeviceA的出端口发生拥塞时,由DeviceA直接向DC1的发送端服务器发送CNP报文,可以达到及时降速,缓解拥塞的效果。

数据中心互联的长距场景
数据中心互联的长距场景
词条统计
  • 作者: 冯媛媛
  • 最近更新: 2024-02-26
  • 浏览次数: 14602
  • 平均得分:
分享链接到: