一种基于PSN实现RDMA网络的丢包检测方法及装置制造方法及图纸

技术编号:28045819 阅读:26 留言:0更新日期:2021-04-09 23:30
本发明专利技术揭示了一种基于PSN实现RDMA网络丢包检测的方法及装置,方法包括接收RDMA报文并解析,获取报文的特征信息及报文序列号;根据特征信息查找NetFlow表项,在查找到时更新NetFlow记录,并记录当前RDMA报文;判断当前RDMA报文的报文序列号是否小于上一个RDMA报文的报文序列号,并在小于时判断当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号的差值是否为1,若是,则表示该RDMA数据流未丢包,否则,表示该RDMA数据流发生丢包和/或乱序。本发明专利技术能够扩大丢包检测范围并能够利用报文序列号信息直接触发源端服务器重传,无需等待目的服务器发送重传的消息通告,提高丢包重传效率。

【技术实现步骤摘要】
一种基于PSN实现RDMA网络的丢包检测方法及装置
本专利技术涉及一种网络
,尤其是涉及一种基于PSN实现RDMA网络的丢包检测方法及装置。
技术介绍
针对高性能RDMA网络实现以太网丢包检测的重要原因是因为RDMA(RemoteDirectMemoryAccess,远程直接数据存储)的设计之初是运动在无丢包的InfiniBand网络中。当前RDMA最新标准RoCEv2已支持运行在以太网上,其对以太网丢包和拥塞异常敏感,由于缺乏完善的丢包检测机制,因此,超过千分之一的丢包率都将导致RDMA网络有效性急剧下降。目前,业界期望通过流控技术来动态调整RDMA网络配置,以达到最佳性能。RDMA网络配置优化方向主要有两个:一是基于丢包检测结果来反馈源服务器进行发送端速率调整,二是基于网络拥塞程度来反馈源服务器进行发送端速率调整。传统的IP网络的丢包检测技术通过NetFlow功能来收集基于数据流的可视化信息,如IP数据流的五元组信息、网络上设备转发丢包数量和丢包原因,其中,NetFlow用于收集网络设备接收和发送的数据报文统计信息和转发信息,并将统计信息和转发信息发送到NetFlow分析服务器,网络管理人员可以根据业务数据报文的特征信息,比如源IP,目的IP等,分析NetFlow的统计信息来排查网络故障,以及网络拥塞等原因。当前业界针对RDMA网络的丢包检测技术仍然是复用IP网络丢包检测技术,没有针对RDMA协议报文的特征进行设计丢包检测机制,带来的问题有两个:一是传统NetFlow对于丢包的检测范围有限,只能检测本跳网络设备的入方向和出方向转发流水线的丢包,不仅对于网络设备内部的队列拥塞丢包无法感知(需要MoD功能配合),本跳设备与上一跳设备之间的链路丢包也无法检测出来;二是由于检测机制复用的IP网络NetFlow设计,导致对于丢包结果并没有RDMA协议栈相关的信息,也就无法与服务器网卡形成协同方案,无法实现通过网络交换机检测到某个RDMA报文的丢包,直接触发源端服务器重传,需等待目的服务器发送重传的消息通告,重传效率低。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种基于PSN实现RDMA网络丢包检测的方法及装置,能够扩大丢包检测范围并能够直接触发源端服务器重传,无需等待目的服务器发送重传的消息通告,提高丢包重传效率。为实现上述目的,本专利技术提出如下技术方案:一种基于PSN实现RDMA网络丢包检测的方法,所述方法包括接收RDMA报文并解析,获取所述RDMA报文携带的特征信息及报文序列号;根据所述特征信息形成NetFlow关键字并查找NetFlow表项,在查找到时更新NetFlow记录表,并记录当前RDMA报文的报文序列号;判断当前RDMA报文的报文序列号是否小于上一个RDMA报文的报文序列号,并在小于时进一步判断当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号的差值是否为1,若差值为1,则表示该RDMA数据流未丢包,否则,表示该RDMA数据流发生丢包和/或乱序。优选地,所述报文序列号通过如下步骤获得:配置四层头偏移长度及报文序列号长度;对RDMA报文进行解析,获得UDP头部长度;将所述UDP头部长度作为UDF偏移的起始位置,并根据所述四层头偏移长度和报文序列号长度提取出报文序列号。优选地,所述报文特征信息包括源MAC地址、目的MAC地址、源IP地址、目的IP地址、UDP源端口号和UDP目的端口号。优选地,所述RDMA数据流丢包或者乱序通过如下方式区分:配置容错周期;判断下一个RDMA报文的报文序列号是否处于当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号之间的数值,且处于容错周期内,若是,则表示只发生乱序;否则表示发生丢包及乱序。优选地,若当前RDMA报文的报文序列号大于或等于上一个RDMA报文的报文序列号,则表示出现异常,进一步将该异常事件上报管控平台,并将当前RDMA报文复制上送管控平台,通过管控平台判断是否出现丢包重传。本专利技术还揭示了一种基于PSN实现RDMA网络丢包检测的装置,包括解析模块,用于接收RDMA报文并解析,获取所述RDMA报文携带的特征信息及报文序列号;查找更新模块,用于根据所述特征信息形成查找关键字并查找NetFlow表项,并在查找到时更新NetFlow记录表,记录当前RDMA报文的报文序列号;PSN处理模块,用于判断当前RDMA报文的报文序列号是否小于上一个RDMA报文的报文序列号,并在小于时进一步判断当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号的差值是否为1,若差值为1,则该RDMA数据流未发生丢包,否则,该RDMA数据流发生乱序或者乱序与丢包同时发生。优选地,所述解析模块包括配置模块,用于四层头偏移长度及报文序列号长度;长度获取模块,用于对RDMA报文进行解析,获得UDP头部长度;提取模块,用于将所述UDP头部长度作为UDF偏移的起始位置,并根据所述四层头偏移长度和报文序列号长度提取出报文序列号。优选地,所述报文特征信息包括源MAC地址、目的MAC地址、源IP地址、目的IP地址、UDP源端口号和UDP目的端口号。优选地,还包括容错模块,所述容错模块包括周期配置模块,用于配置容错周期;判断模块,用于判断下一个RDMA报文的报文序列号是否处于当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号之间的数值,且处于容错周期内;第一确定模块,用于在判断模块判断下一个RDMA报文的报文序列号处于当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号之间的数值且处于容错周期内则确定为只发生乱序;第二确定模块,用于在判断模块判断下一个RDMA报文的报文序列号不处于当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号之间的数值或不处于容错周期内则确定为发生丢包及乱序。优选地,PSN处理模块还用于在当前RDMA报文的报文序列号大于或等于上一个RDMA报文的报文序列号时将异常事件上报管控平台,并将当前RDMA报文复制上送管控平台,通过管控平台判断是否出现丢包重传。本专利技术的有益效果是:(1)本专利技术能够对RDMA数据流在端到端网络转发过程中整体的丢包情况进行检测,如检测在链路上的丢包情况,或者检测因网络设备的拥塞而导致的丢包情况,而传统的网络设备NetFlow只能检测本设备级别的丢包。(2)本专利技术通过深入RDMA协议栈实现的基于PSN的丢包检测方法,能够实时获取RDMA数据流中转发报文所对应的报文序列号,并能够利用PSN信息直接触发源端服务器重传,使源服务器能够快速执行丢包重传对应报文序列号的RDMA报文,这样可以与源服务器网卡进行协同,如直接由网络交换机的NetFlow精确检测到RDMA数据流中的丢包报文的报文序列号,直接通知源服务器进行重传,而不需要等待目的服务器发送重传的消息通告,加快的丢包重传的本文档来自技高网
...

