《新华三:2025智能无损网络技术白皮书(25页).pdf》由会员分享,可在线阅读,更多相关《新华三:2025智能无损网络技术白皮书(25页).pdf(25页珍藏版)》请在三个皮匠报告上搜索。
1、智能无损网络技术白皮书 Copyright 2025 新华三技术有限公司 版权所有,保留一切权利。非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。i 目 录 1 概述 1 1.1 简介 1 1.2 产生背景 1 1.2.1 RDMA 的应用需求 1 1.2.2 数据中心硬件发展的需求 1 1.3 技术架构 1 2 流量控制技术 3 2.1 PFC 工作原理 3 2.2 PFC 死锁检
2、测 4 2.2.1 PFC 死锁的产生 4 2.2.2 触发 PFC 死锁检测 5 2.2.3 PFC 死锁判定 5 2.2.4 PFC 死锁恢复 5 2.3 PFC 死锁预防 6 2.3.1 PFC 死锁预防的产生背景 6 2.3.2 PFC 高风险业务流 6 2.3.3 PFC 死锁预防工作原理 7 3 拥塞控制技术 8 3.1 ECN 8 3.1.1 基本概念 8 3.1.2 实现原理 9 3.2 ECN Overlay 11 3.2.1 基本概念 11 3.2.2 实现原理 12 3.3 大小流区分调度 12 3.4 AI ECN 13 3.4.1 背景简介 13 3.4.2 实现原理
3、 14 3.5 IPCC 15 3.5.1 基本概念 15 3.5.2 实现原理 16 ii 4 智能无损存储网络技术(iNOF)19 4.1 iNOF 简介 19 4.2 iNOF 组网 19 4.2.1 iNOF 网络元素 19 4.2.2 iNOF 直连组网 20 4.2.3 iNOF 跨交换机组网 20 4.3 技术优点 22 4.4 H3C iNOF 实现的技术特色 22 5 参考文献 22 1 1 概述概述 1.1 简介 智能无损网络是通过硬件架构、智能无损算法和一系列的网络技术,为人工智能、分布式存储、HPC(High Performance Computing,高性能计算)等应
4、用场景提供的“无丢包、低时延、高吞吐”网络环境,用于加速计算和存储的效率,为数据中心构建统一融合的网络。1.2 产生背景 1.2.1 RDMA 的应用需求 RDMA(Remote Direct Memory Access,远程直接内存访问)技术的内核旁路机制允许应用与网卡之间直接读写数据,使得服务器内的数据传输时延降低。同时 RDMA 利用相关的硬件和网络技术,使服务器网卡之间可以直接读内存,实现了高吞吐量、超低时延和低 CPU 开销的效果。当前分布式存储、HPC 高性能计算、AI 人工智能等场景均采用 RoCEv2(RDMA over Converged Ethernet version 2
5、)作为以太网上的传输协议来降低传输时延和 CPU 负担。但是 RoCEv2 是一种基于无连接的 UDP 协议,缺乏完善的丢包保护机制,对于网络丢包异常敏感。此外,分布式高性能应用采用多对一通信的 Incast 流量模型。在以太网设备中,Incast 流量易引发设备内部队列缓存的瞬时突发拥塞,甚至导致丢包,从而增加时延并降低吞吐量,最终损害分布式应用的性能。所以为了发挥出 RDMA 的真正性能,突破数据中心大规模分布式系统的网络性能瓶颈,势必要为 RDMA搭建一套“无丢包、低时延、高吞吐”的无损网络环境。1.2.2 数据中心硬件发展的需求 计算、存储、网络是数据中心的三要素,三者需要协同发展。当
6、前业界在计算芯片算力、存储读取速度方面取得了巨大的进展。从 2016 年到 2021 年,近 5 年GPU/AI 芯片算力增长了 90 倍。采用 NVMe(Non Volatile Memory Express,非易失性内存主机控制器接口规范)接口协议的 SDD 存储介质访问性能相对 HDD 机械硬盘提升了 10000 倍,读写存储介质的时延主要取决于网络时延的大小。随着存储介质和计算处理器的演进,网络通信的时延成为阻碍计算和存储效率的进一步提升的短板。因此为数据中心提供一套“无丢包、低时延、高吞吐”的无损网络环境是未来发展的关键需求。1.3 技术架构 智能无损网络一方面通过流量控制技术和拥塞
7、控制技术来提升网络整体的吞吐量,降低网络时延,另一方面通过智能无损存储网络等技术实现网络和应用系统融合优化。根据智能无损网络技术和TCP/IP 协议栈的对应关系,智能无损网络的技术架构如图 1 所示:2 图1 智能无损网络的技术架构 在物理硬件层,智能无损网络需要支持智能无损算法的 AI 芯片和转发/交换芯片的支持。在数据链路层,部署流量控制技术 PFC(Priority-based Flow Control,基于优先级的流量控制),同时预防PFC死锁问题。PFC技术由IEEE 802.1Qbb定义,用于解决拥塞丢帧问题。在网络层,智能无损网络可以应用如下拥塞控制技术:ECN(Explicit
8、 Congestion Notification,显式拥塞通知)技术:ECN 是一种端到端的网络拥塞通知机制,它允许网络在拥塞时不丢弃报文。该技术在 RFC 3168 中进行了定义。ECN Overlay 技术:将 ECN 技术应用到 VXLAN 网络中,以实现 VXLAN 网络中端到端的拥塞通知机制。大小流区分调度:设备端口转发报文时还会使用 QoS 的拥塞管理技术进行队列调度,提供不同的服务标准。网络中流量被管理员区分为大小流,并区分调度,以保证大流的吞吐率和小流的时延需求。AI ECN 功能:AI ECN 结合了智能算法,可以根据智能算法对现网流量模型进行预测,并动态调整 ECN 低门限
9、。NP转发芯片AI芯片LSW交换芯片物理层:硬件支持PFCPFC死锁预防数据链路层:流控制技术ECNAI ECNIPCC网络层:拥塞控制技术负载分担传输层:流量调度和转发技术iNOF应用层:应用融合技术ECN Overlay大小流区分调度 3 IPCC(Intelligent Proactive Congestion Control,智能主动拥塞控制)是一种主动拥塞控制技术。IPCC 功能在 ECN 功能基础上进行改进,可以智能识别设备端口的拥塞状态,主动发送 CNP(Congestion Notification Packets,拥塞通知报文),准确地控制服务器发送RoCEv2 报文的速率,
10、既可以确保拥塞时的及时降速,又可以避免拥塞已经缓解时的过度降速,最终确保网络的低时延和高吞吐。在传输层可以采用 ECMP 对网络中的流量进行负载分担。在应用层,智能无损网络提供了 iNOF(Intelligent Lossless NVMe Over Fabric,智能无损存储网络)功能,通过对 iNOF 主机的快速管控,提升存储网络的易用性,实现以太网和存储网络融合。2 流量控制技术流量控制技术 PFC(Priority-based Flow Control,基于优先级的流量控制)是构建无损以太网的必选手段之一,能够逐跳提供基于优先级的流量控制。2.1 PFC工作原理 PFC 允许网络设备根
11、据不同的数据流优先级进行流量控制。当特定优先级的流量拥塞时,网络设备可以向对端设备发送反压信号(PFC PAUSE 帧),要求对端设备停止发送特定优先级的流量,以防止缓冲区溢出和数据丢失。这种个别流量控制方式允许网络在某些流量拥塞时保持流畅,同时防止对其他流量造成干扰。如图 2 所示,Device A 和 Device B 之间存在多个优先级的流量。当 Priority 1 的流量发生拥塞时,Device A 和 Device B 将停止发送该优先级的流量。同时,Device A 和 Device B 之间其他优先级的流量可以正常处理。图2 PFC 工作原理示意图 如图 3 所示,当 Devi
12、ce B 的出接口上某个队列产生拥塞时,导致本设备对应流量的入接口缓存超过门限,Device B 向所有上游设备(数据报文的来源)发送 PFC PAUSE 帧。Device A 接收到 PFC PAUSE,会根据 PFC PAUSE 的指示,停止发送对应优先级的报文,并将数据存储到本地接口的缓存空间。如果 Device A 本地接口的缓存消耗超过缓存门限,则也向上游设备发送 PFC PAUSE。通过逐级发送 PFC PAUSE 信号,直到抵达网络终端设备,这样可以有效消除网络节点因拥塞导致的数据包丢失。Device E 接收到 PFC PAUSE 后,对该队列报文进行缓存,未达到 Device
13、 E 的缓存门限时,不向上游设备发送 PFC PAUSE。Device ADevice BPriority 3Priority 4Priority 2Priority 1 4 图3 多级设备之间的 PFC PAUSE 帧处理示意图 2.2 PFC死锁检测 2.2.1 PFC 死锁的产生 PFC 死锁是指多个设备之间,因为环路等原因,同时出现了拥塞(各自端口缓存消耗超过了阈值),又都在等待对方释放资源,从而导致的“僵持状态”(所有交换机的数据流永久堵塞)。如图 4 所示,多个设备发生拥塞后互相发送 PFC PAUSE 帧,使 PFC PAUSE 帧在网络内泛洪,导致网络内设备无法转发报文,使整网
14、业务瘫痪。图4 PFC 死锁产生示意图 收到PFC PAUSE帧,对该队列报文进行缓存。达到缓存门限,向上游设备发送PFC PAUSE帧本地队列Buffer达到缓存门限,向上游设备发送PFC PAUSE帧收到PFC PAUSE帧,对该队列报文进行缓存。未达到缓存门限,不向上游设备发送PFC PAUSE帧数据流量PFC PAUSE帧ABCDEFABCDPFC PAUSE帧 5 2.2.2 触发 PFC 死锁检测 如图 5 所示,Device B 的端口 Interface 收到来自 Device A 的 PFC PAUSE 帧后,停止发送对应优先级队列的报文。Device B 启动 PFC 死锁
15、检测定时器,在检测周期内检测该优先级队列收到的 PFC PAUSE 帧。图5 触发 PFC 死锁检测示意图 2.2.3 PFC 死锁判定 如图 6 所示,如果在 PFC 死锁检测周期内,Device B 上端口 Interface 的指定优先级队列一直处于PFC XOFF(PFC 反压帧触发门限)状态,即在检测周期内该优先级队列持续不断地收到 PFC PAUSE 帧,则 Device B 判定 Device A 发生死锁,进入死锁状态。图6 PFC 死锁判定示意图 PFC 反压帧触发门限是缓冲区中某 dot1p 优先级报文在该存储空间使用的资源上限。该 dot1p 优先级报文占用的资源达到上限
16、后,会触发设备发送 PFC PAUSE 帧。2.2.4 PFC 死锁恢复 设备检测到某个接口发生死锁后,将启动自动恢复定时器。在自动恢复周期内,设备将关闭该接口的 PFC 功能和 PFC 死锁检测功能,以忽略接口收到的 PFC PAUSE 帧。同时,设备对数据报文执行转发或丢弃动作(由管理员手工配置),以规避 PFC 死锁问题。在自动恢复定时器超时后,设备将开启 PFC 功能和 PFC 死锁检测功能。如果经过死锁恢复后,仍不断出现PFC死锁现象,管理员可以设置PFC死锁的触发上限,当PFC死锁发生次数到达上限后,设备将强制关闭 PFC 功能和 PFC 死锁检测功能。待排除故障后,需要管理员手工
17、恢复 PFC 功能和PFC 死锁检测功能。Device ADevice BInterfacePFC PAUSE停止发送对应优先级队列的报文12启动PFC死锁检测定时器Device ADevice BInterfacePFC PAUSE在PFC死锁检测周期内,收到多个PFC PAUSE帧12指定优先级队列一直处于PFC XOFF状态3设备进入PFC死锁状态 6 2.3 PFC死锁预防 PFC 死锁预防是一种技术,设备通过识别可能导致 PFC 死锁的业务流并调整其队列优先级,从而防止 PFC 死锁的发生。2.3.1 PFC 死锁预防的产生背景 如图 7 所示,正常情况下,业务流量转发路径为 A-B
18、-C-D。当网络的防环机制出现问题时,将会导致业务流量从 D 向 A 转发。故障流量在 A-B-C-D 间转发,形成环路。如果网络设备 AD 接口的缓存空间中使用的资源达到PFC XOFF门限,则网络设备向故障流量的上游发送PFC PAUSE帧。PFC PAUSE 帧在环网中持续发送,最终导致所有设备进入 PFC 死锁状态,整网断流。图7 环网 PFC 死锁示意图 2.3.2 PFC 高风险业务流 PFC 死锁预防功能中定义了端口组概念,如图 8 所示,设备 D 上 interface 1 与 interface 2 属于同一端口组。当设备 D 检测到同一条业务流从属于该端口组的接口上进出,即
19、说明该业务流是一条高风险业务流,易形成 PFC PAUSE 帧环路,引起 PFC 死锁。具有相同 PFC 死锁预防功能配置的接口属于同一端口组。有关 PFC 死锁预防功能配置,请参见相关配置手册。BCDA正常流量故障流量PFC PAUSE 7 图8 PFC 高风险业务流 2.3.3 PFC 死锁预防工作原理 目前,PFC 死锁预防仅针对携带 DSCP 值的业务流量。设备收到报文后,会根据报文的 DSCP 值以及设备上 dscp-dot1p 的映射关系,将该报文加入指定dot1p 优先级的队列转发。PFC 死锁预防功能工作原理为:(1)部署端口组:管理员提前规划,将可能产生 PFC PAUSE
20、帧的接口划分到同一端口组。例如,一台 Leaf 交换机,将其上行口划分到同一端口组中。(2)识别高风险业务流。(3)修改映射关系:设备收到报文后,修改报文的 DSCP 值和对应的 dot1p 优先级,使报文在新的 dot1p 优先级队列中使用新的 DSCP 值转发。如图9所示,Device A发送指定DSCP值的业务流量。Device B收到业务流量后,根据报文的DSCP值以及设备上 dscp-dot1p 的映射关系,让业务流量在队列 1 中转发。如果 Device B 检测到该业务流量为高风险业务流,易引起 PFC 死锁,则 Device B 会修改业务流量队列优先级,使业务流量切换到队列
21、2 转发,这样就可以规避队列 1 可能产生的 PFC PAUSE 帧,预防 PFC 死锁的产生。BCDAInterface 1Interface 2 8 图9 PFC 死锁预防工作原理示意图 3 拥塞控制技术拥塞控制技术 拥塞控制是一种网络管理方法,用于调节进入网络的数据总量,确保流量保持在可接受的水平,以防止网络过载。拥塞控制与流量控制的区别在于:流量控制是由接收端来控制数据传输速率,防止发送端过快的发送速率引起接收方拥塞丢包;拥塞控制是一个全网设备协同的过程,所有主机和网络中的转发设备均参与控制网络中的数据流量,以达到网络无丢包、低时延、高吞吐的目的。在现网中,流量控制和拥塞控制需要配合应
22、用才能真正解决网络拥塞。在当前的数据中心网络中,ECN 功能是应用最广泛的一种拥塞控制方法,本章节介绍 ECN、ECNOverlay、大小流区分调度、AI ECN 和 IPCC 等功能的基本原理。3.1 ECN 3.1.1 基本概念 ECN(Explicit Congestion Notification,显式拥塞通知)是一种拥塞通知技术,ECN 功能利用 IP报文头中的 DS 域来标记报文传输路径上的拥塞状态。支持该功能的终端设备可以通过报文中的ECN 标记判断出传输路径上是否发生了拥塞,从而调整报文的发送方式,避免拥塞加剧。在 RFC 2481 标准中,IP 报文头中 DS 域的最后两个比
23、特位被定义为 ECN 域,并进行了如下定义:比特位 6 用于标识发送端设备是否支持 ECN 功能,称为 ECT 位(ECN-Capable Transport)比特位7用于标识报文在传输路径上是否经历过拥塞,称为CE位(Congestion Experienced)Device ADevice B高风险业务流队列1队列2修改报文的dot1p优先级Interface A1Interface A2Interface B1Interface B2 9 图10 IPv4 报文头中的 ECN 域示意图 如图 10 所示以 IPv4 报文为例,RFC 3168 对 ECN 域的取值进行如下规定:ECN 域
24、的取值为 00 时,表示该报文不支持 ECN 功能。ECN 域的取值为 01 或者 10 时,表示该报文支持 ECN 功能,分别记为 ECT(0)或 ECT(1)。ECN 域的取值为 11 时,表示该报文在转发路径上发生了拥塞,记为 CE。3.1.2 实现原理 ECN 功能需要和 WRED 策略配合应用。如图 11 所示,没有开启 ECN 功能的 WRED 策略按照一定的丢弃策略随机丢弃队列中的报文,WRED 策略为每个队列都设定上限长度 QL_max 和下限长度 QL_min,对队列中的报文进行如下处理:当队列的长度小于下限 QL_min 时,不丢弃报文;当队列的长度超过上限 QL_max
25、时,丢弃所有到来的报文;当队列的长度在上限 QL_max 和下限 QL_min 之间时,开始随机丢弃到来的报文。队列越长,丢弃概率越高,队列丢弃概率随队列长度线性增长,不超出最大丢弃概率 x%。015VersionIHLType of Service(ToS)Total Length3137181514DSCPDifferentiated Services CodePointRFC 2474ECN FieldECN域RFC 3168 10 图11 WRED 丢弃概率与队列长度示意图 如图 12 所示,在部署 ECN 功能的 WRED 策略的组网图中,存在三类设备角色:转发设备(Congesti
26、on Point):报文在网络中转发路径上经过的设备,转发设备支持 ECN 功能,可以识别报文中 ECN 域的取值。报文在转发设备的接口上可能发生拥塞,所以转发设备又称为 Congestion Point,转发设备需要部署 ECN 功能的 WRED 策略。报文接收端(Notification Point):接收端设备网卡支持 ECN 功能,可以识别报文中取值为 01、10 或者 11 的 ECN 域。接收端同时作为拥塞通知的发起设备,收到 ECN 域取值为 11 的报文时,将每隔时间周期 T1 发送拥塞通知报文给报文发送端,要求发送端降低报文发送速率。报文发送端(Reaction Point)
27、:发送端设备网卡支持 ECN 功能,从发送端发出报文的 ECN域的取值为 01 或者 10。发送端同时作为拥塞通知的应答设备,收到拥塞通知时,将以一定的降速比率降低当前自身发送报文的发送速率,并开启计时器,当计时器超出时间 T2(T2T1)后,发送端设备未再次收到拥塞通知,则发送端认为网络中不存在拥塞,恢复之前的报文发送速率。当计时器在时间 T2(T2T1)内,发送端设备再次收到拥塞通知,则发送端进一步降低报文发送速率。图12 部署 ECN 功能的 WRED 策略的组网图 部署了 ECN 功能的 WRED 策略的转发设备(Congestion Point)对接收到的数据报文进行识别和处理的具体
28、处理方式如下:0%100%最大丢弃概率x%0队列长度丢弃概率QL_minQL_maxQL_min:队列长度下限QL_max:队列长度上限转发设备Congestion Point拥塞通知报文发送端Reaction Point报文接收端Notification Point报文转发路径拥塞通知路径拥塞发生位置 11 当转发设备的报文在出方向进入队列排队,该队列的长度小于下限 QL_min(QL_min 也称为ECN 低门限)时,不对报文进行任何处理,转发设备直接将报文从出接口转发。当转发设备的报文在出方向进入队列排队,该队列的长度大于下限 QL_min 但小于上限QL_max(QL_max 也称为
29、ECN 高门限)时:如果设备接收到的报文中 ECN 域取值为 00,表示报文发送端不支持 ECN 功能,转发设备按照未开启 ECN 功能的 WRED 策略处理,即随机丢弃接收的报文。如果设备接收到的报文中 ECN 域取值为 01 或者 10,表示报文发送端支持 ECN 功能,将按照WRED策略中的线性丢弃概率来修改部分入方向报文的ECN域为11后继续转发该报文,所有入方向接收到的报文均不丢弃。如果设备接收到的报文中 ECN 域取值为 11,表示该报文在之前的转发设备上已经出现拥塞,此时转发设备不处理报文,直接将报文从出接口转发。当转发设备的报文在出方向进入队列排队,该队列的长度大于上限 QL_
30、max 时:如果设备接收到的报文中 ECN 域取值为 00,表示报文发送端不支持 ECN 功能,转发设备按照未开启 ECN 功能的 WRED 策略处理,即丢弃接收的报文。如果设备接收到的报文中 ECN 域取值为 01 或者 10,表示报文发送端支持 ECN 功能,将100%修改部分入方向报文的 ECN 域为 11 后继续转发该报文,所有入方向接收到的报文均不丢弃。如果设备接收到的报文中 ECN 域取值为 11,表示该报文在之前的转发设备上已经出现拥塞,此时转发设备不处理报文,直接将报文从出接口转发。合理设置 ECN 门限可以缓解拥塞同时保证网络的时延和吞吐率。上述ECN域标识的修改过程是转发设
31、备在出方向报文检测到拥塞后,修改入方向报文ECN域标识。设备在处理过程中存在一定延时,为了加快该流程,转发设备在出方向队列检测到拥塞后,直接修改出方向报文的 ECN 域标识,这个技术称为 Fast ECN。相较于未部署 ECN 功能的 WRED 策略,部署了 ECN 功能的 WRED 策略具备如下优势:通过合理设置 WRED 策略中队列长度的下限值,可以使转发设备提前感知到路径上的拥塞,并由报文接收端通知报文发送端放缓发送速率。在转发设备上,对超出队列长度下限值的报文仅标记 ECN 域为 11,而不再丢弃报文,避免网络中报文丢弃和重传的过程,减少了网络时延。网络中出现拥塞时,发送端在一定时间内
32、逐步降低报文发送速率,在拥塞现象消失后,发送端逐步提升报文发送速率,避免出现网络吞吐量在拥塞前后快速振荡的情况。3.2 ECN Overlay 3.2.1 基本概念 ECN Overlay 功能是指在 VXLAN 网络中适用 ECN 功能,即在 VXLAN 网络中设备出接口发生拥塞时,报文的 ECN域可以被标记为 CE,并且设备可以正常传递携带 CE标记的报文,而不会丢失 ECN域中的标记信息。12 3.2.2 实现原理 VXLAN 网络中拥塞发生的位置不同,报文 ECN 域处理流程和传递 ECN 信息的过程略有不同。如图 13 所示,VXLAN 隧道入节点的出接口发生拥塞为例,报文 ECN
33、域处理流程和传递 ECN 信息的过程为:(1)ECN 信息的映射:在 VXLAN 隧道的发起端检测到拥塞时,设备将原始 IP 报文的 ECN 域标记为 CE。报文发送时,将原始 IP 报文进行 VXLAN 封装,此时设备将原始 IP 报文 ECN 域的CE 映射到 VXLAN 报文外层 IP 头部的 ECN 域中。(2)ECN 信息的传递:在 VXLAN 网络中传递的报文将携带 CE 标记,Underlay 的中转设备不进行修改。(3)ECN信息的恢复:在VXLAN隧道的终结端解封装VXLAN报文时,执行第一步中相反的操作,即设备将 VXLAN 报文外层 IP 头部的 ECN 域中的信息复制到
34、原始 IP 报文的 ECN 域中。如果 VXLAN 网络的中转发设备的出接口上发生拥塞,则仅在 Underlay 的中转设备上标记 VXLAN报文外层 IP 头部的 ECN 域,并且在 VXLAN 隧道的终结端将 ECN 域中的信息复制到原始 IP 报文的 ECN 域中。如果 VXLAN 隧道出节点的出接口发生拥塞,则仅需要执行上述 ECN 信息的恢复步骤。图13 ECN Overlay 工作原理示意图 3.3 大小流区分调度 网络中充斥着各种各样的流量,我们可以简单的将其分为大流和小流。大流占网络流总数的 10%左右,但其承载了网络总数据量的 85%,具有尺寸大、占用带宽大、数量较少的特点,
35、但是对时延要求较低,例如视频下载流量。小流的特点是尺寸小、占用带宽小,但是对时延要求较高,希望能得到快速响应,例如查询流量。在无损网络中我们希望将大小流区分调度,以满足小流的延迟需求和大流的吞吐率需求。如图 14 所示,大小流区分调度机制如下:(1)网络管理员配置大流识别参数(流速和尺寸),设备根据识别参数将网络流量中的大流识别出来;Eth Header IP HeaderECNPayloadEth Header IP HeaderECNPayloadECN信息的映射Eth Header IP HeaderECNUDP HeaderVXLAN HeaderEth HeaderIP Header
36、PayloadECN信息的传递ECN信息的恢复Eth Header IP HeaderECNUDP HeaderVXLAN HeaderEth HeaderIP HeaderPayload 13(2)网络管理员为大流指定丢弃优先级、本地优先级或 dot1q 优先级,设备根据本地优先级或者dot1q 优先级将识别出来的大流映射到特定的队列中,与其他非大流区分调度。一旦发生拥塞,设备也可以根据配置的丢弃优先级,优先丢弃大流报文,以保证小流的低延迟体验。图14 大小流区分调度示意图 3.4 AI ECN 3.4.1 背景简介 各个队列转发的数据流量特征会随时间动态变化,网络管理员通过静态设置 ECN
37、 门限时,并不能满足实时动态变化的网络流量特征:ECN 门限设置过高时,转发设备将使用更长的队列和更多缓存来保障流量发送的速率,满足吞吐敏感的大流的带宽需求。但是,在队列拥塞时,报文在缓存空间内排队,会带来较大的队列时延,不利于时延敏感的小流传输。ECN 门限设置偏低时,转发设备使用较短的队列和少量缓存尽快触发来降低队列排队的时延,满足小流对时延的需求。但是,过低的 ECN 门限会降低网络吞吐率,影响吞吐敏感的大流,限制了大流的传输。另一方面网络中如果同时部署了 PFC 和 ECN 功能时,我们希望 ECN 门限设置可以保证设备优先触发 ECN 功能,降低报文发送端的速率缓解拥塞情况,而非先触
38、发 PFC 功能直接通知发送端停止发送报文。只有当 ECN 功能触发后未缓解拥塞,拥塞反而严重恶化时才触发 PFC 功能,此时通知发送端停止数据报文发送,直到拥塞缓解后再通知继续发送数据报文。ECN 和 PFC 同时部署减缓拥塞时的作用顺序应如下图所示:识别大流区分调度入接口队列x队列z队列y根据优先级映射到队列拥塞时丢弃调度策略大流报文非大流报文丢弃优先级高丢弃优先级低丢弃优先级低 14 图15 ECN 和 PFC 同时部署减缓拥塞示意图 由图 15 流程可知,当拥塞发生时,从转发设备发送 ECN 域标记为 11 的数据报文到报文发送端降速的过程中,发送端仍以原速率持续发送数据报文,这段时间
39、内网络中的拥塞将进一步恶化,只有合理并动态设置 ECN 低门限,设备才能尽量避免 PFC 触发影响网络中的吞吐率。基于以上原因,我们需要一种智能地实时 ECN 低门限控制功能,这种功能称为 AI ECN 功能。3.4.2 实现原理 AI ECN 利用设备本地的 AI 业务组件,按照一定流量模型算法动态优化 ECN 门限。转发设备Congestion Point报文发送端Reaction Point报文接收端Notification Point拥塞发生位置接口出方向拥塞,队列长度超出ECN门限数据报文ECN域标记为11拥塞通知报文发送端数据报文降速拥塞加剧,接口入方向触发PFC反压门限PFC反压
40、通知发送端停止发送数据报文拥塞缓解,接口入方向触发PFC反压停止门限PFC反压停止通知发送端继续发生数据报文 15 图16 AI ECN 功能实现示意图 设备内的转发芯片会采集当前流量的特征数据,比如队列缓存占用率、流量吞吐率以及大小流占比等,然后将这些网络流量实时信息传递给 AI 业务组件。AI ECN 功能启用后,AI 业务组件收到推送的流量实时信息后,将智能的对当前的流量特征进行判断,识别当前的网络流量场景是否符合已知的流量模型。如果该流量模型符合大量已知流量模型中的一种,AI 业务组件将根据已知流量模型推理出实时 ECN 门限最优值。如果该流量模型不符合已知流量模型,AI 组件将基于现
41、网状态,在保障高带宽、低时延的前提下,不断地实时修正当前的 ECN 门限,并最终计算出最优的 ECN 门限配置。最后,AI 业务组件将最优 ECN 门限下发到设备转发芯片中,调整 ECN 门限。AI ECN 能够根据流量特征和变化而实时调整 ECN 门限:当队列中小流占比高时,降低 ECN 触发门限,保证多数小流的低时延性。当队列中大流占比高时,提高 ECN 触发门限,保证多数大流的高吞吐性。3.5 IPCC 3.5.1 基本概念 IPCC(Intelligent Proactive Congestion Control,智能主动拥塞控制)与 ECN 技术类似,也是一种通过拥塞通知报文来通知发
42、送端降低报文发送速率,从而避免网络拥塞的技术。IPCC 是由网络设备主动发起的拥塞控制技术。用于转发 RoCEv2 报文的网络设备接口如果开启了 IPCC 功能,则转发芯片PFC反压门限ECN低门限队列1队列2队列nAI业务组件队列缓存占用率、吞吐率、大小流占比等数据流量模型&AI算法动态调整ECN门限特征数据采集和传递ECN门限下发ECN高门限 16 设备根据该接口的拥塞情况,主动发送拥塞通知报文通知报文发送端降低发送报文的速率,并且设备可以基于接口队列的拥塞严重程度,智能计算出需要发送拥塞通知报文的数量,精准调整控制发送端发送报文的降速,避免发送端过度降低速度。IPCC 和传统 ECN 技
43、术的对比如表 1 所示。表1 IPCC 和传统 ECN 技术对比 技术对比 IPCC 传统 ECN 发送拥塞通知报文位置 转发报文的网络设备 报文的接收端 报文拥塞的响应过程 直接主动响应。由网络中出现拥塞点的设备发送拥塞通知给报文发送端,拥塞点快速触发,通知发送端降速 间接被动响应。被标记的报文需传播整条转发路径抵达接收端后再由接收端发送拥塞通知报文通知发送端降速 发送端降速的效果 出现拥塞点的网络设备根据拥塞接口上队列长度和缓存占用,智能计算需要发送的拥塞通知报文个数,精确控制发送端降速 报文接收端如果持续收到ECN域取值为11的报文时,将每隔一定时间周期发送拥塞通知报文给报文发送端降速,
44、降速效果滞后于拥塞点的实际变化 应用场景 仅对RoCEv2报文生效 对于TCP、UDP等报文均能生效,适用范围更广 硬件支持要求 需要硬件芯片和驱动支持 需要硬件芯片和驱动支持 由表 1 比较可知,IPCC 在 ECN 功能基础上进行改进,使转发设备具备发送拥塞通知报文的能力,对于网络中拥塞控制更加准确和迅速。3.5.2 实现原理 由于 IPCC 功能仅对 RoCEv2 报文生效,下面先简单介绍 RoCEv2 报文的结构和报文的关键信息。RoCEv2 和 InfiniBand 是目前主流的 RDMA 协议,但相较于 InfiniBand,RoCEv2 是基于以太网的RDMA 协议。如图 17
45、所示,RoCEv2 是基于 UDP 协议封装的,其中 RoCEv2 报文的目的端口号固定为 4791。RoCEv2 和 InfiniBand 主要变化在数据链路层和网络层,RoCEv2 报文传输层继承了InfiniBand 报文中传输层的 Base Transport Header 和 Extended Transport Header 的结构和信息。17 图17 RoCEv2 与 InfiniBand 报文格式对比 根据 InfiniBand Architecture Specification 标准中的定义,BTH(Base Transport Header,基本传输层报文头)中包含了 R
46、oCEv2 报文的关键信息,其中部分字段的含义如下:OpCode:表示 RoCEv2 的操作类型,也标识了 BTH 之后携带的 ETH(Extended Transport Header,扩展传输层报文头)的类型。具体类型包括但不限于:Send:此类操作用于发送端向远端请求传递数据,发送端不指定接收端存储数据的地址。RDMA Write:此类操作用于发送端向远端请求写入数据,发送端会在报文中指定接收端存储数据的地址、key(关键值)和数据长度。RDMA Read:此类操作用于发送端向远端请求读取数据,发送端会在报文中会指定远端请求读取数据的地址、key 和数据长度。ACK:表示 ACK 报文,
47、远端接收到一组 RoCEv2 报文,会反馈的应答消息。操作类型为 Send、Write 和 Read 的 RoCEv2 报文也被称为 RoCEv2 数据报文。Destination QP(Destination Queue Pair):目的端的队列编号,用来标识一条 RoCEv2 流。通常,在 RoCEv2 数据报文中执行一个 Send、RDMA Write 和 RDMA Read 操作时,发送端和目的端都会创建一个队列,生成一个队列对 QP。发送队列用于存储发送端的消息和请求,接收队列用于存储远端发送的消息或请求。Destination QP 是用来建立 RoCEv2 流表的关键信息。ACK
48、 Request:应答响应要求标记位,表示是否要求远端发送 ACK 的响应。PSN(Packet Serial Number):表示 RoCEv2 报文的序列号,可通过检测 PSN 是否连续来判断是否存在丢失的数据包,若出现了丢包,就会返回 NAK 报文。Local Route HeaderGlobal Route HeaderBase Transport HeaderExtended Transport HeaderPayloadEthernet HeaderIP HeaderUDP Header(Dport=4791)Base Transport HeaderPayloadRoCEv2报文
49、结构InfiniBand报文结构数据链路层网络层传输层应用层Base Transport Header12 bytesOpCodeDestination QPAck RequestReservedPSN8 bits32 bits24 bits1 bits7 bits24 bitsExtended Transport Header 18 图18 IPCC 工作原理图 IPCC 的工作原理如图 18 所示。建立 RoCEv2 流表:在转发设备上,启用了 IPCC 功能的接口复制经过该设备的 RoCEv2 数据报文,并将其上送到设备的 CPU 处理。根据 RoCEv2 报文的源 IP 地址、目的 I
50、P 地址和目的QP信息等信息建立RoCEv2流表。RoCEv2流表中包括流量的入方向接口和出方向接口、出接口队列的相关信息。持续存在 RoCEv2 流量时,设备上保持并维护 RoCEv2 流表。如果出接口上发生拥塞则可以判断根据 RoCEv2 流表定位到该业务流的出入接口。智能计算拥塞通知报文数量:转发设备对接口中启用了 IPCC 功能的队列进行检测,根据队列长度以及队列占用缓存空间的比率变化智能计算主动发送的拥塞通知报文数量。当队列长度增加,队列缓存占用率较少,则发送少量拥塞通知报文给发送端,缓解队列拥塞,但不会使发送端过渡降速;当队列长度增加,队列缓存占用率较多,则发送较多的拥塞通知报文给
51、发送端,快速缓解队列拥塞,降低转发时延。当队列长度减少,队列缓存占用率较少,则不发送拥塞通知报文给发送端,防止降速造成吞吐率下降;当队列长度减少,队列缓存占用率较多,则发送少量拥塞通知报文给发送端,在尽量保证吞吐率和时延性能的情况下缓解队列拥塞。转发设备Congestion Point报文发送端Reaction Point报文接收端Notification Point启用IPCC功能的接口构造拥塞通知报文智能计算拥塞通知报文数量建立RoCEv2报文的转发流表,获取转发出接口和转发入接口使能了IPCC功能的接口检测队列长度和缓冲区占用率情况获取RoCEv2报文的源目的IP,目的QP等信息转发设备
52、RoCEv2数据报文RoCEv2数据报文拥塞通知报文RoCEv2数据报文、CM建链报文或ACK应答报文复制上送CPU 19 转发设备根据 RoCEv2 流表中的地址信息构造拥塞通知报文,并主动将拥塞通知报文发送给发送端。发送的拥塞通知报文数量为上一步中计算出的报文数目。发送端收到拥塞通知报文后,通过降低RoCEv2 报文的发送速率来缓解网络拥塞。IPCC 功能克服了传统 ECN 所面临的局限性,它通过更精细的算法来确定何时以及如何发送拥塞通知报文。这种改进方法依赖于对网络状况的实时分析,以计算出恰当的拥塞通知报文发送频率。该机制确保拥塞通知的发送既迅速又精确,以便及时地缓解网络拥塞情况,而不会
53、引起不必要的性能下降。IPCC 功能通过动态调整通知报文的发送,优化了网络流量管理,从而提高了整个网络的数据传输效率和稳定性。4 智能无损存储网络技术智能无损存储网络技术(iNOF)4.1 iNOF简介 随着全球企业数字化转型的加速进行,互联网应用在生产、生活领域的不断深入,存储网络的规模越来越大,需要处理的数据越来越多,总部和分支机构的数据中心部署在不同的物理位置,RDMA(Remote Direct Memory Access,远程直接内存访问功能)成为存储网络的主流技术。RDMA 利用相关的硬件和网络技术,使主机的网卡之间可以直接读内存,最终达到高带宽、低时延和低资源消耗率的效果。然而,
54、RDMA 提出之初是承载在无损的 IB(Infinite Band,无限带宽)网络中的,专用的 IB 网络架构封闭,无法兼容现网,使用成本较高,于是,RoCE(RDMA over Converged Ethernet)应运而生。RoCE 使用以太网承载 RDMA 的网络协议,有两个版本:RoCEv1 是一种链路层协议,不同广播域下无法使用;RoCEv2 是一种网络层协议,可以实现路由功能。当前高性能计算、分布式存储、人工智能等应用均采用 RoCEv2 协议来降低 CPU 的处理和时延,提升应用的性能。RoCEv2 协议缺乏完善的丢包保护机制,但存储业务对网络丢包异常敏感。要在以太网大环境下,发
55、挥出 RDMA 的真正性能,突破数据中心大规模分布式系统的网络性能瓶颈,我们使用智能无损网络技术为 RDMA 搭建了一套“无丢包、低时延、高吞吐”的无损网络环境。智能无损网络是一系列技术的集合,它一方面通过流量控制技术和拥塞控制技术来提升网络整体的吞吐量,降低网络时延,另一方面通过智能无损存储网络等技术实现网络和应用系统融合优化。iNOF(Intelligent Lossless NVMe Over Fabric,智能无损存储网络)就是一种以太网和存储网络的融合优化技术。它能实现海量存储设备的自动发现,网络故障的快速感知,并将存储设备的加入和离开第一时间通知给智能无损网络内的所有设备,为实现智
56、能无损网络的“无丢包、低时延、高吞吐”提供基础支持。4.2 iNOF组网 iNOF 有两种典型组网:iNOF 直连组网和 iNOF 跨交换机组网,这两种组网的适用场景不同,原理机制也不同。4.2.1 iNOF 网络元素 iNOF 网络中,包括以下三个重要元素:iNOF 主机:支持 iNOF 协议的网络服务器和磁盘设备,以下简称主机。iNOF 交换机:用于接入主机且支持 iNOF 功能的交换机。20 iNOF 域(Zone):iNOF 使用域来管理主机。当域内有主机加入或者离开,iNOF 会将这个主机的加入和离开信息通知给同一域内的其它主机,以便其它主机能够感知同一域内任一主机的加入或者离开。为
57、方便管理,iNOF 域分为两类:自定义 iNOF 域:用户根据组网需求手工创建的 iNOF 域,需要手工向其中添加主机。缺省 iNOF 域:设备出厂即存在的 iNOF 域,无需用户创建,不能删除。对于未加入自定义iNOF 域的主机,用户可以选择是否自动让它加入缺省 iNOF 域。4.2.2 iNOF 直连组网 iNOF 直连组网如图 19 所示,它要求同一域内的所有主机和同一 iNOF 交换机直连。主机和 iNOF 交换机之间通过交互二层报文,来通知主机状态变化(即主机加入或离开 iNOF 网络,也称为主机上线/离线),iNOF 交换机之间不交互 iNOF 相关信息。iNOF 直连组网适用于小
58、规模网络。图19 iNOF 直连组网示意图 4.2.3 iNOF 跨交换机组网 iNOF 跨交换机组网如图 20 所示,它支持同一域内的主机可以连接在不同的 iNOF 交换机上,iNOF交换机之间通过 iNOF 报文传递域内所有主机的加入或离开信息。iNOF 跨交换机组网适用于规模较大的数据中心,这样的数据中心拥有多台主机,主机属于不同的组织或部门(对应不同的 iNOF 域),同一组织或部门的主机通过多台 iNOF 交换机相连。为了跨交换机传递主机信息,通常要求 iNOF 交换机之间全部两两建立直连连接,这种全连接的方式增加了维护复杂度,不利于后续 iNOF 交换机的加入。H3C 基于成熟的
59、BGP 技术,将 BGP 协议进行扩展,复用 BGP 反射器技术,来实现 iNOF 跨交换机组网。在 iNOF 跨交换机组网中:iNOF 交换机和主机直连,iNOF 交换机和主机之间交互的报文和报文交互流程同 iNOF 直连组网。iNOF交换机iNOF交换机服务器磁盘设备Default zoneZone 1磁盘设备服务器 21 iNOF 交换机之间基于 iBGP 连接建立 iNOF 连接,通过 BGP 报文携带 iNOF 路由信息,利用BGP反射器技术,将一台iNOF交换机感知到的主机状态变化通知给域内的所有iNOF交换机。iNOF 路由信息包括主机的加入或离开信息,以及 iNOF 的配置信息
60、。在 iNOF 跨交换机组网中,为简化组网,必须至少部署一台 iNOF 反射器,其它 iNOF 交换机均为客户机。所有客户机和反射器连接,客户机和客户机之间不建议连接,主机和 iNOF 反射器、iNOF交换机直连。因为客户机和客户机之间连接容易导致组网的复杂性,在路由快速变化时可能会出现路由表项短暂波动等非预期或不可控的现象。为避免单点故障、提高网络的可靠性,一个 iNOF 域中也可以部署多个 iNOF 反射器。当一个反射器故障时,其它反射器能继续工作。这些路由反射器及其客户机之间形成一个集群,反射器上需要配置相同的集群 ID,以便集群具有统一的标识,避免路由环路的产生。图20 iNOF 跨交
61、换机组网示意图 Default zoneDevice B(Reflector 1)Device D(Reflector 2)Device A(Client 1)Device E(Client 3)Device C(Client 2)iNOF连接普通业务连接Default zoneZone 1Zone 1Zone 2 22 4.3 技术优点 iNOF 具有以下优势:即插即用 当主机接入 iNOF 网络时,iNOF 交换机能够自动发现该设备,并将新主机加入消息同步给网络中的其他 iNOF 交换机以及通知同一 iNOF 域中的其它主机,以便其它主机能迅速发现新加入的主机,并自动和新主机建立连接,迅速
62、实现存储业务的部署。故障快速感知 当网络故障时,iNOF 交换机能够快速检测到故障,并将故障状态信息同步给网络中的其它iNOF 交换机以及通知同一 iNOF 域中的其它主机。如果该网络故障影响了存储设备,则主机会快速断开与该存储设备的连接,将业务切换到冗余路径。4.4 H3C iNOF实现的技术特色 H3C 对成熟的 BGP 技术进行扩展,来实现 iNOF 跨交换机组网的技术具有以下特性:基于 BGP 连接建立 iNOF 连接,传输层使用 TCP 协议,可以为 iNOF 信息的传输提供稳定的连接。基于 BGP 提供的丰富的路由策略,能够对 iNOF 路由实现灵活的过滤和选择。iNOF 复用 B
63、GP 路由反射功能,在大规模的 iNOF 网络中可以有效减少 iNOF 连接的数量,简化网络拓扑,降低网络维护成本。同时,管理员在反射器上完成 iNOF 域和成员主机的配置后,iNOF 可自动将这些配置同步给客户机,从而,可以简化 iNOF 的部署和配置。iNOF 复用 BGP 的 GR(Graceful Restart,平滑重启)和 NSR(Nonstop Routing,不间断路由)功能,在 iNOF交换机进行主备倒换或 BGP协议重启时,保障 iNOF信息的传递不中断。iNOF 复用 BGP 连接,BGP 支持和 BFD 联动,因此,iNOF 也能够利用 BFD 快速检测到链路故障。借助 BGP 会话的各种加密手段,例如 MD5 认证、GTSM(Generalized TTL Security Mechanism,通用 TTL 安全保护机制)、keychain 认证,可以提高 iNOF 交换机间连接的安全性。5 参考文献参考文献 RFC 3168 The Addition of Explicit Congestion Notification(ECN)to IP Annex 17 RoCEv2 iNOF 技术白皮书