iLossless智能无损网络技术
智能无损网络提供了iLossless智能无损网络技术,可以解决网络拥塞丢包实际上是要防止过多的数据注入到网络中造成拥塞,使设备缓存或链路容量不会过载。流量控制和拥塞控制的区别在于:流量控制是端到端的,需要做的是抑制发送端的发送速率,以便接收端来得及接收;拥塞控制是一个全局性的过程,涉及到所有的主机、网络设备,以及与降低网络传输性能有关的所有因素。在现网中,流量控制和拥塞控制需要配合应用才能真正解决网络拥塞。
iLossless智能无损网络技术正是一系列技术的合集,相互配合应用从而真正解决传统以太网络拥塞丢包的问题,为RoCEv2流量提供“无丢包、低时延、高吞吐”的网络环境,满足RoCEv2应用的高性能需求。智能无损网络技术主要分为“流量控制技术”和“拥塞控制技术”。
流量控制技术
流量控制,也称为链路级流控,流量控制所要做的就是抑制上行出口端发送数据的速率,以便下行入口端来得及接收,防止交换机端口在拥塞的情况下出现丢包。
PFC(Priority-based Flow Control,基于优先级的流量控制)是目前应用最广泛的流量控制技术。对于PFC控制的队列,当队列在下游设备发生拥塞时,上游设备会停止发送该队列的流量,从而实现报文的零丢包传输。而对非PFC控制的队列,系统则不进行反压处理,在发生拥塞时将直接丢弃报文。
因此,根据报文在网络中传输时是否需要无丢包传输,可以将业务划分为无损业务和有损业务。
- 无损业务:需要无丢包传输的业务。使能了PFC功能的队列即为无损队列。
- 有损业务:允许丢包传输的业务。未使能PFC功能的队列即为有损队列。
PFC是一种有效避免丢包的流量控制技术,但由于PFC会暂停一部分流量,这一技术应该作为最后的手段使用,否则频繁触发PFC会出现PFC死锁的问题。PFC死锁,是指当多个网络设备之间因为环路等原因同时出现拥塞,各自端口缓存消耗超过阈值,而又相互等待对方释放资源,从而导致所有设备上的数据流都永久阻塞的一种网络状态。
为了解决PFC死锁的问题,智能无损网络提供了PFC死锁检测和PFC死锁预防功能,可以提前预防PFC死锁的发生。并且为了优化PFC功能的应用,AI 智能无损网络了无损队列的缓存空间优化功能,可以在PFC反压生效前让无损队列的流量不会因为拥塞而丢包。
拥塞控制技术
拥塞控制是一个全局性的过程,目的是让网络能承受现有的网络负荷,往往需要转发设备、流量发送端、流量接收端协同作用,并结合网络中的拥塞反馈机制来调节整网流量才能起到缓解拥塞、解除拥塞的效果。
DCQCN(Data Center Quantized Congestion Notification)目前是RDMA网络应用最广泛的拥塞控制算法,DCQCN只需要网络设备支持ECN(Explicit Congestion Notification)功能,其他功能在主机的网卡上实现。当转发设备上发生拥塞时,会发送携带ECN拥塞标记的报文给流量接收端,流量接收端会发送CNP(Congestion Notification Packets)拥塞通知报文给流量发送端,流量发送端会降低报文的发送速率,从而缓解网络拥塞。
然而DCQCN存在着不容忽视的问题:传统的静态ECN功能需要用户手动设置ECN门限等参数,然而现网中的流量模型非常复杂,手动设置无法应对流量变化。过长的拥塞反馈路径使得DCQCN控制回路时延过大,当网络规模较大时控制回路的时延会更大,从而让流量发送端不能及时降速,甚至导致拥塞加剧。
为了解决DCQCN的问题,智能无损网络提供了AI ECN(Artificial Intelligence Explicit Congestion Notification)功能、动态ECN功能、Fast ECN功能、Fast CNP功能,并且为了将DCQCN功能应用到VXLAN网络中,丰富DCQCN的应用场景,智能无损网络还提供了ECN Overlay功能。