CN110932934B - 一种网络丢包的检测方法和装置 - Google Patents
一种网络丢包的检测方法和装置 Download PDFInfo
- Publication number
- CN110932934B CN110932934B CN201911150163.7A CN201911150163A CN110932934B CN 110932934 B CN110932934 B CN 110932934B CN 201911150163 A CN201911150163 A CN 201911150163A CN 110932934 B CN110932934 B CN 110932934B
- Authority
- CN
- China
- Prior art keywords
- sequence number
- packet loss
- service message
- remark
- entry
- 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
Links
- 238000001514 detection method Methods 0.000 title description 10
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000004891 communication Methods 0.000 abstract description 11
- 238000012360 testing method Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
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/50—Testing arrangements
-
- 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/0876—Network utilisation, e.g. volume of load or congestion level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的实施例提供一种网络丢包的检测方法和装置,涉及通信领域,能够通过当前业务报文与信息数据库进行对比获取业务报文丢包情况。该方法包括:接收当前业务报文,其中,当前业务报文携带当前业务报文对应的第二序列号;在信息数据库中查找与当前业务报文的地址对应的条目,其中,条目中包含已经接收的已收业务报文的地址,以及已收业务报文的第一序列号;若确定条目中的第一序列号+1<第二序列号,则根据第二序列号和第一序列号确定丢包数。本申请实施例应用于检测网络中业务的丢包情况。
Description
技术领域
本发明的实施例涉及通信领域,尤其涉及一种网络丢包的检测方法和装置。
背景技术
互联网协议第四版(internet protocol version 4,IPV4)是互联网的核心,是一种无连接的协议,操作在使用分组交换的链路层上,例如,以太网。互联网协议第六版(internet protocol version 6,IPV6)是国际互联网工程任务组(the internetengineering task force,IETF)设计的用于替代IPV4的下一代网络之间互连的协议(internet protocol,IP)。
通过跟踪路由(trace router,TRACET)的方法可以以主动发包的方式检查网络连通性以及逐跳丢包情况。TRACET方法具体为客户端向路由器发送不同IP生存时间(time tolive,TTL)值的控制报文协议(internet control message protocol,ICMP)数据包,TRACET要求路径上每个路由器在转发数据包之前将数据包上的TTL减1,当数据包上的TTL减为0时,路由器向客户端返回一个已超时的ICMP数据包,其中,ICMP数据包中包括路由器的地址,此时客户端会得到数据包路径上路由器的地址。
因此,通过TRACET方法进行源地址与目地址之间的丢包检测,是以源端不断发包,中间经过的每一跳路由器设备进行回包来检测传送路径上的丢包情况。首先,这种方式发出的测试数据包与实际业务的数据包路径可能不一致,这样检测出的路径问题无法代表实际业务路径问题;其次,通过发出的测试数据包的丢包率来确定路径的丢包率,发出的测试数据包的频率和时间点都会影响路径丢包率情况,因此并不能据此得出实际的业务丢包情况。
发明内容
本发明的实施例提供一种网络丢包的检测方法和装置,能够通过当前业务报文与信息数据库进行对比获取业务报文丢包情况。
第一方面,提供一种网络丢包的检测方法,包括如下步骤:接收当前业务报文,其中,当前业务报文携带当前业务报文对应的第二序列号;在信息数据库中查找与当前业务报文的地址对应的条目,其中,条目中包含已经接收的已收业务报文的地址,以及已收业务报文的第一序列号;若确定条目中的第一序列号+1<第二序列号,则根据第二序列号和第一序列号确定丢包数。
上述方案中,接收当前业务报文,其中,当前业务报文携带当前业务报文对应的第二序列号;在信息数据库中查找与当前业务报文的地址对应的条目,其中,条目中包含已经接收的已收业务报文的地址,以及已收业务报文的第一序列号;若确定条目中的第一序列号+1<第二序列号,则根据第二序列号和第一序列号确定丢包数。因此,首先,本申请直接根据当前业务报文中的第二序列号与信息数据库中的第一序列号得到业务报文的丢包数,避免了测试数据包与实际业务的数据包路径不一致而导致检测出的路径问题无法代表实际业务的路径问题。其次,本申请在当前业务报文中添加序列号,在信息数据库中记录当前业务报文所对应的条目,通过条目中的序列号和当前业务报文中的序列号能够直接计算出丢包数,避免了通过发出的测试数据包的丢包率确定路径的丢包率时,发出的测试数据包的频率和时间点对路径丢包率的影响。
第二方面,提供一种网络丢包的检测装置,包括:接收模块,用于接收当前业务报文,其中,当前业务报文携带当前业务报文对应的第二序列号;查询模块,用于在信息数据库中查找与接收模块接收的当前业务报文的地址对应的条目,其中,条目中包含已经接收的已收业务报文的地址,以及已收业务报文的第一序列号;确定模块,用于若确定条目中的第一序列号+1<第二序列号,则根据第二序列号和第一序列号确定丢包数。
第三方面,提供一种网络丢包的检测装置,包括处理器,当网络丢包的检测装置运行时,处理器执行计算机执行指令,以使网络丢包的检测装置执行如上述的网络丢包的检测方法。
第四方面,提供一种计算机存储介质,包括指令,当指令在计算机上运行时,使得计算机执行如上述的网络丢包的检测方法。
第五方面,提供一种计算机程序产品,计算机程序产品包括指令代码,指令代码用于执行如上述的网络丢包的检测方法。
可以理解地,上述提供的任一种网络丢包的检测装置、计算机存储介质或计算机程序产品均用于执行上文所提供的第一方面对应的方法,因此,其所能达到的有益效果可参考上文第一方面的方法以及下文具体实施方式中对应的方案的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例提供的一种通过TWAMP检测丢包的方法的流程示意图;
图2为本发明的实施例提供的一种通信网络架构示意图;
图3为本发明的实施例提供的一种网络丢包的检测方法的流程示意图;
图4为本发明的实施例提供的一种IPv6业务报文的包头结构示意图;
图5为本发明的实施例提供的一种IPv4业务报文的包头结构示意图;
图6为本发明的实施例提供的一种网络丢包的检测装置的结构示意图;
图7为本发明的另一实施例提供的一种网络丢包的检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
传统的IPV4和IPV6随路数据包在网络中发生丢包时,网络无法检测原因,也无法查询具体丢包位置,因此,部分运营商级的路由器支持双向主动测量(two-way activemeasurement protocol,TWAMP)功能,可通过主动发包的情况,来获知某条路径上的问题。在TWAMP检测丢包的方法中,TWAMP测试协议(TWAMP-Test)作为发送和接收性能测量的探帧,其中,TWAMP-Test报文使用预先设置好的统计会话的网络之间的互联协议(internetprotocol,IP)地址、用户数据报协议(user datagram protocol,UDP)端口号,TTL固定为255。具体的,TWAMP Light定义了两个方向的TWAMP-Test报文,包括测试请求(Test-request)报文和测试回应(Test-response)报文。参照图1所示,通过TWAMP检测丢包的方法包括如下步骤:发射节点(Session-Sender)向反射节点发送Test-request报文;反射节点接收到Test-request报文后,向Session-Sender回复Test-response报文。具体的,Session-Sender负责根据TWAMP-Test报文计算出性能统计数据,客户可以通过网管界面得到相关统计数据。
除此之外,通过TRACET可以以主动发包的方式检查网络连通性以及逐跳丢包情况。参见图2所示,本申请提供一种通信网络架构,包括:客户端21、第一路由器22、第二路由器23、目标主机24。例如,通过TRACET方法对图2所示的通信网络的丢包进行检测,包括如下情况:a、客户端21发送一个TTL为1的第一UDP数据包;第一路由器22将第一UDP数据包中的TTL减1,确定TTL为0,向客户端21返回一个已超时的ICMP数据包,其中,ICMP数据包中包括第一路由器22的地址。b、客户端21发送一个TTL为2的第二UDP数据包;第一路由器22将第二UDP数据包中的TTL减1,确定TTL为1,向第二路由器23转发第二UDP数据包;第二路由器23将第二UDP数据包中的TTL减1,确定TTL为0,向客户端21返回一个已超时的ICMP数据包,其中,ICMP数据包中包括第二路由器23的地址。c、客户端21发送一个TTL为3的第三UDP数据包;第一路由器22将第三UDP数据包中的TTL减1,确定TTL为2,向第二路由器23转发第三UDP数据包;第二路由器23将第三UDP数据包中的TTL减1,确定TTL为1,向目标主机24转发第三UDP数据包;目标主机24直接向客户端21返回一个端口不可达的ICMP数据包。TRACET结束。
由上述可知,通过TWAMP方法进行源地址与目地址之间的丢包检测,是通过源端发包,目的端将该数据包反射给源端来模拟源端和目的端之间传送路径上的丢包情况。通过TRACET的方法进行源地址与目地址之间的丢包检测,是以源端不断发包,中间经过的每一跳路由器设备进行回包来检测传送路径上的丢包情况。首先,这两种方式发出的测试数据包与实际业务的数据包路径可能不一致,这样检测出的路径问题无法代表实际业务路径问题;其次,通过发出的测试数据包的丢包率来确定路径的丢包率,发出的测试数据包的频率和时间点都会影响路径丢包率情况,因此并不能据此得出实际的业务丢包情况。
针对上述问题,本申请提供一种网络丢包的检测方法,参照图3所示,具体包括如下步骤:
301、接收当前业务报文。
首先,当前业务报文携带当前业务报文对应的第二序列号。
可选的,当当前业务报文为IPv6业务报文时,第二序列号携带在IPv6业务报文的扩展包头中。具体的,IPV6业务报文的扩展包头包括第一预定字节的数据内容、第二预定字节的下一头部,其中,数据内容包含IPV6业务报文的地址、第二序列号,下一头部包含下一包头的类型,用于读取下一包头中的内容。
进一步的,互联网工程任务组(the internet engineering task force,IETF)所规定IPv6业务报文的包头参见图4所示,包括版本号(version)、流量等级(trafficclass)、流标签(flow label)、载荷长度(payload length)、下一包头(next header)、跳数限制(hop limit)、源地址(source address)、目的地址(destination address)。其中,version包括4bit的IP协议号,固定为6;traffic class包括8bit的流量等级域,主要用于服务质量(quality of service,QoS);flow label包括20bit的流标签,用于标识同一个流里面的报文;payload length包括16bit字段,表明IPv6业务报文的头部包含的字节数,包含扩展包头;next header包括8bit的识别号,用于识别上层协议或者扩展报头;hop limit包括8bit字段,在每次转发报文时跳数减1;source address包括128bit的地址,用于标识IPv6业务报文的来源;destination address包括128bit的地址用于标识IPv6业务报文的目的地址。
再进一步的,本申请在符合上述IETF所规定IPv6业务报文的包头的基础上,对扩展包头进行了定义,首先,本申请的IPv6业务报文的扩展包头长度定义为8bit;IPv6业务报文的扩展包头包括第一预定字节的数据内容,其中,数据内容包含IPV6业务报文的地址、第二序列号,例如,参见下表1,第一预定字节为46字节时,包括128bit的源IPv6业务报文的地址、128bit的目的IPv6业务报文的地址、64bit的第二序列号、以及48bit的填充部分,其中,填充部分是为了使扩展包头的长度能够保持为8字节的倍数。其次,扩展包头还包括第二预定字节的下一头部,其中,下一头部包含下一包头的类型,用于读取下一包头中的内容;例如,参见下表1,第二预定字节为8bit;又例如,定义本IPv6业务报文的扩展包头的类型为249(二进制为11111001),则在其他扩展包头的下一头部位置标记249时,其他扩展包头的下一头部为本IPv6业务报文的扩展包头;进一步的,定义本IPv6业务报文的扩展包头的处理顺序为最后处理。
表1
可选的,当当前业务报文为IPv4业务报文时,第二序列号携带在IPv4业务报文头部的Option字段中。
进一步的,IETF所规定IPv4业务报文的包头参见图5所示,包括版本号(version)、首部长度(header length)、服务类型(type of service)、总长度(total length)、标识(identifier)、标志(flags)、片偏移(fragment offset)、生存时间(TTL)、协议(protocol)、首部检验和(header checksum)、源地址(source address)、目的地址(destination address)、可选字段(options)、填充(padding)。其中,version包括4bit的IP协议号,固定为4;header length包括4bit的包头长度;type of service包括8bit,用于设置数据包的优先级以及选择传输服务;total length包括16bit;identifier包括16bit、flags包括3bit、fragment offset包括13bit,用于对大的上层数据包进行分段(fragment)操作;TTL包括8bit,在每次转发报文时TTL减1;protocol包括8bit,标识上层所使用的协议;header checksum包括16bit,用于对IPv4业务报文的包头进行纠错;source address包括32bit的地址,用于标识IPv4业务报文的来源;destination address包括32bit的地址用于标识IPv4业务报文的目的地址;options为一个可变长的字段,最长为20字节;padding用于在options后添加0来补足32bit,保证IPv4业务报文的包头为32bit的倍数。
再进一步的,IETF规定的options字段由类型、长度和数据内容组成,其中,类型包括8bit,第0bit是复制标记位,第1-2bit是option class字段(0=控制字段,1=预留字段,2=测量字段,3=预留字段),第3-7bit是option number字段。因此,本申请在符合上述IETF所规定IPv4业务报文的包头的基础上,对options字段进行了定义,首先,使用options字段的类型中的第1-2bit的option class=1的预留字段,第3-7bit的option number=1的字段表示本IPv4业务报文的包头的options字段的类型,使用options字段的数据内容记录IPv4业务报文的地址、第二序列号,例如,参见下表2,数据内容中包括32bit的源IPv4业务报文的地址、32bit的目的IPv4业务报文的地址、64bit的第二序列号。
表2
其次,若确定当前业务报文为IPv6业务报文,则通过IPv6业务报文扩展包头处理器将对应的扩展包头从IPv6报文中取出,其中,扩展包头中包括当前业务报文对应的源地址、目的地址、以及第二序列号。若确定当前业务报文为IPv4业务报文,则通过optionoverhead处理器将option overhead从IPv4业务报文中取出,其中,option overhead中包含当前业务报文对应的源地址、目的地址、以及第二序列号。
302、在信息数据库中查找与当前业务报文的地址对应的条目。
其中,条目中包含已经接收的已收业务报文的地址,以及已收业务报文的第一序列号。具体的,信息数据库的条目中包括已接收的已收业务报文的源地址、目的地址、已收业务报文的第一序列号,除此之外,在本申请的其他一些实施例中,信息数据库的条目中还包括备注序列号、丢包总数。其中,已收业务报文的第一序列号用于记录当前收到的最后一个已确认业务报文的数据包的顺序号;备注序列号,用于记录收到的非按顺序到达的业务报文的数据包的顺序号;丢包总数,用于记录该已收业务报文的总丢包总数。
可选的,若在信息数据库中未查找到当前业务报文的地址对应的条目,则创建条目,并将第一序列号置为初始序列号;将第一序列号复制到当前业务报文中。具体的,初始序列号为预配置的,例如,初始序列号可以为默认值、预先存储、或者由后台管理人员重新写入的方式获取,又例如,初始序列号预配置为1。若确定当前业务报文为IPv4业务报文,则通过option overhead装载器将IPv4业务报文的源地址、目的地址和初始序列号复制到Option字段,后续进行设备内部正常的IPv4报文的组装工作等。若确定当前业务报文为IPv6业务报文,则通过IPv6报文扩展包头装载器将IPv6业务报文的源地址、目的地址和初始序列号复制到扩展包头的相应字段位置,后续进行设备内部正常的IPv6报文的组装工作等。
303、若确定条目中的第一序列号+1<第二序列号,则根据第二序列号和第一序列号确定丢包数。
首先,将第二序列号记录到条目的第一备注序列号中,并将条目中的第一序列号更新为第二序列号,其中,第一备注序列号为任一备注位置上的备注序列号,任一备注位置之前还包括预定数量的备注位置,预定数量大于或等于第二序列号与第一序列号之差。
其次,开启第一定时器,其中,第一定时器的超时时间为预配置的,例如,第一定时器的超时时间可以为默认值、预先存储、或者由后台管理人员重新写入的方式获取,又例如,第一定时器的超时时间预配置为500ms。
最后,若确定第一定时器超时,还未收到包含目标序列号的业务报文,则记录丢包数=第一备注序列号-第一序列号-1,其中,第一序列号<目标序列号<第二序列号;将条目中的丢包总数更新为条目中的当前丢包总数与丢包数之和。
进一步可选的,当第一定时器未超时时收到包含目标序列号的业务报文;包括:若确定目标序列号=第二序列号-1,则将条目中备注的第二序列号清除。若确定第一序列号+1<目标序列号<第二序列号-1,则将目标序列号记录到条目的第二备注序列号中,其中,第二备注序列号为第一备注序列号所在备注位置之前的备注位置上的备注序列号;开启第二定时器,并根据第二定时器的超时时间以及接收到的业务报文更新条目中的备注序列号、丢包总数,其中,第二定时器的超时时间为第一定时器当前剩余的超时时间。当然,当第一定时器未超时时收到业务报文,还可以包括开启第N定时器,并根据所述第N定时器的超时时间以及接收到的业务报文更新所述条目中的备注序列号、丢包总数,具体定时器的数量根据第一序列号与第二序列号之间的丢包数确定。
可选的,若确定第二序列号=第一序列号+1,则将条目中的第一序列号更新为第二序列号。
当然,若确定第二序列号<第一序列号时,表示收到了一个时延非常大的业务报文,即当前业务报文延时到达,这种情况在上述第一定时器超时时已被判定为丢包,因此对第二序列号<第一序列号的情况忽略处理。
例如,路由器A需要向路由器C发送业务报文,途径路由器B。第一定时器超时时间为500ms。
当路由器A向路由器C发送业务报文时,路由器A上信息数据库中生成一条对应条目,第一序列号为0x0;途经路由器B,路由器B上信息数据库中生成一条对应条目,第一序列号为0x0;数据包到达路由器C,路由器C上信息数据库中生成一条对应条目,第一序列号为0x0。
路由器A向路由器C继续发送业务报文,第二序列号为0x1,路由器A上信息数据库将该条目序列号进行更新,第一序列号更新为0x1;途经路由器B,路由器B上信息数据库将该条目序列号进行更新,第一序列号更新为0x1;数据包到达路由器C,路由器C上信息数据库将该条目序列号进行更新,第一序列号更新为0x1。
路由器A向路由器C继续发送业务报文,第二序列号为0x2,路由器A上信息数据库将该条目序列号进行更新,第一序列号更新为0x2;途经路由器B,路由器B上信息数据库将该条目序列号进行更新,第一序列号更新为0x2。
路由器B未及时将业务报文向路由器C转发,就收到了来自路由器A的包含第二序列号为0x3的业务报文,并将自己的信息数据库的对应条目序列号更新为0x3。路由器C收到包含第二序列号为0x3的业务报文,比照自己的信息数据库,发现未收到包含第二序列号为0x2的业务报文,就接收到了包含第二序列号为0x3的业务报文,因而将0x3记录在备注序列号的备注位置上。
经历200ms后,即路由器C的第一定时器还未超时,路由器B将包含第二序列号为0x2的业务报文发送至路由器C上。路由器C检查自己的信息数据库,将备注位置上的备注序列号0x3清除,并将序列号更新为0x3。
路由器A向路由器C继续发送业务报文,第二序列号为0x4/0x5,路由器B收到后将第一序列号更新为0x5。
路由器B未及时将业务报文向路由器C转发,就收到了来自路由器A的包含第二序列号为0x6的业务报文,并将自己的信息数据库的对应条目的第一序列号更新为0x6。路由器C收到包含第二序列号为0x6的业务报文,比照自己的信息数据库,发现未收到包含第二序列号为0x4/0x5的业务报文,就接收到了包含第二序列号为0x6的业务报文,因而将0x6记录在备注序列号的备注位置上。
经历500ms后,即路由器C的第一定时器已超时,路由器C仍未收到第二序列号在0x3-0x6之间的第二序列号的业务报文,因而丢包总数为6-3-1=2。
在第510ms时,即路由器C的第一定时器已超时,收到了包含第二序列号为0x5的业务报文,比较当前信息库中第一序列号为0x6,则表示这一数据包的时延非常大,我们已经记录为丢包了,这里不再特别处理了。
通过以上记录,则在业务报文转发路径上的各路由器上都有了丢包记录,包括路由器B上显示无丢包,路由器C上显示丢2个包。
当路由器A向路由器C发送的业务报文发送完毕后,进行下一个任务的业务报文的传输之前,清除备注位置的所有备注序列号。
上述方案中,接收当前业务报文,其中,当前业务报文携带当前业务报文对应的第二序列号;在信息数据库中查找与当前业务报文的地址对应的条目,其中,条目中包含已经接收的已收业务报文的地址,以及已收业务报文的第一序列号;若确定条目中的第一序列号+1<第二序列号,则根据第二序列号和第一序列号确定丢包数。因此,首先,本申请直接根据当前业务报文中的第二序列号与信息数据库中的第一序列号得到业务报文的丢包数,避免了测试数据包与实际业务的数据包路径不一致而导致检测出的路径问题无法代表实际业务的路径问题。其次,本申请在当前业务报文中添加序列号,在信息数据库中记录当前业务报文所对应的条目,通过条目中的序列号和当前业务报文中的序列号能够直接计算出丢包数,避免了通过发出的测试数据包的丢包率确定路径的丢包率时,发出的测试数据包的频率和时间点对路径丢包率的影响。
本发明实施例可以根据上述的方法实施例对网络丢包的检测装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
参照图6所示,本申请提供一种网络丢包的检测装置,包括:接收模块61,用于接收当前业务报文,其中,所述当前业务报文携带所述当前业务报文对应的第二序列号;查询模块62,用于在信息数据库中查找与所述接收模块61接收的所述当前业务报文的地址对应的条目,其中,所述条目中包含已经接收的已收业务报文的地址,以及所述已收业务报文的第一序列号;确定模块63,用于若确定所述条目中的所述第一序列号+1<所述第二序列号,则根据所述第二序列号和所述第一序列号确定丢包数。
可选的,所述确定模块63,还用于若确定所述第二序列号=所述第一序列号+1,则将所述条目中的所述第一序列号更新为所述第二序列号。
可选的,所述条目还包括备注序列号、丢包总数;所述确定模块63,具体用于将所述第二序列号记录到所述条目的第一备注序列号中,并将所述条目中的所述第一序列号更新为所述第二序列号,其中,所述第一备注序列号为任一备注位置上的备注序列号,所述任一备注位置之前还包括预定数量的备注位置,所述预定数量大于或等于所述第二序列号与所述第一序列号之差;所述确定模块63,具体用于开启第一定时器;所述确定模块63,具体用于若确定所述第一定时器超时,还未收到包含目标序列号的业务报文,则记录丢包数=所述第一备注序列号-所述第一序列号-1,其中,所述第一序列号<所述目标序列号<所述第二序列号;所述确定模块63,具体用于将所述条目中的丢包总数更新为所述条目中的当前丢包总数与所述丢包数之和。
可选的,所述第一定时器未超时时收到包含目标序列号的业务报文;所述确定模块63,具体用于若确定所述目标序列号=所述第二序列号-1,则将所述条目中备注的所述第二序列号清除;所述确定模块63,具体用于若确定所述第一序列号+1<所述目标序列号<所述第二序列号-1,则将所述目标序列号记录到所述条目的第二备注序列号中,其中,所述第二备注序列号为所述第一备注序列号所在备注位置之前的备注位置上的备注序列号;所述确定模块63,具体用于开启第二定时器,并根据所述第二定时器的超时时间以及接收到的业务报文更新所述条目中的备注序列号、丢包总数,其中,所述第二定时器的超时时间为所述第一定时器当前剩余的超时时间。
可选的,所述查询模块62,还用于若在所述信息数据库中未查找到所述当前业务报文的地址对应的条目,则创建所述条目,并将所述第一序列号置为初始序列号;复制模块64,用于将所述第一序列号复制到所述当前业务报文中。
可选的,当所述当前业务报文为IPv6业务报文时,所述第二序列号携带在所述IPv6业务报文的扩展包头中。
可选的,所述IPV6业务报文的扩展包头包括第一预定字节的数据内容、第二预定字节的下一头部,其中,所述数据内容包含所述IPV6业务报文的地址、第二序列号,所述下一头部包含下一包头的类型,用于读取所述下一包头中的内容。
可选的,当所述当前业务报文为IPv4业务报文时,所述第二序列号携带在所述IPv4业务报文头部的Option字段中。
在采用集成的模块的情况下,网络丢包的检测装置包括:存储单元、处理单元以及接口单元。处理单元用于对网络丢包的检测装置的动作进行控制管理。接口单元,负责网络丢包的检测装置与其他设备的信息交互。存储单元,负责存储网络丢包的检测装置的程序代码和数据。
其中,处理单元可以为处理器,存储单元可以为存储器,接口单元可以为通信接口。
其中,网络丢包的检测装置参照图7中所示,包括处理器702,处理器702用于执行应用程序代码,从而实现本申请实施例中所述的方法。
处理器702可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
如图7所示,网络丢包的检测装置还可以包括存储器703。
存储器703可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access mmory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable pead-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器703用于存储执行本申请方案的应用程序代码,并由处理器702来控制执行。如图7所示,网络丢包的检测装置还可以包括通信接口701。通信接口701、处理器702、存储器703可以相互耦合,例如通过总线704相互耦合。
通信接口701用于与其他设备进行信息交互,例如支持网络丢包的检测装置与其他设备的信息交互,例如从其他设备获取数据或者向其他设备发送数据。
此外,还提供一种计算存储媒体(或介质),包括在被执行时进行上述实施例中的网络丢包的检测方法操作的指令。另外,还提供一种计算机程序产品,包括上述计算存储媒体(或介质)。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,其作用在此不再赘述。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块、单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:read-only memory,英文简称:ROM)、随机存取存储器(英文全称:random access memory,英文简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种网络丢包的检测方法,其特征在于,
接收当前业务报文,其中,所述当前业务报文携带所述当前业务报文对应的第二序列号;
在信息数据库中查找与所述当前业务报文的地址对应的条目,其中,所述条目中包含已经接收的已收业务报文的地址,以及所述已收业务报文的第一序列号;
若确定所述条目中的所述第一序列号+1<所述第二序列号,则根据所述第二序列号和所述第一序列号确定丢包数;
若在所述信息数据库中未查找到所述当前业务报文的地址对应的条目,则创建所述条目,并将所述第一序列号置为初始序列号;
将所述第一序列号复制到所述当前业务报文中。
2.根据权利要求1所述的网络丢包的检测方法,其特征在于,还包括:
若确定所述第二序列号=所述第一序列号+1,则将所述条目中的所述第一序列号更新为所述第二序列号。
3.根据权利要求1所述的网络丢包的检测方法,其特征在于,所述条目还包括备注序列号、丢包总数,所述根据所述第二序列号和所述第一序列号确定丢包数,包括:
将所述第二序列号记录到所述条目的第一备注序列号中,并将所述条目中的所述第一序列号更新为所述第二序列号,其中,所述第一备注序列号为任一备注位置上的备注序列号,所述任一备注位置之前还包括预定数量的备注位置,所述预定数量大于或等于所述第二序列号与所述第一序列号之差;
开启第一定时器;
若确定所述第一定时器超时,还未收到包含目标序列号的业务报文,则记录丢包数=所述第一备注序列号-所述第一序列号+1,其中,所述第一序列号<所述目标序列号<所述第二序列号;
将所述条目中的丢包总数更新为所述条目中的当前丢包总数与所述丢包数之和。
4.根据权利要求3所述的网络丢包的检测方法,其特征在于,还包括:
所述第一定时器未超时时收到包含目标序列号的业务报文;
若确定所述目标序列号=所述第二序列号-1,则将所述条目中备注的所述第二序列号清除;
若确定所述第一序列号+1<所述目标序列号<所述第二序列号-1,则将所述目标序列号记录到所述条目的第二备注序列号中,其中,所述第二备注序列号为所述第一备注序列号所在备注位置之前的备注位置上的备注序列号;
开启第二定时器,并根据所述第二定时器的超时时间以及接收到的业务报文更新所述条目中的备注序列号、丢包总数,其中,所述第二定时器的超时时间为所述第一定时器当前剩余的超时时间。
5.根据权利要求1-4任一项所述的网络丢包的检测方法,其特征在于,包括:
当所述当前业务报文为IPv6业务报文时,所述第二序列号携带在所述IPv6业务报文的扩展包头中。
6.根据权利要求5所述的网络丢包的检测方法,其特征在于,
所述IPV6业务报文的扩展包头包括第一预定字节的数据内容、第二预定字节的下一头部,其中,所述数据内容包含所述IPV6业务报文的地址、第二序列号,所述下一头部包含下一包头的类型,用于读取所述下一包头中的内容。
7.根据权利要求1-4任一项所述的网络丢包的检测方法,其特征在于,包括:
当所述当前业务报文为IPv4业务报文时,所述第二序列号携带在所述IPv4业务报文头部的Option字段中。
8.一种网络丢包的检测装置,其特征在于,包括:
接收模块,用于接收当前业务报文,其中,所述当前业务报文携带所述当前业务报文对应的第二序列号;
查询模块,用于在信息数据库中查找与所述接收模块接收的所述当前业务报文的地址对应的条目,其中,所述条目中包含已经接收的已收业务报文的地址,以及所述已收业务报文的第一序列号;
确定模块,用于若确定所述条目中的所述第一序列号+1<所述第二序列号,则根据所述第二序列号和所述第一序列号确定丢包数;
所述查询模块,还用于若在所述信息数据库中未查找到所述当前业务报文的地址对应的条目,则创建所述条目,并将所述第一序列号置为初始序列号;
复制模块,用于将所述第一序列号复制到所述当前业务报文中。
9.根据权利要求8所述的网络丢包的检测装置,其特征在于,
所述确定模块,还用于若确定所述第二序列号=所述第一序列号+1,则将所述条目中的所述第一序列号更新为所述第二序列号。
10.根据权利要求8所述的网络丢包的检测装置,其特征在于,
所述条目还包括备注序列号、丢包总数;
所述确定模块,具体用于将所述第二序列号记录到所述条目的第一备注序列号中,并将所述条目中的所述第一序列号更新为所述第二序列号,其中,所述第一备注序列号为任一备注位置上的备注序列号,所述任一备注位置之前还包括预定数量的备注位置,所述预定数量大于或等于所述第二序列号与所述第一序列号之差;
所述确定模块,具体用于开启第一定时器;
所述确定模块,具体用于若确定所述第一定时器超时,还未收到包含目标序列号的业务报文,则记录丢包数=所述第一备注序列号-所述第一序列号+1,其中,所述第一序列号<所述目标序列号<所述第二序列号;
所述确定模块,具体用于将所述条目中的丢包总数更新为所述条目中的当前丢包总数与所述丢包数之和。
11.根据权利要求10所述的网络丢包的检测装置,其特征在于,
所述第一定时器未超时时收到包含目标序列号的业务报文;
所述确定模块,具体用于若确定所述目标序列号=所述第二序列号-1,则将所述条目中备注的所述第二序列号清除;
所述确定模块,具体用于若确定所述第一序列号+1<所述目标序列号<所述第二序列号-1,则将所述目标序列号记录到所述条目的第二备注序列号中,其中,所述第二备注序列号为所述第一备注序列号所在备注位置之前的备注位置上的备注序列号;
所述确定模块,具体用于开启第二定时器,并根据所述第二定时器的超时时间以及接收到的业务报文更新所述条目中的备注序列号、丢包总数,其中,所述第二定时器的超时时间为所述第一定时器当前剩余的超时时间。
12.根据权利要求8-11任一项所述的网络丢包的检测装置,其特征在于,
当所述当前业务报文为IPv6业务报文时,所述第二序列号携带在所述IPv6业务报文的扩展包头中。
13.根据权利要求12所述的网络丢包的检测装置,其特征在于,
所述IPV6业务报文的扩展包头包括第一预定字节的数据内容、第二预定字节的下一头部,其中,所述数据内容包含所述IPV6业务报文的地址、第二序列号,所述下一头部包含下一包头的类型,用于读取所述下一包头中的内容。
14.根据权利要求8-11任一项所述的网络丢包的检测装置,其特征在于,
当所述当前业务报文为IPv4业务报文时,所述第二序列号携带在所述IPv4业务报文头部的Option字段中。
15.一种网络丢包的检测装置,其特征在于,包括处理器,当所述网络丢包的检测装置运行时,所述处理器执行计算机执行指令,以使所述网络丢包的检测装置执行如权利要求1-7任一项所述的网络丢包的检测方法。
16.一种计算机存储介质,包括指令,其特征在于,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-7任一项所述的网络丢包的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911150163.7A CN110932934B (zh) | 2019-11-21 | 2019-11-21 | 一种网络丢包的检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911150163.7A CN110932934B (zh) | 2019-11-21 | 2019-11-21 | 一种网络丢包的检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110932934A CN110932934A (zh) | 2020-03-27 |
CN110932934B true CN110932934B (zh) | 2021-07-13 |
Family
ID=69850624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911150163.7A Active CN110932934B (zh) | 2019-11-21 | 2019-11-21 | 一种网络丢包的检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110932934B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111629025B (zh) * | 2020-04-02 | 2023-08-25 | 深圳亿维锐创科技股份有限公司 | 一种医疗信息对接用调试系统 |
CN113765726B (zh) * | 2020-06-02 | 2023-08-04 | 中国移动通信集团安徽有限公司 | S1-u口数据包丢包数的统计方法、装置及计算设备 |
CN112637015B (zh) * | 2020-12-23 | 2022-08-26 | 苏州盛科通信股份有限公司 | 一种基于psn实现rdma网络的丢包检测方法及装置 |
CN114465932A (zh) * | 2021-07-30 | 2022-05-10 | 荣耀终端有限公司 | Tcp通信质量评估方法、装置及电子设备 |
CN116996461A (zh) * | 2022-04-25 | 2023-11-03 | 中兴通讯股份有限公司 | IPv6报文处理方法、节点、存储介质和程序产品 |
CN116760744B (zh) * | 2023-08-17 | 2023-11-07 | 新华三技术有限公司 | 丢包统计方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1815970A (zh) * | 2005-02-01 | 2006-08-09 | 华为技术有限公司 | 一种检测网络链路故障并定位故障的方法 |
CN101068170A (zh) * | 2007-06-05 | 2007-11-07 | 华为技术有限公司 | 一种报文接收异常的检测方法、系统及其装置 |
CN101697504A (zh) * | 2009-09-08 | 2010-04-21 | 杭州华三通信技术有限公司 | 一种提高数据传输质量的方法及装置 |
CN101699786A (zh) * | 2009-10-15 | 2010-04-28 | 华为技术有限公司 | 一种丢包检测的方法、装置和系统 |
CN105071987A (zh) * | 2015-07-28 | 2015-11-18 | 中国工程物理研究院计算机应用研究所 | 基于流量分析的加密网络路径质量分析方法 |
CN106789430A (zh) * | 2016-12-26 | 2017-05-31 | 深圳市风云实业有限公司 | 一种点到点链路故障检测方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215144B (zh) * | 2011-05-17 | 2016-06-29 | 中兴通讯股份有限公司 | 丢包率的测量方法和系统 |
CN102984018B (zh) * | 2011-09-02 | 2015-08-05 | 华为技术有限公司 | 以太网丢包测试方法、设备及系统 |
US9665331B2 (en) * | 2012-06-25 | 2017-05-30 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for accepting late joiners with screen sharing |
CN103986647A (zh) * | 2014-05-21 | 2014-08-13 | 大唐移动通信设备有限公司 | 报文传输方法及设备 |
CN106713063B (zh) * | 2015-11-18 | 2019-09-06 | 德科仕通信(上海)有限公司 | VoIP网络丢包故障检测的方法 |
US10277493B2 (en) * | 2017-05-12 | 2019-04-30 | Ciena Corporation | Packet throughput and loss ratio measurements of a service function chain |
CN108616334B (zh) * | 2018-05-10 | 2020-09-29 | 南京中兴软件有限责任公司 | 报文传输方法及装置、系统、存储介质、电子装置 |
CN109474642A (zh) * | 2019-01-08 | 2019-03-15 | 郑州云海信息技术有限公司 | 基于以太网udp协议数据传输方法、装置、设备及介质 |
-
2019
- 2019-11-21 CN CN201911150163.7A patent/CN110932934B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1815970A (zh) * | 2005-02-01 | 2006-08-09 | 华为技术有限公司 | 一种检测网络链路故障并定位故障的方法 |
CN101068170A (zh) * | 2007-06-05 | 2007-11-07 | 华为技术有限公司 | 一种报文接收异常的检测方法、系统及其装置 |
CN101697504A (zh) * | 2009-09-08 | 2010-04-21 | 杭州华三通信技术有限公司 | 一种提高数据传输质量的方法及装置 |
CN101699786A (zh) * | 2009-10-15 | 2010-04-28 | 华为技术有限公司 | 一种丢包检测的方法、装置和系统 |
CN105071987A (zh) * | 2015-07-28 | 2015-11-18 | 中国工程物理研究院计算机应用研究所 | 基于流量分析的加密网络路径质量分析方法 |
CN106789430A (zh) * | 2016-12-26 | 2017-05-31 | 深圳市风云实业有限公司 | 一种点到点链路故障检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110932934A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110932934B (zh) | 一种网络丢包的检测方法和装置 | |
US11336574B2 (en) | Segment routing extension headers | |
US10158568B2 (en) | Method and apparatus for service function forwarding in a service domain | |
CN110034971B (zh) | 检测业务链的方法及装置 | |
US20210218704A1 (en) | Method, Device, and System for Obtaining SRV6 Tunnel Information | |
CN111935007B (zh) | 用于网络的压缩路由报头信息 | |
US20190058654A1 (en) | Enhanced error signaling and error handling in a network environment with segment routing | |
US7852774B2 (en) | User datagram protocol traceroute probe extension | |
CN111385199B (zh) | 经压缩的路由报头 | |
US10205656B2 (en) | Method and apparatus for updating manner of processing packet of service flow | |
US20090161576A1 (en) | Methods And Systems For Sending Information To A Zone Included In An Internet Network | |
EP4113919A1 (en) | Method for forwarding message in srv6 service function chain, sff and sf device | |
CN110417657B (zh) | 一种处理组播数据报文的方法及装置 | |
US10880264B1 (en) | Customer-side and provider-side translation of Internet Protocol addresses without pre-shared prefixes | |
CN109039919B (zh) | 转发路径确定方法、装置、系统、计算机设备及存储介质 | |
CN111988266B (zh) | 一种处理报文的方法 | |
CN107580079B (zh) | 一种报文传输方法和装置 | |
US9106257B1 (en) | Checksumming encapsulated network packets | |
US20230035009A1 (en) | Mixing Segments With Different Sizes For Segment Routing | |
CN111585834B (zh) | 一种网络信息的存储方法和装置 | |
US7433963B2 (en) | Methods, systems, and computer program products for using a translation/instruction system to redirect a multiprotocol label switching (MPLS) packet | |
EP4111649A1 (en) | Minimizing differences in segment identifiers for segment routing | |
JP3017217B1 (ja) | IPv4―IPv6変換装置 | |
CN111770049B (zh) | 全局缓存变量及报文信息存储方法及装置 | |
CN107547687B (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 |