一种网络性能测试方法

文档序号:7624117阅读:257来源:国知局
专利名称:一种网络性能测试方法
技术领域
本发明涉及网络通讯技术领域,具体涉及一种网络性能测试方法。
背景技术
随着Internet的日益普及,Internet网络中的用户数量呈几何级数地递增。在用户增长地同时,网络上承载的应用也在不断的增加,如视频、语音、数据等等,Intemet网络上的业务流量迅速增长。运营商如何保证网络的正常运行、如何保证重要客户、重要应用的服务质量已成为用户评价运营商的重要因素。
要保证网络的正常运行,就需要了解网络运行的实际状况,就需要对网络的性能进行准确的测试,以获取与网络运行状况有关的网络性能参数如流量数据等,而这些网络性能参数最终将服务于网络工程的各个方面。
对于IPv4网络,存在很多网络测试体系方案,可以将IPv4网络测试的各种方案简单的区分为被动测试和主动测试两种方案。
被动测试是在网络的一些关键点放置一些流量监控仪器,由这些监控仪器对网络中的实际流量进行采样,根据采用结果对网络流量的状态进行分析,并根据分析结果给出网络实际运行的状况。
主动测试是在网络中注入测试流量的数据,根据网络中测试数据的响应结果确定网络状态参数,并确定网络实际运行的状态。
由于IPv6网络刚刚开始部署,很多IPv6网络还属于试验性质的网络,所以,IPv6网络还没有发展出其专用的网络性能测试方法,目前的IPv6网络中的网络性能测试方案仍然继承了IPv4的测试体系,即将IPv4网络中的测试方案稍做修改后应用到IPv6网络中。由于IPv4网络中的被动测试方法需要附加测试监控设备、主动测试方法需要构造专用的测试报文,并使用UDP(用户数据报协议)或TCP(传输控制协议)来承载,使测试网络性能的实现过程复杂。
IPv6网络的网络性能测试方法有待进一步的完善。

发明内容
本发明的目的在于,提供一种网络性能测试方法,通过利用Ipv6测试扩展头,简化了Ipv6网络中的性能测试方法,降低了网络性能测试成本。
为达到上述目的,本发明提供的一种网络性能测试方法,包括a、在IPv6数据报文中设置用于承载测试信息的IPv6测试扩展头;b、根据承载有测试信息的IPv6测试扩展头的IPv6数据报文在网络中的传输进行网络性能测试。
所述步骤a中的IPv6测试扩展头包括下一个扩展头的类型、扩展头长度、根据测试需求设置的承载测试信息的测试消息域。
所述测试消息域包括消息序列号;且所述步骤b具体包括测试节点分别获取其接收的各IPv6数据报文的IPv6测试扩展头中的消息序列号,并根据各消息序列号的连续性确定IPv6数据报文传输链路的丢包和/或乱序。
所述测试消息域包括需要预定节点进行测试操作处理的控制命令信息和承载预定节点测试操作处理信息的消息数据域;且所述步骤b具体包括携带有IPv6测试扩展头的IPv6数据报文传输经过的预定节点根据IPv6测试扩展头中承载的控制命令信息将相应的处理信息承载于消息数据域中;测试节点根据其接收的IPv6数据报文的IPv6测试扩展头的消息数据域中承载的测试操作处理信息确定IPv6数据报文传输链路的链路评价参数。
所述预定节点包括源节点和/或目的节点和/或中间节点。
所述测试消息域包括需要预定节点记录时间戳的控制命令信息和承载预定节点的时间戳信息的消息数据域。
所述链路评价参数包括传输时延和/或抖动。
所述预定节点记录时间戳的控制命令信息为预定节点记录入接口时间戳和/或预定节点记录出接口时间戳。
所述链路评价参数包括预定节点处理IPv6数据报文的处理时延和/或不同节点之间链路的传输时延和/或不同节点之间链路的抖动。
所述消息数据域包括至少一个测试选项。
所述消息数据域还包括一字节填充选项和/或至少两字节填充选项。
所述测试选项包括选项类型、选项长度和选项数据。
所述选项数据包括预定节点地址信息和预定节点的时间戳信息。
测试消息域还包括标识IPv6测试扩展头中承载的测试消息的消息类型。
所述消息类型至少包括单向测试消息、双向测试请求消息和双向测试应答消息中的一个。
所述测试消息域还包括保留字段。
所述IPv6数据报文包括基于IP层的IPv6数据报文、基于IPv6的应用层协议的数据报文;所述网络性能测试包括IP层协议性能测试、应用层协议性能测试。
通过上述技术方案的描述可知,本发明通过在IPv6数据报文中设置承载有测试信息的IPv6测试扩展头,使本发明能够在不设置附加的测试监控设备、不需要构造测试网络性能专用的测试报文的情况下,完成网络性能测试,极大程度的方便了网络性能测试;本发明可以根据具体的测试需求来扩展IPv6测试扩展头的消息体中的测试选项,能够满足各种网络测试需求;通过设置消息序列号,使本发明能够检测出IPv6数据报文传输链路中的丢包、乱序现象;通过设置包括中间节点的各节点记录时间戳控制命令信息,使本发明能够检测出IPv6数据报文传输链路中不同节点之间的传输时延、抖动等链路评价参数,及各节点处理IPv6数据报文的时延;通过设置消息类型,使本发明能够方便的检测出从源节点到目的节点的IPv6数据报文单向传输链路的网络性能,以及从源节点到目的节点再到源节点的IPv6数据报文双向传输链路的网络性能;本发明通过在应用层数据报文前增加IPv6测试扩展头,即可方便实现各高层协议的性能测试;从而通过本发明提供的技术方案实现了简化网络性能测试方法,降低网络性能测试成本的目的。


