CN112637015B - 一种基于psn实现rdma网络的丢包检测方法及装置 - Google Patents

一种基于psn实现rdma网络的丢包检测方法及装置 Download PDF

Info

Publication number
CN112637015B
CN112637015B CN202011538869.3A CN202011538869A CN112637015B CN 112637015 B CN112637015 B CN 112637015B CN 202011538869 A CN202011538869 A CN 202011538869A CN 112637015 B CN112637015 B CN 112637015B
Authority
CN
China
Prior art keywords
message
rdma
serial number
netflow
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011538869.3A
Other languages
English (en)
Other versions
CN112637015A (zh
Inventor
王俊杰
成伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Centec Communications Co Ltd
Original Assignee
Suzhou Centec Communications Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Centec Communications Co Ltd filed Critical Suzhou Centec Communications Co Ltd
Priority to CN202011538869.3A priority Critical patent/CN112637015B/zh
Publication of CN112637015A publication Critical patent/CN112637015A/zh
Priority to PCT/CN2021/140960 priority patent/WO2022135542A1/zh
Application granted granted Critical
Publication of CN112637015B publication Critical patent/CN112637015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种基于PSN实现RDMA网络的丢包检测方法及装置
技术领域
本发明涉及一种网络技术领域,尤其是涉及一种基于PSN实现RDMA网络的丢包检测方法及装置。
背景技术
针对高性能RDMA网络实现以太网丢包检测的重要原因是因为RDMA(RemoteDirect Memory Access,远程直接数据存储)的设计之初是运动在无丢包的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数据流中的丢包报文的报文序列号,直接通知源服务器进行重传,而不需要等待目的服务器发送重传的消息通告,加快的丢包重传的效率。
(3)本发明基于NetFlow处理引擎扩展支持报文序列号的处理,以实现丢包检测机制,避免单独设计RDMA丢包检测模块,尽可能复用已有功能,如NetFlow对数据流的处理功能等,有效降低了芯片设计难度和成本。
附图说明
图1是本发明的方法流程图示意图;
图2是本发明的RDMA报文结构图示意图;
图3是本发明的NetFlow表项查找流程图示意图;
图4是本发明的丢包检测流程图示意图;
图5是本发明的装置结构框图示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种基于PSN实现RDMA网络丢包检测的方法,能够扩大丢包检测范围,可对源服务器到本跳设备的传输路径上发生的丢包进行检测,而不只局限于每跳设备的丢包检测,同时,通过基于PSN的丢包检测,能够利用PSN信息直接触发源端服务器重传,无需等待目的服务器发送重传的消息通告,提高丢包重传效率。
如图1所示,为本发明所揭示的一种基于PSN实现RDMA网络丢包检测的方法,包括如下步骤:
S100,接收RDMA报文并解析,获取所述RDMA报文携带的特征信息及报文序列号;
具体地,在RDMA网络中,RDMA报文以数据流形式传输,每个RDMA数据流所具有的特征信息与其他RDMA数据流所携带的特征信息不同,因而可根据该特征信息识别不同的RDMA数据流。RDMA数据流由多个RMDA报文构成,如图2所示,为RDMA数据报文的格式,其包括MAC头部(MAC Header)、IP头部(IP Header)、UDP头部(UDP Header)、BTH头部(Base TransportHeader,基础传输头部)和负载(Payload)。在进行丢包检测时,首先对接收到的RDMA报文进行解析,获取报文携带的特征信息及报文序列号(PSN,Packet Sequence Number),其中,特征信息包括但不限于源MAC地址、目的MAC地址、源IP地址、目的IP地址、UDP源端口号、UDP目的端口号。
进一步地,RDMA报文中的报文序列号可通过UDF(user defined field,用户自定义字段)报文解析技术提取,在提取报文序列号时可利用RDMA报文中携带的UDP头部的长度。具体地,在UDF报文解析芯片中,对RDMA报文进行解析,获得UDP头部的长度,同时配置四层头偏移长度及报文序列号长度,进一步根据UDP头部的长度及已配置的四层头偏移长度及报文序列号长度来提取报文序列号。由于报文序列号的长度为24bit,若最小单位的UDF报文长度为32bit,则还需通过设置UDF掩码(UDF Mask)以使最小UDF报文长度为24bit,便于报文序列号的获取。
通过利用UDF报文解析技术获取RDMA报文携带的报文序列号,能够解决传统NetFlow对RDMA数据流的丢包检测无法感知RDMA深层协议字段的问题。
S200,根据所述特征信息形成NetFlow关键字并查找NetFlow表项,在查找到时更新NetFlow记录表,并记录当前RDMA报文的报文序列号;
具体地,结合图1和图2所示,本发明NetFlow技术对RMDA数据流进行处理。对当获取上述RDMA报文携带的特征信息及报文序列号后,进一步根据该特征信息查找NetFlow表项。实施时,将报文特征信息组成NetFlow关键字,并依据该NetFlow关键字查找NetFlow表项。如果能够查找到,则执行对NetFlow记录表(NetFlow Record)的统计更新,其中,NetFlow记录表包括多个NetFlow表项,其用于记录数据报文在网络设备和芯片内部转发的信息,如丢包统计、丢包原因等等。当查找到相应NetFlow表项并对NetFlow记录表进行更新时,将当前RMDA报文的报文序列号记录为Current PSN,将上一个RDMA报文的报文序列号记为Last PSN,并将两者更新至NetFlow记录表中。
如果未能够查找到,则将该数据流添加至NetFlow表项中,并执行对NetFlow记录表的统计更新。当未查找到相应NetFlow表项并对NetFlow记录表进行更新时,将当前RMDA报文的报文序列号记录为Current PSN,并将其更新至NetFlow记录表中。
S300,判断当前RDMA报文的报文序列号是否小于上一个RDMA报文的报文序列号,并在小于时进一步判断当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号的差值是否为1,若差值为1,则该RDMA数据流未发生丢包,否则,该RDMA数据流发生丢包和/或乱序。
具体地,当获取当前RDMA报文的报文序列号及上一个RDMA报文的报文序列号后,判断当前RDMA报文的报文序列号是否小于NetFlow记录表中记录的该RDMA数据流的上一个RDMA报文的报文序列号,如果小于,则进一步判断当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号的差值是否为1,若两者差值为1,则表明该RDMA数据流并未发生丢包。如果两者的差值不为1,即两者的差值大于1,则表示该RDMA数据流可能发生丢包和/或乱序。需要说明的是,在当前RDMA报文的报文序列号小于上一个RDMA报文的报文序列号的情况下,当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号的差值的范围为大于或等于1。
如果当前RDMA报文的报文序列号大于或等于上一个RDMA报文的报文序列号,表示出现异常,需将该事件上报管控平台,并将该RDMA报文复制一份上送管控平台,以判断是否出现丢包重传或者其他异常情况。
当完成NetFlow丢包检测后,继续完成报文的转发处理。
进一步地,结合图1和图4所示,为了提高丢包检测的准确性,在当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号的差值大于1时,还需对乱序和丢包加以区分。实施时,配置一容错周期,判断下一个RDMA报文的报文序列号是否处于当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号之间的数值,且处于容错周期内,若是,则表示只发生乱序;否则表示发生丢包及乱序,如将容错周期长度配置为每1000个RDMA报文,如果接下来的报文的PSN依然处于该当前记录的PSN与之前的下一个的报文PSN之间的数值,且1000个报文内,将全部覆盖这个区间,即可认为只是发生拥塞乱序并上送管控平台,未发生丢包。如果未能全部覆盖这个区间值,就表示发生丢包,以及乱序,并上报管控平台。
如图5所示,本发明还揭示了一种基于PSN实现RDMA网络丢包检测的装置,该装置包括解析模块、查找更新模块和PSN处理模块,其中,解析模块用于接收RDMA报文并解析,获取所述RDMA报文携带的特征信息及报文序列号,报文特征信息包括但不限于源MAC地址、目的MAC地址、源IP地址、目的IP地址、UDP源端口号和UDP目的端口号;查找更新模块用于根据所述特征信息形成查找关键字并查找NetFlow表项,并在查找到时更新NetFlow记录表,记录当前RDMA报文的报文序列号;PSN处理模块用于判断当前RDMA报文的报文序列号是否小于上一个RDMA报文的报文序列号,并在小于时进一步判断当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号的差值是否为1,若差值为1,则该RDMA数据流未发生丢包,否则,该RDMA数据流发生丢包和/或乱序。
具体地,解析模块包括配置模块、长度获取模块和提取模块,其中,配置模块用于配置四层头偏移长度及报文序列号长度;长度获取模块用于对RDMA报文进行解析,获得UDP头部长度;提取模块用于将所述UDP头部长度作为UDF偏移的起始位置,并根据所述四层头偏移长度及报文序列号长度提取报文序列号。由于报文序列号的长度为24bit,若最小单位的UDF报文长度为32bit,则还需通过设置UDF掩码(UDF Mask)以使最小UDF Field为24bit,便于报文序列号的获取。
进一步地,查找更新模块包括组关键字生成模块、表项查找模块和记录表处理模块,其中,关键字生成模块用于根据所述特征信息组成NetFlow关键字;表项查找模块用于根据所述NetFlow关键字查找NetFlow表项;Record处理模块用于在查找到NetFlow表项时更新NetFlow记录表,记录当前RDMA报文的报文序列号。实施时,关键字生成模块将报文特征信息组成NetFlow关键字,表项查找模块依据该NetFlow关键字查找NetFlow表项。如果能够查找到,则记录表处理模块执行对NetFlow Record统计的更新,其中,NetFlow记录表包括多个NetFlow表项,其用于记录数据报文在网络设备和芯片内部转发的信息,如丢包统计、丢包原因等等。当查找到相应NetFlow表项并对NetFlow记录表进行更新时,将当前RMDA报文的报文序列号记录为Current PSN,将上一个RDMA报文的报文序列号记为Last PSN,并将两者更新至NetFlow记录表中。如果未能够查找到,Record处理模块则将该数据流添加至NetFlow表项中,并执行对NetFlow记录表的统计更新。当未查找到相应NetFlow表项并对NetFlow记录表进行更新时,将当前RMDA报文的报文序列号记录为Current PSN,并将其更新至NetFlow记录表中。
进一步地,装置还包括用于对乱序和丢包进行区分的容错模块。具体地,为了提高丢包检测的准确性,在当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号的差值大于1时,还需对乱序和丢包加以区分。容错模块包括周期配置模块,用于配置容错周期,该容错周期可灵活配置,如将容错周期长度配置为每1000个RDMA报文;判断模块,用于判断下一个RDMA报文的报文序列号是否处于当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号之间的数值,且处于容错周期内;第一确定模块,用于在判断模块判断下一个RDMA报文的报文序列号处于当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号之间的数值且处于容错周期内则确定为只发生乱序;第二确定模块,用于在判断模块判断下一个RDMA报文的报文序列号不处于当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号之间的数值或不处于容错周期内则确定为发生丢包及乱序。实施时,如果接下来的报文的PSN依然处于该当前记录的PSN与之前的下一个的报文PSN之间的数值,且1000个报文内,将全部覆盖这个区间,即可认为只是发生拥塞乱序并上送管控平台,未发生丢包。如果未能全部覆盖这个区间值,就表示发生丢包,以及乱序,并上报管控平台。
本发明通过提取报文序列号并在NetFlow基础上增加对报文序列号的状态记录和比较,原生实现RDMA网络的丢包检测能力。另外,本发明还通过报文序列号来简化丢包检测机制,能够更为精准的实现端倒短丢包检测,相对于传统的丢包检测方法,本发明还具有如下优点:
(1)本发明能够对RDMA数据流在端到端网络转发过程中整体的丢包情况进行检测,如检测在链路上的丢包情况,或者检测因网络设备的拥塞而导致的丢包情况,而传统的网络设备NetFlow只能检测本设备级别的丢包。
(2)本发明通过深入RDMA协议栈实现的基于PSN的丢包检测方法,能够实时获取RDMA数据流中转发报文所对应的报文序列号,并能够利用PSN信息直接触发源端服务器重传,使源服务器能够快速执行丢包重传对应报文序列号的RDMA报文,这样可以与源服务器网卡进行协同,如直接由网络交换机的NetFlow精确检测到RDMA数据流中的丢包报文的报文序列号,直接通知源服务器进行重传,而不需要等待目的服务器发送重传的消息通告,加快的丢包重传的效率。
(3)本发明基于NetFlow处理引擎扩展支持报文序列号的处理,以实现丢包检测机制,避免单独设计RDMA丢包检测模块,尽可能复用已有功能,如NetFlow对数据流的处理功能等,有效降低了芯片设计难度和成本。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

Claims (10)

1.一种基于PSN实现RDMA网络丢包检测的方法,用于端到端网络交换设备转发过程中丢包的检测,其特征在于,所述方法包括
接收RDMA报文并解析,获取所述RDMA报文携带的特征信息及报文序列号;
根据所述特征信息形成NetFlow关键字并查找NetFlow表项,在查找到时更新NetFlow记录表,并记录当前RDMA报文的报文序列号,其中,当查找到相应NetFlow表项并对NetFlow记录表进行更新时,将当前RMDA报文的报文序列号记录为Current PSN,将上一个RDMA报文的报文序列号记为Last PSN,并将两者更新至NetFlow记录表中,如果未能够查找到,则将数据流添加至NetFlow表项中,并执行对NetFlow记录表的统计更新,当未查找到相应NetFlow表项并对NetFlow记录表进行更新时,将当前RMDA报文的报文序列号记录为Current PSN,并将其更新至NetFlow记录表中;
判断当前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报文携带的特征信息及报文序列号;
查找更新模块,用于根据所述特征信息形成查找关键字并查找NetFlow表项,并在查找到时更新NetFlow记录表,记录当前RDMA报文的报文序列号,其中,当查找到相应NetFlow表项并对NetFlow记录表进行更新时,将当前RMDA报文的报文序列号记录为Current PSN,将上一个RDMA报文的报文序列号记为Last PSN,并将两者更新至NetFlow记录表中,如果未能够查找到,则将数据流添加至NetFlow表项中,并执行对NetFlow记录表的统计更新,当未查找到相应NetFlow表项并对NetFlow记录表进行更新时,将当前RMDA报文的报文序列号记录为Current PSN,并将其更新至NetFlow记录表中;
PSN处理模块,用于判断当前RDMA报文的报文序列号是否小于上一个RDMA报文的报文序列号,并在小于时进一步判断当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号的差值是否为1,若差值为1,则RDMA数据流未发生丢包,否则,RDMA数据流发生丢包和/或乱序。
7.根据权利要求6所述的装置,其特征在于,所述解析模块包括
配置模块,用于四层头偏移长度及报文序列号长度;
长度获取模块,用于对RDMA报文进行解析,获得UDP头部长度;
提取模块,用于将所述UDP头部长度作为UDF偏移的起始位置,并根据所述四层头偏移长度和报文序列号长度提取出报文序列号。
8.根据权利要求6所述的装置,其特征在于,所述特征信息包括源MAC地址、目的MAC地址、源IP地址、目的IP地址、UDP源端口号和UDP目的端口号。
9.根据权利要求6所述的装置,其特征在于,还包括容错模块,所述容错模块包括周期配置模块,用于配置容错周期;
判断模块,用于判断下一个RDMA报文的报文序列号是否处于当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号之间的数值,且处于容错周期内;
第一确定模块,用于在判断模块判断下一个RDMA报文的报文序列号处于当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号之间的数值且处于容错周期内则确定为只发生乱序;
第二确定模块,用于在判断模块判断下一个RDMA报文的报文序列号不处于当前RDMA报文的报文序列号与上一个RDMA报文的报文序列号之间的数值或不处于容错周期内则确定为发生丢包及乱序。
10.根据权利要求6所述的装置,其特征在于,所述PSN处理模块还用于在当前RDMA报文的报文序列号大于或等于上一个RDMA报文的报文序列号时将异常事件上报管控平台,并将当前RDMA报文复制上送管控平台,通过管控平台判断是否出现丢包重传。
CN202011538869.3A 2020-12-23 2020-12-23 一种基于psn实现rdma网络的丢包检测方法及装置 Active CN112637015B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011538869.3A CN112637015B (zh) 2020-12-23 2020-12-23 一种基于psn实现rdma网络的丢包检测方法及装置
PCT/CN2021/140960 WO2022135542A1 (zh) 2020-12-23 2021-12-23 一种基于psn实现rdma网络丢包检测的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011538869.3A CN112637015B (zh) 2020-12-23 2020-12-23 一种基于psn实现rdma网络的丢包检测方法及装置

Publications (2)

Publication Number Publication Date
CN112637015A CN112637015A (zh) 2021-04-09
CN112637015B true CN112637015B (zh) 2022-08-26

Family

ID=75321842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011538869.3A Active CN112637015B (zh) 2020-12-23 2020-12-23 一种基于psn实现rdma网络的丢包检测方法及装置

Country Status (2)

Country Link
CN (1) CN112637015B (zh)
WO (1) WO2022135542A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637015B (zh) * 2020-12-23 2022-08-26 苏州盛科通信股份有限公司 一种基于psn实现rdma网络的丢包检测方法及装置
CN114090484B (zh) * 2021-11-15 2023-08-08 深圳云豹智能有限公司 远程直接数据存取方法及装置
CN114221918B (zh) * 2022-02-22 2022-05-20 南京大学 一种rdma网络rc通信模式的数据流长尾优化方法
CN115633104B (zh) * 2022-09-13 2024-02-13 江苏为是科技有限公司 数据发送方法、数据接收方法、装置及数据收发系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068170A (zh) * 2007-06-05 2007-11-07 华为技术有限公司 一种报文接收异常的检测方法、系统及其装置
CN113709057B (zh) * 2017-08-11 2023-05-05 华为技术有限公司 网络拥塞的通告方法、代理节点、网络节点及计算机设备
CN110300064A (zh) * 2018-03-22 2019-10-01 华为技术有限公司 一种数据流量处理方法、设备及系统
CN111786748B (zh) * 2019-08-29 2023-05-30 北京京东尚科信息技术有限公司 数据重传方法和系统、网卡、装置、服务器和存储介质
CN110932934B (zh) * 2019-11-21 2021-07-13 中国联合网络通信集团有限公司 一种网络丢包的检测方法和装置
CN112637015B (zh) * 2020-12-23 2022-08-26 苏州盛科通信股份有限公司 一种基于psn实现rdma网络的丢包检测方法及装置

Also Published As

Publication number Publication date
CN112637015A (zh) 2021-04-09
WO2022135542A1 (zh) 2022-06-30

Similar Documents

Publication Publication Date Title
CN112637015B (zh) 一种基于psn实现rdma网络的丢包检测方法及装置
US9485155B2 (en) Traffic analysis of data flows
US7787442B2 (en) Communication statistic information collection apparatus
KR100733020B1 (ko) 사용자 mac 프레임 전송방법, 에지 브리지 및 프로그램을 기록한 기록 매체
JP4759389B2 (ja) パケット通信装置
Sengupta et al. Continuous in-network round-trip time monitoring
US8274911B2 (en) Network monitoring system and path extracting method
WO2017114181A1 (zh) 链路检测方法、装置及网络设备、控制器
CN111817927B (zh) 用于检测端到端数据传输质量的方法与系统
CN113259143B (zh) 信息处理方法、设备、系统及存储介质
US20130159806A1 (en) Packet communication apparatus and packet communication method
US11637787B2 (en) Preventing duplication of packets in a network
JPWO2012127894A1 (ja) ネットワークシステム、及びスイッチ方法
EP3709584B1 (en) Mirroring dropped packets
JP2008153752A (ja) 異常トラヒック監視装置、エントリ管理装置およびネットワークシステム
CN112260922B (zh) 网络环路问题快速定位方法与系统
WO2022057514A1 (zh) 链路故障检测方法、装置及计算机可读存储介质
US20070115838A1 (en) Method and system for loop-back and continue in packet-based network
CN109495311B (zh) 一种网络故障检测方法及装置
US20050286432A1 (en) Packet discard point probing method and device
CN112532477B (zh) 一种链路丢包检测方法及装置
CN113225376B (zh) 一种基于fpga的以太网帧与sdn数据帧的适配方法
US7869368B2 (en) Performance measuring in a packet transmission network
CN112311618B (zh) 网络交换设备的测试方法与测试设备
CN110933002B (zh) 一种mpls带内检测oam的交换芯片实现方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 215101 unit 13 / 16, 4th floor, building B, No. 5, Xinghan street, Suzhou Industrial Park, Jiangsu Province

Applicant after: Suzhou Shengke Communication Co.,Ltd.

Address before: Unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, 215000 Jiangsu Province

Applicant before: CENTEC NETWORKS (SUZHOU) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant