用于检测端到端数据传输质量的方法与系统技术方案

技术编号:26040749 阅读:15 留言:0更新日期:2020-10-23 21:19
本发明专利技术提供一种用于检测端到端数据传输质量的方法与系统,通过在通讯数据流中添加探针报文,封装均保持三层标准封装,仅在数据字段增加序列号,无需借助任何私有通信协议,在各设备出入口新增插包、计数、采样的方式实现对探针报文的生成与统计,根据探针报文的接收情况实现对业务报文传输质量的敏捷监控,改进依据当前技术手段无法快速定界业务报文丢包位置的问题,实现了端到端业务报文丢包问题的快速定位,解决了当前数据通信网络无法快速、简易部署基于业务的端到端丢包检测的问题。

【技术实现步骤摘要】
用于检测端到端数据传输质量的方法与系统本专利技术涉及网络通信
,具体而言涉及一种用于检测端到端数据传输质量的方法与系统。
技术介绍
网络稳定是通信
难题,是指一个或多个数据数据包(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个业本文档来自技高网
...

【技术保护点】
1.一种用于检测端到端数据传输质量的方法,其特征在于,包括:/n发送端的应用层发起业务访问流量;/n通过LLDP检测链路是否正常,如果正常则通过TM模块调度业务报文,按照设定的规则进行报文处理;/n发送端包计数器对流向包转发引擎PFE的业务报文进行计数,并将触发信号发送至探针报文生成模块;/n探针报文生成模块根据接收到的触发信号进行封装,生成探针报文,探针报文包括以太网头部、IP头部、UDP头部、数据字段及以太网尾部,其中以太网头部封装点到点链路的源目MAC地址,IP头部封装点到点链路的源目IP地址,UDP头部封装源目端口号,数据字段包含设置的序列号;/n将探针报文按照预设的阈值K作为插入周期插入业务报文中,并按照预设的顺序对外发送;/n当接收端接收到业务报文后,对接收到的业务报文进行计数,其中接收端的包计数器每经过一个采样周期采集一个业务报文的数据包样本,对数据包样本进行采样并进行分析,所述采样为复制采样并且不提前处理;/n对接收的数据包样本送至接收端CPU并通过数据解封模块进行正常解封装,判断当前数据报文的目的IP是否为自身接口地址,源IP是否为对端接口地址,若是,则继续解封装检测序列号;若不是则直接上报链路质量异常告警;/n对采样得到的数据包样本同时送入接收端的接口板CPU进行解封装,得到另一序列号,通过比较器将采样的序列号与正常解封装的序列号进行对比,如果一致,则判定链路正常,流程结束;如果不一致,则上报链路质量异常告警,并重置接收端的包计数器的计数流程。/n...

【技术特征摘要】
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的探针报文插入业务报文最前端,后续以预设的阈...

【专利技术属性】
技术研发人员:宗琰陈辉元朱仁军胥晓冬魏荣华张帅
申请(专利权)人:南京嘉环科技股份有限公司
类型:发明
国别省市:江苏;32

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

1