当前位置: 首页 > news >正文

NPCC(Network-based Proactive Congestion Control)

文章目录

    • 为什么需要NPCC
    • NPCC是如何工作的
    • 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的工作原理如上图所示。

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

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

  • 队列长度上涨:队列浅时,发送少量CNP报文,防止拥塞状态误判断;队列深时,发送较多的CNP报文,快速缓解队列拥塞,降低转发时延。
  • 队列长度下降:队列浅时,不发送CNP报文,防止过度降速造成吞吐下降;队列深时,发送少量的CNP报文,在尽量保证吞吐和时延性能的情况下缓解队列拥塞。
  • 队列长度突发小抖动:认为出现了微突发场景,此时不发送CNP报文,防止出现过度降速。
  1. 构造CNP报文并转发。
    网络设备根据计算出的CNP报文数目和RoCEv2流表中的地址信息构造CNP报文,并向发送端服务器主动发送CNP报文,服务器收到后降低RoCEv2报文的发送速率。

NPCC的应用

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

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


数据中心互联的长距场景


http://www.jsqmd.com/news/230677/

相关文章:

  • Python模块与包管理:从基础到现代工程实践
  • 什么是NQA
  • Midjourney搞定科研论文封面图!3步出刊级作品,拒被审稿人打回
  • prql-book-l10n
  • DDoS攻击检测新方案:云端AI模型1小时1块,比传统方案快5倍
  • 什么是NSLB
  • 没GPU如何学AI侦测?云端实验室1块钱起步,随用随停
  • 自考必看!10个高效降AIGC工具推荐,轻松过审!
  • 什么是NSR
  • 什么是NTA
  • AI实体侦测API调用指南:零基础3步集成,成本透明
  • 没显卡怎么玩AI Agent?预置镜像2块钱体验最新技术
  • 智能侦测模型部署真相:买显卡不如用云端,按需付费真香
  • 【obsidian指南】配置obsidian git插件,实现obsidian数据定时同步到github仓库(Mac电脑)
  • B 端表单标签对齐指南:兼顾效率与体验的设计选择
  • 智能工单优先级系统搭建:3步调用API,成本直降70%
  • 5大AI行为侦测模型对比:云端GPU 3小时完成选型,成本省80%
  • 如何利用特价股票投资应对经济衰退风险
  • AI+IoT设备监控方案:边缘计算+云端分析,成本优化
  • AI安全众测平台:云端沙箱环境,白帽子提交漏洞更安全
  • AI视频侦测3步入门:免CUDA编译,云端直接跑开源模型
  • AI原生应用领域微服务集成的边缘计算融合方案
  • 多语言实体识别实战:预置50+语言模型,按需调用
  • 揭秘写论文AI工具高阶玩法:6款神器精准控率无压力
  • 实时交通流量AI分析:云端GPU弹性扩容,1小时起租
  • 2026必备!本科生论文神器TOP8一键生成论文工具测评
  • AI侦测模型数据增强实战:云端自动扩增,效率翻倍
  • 【计网全栈通关】第 1 篇:体系结构从 OSI 到 TCP/IP
  • 无人机视角电力场景输电线塔植被侵占鸟巢检测数据集VOC+YOLO格式2881张3类别
  • 智能视频分析快速验证:云端GPU按需使用,成本降80%