【技术保护点】
1.一种基于PSN实现RDMA网络丢包检测的方法,其特征在于,所述方法包括/n接收RDMA报文并解析,获取所述RDMA报文携带的特征信息及报文序列号;/n根据所述特征信息形成NetFlow关键字并查找NetFlow表项,在查找到时更新NetFlow记录表,并记录当前RDMA报文的报文序列号;/n判断当前RDMA报文的报文序列号是否小于上一个RDMA报文的报文序列号,并在小于时进一步判断当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号的差值是否为1,若差值为1,则表示该RDMA数据流未丢包,否则,表示该RDMA数据流发生丢包和/或乱序。/n

【技术特征摘要】
1.一种基于PSN实现RDMA网络丢包检测的方法,其特征在于,所述方法包括
接收RDMA报文并解析,获取所述RDMA报文携带的特征信息及报文序列号;
根据所述特征信息形成NetFlow关键字并查找NetFlow表项,在查找到时更新NetFlow记录表,并记录当前RDMA报文的报文序列号;
判断当前RDMA报文的报文序列号是否小于上一个RDMA报文的报文序列号,并在小于时进一步判断当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号的差值是否为1,若差值为1,则表示该RDMA数据流未丢包,否则,表示该RDMA数据流发生丢包和/或乱序。


2.根据权利要求1所述的方法,其特征在于,所述报文序列号通过如下步骤获得:
配置四层头偏移长度及报文序列号长度;
对RDMA报文进行解析,获得UDP头部长度;
将所述UDP头部长度作为UDF偏移的起始位置,并根据所述四层头偏移长度和报文序列号长度提取出报文序列号。


3.根据权利要求1所述的方法,其特征在于,所述报文特征信息包括源MAC地址、目的MAC地址、源IP地址、目的IP地址、UDP源端口号和UDP目的端口号。


4.根据权利要求1所述的方法,其特征在于,所述RDMA数据流丢包或者乱序通过如下方式区分:
配置容错周期;
判断下一个RDMA报文的报文序列号是否处于当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号之间的数值,且处于容错周期内,若是,则表示只发生乱序;否则表示发生丢包及乱序。


5.根据权利要求1所述的方法,其特征在于,若当前RDMA报文的报文序列号大于或等于上一个RDMA报文的报文序列号,则表示出现异常,进一步将该异常事件上报管控平台,并将当前RDMA报文复制上送管控平台,通过管控平台判断是否出现丢包重传。


6.一种基于PSN实现RDMA网络丢包检测的装置,其特征在于,包括
解析模块,用于接收RDMA报文并解析,获取所述RDMA报文携带的特征信息及报文序列号;
查找更新模块,用...

【专利技术属性】
技术研发人员:王俊杰成伟
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1