协议一致性测试方法和设备与流程

文档序号:12133463阅读:1790来源:国知局
协议一致性测试方法和设备与流程

本发明涉及网络设备的协议一致性测试方法以及设备。



背景技术:

协议一致性测试是检验开放系统互连(OSI)产品的协议实现与OSI协议标准一致性程度的测试。由于OSI协议标准本身具有许多可供选择的功能和需要设定的参数,不同的OSI产品设计者和生产者也可能会对相同的协议标准作出不同的理解和解释,以及一些人为差错,都会使采用相同协议标准的OSI产品有所差异,影响OSI产品之间的互操作。因此,协议一致性测试的目的就在于提高OSI产品之间的互操作性。

目前协议一致性测试自动化的方法主要有基于仪表的测试组件,例如SmartBits和IXIA提供的仪表组件等等。现有的方法依赖于仪表设备,可移植性差,而且设备成本非常高。



技术实现要素:

本发明的目的是提供一种可以用于多种协议的一致性测试的方案。

为此,按照本发明一个方面,一种协议一致性测试方法,包括如下步骤:利用scapy生成测试数据包;将该测试数据包发送至网络设备;利用scapy获取该网络设备的反馈数据包;以及,根据该协议测试数据包和该反馈数据包判断该网络设备是否具有协议一致性。

进一步,该方法还包括:在生成该协议测试包之前获取该网络设备的端口地址。

进一步,该方法在发送该测试数据包之前检查与网络设备的链路是否正常。

其中,该测试数据包为ARP请求包,该反馈数据包为ARP反馈包。进一步,该方法根据ARP协议规范判断所发送的ARP请求包与获取的ARP反馈包是否对应。

按照本发明又一方面,一种协议一致性测试设备,其具有至少一个网络端口,其中,该设备包括:数据包生成单元,其利用scapy生成测试数据包;数据包发送单元,其将该测试数据包通过该至少一个网络端口发送至网路设备;数据包获取单元,其利用scapy获取该网络设备的反馈数据包;一致性判断单元,其根据该协议测试数据包和该反馈数据包判断该网络设备是否具有协议一致性。

进一步,该设备还包括地址获取单元,其获取该网络设备的地址,并发送至该数据包生成单元以升车能够测试数据包。

进一步,该设备还包括链路检查单元,其用以检查该设备与所述网络设备之间的链路是否正常。

其中,该测试数据包为ARP请求包,该反馈数据包为ARP反馈包。进一步,该一致性判断单元根据ARP协议规范判断所发送的ARP请求包与获取的ARP反馈包是否对应。

与现有最好技术相比,本发明的优点在于:

1.物理成本低,扩展性比较好;

2.可以通过scapy生成协议一致性测试中所需要的任意数据包。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对上述特性、技术特征、优点及其实现方式予以进一步说明。

图1为按照本发明一个实施例的协议一致性测试方法的示意图。

图2为按照本发明一个实施例的协议一致性测试设备的示意图。

附图标号说明:

100协议一致性测试设备

110地址获取单元 120链路检查单元 130数据包生成单元

140数据包发送单元 150数据包获取单元 160一致性判断单元

200网络设备

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

如图1所示的,一种协议一致性测试方法,其用以对网络设备进行协议一致性测试。

在该方法中,先获取该网络设备的网络地址。该网络地址可以是IP地址和/或MAC地址。

以及,检查与该网络设备之间的链接是否正常。具体地,检查与该网络设备上所要进行测试的网络端口的链路是否正常。

利用scapy形成测试数据包。该测试数据包根据所要测试的协议规范进行构件。在一个实施例中,可以根据ARP协议,将该测试数据包构建为ARP请求包。

链路检查可以与形成数据包同时进行,或者先后进行。

将该测试数据包发送至该网络设备的待测端口。

然后,利用scapy获取从该网络设备的待测端口发送的反馈数据包。在一个实施例中,该反馈数据包为ARP反馈包。

基于所测试的协议规范,根据该测试数据包和该反馈数据包确定该网络设备是否具有协议一致性。例如,对于ARP协议,其规范中规定了ARP请求包和反馈包的格式和内容,则根据获取的ARP反馈包的内容和格式是否符合ARP协议,并且与该ARP请求包对应。如果ARP反馈包符合ARP协议并且与该ARP请求包对应,则该网络设备的ARP协议具有一致性。

在一个例子中,可以采用正则表达式方法分析该ARP反馈包。正则表达式是一种规范表达式,其原理是用一个字符串表示一个表达式规则,并且验证多个字符串是否符合该规则。由于特定协议的网络数据包具有固定的格式,那么,通过正则表达式描述这种格式是可能的。可以在数据包文中设置特殊的符号或者标记,通过正则表达式表示这些标记。然后在接收到的反馈报文中检查是否存在这些标记,也就是是否与正则表达式匹配。这样就可以判断反馈数据包是否符合协议规范,以及是否与测试数据包对应,从而能够判断是否存在协议一致性。

图2示出对上述方法对应的协议一致性测试设备100,其用于对网络设备200进行一致性测试。该测试设备100包括地址获取单元110,其用于获取该网络设备200的地址,尤其是获取所需要测试的网络端口的地址,例如WAN端口或LAN端口。该测试设备100包括链路检查单元120,用于检查该测试设备100与该网络设备200之间的链路是否正确,尤其是对应的网络端口的链路是否正确。

该测试设备100还包括数据包生成单元130,其根据该网络设备的地址、利用scapy形成测试数据包。在一个例子中,该测试数据包可以是根据ARP协议构建的ARP请求包。

该测试设备100还包括数据包发送单元140,其将所构建的测试数据包发送至该网络设备200,尤其是待测试的端口。

该测试设备100还包括数据包获取单元150,其利用scapy获取该网络设备发送的反馈数据包。在一个例子中,该反馈数据包为ARP反馈包。

该测试设备100还包括一致性判断单元160,其基于所要测试的协议规范、根据该测试数据包和反馈数据包判断该网络设备是否具备协议一致性。具体地,该一致性判断单元160基于协议规则和该测试数据包的内容形成正则表达式,并且判断该反馈数据包是否符合该正则表达式,如果符合则该网络设备具备协议一致性。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1