您现在的位置:首页 >> 新•资讯 >> 正文
浅析RDMA网络下MMU水线设置 - 锐捷网络 — C114(中国通信网)
发表时间:2018年7月2日 18:23 来源:C114中国通信网 责任编辑:编 辑:麒麟

无损

RDMA在无损状态下可以满速率传输,而一旦发生丢包重传,性能会急剧下降。在传统网络模式下,要想实现不丢包最主要的手段就是依赖大缓存,但如前文所说,这又与低延时矛盾了。因此,在RDMA网络环境中,需要实现的是较小Buffer下的不丢包。

在这个限制条件下,RDMA实现无损主要是依赖基于PFC和ECN的网络流控技术

PFC

PFC(Priority-based Flow Control),基于优先级的流量控制。是一种基于队列的反压机制,通过发送Pause帧通知上游设备暂停发包来防止缓存溢出丢包。

▲ PFC工作机制示意图

PFC允许单独暂停和重启其中任意一条虚拟通道,同时不影响其它虚拟通道的流量。如上图所示,当队列7的Buffer消耗达到设置的PFC流控水线,会触发PFC的反压:

本端交换机触发发出PFC Pause帧,并反向发送给上游设备;

收到Pause帧的上游设备会暂停该队列报文的发送,同时将报文缓存在Buffer中;

如果上游设备的Buffer也达到阈值,会继续触发Pause帧向上游反压;

最终通过降低该优先级队列的发送速率来避免数据丢包;

当Buffer占用降低到恢复水线时,会发送PFC解除报文。

RDMA无损网络的关键技术:ECN

ECN(Explicit Congestion Notification):显示拥塞通知。ECN是一个非常古老的技术,只是之前使用的并不普遍,该协议机制作用于主机与主机之间。

ECN是报文在网络设备出口(Egress port)发生拥塞并触发ECN水线时,使用IP报文头的ECN字段标记数据包,表明该报文遇到网络拥塞。一旦接收服务器发现报文的ECN被标记,立刻产生CNP(拥塞通知报文),并将它发送给源端服务器,CNP消息里包含了导致拥塞的Flow信息。源端服务器收到后,通过降低相应流发送速率,缓解网络设备拥塞,从而避免发生丢包。

通过之前的描述可以了解到,PFC和ECN之所以可以实现网络端到端的零丢包,是通过设置不同的水线来实现的。对这些水线的合理设置,就是针对交换机MMU的精细化管理,通俗讲就是对交换机Buffer的管理。接下来我们具体分析下PFC的水线设置。

PFC水线设置

交换芯片都有固定的Pipeline(转发流水线), Buffer管理处于入芯片流程和出芯片流程的中间位置。报文处于在这个位置上时,已经知道了该报文的入口和出口信息,因此逻辑上就可以分成入方向和出方向分别对缓存进行管理。

[1]  [2]  [3]  [4]  [5]  
相关文章
关于我们 | 联系我们 | 友情链接 | 版权声明
新科技网络【京ICP备15027068号】
Copyright © 2015 Hnetn.com, All Right Reserved
版权所有 新科技网络
本站郑重声明:本站所载文章、数据仅供参考,使用前请核实,风险自负。