CN111817927A - 用于检测端到端数据传输质量的方法与系统 - Google Patents
用于检测端到端数据传输质量的方法与系统 Download PDFInfo
- Publication number
- CN111817927A CN111817927A CN202010950163.1A CN202010950163A CN111817927A CN 111817927 A CN111817927 A CN 111817927A CN 202010950163 A CN202010950163 A CN 202010950163A CN 111817927 A CN111817927 A CN 111817927A
- Authority
- CN
- China
- Prior art keywords
- message
- serial number
- probe message
- service
- module
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种用于检测端到端数据传输质量的方法与系统,通过在通讯数据流中添加探针报文,封装均保持三层标准封装,仅在数据字段增加序列号,无需借助任何私有通信协议,在各设备出入口新增插包、计数、采样的方式实现对探针报文的生成与统计,根据探针报文的接收情况实现对业务报文传输质量的敏捷监控,改进依据当前技术手段无法快速定界业务报文丢包位置的问题,实现了端到端业务报文丢包问题的快速定位,解决了当前数据通信网络无法快速、简易部署基于业务的端到端丢包检测的问题。
Description
本发明涉及网络通信技术领域,具体而言涉及一种用于检测端到端数据传输质量的方法与系统。
背景技术
网络稳定是通信技术领域难题,是指一个或多个数据数据包(packet)的数据无法透过网上到达目的地。丢包可能造成流媒体技术、VoIP、在线游戏和视频会议的抖动(jittering),并会一定程度上影响到其他的网上应用。当前数据通信技术领域主流丢包检测方式有三种,即基于TCP重传计时器的传输层丢包检测、三层转发场景检测以及应用层分段部署ping脚本的检测。
基于TCP重传计时器的传输层丢包检测方法只能对基于TCP传输的业务报文进行检测,无法针对其他例如UDP报文进行丢包检测,且该种检测模式无法检测数据报文的具体丢弃位置,不能快速有效定位链路抖动造成的丢包位置。
RFC2544定义的适用于三层转发场景的测试方式,源端发起探测报文,目的端收到探测报文后通过环回的方式将发送的报文返回,源端进行对照后得出链路质量情况,此种方式需要在网元侧进行针对性配置,随着网络规模的扩大,部署成本相应增加。
基于应用层分段部署ping脚本的检测方式,与RFC2544所述检测方式相同,此种检测方式必须由网管手工部署,需要网络管理人员具备一定的技术技能,且随着网络节点的增加,部署脚本所需要的人力成本大幅增加,无法做到快速、简易部署。
所以,当前亟需一种无需人工部署的,可监控端到端链路质量的手段。
为此现有技术中张浩等人提出一种实现丢包检测的方法,利用数据接收设备在确定接收到携带的第一指示符的值和上一数据报文中的第一指示符的值不同的数据报文时,确定数据发送设备已发送已丢失数据报文的重传报文,并在确定该重传报文丢失时,向数据发送设备发送确认号为该已丢失数据报文的序列号的确认报文,该确认报文中的第二指示符的值与数据发送设备发送的上一确认报文中的第二指示符的值不同,以表示该重传报文已丢失。由于数据接收设备可以确定数据发送设备重传了一个数据报文,并在确定该重传的数据报文丢失时通知数据发送设备,因此数据发送设备可以再次重传该数据报文,从而减少了触发RTO定时器的次数,有效提升了通信效率。上述发明完全基于TCP连接,利用TCP重传机制进行丢包检测,可以检测端到端丢包情况。但该实现方案中,数据通信网络复杂,传输的中间节点较多,无法精确定位丢包位置。内部调用模块较多,主要适用于大型数据通信设备,不能兼容消费级产品和性能较低的通信产品。
又如马远亮等人提出的丢包检测方法,第一网络设备向第二网络设备发送第一检测报文,并记录第一发包计数值,启动定时器;在所述定时器超时后,向所述第二网络设备发送多个数据报文;向所述第二网络设备发送第二检测报文,并记录第二发包计数值;从所述第二网络设备接收响应报文,从所述响应报文获取第一收包计数值和第二收包计数值;根据所述第一发包计数值、所述第二发包计数值、所述第一收包计数值和所述第二收包计数值进行丢包统计。通过本申请提供的方案,有助于在所述第一网络设备向所述第二网络设备发送的报文发生乱序的情况下,提高丢包检测的准确性。上述发明需要对真实业务报文的包头进行修改,在业务报文包头中镶入特定的标记,以实现在接收端的检测,但直接修改报文头部的方式对TM模块和PFE模块的负担都相对较大,且修改包头对业务报文结构有着直接影响,可能会在沿途不识别该头部的设备上以错包方式丢弃;另一方面,上述发明需要借助包计数器和计时器两种额外装置,在一些低端网络设备或消费级网络设备上无法实现部署。
基于以上现有技术分析,存在以下问题:一是主要通过TCP重传机制监控业务报文的传输质量,不能有效监控UDP业务报文的传输情况;二是当前支持端到端丢包检测的技术无法准确定位丢包所在位置,可以准确定位丢包所在位置的技术又不支持端到端部署;三是丢包检测技术实现机制复杂,内部调用模块较多,主要适用于大型数据通信设备,不能兼容消费级产品和性能较低的通信产品。
现有技术文献:专利文献1:CN201711451071.3 一种实现丢包检测的方法、装置和系统。
专利文献2:CN201610933234.0 一种丢包检测方法、网络设备及系统。
期刊文献3:浅析以探针方式部署端到端的网络质量评测系统。
发明内容
针对现有技术存在的缺陷或者不足,根据本发明目的第一方面提出一种用于检测端到端数据传输质量的方法,包括:
发送端的应用层发起业务访问流量;
通过LLDP检测链路是否正常,如果正常则通过TM模块调度业务报文,按照设定的规则进行报文处理;
发送端包计数器对流向包转发引擎PFE的业务报文进行计数,并将触发信号发送至探针报文生成模块;
探针报文生成模块根据接收到的触发信号进行封装,生成探针报文,探针报文包括以太网头部、IP头部、UDP头部、数据字段及以太网尾部,其中以太网头部封装点到点链路的源目MAC地址,IP头部封装点到点链路的源目IP地址,UDP头部封装源目端口号,数据字段包含设置的序列号;
将探针报文按照预设的阈值K作为插入周期插入业务报文中,并按照预设的顺序对外发送;
当接收端接收到业务报文后,对接收到的业务报文进行计数,其中接收端的包计数器每经过一个采样周期采集一个业务报文的数据包样本,对数据包样本进行采样并进行分析,所述采样为复制采样并且不提前处理;
对接收的数据包样本送至接收端CPU并通过数据解封模块进行正常解封装,判断当前数据报文的目的IP是否为自身接口地址,源IP是否为对端接口地址,若是,则继续解封装检测序列号;若不是则直接上报链路质量异常告警;
对采样得到的数据包样本同时送入接收端的接口板CPU进行解封装,得到另一序列号,通过比较器将采样的序列号与正常解封装的序列号进行对比,如果一致,则判定链路正常,流程结束;如果不一致,则上报链路质量异常告警,并重置接收端的包计数器的计数流程。
优选地,当采样的序列号与正常解封装的序列号比对不一致时,启动快速链路质量反馈机制,将下一个发送的探针报文的序列号设置为65535,并发送反馈报文至发送端,发送端接收到该反馈报文则感知链路质量异常。
优选地,所述探针报文生成模块中生成探针报文的步骤包括:
探针报文生成模块接收到包计数器的触发信号,若首次接收则将序列号直接置为0,非首次接收执行后续步骤;
将非首次接收序列号置为接收到触发信号的序号-1;
判断序列号值是否小于65535,如果小于65535则执行后续步骤,否则将本业务报文的序列号置为0,同时将接收包计数器触发信号的计数回滚为1;
将序列号写入IP报文的数据字段,以本接口IP为源IP,对端接口IP为目的IP进行封装;
以本接口MAC地址为源MAC地址,对端接口的MAC为目的MAC进行封装;
以源目端口号作为UDP头部进行封装。
优选地,在探针报文生成后,按照下述方式插入到业务报文中:
发送端包计数器每K个报文生成一个触发信号,首次触发时,探针报文插入模块将序列号为0的探针报文插入业务报文最前端,后续以预设的阈值K为周期,每K个业务报文顺序插入一个探针报文。
根据本发明目的的第二方面还提出一种用于检测端到端数据传输质量的系统,包括发送端和接收端:
所述发送端包括:
用于发起业务访问流量的模块;
链路检测模块,用于通过LLDP检测链路是否正常;
报文处理模块,用于在链路正常时通过TM模块调度业务报文,按照设定的规则进行报文处理的模块;
发送端包计数器,用于对流向包转发引擎PFE的业务报文进行计数,并将触发信号发送至探针报文生成模块;
探针报文生成模块,用于根据接收到的触发信号进行封装,生成探针报文,探针报文包括以太网头部、IP头部、UDP头部、数据字段及以太网尾部,其中以太网头部封装点到点链路的源目MAC地址,IP头部封装点到点链路的源目IP地址,UDP头部封装源目端口号,数据字段包含设置的序列号;
探针报文插入模块,用于将探针报文按照预设的阈值K作为插入周期插入业务报文中;
报文发送模块,用于按照预设的顺序对外发送业务报文;
所述接收端包括:
接收端包计数器,用于对接收端接收到的业务报文进行计数;
采样模块,用于每经过一个采样周期采集一个业务报文的数据包样本,对数据包样本进行采样并进行分析,所述采样为复制采样并且不提前处理;其中,接收端的采样周期与发送端的探针报文插入周期严格一致;
解封装模块,用于对接收的数据包样本进行正常解封装,并判断当前数据报文的目的IP是否为自身接口地址,源IP是否为对端接口地址,若是,则继续解封装检测序列号;若不是,则直接上报链路质量异常告警;
采样解封装模块,用于对采样得到的数据包样本进行解封装,得到另一序列号;
比较器,用于将采样的序列号与正常解封装的序列号进行对比,如果一致则判定链路正常;如果不一致则上报链路质量异常告警,重置接收端的包计数器的计数流程。
优选地,所述接收端还包括快速链路质量反馈模块,用于根据采样的序列号与正常解封装的序列号比对结果启动快速链路质量反馈机制,其中:当采样的序列号与正常解封装的序列号比对不一致时,将下一个发送的探针报文的序列号设置为65535,并发送反馈报文至发送端,发送端接收到该反馈报文则感知链路质量异常。
优选地,所述发送端中的探针报文生成模块被设置成按照下述方式生成探针报文:
接收发送端包计数器的触发信号,若首次接收则将序列号直接置为0,非首次接收执行后续步骤;
将非首次接收序列号置为接收到触发信号的序号-1;
判断序列号值是否小于65535,如果小于65535则执行后续步骤,否则将本业务报文的序列号置为0,同时将接收包计数器触发信号的计数回滚为1;
将序列号写入IP报文的数据字段,以本接口IP为源IP,对端接口IP为目的IP进行封装;
以本接口MAC地址为源MAC地址,对端接口的MAC为目的MAC进行封装;
以源目端口号作为UDP头部进行封装。
优选地,所述探针报文插入模块被设置成按照下述方式讲探针报文插入到业务报文中:
发送端包计数器每K个报文生成一个触发信号,首次触发时,探针报文插入模块将序列号为0的探针报文插入业务报文最前端,后续以预设的阈值K为周期,每K个业务报文顺序插入一个探针报文。
由以上技术方案,本发明提出的端到端数据传输质量的监控与检测,通过在通讯数据流中添加探针报文,解决了当前数据通信网络无法快速、简易部署基于业务的端到端丢包检测的问题,对金融、医疗、航空等通信质量要求高,时延、丢包、抖动等容忍度较小的行业提供一种兼容性高、可简易部署的端到端链路质量检测系统。与现有技术相比,其显著的有益效果在于:
1.通过新增探针报文基于传统协议报文结构,封装均保持三层标准封装,仅在数据字段增加序列号,无需借助任何私有通信协议,使用当前主流技术和协议即可实现,兼容性和普适性更好;
2.本发明可以应用在任意具有TCP/IP网络层结构的设备中,监控点对点链路的质量,通过连续部署、分段监控的方式实现端到端全路径上的业务质量情况监控,改进当前必须在应用层部署业务监控的局限性;
3.本发明通过在各设备出入口新增插包、计数、采样的方式实现对探针报文的生成与统计,根据探针报文的接收情况实现对业务报文传输质量的敏捷监控,改进依据当前技术手段无法快速定界业务报文丢包位置的问题,实现了端到端业务报文丢包问题的快速定位;
4. 本发明插包/采样位置在数据报文接收的第一个环节/发送的最后一个环节,以避免设备自身调度策略等因素对统计造成影响。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
图1是本发明实施例的源设备到宿设备的发送流程示意图。
图2是本发明示例性的探针报文的数据结构图。
图3A-3B是本发明示例性的业务报文发送与接收过程中链路质量检测处理的流程图。
图4是本发明示例性的探针报文的生成流程图。
图5是本发明示例性的在接收端根据序列号进行链路质量检测的流程图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
根据本发明示例性实施例的用于检测端到端数据传输质量的方法,旨在实现端到端的多个点对点的链路的通信链路质量的检测。图1所示为本发明的链路数据传输质量检测方法的一种应用场景。
源设备与宿设备间通过多个点到点的链路进行通信,源设备、宿设备、各中间设备可以是网元、服务器或者任意具有TCP/IP三层结构的设备;在图1所示的场景中的链路为点到点链路。
结合图1,业务报文以字母B标示,探针报文以字母A标示。图1中以2个中间设备为例进行说明,业务报文B由源设备发起,在发送至中间设备1的过程中,插入字母A标示的探针报文;中间设备1收到携带探针报文的报文后,启动包计数器进行计数,同时对收到的探针报文进行采样解封装,查看采样解封装获得探针报文中的序列号与正常进行包计数器接收后正常解封装的序列号是否一致。中间设备1完成源设备的夜晚报文的接收动作后,继续向中间设备2进行报文转发,生成相应的探针报文A汇入业务报文B中;后续节点的转发流程与上述流程类似,在此不再赘述。
在本发明的实施例中,探针报文A只在每一段链路的目的端设备有意义,目的端设备向下一节点发出探针报文时,报文的各字段都会进行相应的更新。
由于每一段的点到点链路的源节点到目的节点间的丢包检测处理机制和流程相同,在本发明中将把图1所示的发送方向链路分解为三个处理流程相同的处理过程,分别是:
(1)源设备到中间设备1的处理过程;
(2)中间设备1到中间设备2的处理流程;
(3)中间设备2到宿设备的处理流程。
相应的,接收方向也可根据以上示例划分为三个处理过程,后续检测流程均基于上述示例划分的处理单元进行阐述。
图2为探针报文的具体结构示意图。所述探针报文需包括以太网头部,IP头部,UDP头部,携带序列号的数据字段及以太网尾部,封装沿用通用的三层封装方式。
探针报文结构中,以太网头部封装点到点链路的源目MAC地址,IP头部封装点到点链路的源目IP地址,UDP头部封装源目端口号,数据字段包含通过算法计算得出的序列号。
基于图1划分的处理过程,业务报文B从源设备发起到中间设备1过程中,数据传输质量的方法的流程如图3A-3B所示。图3A-3B中,以节点S100A与节点S100B进行对接。
用于检测端到端数据传输质量的方法
结合图示,本发明的数据传输质量的方法的过程包括:
(1) 发送端的应用层发起业务访问流量
源设备的应用层发起访问流量,例如源设备通过自身数据处理组件将数据封装后,转发组件通过查询设备路由表进行匹配,通过最长匹配原则匹配到出接口,设备基于自身处理机制对出接口下一跳的链路层状态进行探测。
(2)通过LLDP检测链路是否正常,如果正常则通过TM模块调度业务报文,按照设定的规则进行报文处理
业务报文确认出接口和下一跳后,借助LLDP(Link Layer Discovery Protocol,链路层发现协议)协议检测当前数据报文转发下一跳是否正常。若LLDP检测下一跳正常,则将封装后的业务报文导入TM(Traffic Management,流量管理)模块进行进一步处理;反之流量转发结束,设备通过自身告警模块上送发送失败告警。
TM模块按照用户设定的规则,对业务报文进行染色、限速、整形等一系列动作,最终将按照一定顺序排列的业务报文缓存在TM模块的缓存队列中,等待后续处理。、
上述流程(1)、(2)描述的转发流程为当前具有网络路由能力设备的普遍操作流程,本领域普通技术人员可知,以上检测及封装可通过其他等效方式实现,但任何其他实现方式不应认为超出本发明实现流程的范围。
(3)发送端包计数器对流向包转发引擎PFE的业务报文进行计数,并将触发信号发送至探针报文生成模块
TM模块调度完成后,按照一定的顺序进入缓存队列进入PFE(Packet ForwardingEngine,转发引擎)模块转发,此时包计数器开始对当前已经排序完成的业务报文进行逐包计数,统计业务报文的数量,根据设置的阈值,每通过K个报文向探针报文生成模块发送一次信号。
需要强调的是,由于业务流已经经过TM模块整形调度,已位于转发的最后一个环节,此时数据报文的顺序已经被严格限定,后续转发不涉及任何导致报文发生乱序的流程,所以此时包计数器统计得出的业务报文数量是真实的发送报文数,且顺序与实际在链路上传输的包顺序相同。
发送端的包计数器对通过自身流向PFE的数据报文进行计数,并按照一定的阈值将触发信号发送给探针报文生成模块,由探针报文生模块进行探针报文生成及后续操作。在本实例中,阈值K以99为例。在其他的实施例中,阈值K可以根据生产环境定义。
需要指出,在数据通信技术领域,多数设备的TM模块自身集成包计数器,在实现本发明的过程中,同样可以直接调用当前设备TM模块的包计数器,从而简化整体流程,提高检测效率。
包计数器将实际的数据包数量发送至探针报文生成模块。
(4)探针报文生成模块根据接收到的触发信号进行封装,生成探针报文。结合图2所示,探针报文包括以太网头部、IP头部、UDP头部、数据字段及以太网尾部,其中以太网头部封装点到点链路的源目MAC地址,IP头部封装点到点链路的源目IP地址,UDP头部封装源目端口号,数据字段包含设置的序列号。
优选地,结合图4所示,探针报文的生成的流程如下:
探针报文生成模块接收到包计数器的触发信号,若首次接收则将序列号直接置为0,非首次接收执行后续步骤;
将非首次接收序列号置为接收到触发信号的序号-1;
判断序列号值是否小于65535,如果小于65535则执行后续步骤,否则将本业务报文的序列号置为0,同时将接收包计数器触发信号的计数回滚为1;
将序列号写入IP报文的数据字段,以本接口IP为源IP,对端接口IP为目的IP进行封装;
以本接口MAC地址为源MAC地址,对端接口的MAC为目的MAC进行封装;
以源目端口号作为UDP头部进行封装。
优选地,在探针报文生成后,按照下述方式插入到业务报文中:
发送端包计数器每K个报文生成一个触发信号,首次触发时,探针报文插入模块将序列号为0的探针报文插入业务报文最前端,后续以预设的阈值K为周期,每K个业务报文顺序插入一个探针报文。
(5)将探针报文按照预设的阈值K作为插入周期插入业务报文中,并按照预设的顺序对外发送
结合图5示例性地表示了探针报文插入业务报文的流程,包括:
发送端包计数器每K个报文生成一个触发信号,首次触发时,探针报文插入模块将序列号为0的探针报文插入业务报文的最前端,后续以预设的阈值K为周期,每K个业务报文顺序插入一个探针报文。
探针报文插入后,业务报文及探针报文以定义好的顺序向外发送,直至进入端到端接收设备。
(6)当接收端接收到业务报文后,对接收到的业务报文进行计数。计数方式与步骤((3)类似。其中接收端的包计数器每经过一个采样周期采集一个业务报文的数据包样本,对数据包样本进行采样并进行分析,所述采样为复制采样并且不提前处理。
其中,接收端的采样周期与发送端的探针报文插入周期严格一致。
处的采样间隔需要与发送设备的探针报文插入间隔严格一致,且采样仅为复制,而不是提前处理,所有数据流仍需要正常通过各类型CPU进行处理。
在采样之后,对接收的数据包样本送至接收端CPU并通过数据解封模块进行正常解封装,判断当前数据报文的目的IP是否为自身接口地址,源IP是否为对端接口地址,若是,则继续解封装检测序列号seq;若不是则直接上报链路质量异常告警。
同时,对采样得到的数据包样本同时送入接收端的接口板CPU进行解封装,得到另一序列号,通过比较器将采样的序列号与正常解封装的序列号seq进行对比,如果一致,则判定链路正常,流程结束;如果不一致,则上报链路质量异常告警,并重置接收端的包计数器的计数流程。
结合图3A、3B所示,支持完成端到端的链路数据质量检测和预警。
结合图示,优选地,由于数据报文发送的单向性,在本发明的方法中还添加反馈机制以使发送端快速感知链路质量。当检测到链路质量存在问题时,启动快速链路质量反馈机制,将下一个发送的探针报文seq设置为65535,发送端接收到该反馈报文则感知链路质量异常。
接收报文方向需依赖报文接收端包计数器,当报文发生间断丢包时,报文接收计数器计数将会出现连续错位,导致采样无法准确采集到的探针报文。因此,在接收端接收业务报文出现连续丢包时,对接收端的包计数器进行重置计数流程,保证采样的业务报文的连续和正确。
用于检测端到端数据传输质量的系统
根据本发明公开的实施例,一种用于检测端到端数据传输质量的系统,包括发送端和接收端,其中发送端和接收端可以是网元、服务器或者任意具有TCP/IP三层结构的设备。
结合以上实施例,发送端包括:
用于发起业务访问流量的模块;
链路检测模块,用于通过LLDP检测链路是否正常;
报文处理模块,用于在链路正常时通过TM模块调度业务报文,按照设定的规则进行报文处理的模块;
发送端包计数器,用于对流向包转发引擎PFE的业务报文进行计数,并将触发信号发送至探针报文生成模块;
探针报文生成模块,用于根据接收到的触发信号进行封装,生成探针报文,探针报文包括以太网头部、IP头部、UDP头部、数据字段及以太网尾部,其中以太网头部封装点到点链路的源目MAC地址,IP头部封装点到点链路的源目IP地址,UDP头部封装源目端口号,数据字段包含设置的序列号;
探针报文插入模块,用于将探针报文按照预设的阈值K作为插入周期插入业务报文中;
报文发送模块,用于按照预设的顺序对外发送业务报文;
所述接收端包括:
接收端包计数器,用于对接收端接收到的业务报文进行计数;
采样模块,用于每经过一个采样周期采集一个业务报文的数据包样本,对数据包样本进行采样并进行分析,所述采样为复制采样并且不提前处理;其中,接收端的采样周期与发送端的探针报文插入周期严格一致;
解封装模块,用于对接收的数据包样本进行正常解封装,并判断当前数据报文的目的IP是否为自身接口地址,源IP是否为对端接口地址,若是,则继续解封装检测序列号;若不是,则直接上报链路质量异常告警;
采样解封装模块,用于对采样得到的数据包样本进行解封装,得到另一序列号;
比较器,用于将采样的序列号与正常解封装的序列号进行对比,如果一致则判定链路正常;如果不一致则上报链路质量异常告警,重置接收端的包计数器的计数流程。
优选地,接收端还包括快速链路质量反馈模块,用于根据采样的序列号与正常解封装的序列号比对结果启动快速链路质量反馈机制,其中:当采样的序列号与正常解封装的序列号比对不一致时,将下一个发送的探针报文的序列号设置为65535,并发送反馈报文至发送端,发送端接收到该反馈报文则感知链路质量异常。
优选地,探针报文插入模块被设置成按照下述方式将探针报文插入到业务报文中:
发送端包计数器每K个报文生成一个触发信号,首次触发时,探针报文插入模块将序列号为0的探针报文插入业务报文最前端,后续以预设的阈值K为周期,每K个业务报文顺序插入一个探针报文。
优选地,发送端中的探针报文生成模块被设置成按照下述方式生成探针报文:
接收发送端包计数器的触发信号,若首次接收则将序列号直接置为0,非首次接收执行后续步骤;
将非首次接收序列号置为接收到触发信号的序号-1;
判断序列号值是否小于65535,如果小于65535则执行后续步骤,否则将本业务报文的序列号置为0,同时将接收包计数器触发信号的计数回滚为1;
将序列号写入IP报文的数据字段,以本接口IP为源IP,对端接口IP为目的IP进行封装;
以本接口MAC地址为源MAC地址,对端接口的MAC为目的MAC进行封装;
以源目端口号作为UDP头部进行封装。
由此,结合以上本发明的技术方案,与传统的TWAMP方式的质量检测相比,TWAMP方式需要单独配置专用的通信协议,兼容性差且部署复杂,无法实现快速的端到端的部署,而且需要单独部署探测协议进行探测,业务的联动性比较差。而现有的IPCA方式的检测,需要借助SDN控制器,部署复杂,而且难以实现端到端的自动部署,并且难以实现对消费级产品的兼容。同时,本发明的业务报文触发,与业务的契合性强,契合度高。支持自动部署,链路UP即可自动使能,无需人工干预。
本发明的检测具有良好的软件兼容和硬件兼容,借助标准IP报文,无需构造新格式报文,具有良好的软件兼容;借助当前网络设备硬件,无需添加硬件,硬件兼容性好。而且,具有广泛设备兼容的特性,借助网络产品自身网卡处理机制,可兼容消费级产品,而且无需依赖SDN控制器,传统网管即可实现对接。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
Claims (10)
1.一种用于检测端到端数据传输质量的方法,其特征在于,包括:
发送端的应用层发起业务访问流量;
通过LLDP检测链路是否正常,如果正常则通过TM模块调度业务报文,按照设定的规则进行报文处理;
发送端包计数器对流向包转发引擎PFE的业务报文进行计数,并将触发信号发送至探针报文生成模块;
探针报文生成模块根据接收到的触发信号进行封装,生成探针报文,探针报文包括以太网头部、IP头部、UDP头部、数据字段及以太网尾部,其中以太网头部封装点到点链路的源目MAC地址,IP头部封装点到点链路的源目IP地址,UDP头部封装源目端口号,数据字段包含设置的序列号;
将探针报文按照预设的阈值K作为插入周期插入业务报文中,并按照预设的顺序对外发送;
当接收端接收到业务报文后,对接收到的业务报文进行计数,其中接收端的包计数器每经过一个采样周期采集一个业务报文的数据包样本,对数据包样本进行采样并进行分析,所述采样为复制采样并且不提前处理;
对接收的数据包样本送至接收端CPU并通过数据解封模块进行正常解封装,判断当前数据报文的目的IP是否为自身接口地址,源IP是否为对端接口地址,若是,则继续解封装检测序列号;若不是则直接上报链路质量异常告警;
对采样得到的数据包样本同时送入接收端的接口板CPU进行解封装,得到另一序列号,通过比较器将采样的序列号与正常解封装的序列号进行对比,如果一致,则判定链路正常,流程结束;如果不一致,则上报链路质量异常告警,并重置接收端的包计数器的计数流程。
2.根据权利要求1所述的用于检测端到端数据传输质量的方法,其特征在于,前述方法中,还包括以下步骤:
当采样的序列号与正常解封装的序列号比对不一致时,启动快速链路质量反馈机制,将下一个发送的探针报文的序列号设置为65535,并发送反馈报文至发送端,发送端接收到该反馈报文则感知链路质量异常。
3.根据权利要求1所述的用于检测端到端数据传输质量的方法,其特征在于,前述方法中,还包括以下步骤:
在接收端接收业务报文出现连续丢包时,对接收端的包计数器进行重置计数流程,保证采样的业务报文的连续和正确。
4.根据权利要求1所述的用于检测端到端数据传输质量的方法,其特征在于,前述方法中,接收端的采样周期与发送端的探针报文插入周期严格一致。
5.根据权利要求1所述的用于检测端到端数据传输质量的方法,其特征在于,前述方法中,所述探针报文生成模块中生成探针报文的步骤包括:
探针报文生成模块接收到包计数器的触发信号,若首次接收则将序列号直接置为0,非首次接收执行后续步骤;
将非首次接收序列号置为接收到触发信号的序号-1;
判断序列号值是否小于65535,如果小于65535则执行后续步骤,否则将本业务报文的序列号置为0,同时将接收包计数器触发信号的计数回滚为1;
将序列号写入IP报文的数据字段,以本接口IP为源IP,对端接口IP为目的IP进行封装;
以本接口MAC地址为源MAC地址,对端接口的MAC为目的MAC进行封装;
以源目端口号作为UDP头部进行封装。
6.根据权利要求5所述的用于检测端到端数据传输质量的方法,其特征在于,前述方法中,在探针报文生成后,按照下述方式插入到业务报文中:
发送端包计数器每K个报文生成一个触发信号,首次触发时,探针报文插入模块将序列号为0的探针报文插入业务报文最前端,后续以预设的阈值K为周期,每K个业务报文顺序插入一个探针报文。
7.一种用于检测端到端数据传输质量的系统,其特征在于,包括发送端和接收端,其中:
所述发送端包括:
用于发起业务访问流量的模块;
链路检测模块,用于通过LLDP检测链路是否正常;
报文处理模块,用于在链路正常时通过TM模块调度业务报文,按照设定的规则进行报文处理的模块;
发送端包计数器,用于对流向包转发引擎PFE的业务报文进行计数,并将触发信号发送至探针报文生成模块;
探针报文生成模块,用于根据接收到的触发信号进行封装,生成探针报文,探针报文包括以太网头部、IP头部、UDP头部、数据字段及以太网尾部,其中以太网头部封装点到点链路的源目MAC地址,IP头部封装点到点链路的源目IP地址,UDP头部封装源目端口号,数据字段包含设置的序列号;
探针报文插入模块,用于将探针报文按照预设的阈值K作为插入周期插入业务报文中;
报文发送模块,用于按照预设的顺序对外发送业务报文;
所述接收端包括:
接收端包计数器,用于对接收端接收到的业务报文进行计数;
采样模块,用于每经过一个采样周期采集一个业务报文的数据包样本,对数据包样本进行采样并进行分析,所述采样为复制采样并且不提前处理;其中,接收端的采样周期与发送端的探针报文插入周期严格一致;
解封装模块,用于对接收的数据包样本进行正常解封装,并判断当前数据报文的目的IP是否为自身接口地址,源IP是否为对端接口地址,若是,则继续解封装检测序列号;若不是,则直接上报链路质量异常告警;
采样解封装模块,用于对采样得到的数据包样本进行解封装,得到另一序列号;
比较器,用于将采样的序列号与正常解封装的序列号进行对比,如果一致则判定链路正常;如果不一致则上报链路质量异常告警,重置接收端的包计数器的计数流程。
8.根据权利要求7所述的用于检测端到端数据传输质量的系统,其特征在于,所述接收端还包括快速链路质量反馈模块,用于根据采样的序列号与正常解封装的序列号比对结果启动快速链路质量反馈机制,其中:当采样的序列号与正常解封装的序列号比对不一致时,将下一个发送的探针报文的序列号设置为65535,并发送反馈报文至发送端,发送端接收到该反馈报文则感知链路质量异常。
9.根据权利要求7所述的用于检测端到端数据传输质量的系统,其特征在于,所述发送端中的探针报文生成模块被设置成按照下述方式生成探针报文:
接收发送端包计数器的触发信号,若首次接收则将序列号直接置为0,非首次接收执行后续步骤;
将非首次接收序列号置为接收到触发信号的序号-1;
判断序列号值是否小于65535,如果小于65535则执行后续步骤,否则将本业务报文的序列号置为0,同时将接收包计数器触发信号的计数回滚为1;
将序列号写入IP报文的数据字段,以本接口IP为源IP,对端接口IP为目的IP进行封装;
以本接口MAC地址为源MAC地址,对端接口的MAC为目的MAC进行封装;
以源目端口号作为UDP头部进行封装。
10.根据权利要求7所述的用于检测端到端数据传输质量的系统,其特征在于,所述探针报文插入模块被设置成按照下述方式将探针报文插入到业务报文中:
发送端包计数器每K个报文生成一个触发信号,首次触发时,探针报文插入模块将序列号为0的探针报文插入业务报文最前端,后续以预设的阈值K为周期,每K个业务报文顺序插入一个探针报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010950163.1A CN111817927B (zh) | 2020-09-11 | 2020-09-11 | 用于检测端到端数据传输质量的方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010950163.1A CN111817927B (zh) | 2020-09-11 | 2020-09-11 | 用于检测端到端数据传输质量的方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111817927A true CN111817927A (zh) | 2020-10-23 |
CN111817927B CN111817927B (zh) | 2020-12-01 |
Family
ID=72860067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010950163.1A Active CN111817927B (zh) | 2020-09-11 | 2020-09-11 | 用于检测端到端数据传输质量的方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111817927B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992363A (zh) * | 2021-10-11 | 2022-01-28 | 杭州迪普科技股份有限公司 | 一种基于iec104规约通信的方法、装置 |
CN114124841A (zh) * | 2021-11-19 | 2022-03-01 | 青岛信大云谷信息科技有限公司 | 一种高速转发数据轻量级流量控制的方法 |
CN114884839A (zh) * | 2022-06-10 | 2022-08-09 | 中煤科工重庆设计研究院(集团)有限公司 | 一种可检测单向链路质量的检测方法 |
CN114928573A (zh) * | 2022-05-20 | 2022-08-19 | 中国科学院计算技术研究所 | 一种数据的传输方法及系统 |
CN117354196A (zh) * | 2023-12-06 | 2024-01-05 | 广州通则康威科技股份有限公司 | 一种基于网络接口的链路检测方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227340A (zh) * | 2007-01-17 | 2008-07-23 | 上海市电信有限公司 | 嵌入式网络质量探测装置和方法及其评估系统和评估方法 |
US20090003336A1 (en) * | 2007-06-29 | 2009-01-01 | World Wide Packets, Inc. | Determining a Logical Neighbor of a Network Element |
CN101895442A (zh) * | 2010-07-22 | 2010-11-24 | 北京邮电大学 | 可信互联网中的网络质量主动监测方法和系统 |
CN102404166A (zh) * | 2011-10-27 | 2012-04-04 | 华为技术有限公司 | 丢包检测方法和系统、发送设备及接收设备 |
CN103580956A (zh) * | 2013-11-05 | 2014-02-12 | 北京锐安科技有限公司 | 一种检测数据完整性的方法及装置 |
-
2020
- 2020-09-11 CN CN202010950163.1A patent/CN111817927B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227340A (zh) * | 2007-01-17 | 2008-07-23 | 上海市电信有限公司 | 嵌入式网络质量探测装置和方法及其评估系统和评估方法 |
US20090003336A1 (en) * | 2007-06-29 | 2009-01-01 | World Wide Packets, Inc. | Determining a Logical Neighbor of a Network Element |
CN101895442A (zh) * | 2010-07-22 | 2010-11-24 | 北京邮电大学 | 可信互联网中的网络质量主动监测方法和系统 |
CN102404166A (zh) * | 2011-10-27 | 2012-04-04 | 华为技术有限公司 | 丢包检测方法和系统、发送设备及接收设备 |
CN103580956A (zh) * | 2013-11-05 | 2014-02-12 | 北京锐安科技有限公司 | 一种检测数据完整性的方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992363A (zh) * | 2021-10-11 | 2022-01-28 | 杭州迪普科技股份有限公司 | 一种基于iec104规约通信的方法、装置 |
CN113992363B (zh) * | 2021-10-11 | 2024-02-27 | 杭州迪普科技股份有限公司 | 一种基于iec104规约通信的方法、装置 |
CN114124841A (zh) * | 2021-11-19 | 2022-03-01 | 青岛信大云谷信息科技有限公司 | 一种高速转发数据轻量级流量控制的方法 |
CN114928573A (zh) * | 2022-05-20 | 2022-08-19 | 中国科学院计算技术研究所 | 一种数据的传输方法及系统 |
CN114884839A (zh) * | 2022-06-10 | 2022-08-09 | 中煤科工重庆设计研究院(集团)有限公司 | 一种可检测单向链路质量的检测方法 |
CN114884839B (zh) * | 2022-06-10 | 2023-05-16 | 中煤科工重庆设计研究院(集团)有限公司 | 一种可检测单向链路质量的检测方法 |
CN117354196A (zh) * | 2023-12-06 | 2024-01-05 | 广州通则康威科技股份有限公司 | 一种基于网络接口的链路检测方法和装置 |
CN117354196B (zh) * | 2023-12-06 | 2024-03-12 | 广州通则康威科技股份有限公司 | 一种基于网络接口的链路检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111817927B (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111817927B (zh) | 用于检测端到端数据传输质量的方法与系统 | |
US9306819B2 (en) | Controller driven OAM for split architecture network | |
US11095546B2 (en) | Network device service quality detection method and apparatus | |
US7636305B1 (en) | Method and apparatus for monitoring network traffic | |
CN108040057B (zh) | 适于保障网络安全、网络通信质量的sdn系统的工作方法 | |
US7525922B2 (en) | Duplex mismatch testing | |
WO2021109610A1 (zh) | 传输质量检测方法及装置、系统、存储介质 | |
CN106899472B (zh) | 一种单向环形网络控制器及其使用方法 | |
US7706278B2 (en) | Triggering flow analysis at intermediary devices | |
US20060013143A1 (en) | Network looping detecting apparatus | |
US8274911B2 (en) | Network monitoring system and path extracting method | |
WO2001095053A2 (en) | Network packet tracking | |
WO2005122456A2 (en) | Method and apparatus for monitoring latency, jitter, packet throughput and packet loss ratio between two points on a network | |
US20070014232A1 (en) | Apparatus and method for detecting network failure | |
CN112637015B (zh) | 一种基于psn实现rdma网络的丢包检测方法及装置 | |
EP2701345A1 (en) | Loopback testing method, device and system | |
WO2011144068A2 (zh) | 网络丢包信息报告方法及装置 | |
CN111585842B (zh) | 一种网络质量监控诊断方法及系统 | |
CN114285765A (zh) | 链路故障检测方法、装置及计算机可读存储介质 | |
EP1943787B1 (en) | Method and system for loop-back and continue in packet-based network | |
US7385930B2 (en) | Packet discard point probing method and device | |
US7898955B1 (en) | System and method for real-time diagnosis of routing problems | |
CN111800383A (zh) | 一种基于SDN的DDos流量检测方法及装置 | |
US20140086091A1 (en) | Method, apparatus, and system for analyzing network transmission characteristic | |
CN112187676B (zh) | 一种交换机端口恢复的方法和设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Building 10, No.19, ningshuang Road, Yuhuatai District, Nanjing City, Jiangsu Province, 210000 Patentee after: Jiahuan Technology Co.,Ltd. Address before: Building 10, No.19, ningshuang Road, Yuhuatai District, Nanjing City, Jiangsu Province, 210000 Patentee before: Nanjing Jiahuan Technology Co., Ltd |
|
CP01 | Change in the name or title of a patent holder |