图1是本发明的单向IPv6协议的性能测试示意图;图2是本发明的单向IPv6协议性能的逐段测试示意图;图3是本发明的双向IPv6协议的性能测试示意图。
具体实施例方式
本发明的核心是在IPv6数据报文中设置用于承载测试信息的IPv6测试扩展头,根据承载有测试信息的IPv6测试扩展头的IPv6数据报文在网络中的传输进行网络性能测试。
下面基于本发明的核心思想对本发明提供的技术方案做进一步的描述。
IPv6协议解决了IPv4协议的很多问题,如地址短缺问题等,同时,为了提高网络设备的处理效率,IPv6协议简化了IP报文头的结构,对于IPv4中附加的报文头信息,IPv6采用了扩展头的方法。目前,RFC2460(请求注解)中定义了如下几种IPv6扩展头逐跳选项头(Hop-by-Hop Options)、选路头(Routing(Type 0))、分片头(Fragment)、目的选项头(Destination Options)、身份验证头(Authentication)、ESP头(Encapsulating Security Payload)。
本发明在IPv6协议中增加一个专用于主动测试网络性能的IPv6测试扩展头,IPv6测试扩展头中需要包含有下一个IPv6扩展头的类型、扩展头长度和承载测试信息的测试消息域。测试消息域中具体承载的测试信息可根据实际的测试需求来设置。
测试消息域中承载的测试信息可以包含根据测试需求设置的消息类型、标志位、消息序列号和消息体等内容。消息体即消息数据域,主要用于承载实际的测试数据,这些测试数据主要用于计算并确定网络性能。消息体可以以选项的形式存在,这样,网络性能的测试信息全部以选项的形式存放在IPv6扩展头的消息体中,这些选项可以称为测试选项。为方便消息体中测试数据的读取,本发明的消息体中还可以包括填充选项。
测试选项可以根据具体的网络性能测试需求进行必要的扩展。
下面以一个具体的例子来说明本发明的IPv6测试扩展头,本发明的IPv6测试扩展头的格式可以如表1所示。
表1 表1中,Payload Proto表示下一个IPv6扩展头的类型,本发明的IPv6测试扩展头的类型值应区别于上述已有的几种IPv6扩展头的类型值。Header Len表示IPv6测试扩展头长度,该长度值不包括IPv6测试扩展头的前8个字节、且可以以8个字节等为单位计算。在以8个字节为单位计算长度值时,本发明需要采用八字节对齐方法进行相应的字节填充。MH Type表示IPv6测试扩展头中的测试消息的消息类型,这里的消息类型可包括单项测试消息、双向测试请求消息、双向测试应答消息等,如MH Type为0表示单项测试消息,MH Type为1表示双向测试消息的测试请求消息,MH Type为2表示双向测试消息的测试应答消息等。消息类型可以根据实际的测试需要做进一步的扩展和定义。D为标志位,表示需要中间节点处理的控制命令信息,如D为0表示该消息仅由目的节点处理,D为1表示该消息需要中间节点处理,需要中间节点处理的控制命令信息可以为中间节点需要将相应的时间戳信息承载于IPv6测试扩展头中。I为标志位,表示源节点、中间节点、目的节点等各节点是否需要记录入接口时间戳,如I为0时,表示源节点、中间节点、目的节点等各节点不记录携带有IPv6测试扩展头的IPv6数据报文的入接口时间戳,I为1时,表示源节点、中间节点、目的节点等各节点记录携带有IPv6测试扩展头的IPv6数据报文的入接口时间戳。O为标志位,表示源节点、中间节点、目的节点等各节点是否需要记录出接口时间戳,O为0时,表示源节点、中间节点、目的节点等各节点不记录携带有IPv6测试扩展头的IPv6数据报文的出接口时间戳,O为1时,表示源节点、中间节点、目的节点等各节点记录携带有IPv6测试扩展头的IPv6数据报文的出接口时间戳。Reserved为保留位。Sequence为消息序列号,主要用于双向测试请求消息和双向测试应答消息的消息匹配,双向测试请求消息中的消息序列号和该请求消息对应的双向测试应答消息中的消息序列号可以相同,这样,可方便的确定双向测试应答消息是哪个双向测试请求消息的响应消息。同时,如果目的节点顺序接收到的IPv6数据报文的IPv6测试扩展头中的消息序列号发生跳跃则认为发生丢包或者乱序。Message Data表示消息体,即消息数据域,可以包含各种测试选项,如入接口时间戳选项、出接口时间戳选项等。当消息类型为单向测试消息时,这里的目的节点为携带有IPv6测试扩展头的IPv6数据报文的目的节点,当消息类型为双向测试应答消息时,这里的目的节点为发送IPv6测试扩展头承载有双向测试请求消息的IPv6数据报文的源节点。
Message Data中的测试选项可以采用TLV(Type-Length-Value,类型-长度-数值)的格式,Type表示选项类型,Length表示选项长度,其数值中不包括Type和Length的长度,Value中承载测试选项的具体数据。Message Data中还可以根据实际承载的测试数据设置Pad1和PadN,即一字节填充选项的TLV、N字节填充选项的TLV。上述N为不小于2的正整数。
一字节填充选项的TLV如表2所示。
表2 表2中,Type为0表示一字节填充选项,一字节填充选项是TLV格式的一个特殊情况,即没有选项长度和选项数值域。该测试选项只用于一个字节的填充,如果需要填充的字节多于1个字节,如2个字节或更多字节,需要使用PadN形式的填充选项。N字节填充选项的TLV如表3所示。
表3中,Type为1表示N字节填充选项,Option Length表示N字节填充选项的实际长度,Option Data表示填充的内容。
Message Data中的测试选项可以包括承载多种不同类型的测试选项,如承载源节点、中间节点、目的节点等接收测试消息时间的入接口时间戳选项,再如承载源节点、中间节点、目的节点等发送测试消息时间的出接口时间戳选项,不同的测试选项其选项类型的取值不同,且测试选项可根据实际的测试需求来扩展设置。
下面以两个具体的例子来说明Message Data中的测试选项。
当测试消息为单项测试消息或双向测试请求消息时,预定节点如目的节点、中间节点可将其从入接口接收携带有IPv6测试选项的IPv6数据报文的时间戳和入接口地址以表4的形式承载于IPv6测试扩展头的Message Data的入接口时间戳选项中。
当测试消息为双向测试响应消息时,预定节点如源节点、中间节点可将其从入接口接收携带有IPv6测试选项的IPv6数据报文的时间戳和入接口地址以表4的形式承载于IPv6测试扩展头的Message Data的入接口时间戳选项中。
表4 表4中,Type为2表示该测试选项为入接口时间戳选项。当源节点、中间节点或目的节点等各节点完成从入接口链路上接收携带有IPv6测试扩展头的IPv6数据报文后,根据IPv6测试扩展头中的节点记录入接口时间戳的控制命令将此时的时间戳以及入接口的IPv6地址承载于IPv6测试扩展头的Message Data的Type为2的入接口时间戳选项中。
当测试消息为单项测试消息或双向测试请求消息时,预定节点如源节点、中间节点可将其从出接口发送携带有IPv6测试选项的IPv6数据报文的时间戳和出接口地址以表5的形式承载于IPv6测试扩展头的Message Data的出接口时间戳选项中。
当测试消息为双向向应测试响应消息时,预定节点如目的节点、中间节点可将其从出接口发送携带有IPv6测试选项的IPv6数据报文的时间戳和出接口地址以表5的形式承载于IPv6测试扩展头的Message Data的出接口时间戳选项中表5
表5中,Type为3表示该测试选项为出接口时间戳选项。当预定节点如源节点、目的节点、中间节点等节点完成从出接口链路上发送携带有IPv6测试扩展头的IPv6数据报文后,根据IPv6测试扩展头中的节点记录出接口时间戳的控制命令将此时的时间戳以及出接口的IPv6地址承载于IPv6测试扩展头的MessageData的Type为3的出接口时间戳选项中。
下面以几种典型的网络性能测试应用对本发明的技术方案进行说明。
例1、单向IPv6协议的性能测试,如附图1所示。
单向IPv6协议的性能测试是评估网络IP层性能的重要方法,性能测试的指标如IP数据包的传输时延、抖动等是衡量网络运行状况的重要指标。在单向IPv6协议的性能测试过程中,测试节点为目的节点。
图1中,源节点发送携带有IPv6测试扩展头的IPv6数据报文,该IPv6测试扩展头中的消息类型应为单向测试消息,标志位D可设置为0,表示该测试消息仅由目的节点处理,标志位I可设置为1,表示目的节点记录入接口时间戳,标志位O可设置为1,表示源节点记录出接口时间戳。
源节点应在其发送的IPv6数据报文的IPv6测试扩展头中添加该数据报文的出接口时间戳t1,如将出接口时间戳t1承载于IPv6测试扩展头的Message Data的出接口时间戳选项中。
源节点与目的节点之间的各中间节点均不对该测试消息进行处理。
目的节点在接收到携带有IPv6测试扩展头的IPv6数据报文时,应记录其接收该数据报文的接收时间戳t2。
源节点可采用上述方法持续发送携带有IPv6测试扩展头的IPv6数据报文,这样,目的节点可获得多个不同的t2和t1,目的节点可根据多个t2和t1直接计算出从源节点到目的节点的IPv6数据报文传输链路的时延和抖动。
在上述单向IPv6协议的性能测试过程中,源节点在发送携带有IPv6测试扩展头的IPv6数据报文时,可按顺序为各IPv6数据报文连续分配消息序列号,如各IPv6数据报文的消息序列号递增,这样,当目的节点检测到其顺序接收的IPv6数据报文的消息序列号发生跳跃或乱序等现象时,则说明网络中出现丢包或数据报文乱序现象。
例2、单向IPv6协议性能的逐段测试,如附图2所示。
图2中,测试节点为目的节点。源节点发送携带有IPv6测试扩展头的IPv6数据报文,该IPv6测试扩展头中的消息类型应为单向测试消息,IPv6测试扩展头中的标志位可要求该IPv6数据报文经过的每个节点均记录入接口时间戳、出接口时间戳,对于源节点只记录IPv6数据报文出接口时间戳,对于目的节点只记录IPv6数据报文入接口时间戳。如标志位D可设置为1,表示该测试消息需要中间节点处理,标志位I可设置为1,表示目的节点、中间节点记录入接口时间戳,即目的节点、中间节点需要将其接收IPv6数据报文的接收时间戳承载于IPv6测试扩展头的入接口时间戳选项中,标志位O可设置为1,表示源节点和中间节点记录出接口时间戳,即源节点和中间节点需要将其发送IPv6数据报文的发送时间戳承载于IPv6测试扩展头的出接口时间戳选项中。
当携带有IPv6测试扩展头的IPv6数据报文从源节点传输至目的节点时,目的节点接收的IPv6数据报文的IPv6测试扩展头中会承载有源节点的发送时间戳、各中间节点的入接口时间戳、出接口时间戳,这样,目的节点可以计算出IPv6数据报文经过的网络中每段链路的传输时延和抖动的情况,而且,还能够根据各中间节点记录的入接口时间戳和出接口时间戳,确定每个中间节点对IPv6数据报文的处理时延。
例3、双向IPv6协议性能的测试,如附图3所示。
图3中,对于双向IPv6协议性能的测试可以通过双向测试消息的测试请求消息和双向测试消息的测试应答消息来实现。在双向IPv6协议的性能测试过程中,测试节点为源节点。
源节点发送携带有IPv6测试扩展头的IPv6数据报文,该IPv6测试扩展头中的消息类型MH Type应为双向测试请求消息,标志位D可设置为0,表示该测试消息仅由目的节点处理,标志位I可设置为1,表示源节点、目的节点记录入接口时间戳,标志位O可设置为1,表示源节点、目的节点记录出接口时间戳。
源节点在发送双向测试请求消息时,应将出接口时间戳记录在IPv6数据报文的IPv6测试扩展头的出接口时间戳选项,当该IPv6数据报文经过IPv6网络到达目的节点时,目的节点只在双向测试请求消息的入接口时间戳选项中记录其接收IPv6数据报文的入接口时间戳,然后,向源节点返回双向测试应答消息,并将双向测试请求消息中的时间戳选项复制到双向测试应答消息的时间戳选项,并在双向测试应答消息的出接口时间戳选项中添加双向测试应答消息的出接口时间戳。
双向测试应答消息返回源节点后,源节点只将双向测试应答消息的入接口时间戳记录在入接口时间戳选项中。源节点可以根据IPv6测试扩展头中承载的其发送双向测试消息的测试请求消息的出接口时间戳、目的节点接收双向测试消息的测试请求消息的入接口时间戳、目的节点发送双向测试消息的测试应答消息的出接口时间戳、源节点接收双向测试消息的测试应答消息的入接口时间戳来确定从源节点至目的节点再到源节点链路的传输时延、抖动等。
在上述双向测试请求消息、双向测试应答消息中如果将D标志位设置为需要中间节点处理,则IPv6测试扩展头的入接口时间戳选项、出接口时间戳选项中还承载有各中间节点记录的双向测试请求消息和双向测试应答消息的出接口时间戳、入接口时间戳,根据这些时间戳信息可计算出不同中间节点之间的往返链路的传输时延、抖动及各中间节点、目的节点处理IPv6数据报文的延迟时间。
例4、应用层协议性能测试。
采用IPv6测试扩展头,不仅仅可以方便的测试IP层协议的性能测试,还可以测试TCP、UDP、FTP、DHCP、HTTP等等应用层协议的性能。
本发明可以在应用层协议的数据报文前增加IPv6测试扩展头,使应用层协议的数据报文成为基于IPv6的应用层协议的数据报文,通过基于IPv6的应用层协议的数据报文在网络中的传输,即可根据IPv6测试扩展头中承载的测试选项实现对应用层协议的性能测试。
以上只是利用IPv6测试扩展头实现网络性能测试的几种具体的应用场景,通过根据实际的网络性能测试需求来设置IPv6测试扩展头,可以使IPv6测试扩展头应用于各种网络性能测试场景,在此不再详细描述。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。
权利要求
1.一种网络性能测试方法,其特征在于,包括a、在IPv6数据报文中设置用于承载测试信息的IPv6测试扩展头;b、根据承载有测试信息的IPv6测试扩展头的IPv6数据报文在网络中的传输进行网络性能测试。
2.如权利要求1所述的一种网络性能测试方法,其特征在于,所述步骤a中的IPv6测试扩展头包括下一个扩展头的类型、扩展头长度、根据测试需求设置的承载测试信息的测试消息域。
3.如权利要求2所述的一种网络性能测试方法,其特征在于,所述测试消息域包括消息序列号;且所述步骤b具体包括测试节点分别获取其接收的各IPv6数据报文的IPv6测试扩展头中的消息序列号,并根据各消息序列号的连续性确定IPv6数据报文传输链路的丢包和/或乱序。
4.如权利要求2所述的一种网络性能测试方法,其特征在于,所述测试消息域包括需要预定节点进行测试操作处理的控制命令信息和承载预定节点测试操作处理信息的消息数据域;且所述步骤b具体包括携带有IPv6测试扩展头的IPv6数据报文传输经过的预定节点根据IPv6测试扩展头中承载的控制命令信息将相应的处理信息承载于消息数据域中;测试节点根据其接收的IPv6数据报文的IPv6测试扩展头的消息数据域中承载的测试操作处理信息确定IPv6数据报文传输链路的链路评价参数。
5.如权利要求4所述的一种网络性能测试方法,其特征在于,所述预定节点包括源节点和/或目的节点和/或中间节点。
6.如权利要求4所述的一种网络性能测试方法,其特征在于,所述测试消息域包括需要预定节点记录时间戳的控制命令信息和承载预定节点的时间戳信息的消息数据域。
7.如权利要求6所述的一种网络性能测试方法,其特征在于,所述链路评价参数包括传输时延和/或抖动。
8.如权利要求6所述的一种网络性能测试方法,其特征在于,所述预定节点记录时间戳的控制命令信息为预定节点记录入接口时间戳和/或预定节点记录出接口时间戳。
9.如权利要求8所述的一种网络性能测试方法,其特征在于,所述链路评价参数包括预定节点处理IPv6数据报文的处理时延和/或不同节点之间链路的传输时延和/或不同节点之间链路的抖动。
10.如权利要求4至9中任一权利要求所述的一种网络性能测试方法,其特征在于,所述消息数据域包括至少一个测试选项。
11.如权利要求10所述的一种网络性能测试方法,其特征在于,所述消息数据域还包括一字节填充选项和/或至少两字节填充选项。
12.如权利要求10所述的一种网络性能测试方法,其特征在于,所述测试选项包括选项类型、选项长度和选项数据。
13.如权利要求12所述的一种网络性能测试方法,其特征在于,所述选项数据包括预定节点地址信息和预定节点的时间戳信息。
14.如权利要求2至9中任一权利要求所述的一种网络性能测试方法,其特征在于,所述测试消息域还包括标识IPv6测试扩展头中承载的测试消息的消息类型。
15.如权利要求14所述的一种网络性能测试方法,其特征在于,所述消息类型至少包括单向测试消息、双向测试请求消息和双向测试应答消息中的一个。
16.如权利要求2至9中任一权利要求所述的一种网络性能测试方法,其特征在于,所述测试消息域还包括保留字段。
17.如权利要求1至9中任一权利要求所述的一种网络性能测试方法,其特征在于,所述IPv6数据报文包括基于IP层的IPv6数据报文、基于IPv6的应用层协议的数据报文;所述网络性能测试包括IP层协议性能测试、应用层协议性能测试。
全文摘要
本发明提供一种网络性能测试方法,其核心为在IPv6数据报文中设置用于承载测试信息的IPv6测试扩展头,根据承载有测试信息的IPv6测试扩展头的IPv6数据报文在网络中的传输进行网络性能测试。本发明能够在不设置附加的测试监控设备、不需要构造测试网络性能专用的测试报文的情况下,完成网络性能测试,极大的方便了网络性能测试,本发明可以满足各种网络测试需求;从而实现了简化网络性能测试方法,降低网络性能测试成本的目的。
文档编号H04L29/06GK1937541SQ20051010337
公开日2007年3月28日 申请日期2005年9月20日 优先权日2005年9月20日
发明者张健, 陈洪飞 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1