一种用于测试丢包的方法、测试设备和系统的制作方法_2

文档序号:9202552阅读:来源:国知局
测报文可以是周期性发送,也可以是非周期性发送,每个周期内发送探测报文数目可以固定,也可以变化。在一个测试周期的探测报文发送完毕后,可以等待一段时间再发送下一个周期的探测报文。例如,持续发送10秒后停止发送,5分钟后再发送下一串探测报文。当然,这里只是用于举例,不应理解为对本发明的限制。
[0054]接收单元32,配置于接收某设备返回的探测报文响应,该响应携带该设备收到的探测报文的数量以及时间段标识。其中,该设备为从源端到宿端的传输链路上途经的任一设备。
[0055]判断单元33,配置于判断在该时间段内发送的探测报文数量与该设备收到的探测报文的数量是否相同,以确定是否丢包。
[0056]其中,若发送的探测报文数量与该设备收到的探测报文的数量相同,则未丢包;否则,即,该设备收到的探测报文的数量小于发送的探测报文数量,则在该设备的转发过程中发生丢包,和/或在该设备与下一设备之间的链路上发生丢包。由此,可以根据丢包情况进一步定位故障。
[0057]图4是根据本公开的一方面的探测报文格式的示例图。
[0058]本发明所述丢包测试方式可适用于多种分组数据网,如IP网、以太网、ATM网络、MPLS网络。在此不——例举。
[0059]现以IP网络的丢包测试为例,对探测报文的格式加以描述。IP网络探测报文为IP封装,可以为纯 IP 封装、ICMP (Internet Control Message Protocol, Internet 控制报文协议)封装或TCP/UDP封装。为了便于设备识别探测报文,需对探测报文的格式进行规定。探测报文若为IP封装,需为探测报文定义一个新的协议类型。下面以ICMP封装为例,对探测报文的格式进行说明。本领域技术人员应该可以理解,这里只是用于举例说明,不应理解为对本发明的限制。本领域技术人员可以据此进行相应的变型和修改,所进行的变型和修改都覆盖在本发明的保护范围内。
[0060]探测报文为ICMP封装,新增携带时间段标识的字段。例如,测试周期编号PID以及持续发送时间DT。
[0061]测试周期编号PID用于标识测试设备在某个特定周期发送的探测报文;持续发送时间DT用于标识测试设备在某个特定周期发送探测报文的持续时间。周期编号PID可以按周期递增或随机的方式生成,同一个周期内的所有探测报文携带的周期编号PID必须相同。时间段标识还例如是测试的开始时间和结束时间、或者其他用于表示时间段的方式。
[0062]重新定义了 ICMP报文头原有的类型字段和代码字段的取值,以区别于现有已存在的协议类型,用于设备识别探测报文。
[0063]在ICMP报文的类型字段携带丢包测试标志,以表明报文用于进行测试;
[0064]在ICMP报文的代码字段携带探测报文标志,以表明发送的是探测报文;或者携带探测报文响应标志,以表明发送的是探测报文响应。
[0065]此外,在代码字段还携带已收到探测报文响应的确认标志,以表明收到探测报文响应。其中,测试设备若收到设备的探测报文响应,向该设备回复确认消息,并计算途经每一跳的丢包情况。若未收到探测报文响应,则不发送该确认消息。测试设备向途经的每一跳设备回复确认消息的消息格式与探测报文的消息格式相同。
[0066]途经的每一跳设备在设定的时间间隔内若未收到测试设备的确认消息,则重复发送探测报文响应,发送次数可设置为多次,例如3次;若收到确认消息,应停止发送探测报文响应。通过确认机制,以确保测试设备收到探测报文响应,并由此测试丢包情况以及故障情况。
[0067]如图4所示的探测报文格式,在ICMP报文的首部,定义了类型字段置值“I”为“丢包测试”;
[0068]定义了代码字段,分别设置值和“2”。其中,代码“O”表示测试设备发送探测报文,代码“ I ”表示设备(例如路由器或交换机)向测试设备上报探测报文响应,代码“ 2 ”表示测试设备向设备回送的确认消息。
[0069]图5是根据本公开的一方面的探测报文响应格式的示例图。
[0070]与探测报文格式不同的是,在ICMP报文的首部,定义的代码字段值表明该IP报文是探测报文响应,在ICMP报文的数据部分还定义了接收的探测报文数量字段,设备统计一个测试周期内接收到的探测报文数量并填入该字段。
[0071]探测报文响应携带与探测报文相应的时间段标识,例如,探测报文的时间段标识是测试的开始时间和结束时间,则探测报文响应也携带统计接收到的探测报文的开始时间和结束时间;又例如,探测报文的时间段标识是测试周期编号PID以及持续发送时间DT,则探测报文响应携带测试周期编号PID,通过PID区分不同的测试时间段。
[0072]接收到探测报文的设备根据时间段标识所标识的时间配置定时器,并根据定时器计时来上报探测报文响应,其中,定时器的计时时长大于时间段标识的时长。途经的每一跳设备可以根据接收到各个测试周期的第一个探测报文中的时间段标识来配置定时器,并且,根据第一个探测报文中时间段标识,例如PID参数确定后续的探测报文属于哪一个测试周期。由于探测报文在IP网络传送时存在不确定的时延和抖动特性,为了保证途经的设备能完整接收一个测试周期内的所有探测报文,设备为每个测试周期设置的定时器的计时时长大于时间段标识的时长。例如,大于持续发送时间DT,小于发送周期+发送间隔时间。当配置的定时器计时到,立即向测试设备上报探测报文响应,该响应携带本周期内接收到的探测报文数量及PID参数,PID需与接收的探测报文中PID —致。
[0073]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明所述定位网络丢包测试方法做进一步详细说明。
[0074]测试设备向宿端周期性发送丢包探测报文,每个探测报文中携带周期编号PID及探测报文持续发送时间DT,周期编号PID可以按周期递增或随机的方式生成,同一个周期内的所有探测报文携带的周期编号PID必须相同。每个测试周期发送的探测报文数量越多,丢包率测试结果就越精确。假设一个测试周期发送了 1000个探测报文,丢包率测试结果可精确到10-3。又假设随机生成的周期编号PID=12345,探测报文持续发送时间DT=1秒,测试周期间隔为5分钟。
[0075]途经的每一跳设备根据接收到的报文中的协议类型字段值为“探测报文”来识别每个探测报文,并根据解析到的各个周期第一个探测报文中的持续发送时间DT字段配置探测报文持续发送定时器。考虑到探测报文在IP网络传送时存在时延和抖动的影响,则网络设备为每个测试周期设置的定时器要稍大于DT字段值(如11或12秒)。并且,根据解析到的第一个探测报文中PID字段值=12345确定后续的探测报文也属于该测试周期,并对所有PID=12345的探测报文进行统计。当配置的定时器计时到,立即向测试设备返回探测报文响应。
[0076]测试设备在收到每跳设备的探测报文响应后向该设备回复确认消息,并计算途经每一跳的丢包情况。途径的每一跳网络设备在设定的时间间隔(假设为3秒)若未收到测试设备的确认消息,应重复发送探测报文响应,发送次数可设置为3次;若收到探测报文响应,应停止发送。
[0077]假设从源端到宿端有8跳设备,其中,第1、2跳上报的接收探测报文数目为1000个,第3、4跳上报的接收探测报文数目为990个,第5、6跳上报的接收探测报文数目为980个,第7、8跳上报的接收探测报文数目为970个。因为第I跳和第2跳全部收到测试设备发送的1000个探测报文,第3跳和第4跳只收到990个探测报文,说明丢包可能发送在第2跳转发时或第2跳与第3跳的链路间。类似地,第4跳设备或第4跳与第5跳之间的链路丢包为10个,第6跳设备或第6跳与第7跳之间的链路丢包为10个。宿端向测试设备上报了 970报文,测试设备据此可以计算从源端到宿端的丢包率:30/1000=3/100。
[0078]图6是根据本公开的一方面的一种用于测试丢包的方法流程图。
[0079]在步骤61,发送探测报文,在该探测报文中携带时间段标识
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1