一种基于模糊测试的网络配置验证方法与系统

文档序号:36408267发布日期:2023-12-16 17:07阅读:41来源:国知局
一种基于模糊测试的网络配置验证方法与系统

本发明属于通信网络配置验证,尤其涉及一种基于模糊测试的网络配置验证方法与系统。


背景技术:

1、近年来,由于人工配置错误而导致的网络事故频繁发生。为了确保网络按照预期的设计和构想良好稳定地运行,网络工程师通常会在新网络上线之前或业务更改前,对新配置的正确性进行离线验证,确定其准确无误之后再进行部署。然而,在面对复杂多样的配置文件时,人工验证不仅耗时长、成本高,而且容易出错。为此,学术界和工业界针对网络配置验证问题展开了大量研究。

2、现有的研究工作主要从控制平面和数据平面角度研究了转发环路、路由黑洞以及区域流量隔离等可达性相关的网络属性问题检测方法和验证工具。

3、然而,数据平面验证需要在网络配置部署后获取数据平面才能进行验证,导致这类方法只能发现错误而不能避免错误发生。当前基于控制平面的网络配置验证研究开发出了许多先进工具,比如基于抽象图的图论分析的arc、基于抽象路由函数分析的era、基于逻辑表达式满足性求解的minesweeper、基于对称压缩分析的bonsai以及基于增量分析的nuv等,这些工具都在不同阶段、不同方面取得了各自的突破。但是,这些该工具在评估验证覆盖率以及针对往返路由不一致这类隐性问题判别上还存在一定局限。


技术实现思路

1、本发明针对上述技术问题,提出了一种基于模糊测试的网络配置验证方案。

2、本发明第一方面提出一种基于模糊测试的网络配置验证方法。所述方法包括:

3、步骤s1、基于通信网络的网络拓扑数据以及所述通信网络中各个网络设备的配置文件,生成不同协议下的协议路由表,并在所述各个网络设备上加载所述协议路由表,得到所述通信网络的全局路由表;

4、其中,所述全局路由表和所述配置文件中的访问控制列表构成数据平面;

5、步骤s2、遍历所述通信网络产生通信交互行为的潜在设备对,为所述潜在设备对中的网络设备双方分别构造地址集,结合端口信息和协议信息来配置测试数据包;

6、步骤s3、在所述数据平面转发所述测试数据包,记录转发过程中产生的状态数据,并根据所述状态数据对所述通信网络的网络配置进行验证。

7、根据本发明第一方面的方法,所述步骤s1具体包括:

8、将所述各个网络设备的配置文件解析为基于统一数据结构的中间数据,构建所述各个网络设备的模拟设备,利用所述中间数据为各个模拟设备添加属性值,并根据所述网络拓扑数据构建所述各个模拟设备之间的链路;

9、根据不同协议的交互机制构建对应的消息传播模型,所述消息传播模型通过变量传递的方式在所述不同模拟设备之间执行网络模拟行为,获取所述网络模拟行为产生的链路状态信息,并基于所述链路状态信息确定所述协议路由表;

10、在所述各个网络设备上加载所述不同协议下的协议路由表的最优路由,形成所述通信网络的全局路由表;

11、所述协议包括ospf、is-is、ripv2和bgp。

12、根据本发明第一方面的方法,所述步骤s2具体包括:

13、从所述配置文件中提取出所述端口信息和所述协议信息;

14、从所述配置文件中提取出所述网络设备的ip前缀信息,构造所述ip前缀信息和所述网络设备之间的映射关系;

15、遍历所述通信网络产生所述通信交互行为的潜在设备对,包括所述通信网络内部的任意两个通信设备构成的潜在设备对以及所述通信网络内部的通信设备和所述通信网络外部的通信设备构成的潜在设备对;

16、基于所述通信交互行为的方向性,确定所述潜在设备对中的源设备和目的设备,并基于所述映射关系提取所述源设备和所述目的设备的ip前缀信息,以构造源地址集和目的地址集,并为所述测试数据包添加源地址和目的地址;

17、根据所述端口信息和所述协议信息为所述测试数据包添加源端口、目的端口和协议标识,进一步为所述测试数据包设置最大跳转值ttl。

18、根据本发明第一方面的方法,在所述步骤s3中,所述转发过程中产生的状态数据包括:

19、所述测试数据包的ttl值是为0时,停止所述转发过程并记录状态数据ttlzero;否则继续执行转发;

20、所述网络设备入/出接口的访问控制列表禁止所述测试数据包执行转发任务时,停止所述转发过程并记录状态数据acldeny;否则继续执行转发;

21、不存在匹配所述测试数据包的目的地址的转发路径时,停止所述转发过程并记录状态数据dstnotfound;否则继续执行转发;

22、所述测试数据包成功转发到所述目的设备时,停止所述转发过程并记录状态数据matched;否则继续执行转发。

23、根据本发明第一方面的方法,在所述步骤s3中,根据所述状态数据对所述通信网络的网络配置进行验证具体包括:

24、所述状态数据为ttlzero时,判定当前网络配置存在转发环路;

25、所述状态数据为acldeny时,检查所述通信网络的初始设置是否存在访问控制列表的拒绝访问设置,若无,则当前网络配置存在访问控制列表配置错误;

26、所述状态数据为dstnotfound时,检查所述通信网络的初始设置是否存在预先干预的路由策略,若无,则判定当前网络配置存在路由错误;

27、所述状态数据为matched时,交换所述测试数据包的所述源地址和所述目的地址,并进行反向全局转发,若所述反向全局转发返回的状态仍是matched,但两次转发路径不同,则判定当前网络配置存在往返路由不一致错误。

28、根据本发明第一方面的方法,在所述方法中,针对所述通信网络的网络配置的验证过程计算覆盖率,具体包括:

29、网络设备覆盖率,指参与转发的网络设备数与所有网络设备总数之间的比值;

30、通信链路覆盖率,指所述测试数据包经过的通信链路数与所有通信链路总数之间的比值;

31、接口覆盖率,指所述网络设备参与转发的接口数与所述网络设备所有激活的接口总数之间的比值;

32、规则覆盖率,指所述网络设备匹配所述测试数据包的网络规则数与所述网络设备配置的网络规则总数之间的比值;

33、协议覆盖率,指所述网络设备生成匹配的路由条目的路由协议数与所述网络设备所有激活的路由协议总数之间的比值;

34、转发表命中率,指所述网络设备匹配所述测试数据包的路由条目数与所述网络设备的路由转发表的路由条目总数之间的比值。

35、本发明第二方面提出一种基于模糊测试的网络配置验证系统。所述系统包括:

36、第一处理单元,被配置为:基于通信网络的网络拓扑数据以及所述通信网络中各个网络设备的配置文件,生成不同协议下的协议路由表,并在所述各个网络设备上加载所述协议路由表,得到所述通信网络的全局路由表;

37、其中,所述全局路由表和所述配置文件中的访问控制列表构成数据平面;

38、第二处理单元,被配置为:遍历所述通信网络产生通信交互行为的潜在设备对,为所述潜在设备对中的网络设备双方分别构造地址集,结合端口信息和协议信息来配置测试数据包;

39、第三处理单元,被配置为:在所述数据平面转发所述测试数据包,记录转发过程中产生的状态数据,并根据所述状态数据对所述通信网络的网络配置进行验证。

40、根据本发明第二方面的系统,所述第一处理单元具体被配置为:

41、将所述各个网络设备的配置文件解析为基于统一数据结构的中间数据,构建所述各个网络设备的模拟设备,利用所述中间数据为各个模拟设备添加属性值,并根据所述网络拓扑数据构建所述各个模拟设备之间的链路;

42、根据不同协议的交互机制构建对应的消息传播模型,所述消息传播模型通过变量传递的方式在所述不同模拟设备之间执行网络模拟行为,获取所述网络模拟行为产生的链路状态信息,并基于所述链路状态信息确定所述协议路由表;

43、在所述各个网络设备上加载所述不同协议下的协议路由表的最优路由,形成所述通信网络的全局路由表;

44、所述协议包括ospf、is-is、ripv2和bgp。

45、根据本发明第二方面的系统,所述第二处理单元具体被配置为:

46、从所述配置文件中提取出所述端口信息和所述协议信息;

47、从所述配置文件中提取出所述网络设备的ip前缀信息,构造所述ip前缀信息和所述网络设备之间的映射关系;

48、遍历所述通信网络产生所述通信交互行为的潜在设备对,包括所述通信网络内部的任意两个通信设备构成的潜在设备对以及所述通信网络内部的通信设备和所述通信网络外部的通信设备构成的潜在设备对;

49、基于所述通信交互行为的方向性,确定所述潜在设备对中的源设备和目的设备,并基于所述映射关系提取所述源设备和所述目的设备的ip前缀信息,以构造源地址集和目的地址集,并为所述测试数据包添加源地址和目的地址;

50、根据所述端口信息和所述协议信息为所述测试数据包添加源端口、目的端口和协议标识,进一步为所述测试数据包设置最大跳转值ttl。

51、根据本发明第二方面的系统,所述转发过程中产生的状态数据包括:

52、所述测试数据包的ttl值是为0时,停止所述转发过程并记录状态数据ttlzero;否则继续执行转发;

53、所述网络设备入/出接口的访问控制列表禁止所述测试数据包执行转发任务时,停止所述转发过程并记录状态数据acldeny;否则继续执行转发;

54、不存在匹配所述测试数据包的目的地址的转发路径时,停止所述转发过程并记录状态数据dstnotfound;否则继续执行转发;

55、所述测试数据包成功转发到所述目的设备时,停止所述转发过程并记录状态数据matched;否则继续执行转发。

56、根据本发明第二方面的系统,根据所述状态数据对所述通信网络的网络配置进行验证具体包括:

57、所述状态数据为ttlzero时,判定当前网络配置存在转发环路;

58、所述状态数据为acldeny时,检查所述通信网络的初始设置是否存在访问控制列表的拒绝访问设置,若无,则当前网络配置存在访问控制列表配置错误;

59、所述状态数据为dstnotfound时,检查所述通信网络的初始设置是否存在预先干预的路由策略,若无,则判定当前网络配置存在路由错误;

60、所述状态数据为matched时,交换所述测试数据包的所述源地址和所述目的地址,并进行反向全局转发,若所述反向全局转发返回的状态仍是matched,但两次转发路径不同,则判定当前网络配置存在往返路由不一致错误。

61、根据本发明第二方面的系统,针对所述通信网络的网络配置的验证过程计算覆盖率,具体包括:

62、网络设备覆盖率,指参与转发的网络设备数与所有网络设备总数之间的比值;

63、通信链路覆盖率,指所述测试数据包经过的通信链路数与所有通信链路总数之间的比值;

64、接口覆盖率,指所述网络设备参与转发的接口数与所述网络设备所有激活的接口总数之间的比值;

65、规则覆盖率,指所述网络设备匹配所述测试数据包的网络规则数与所述网络设备配置的网络规则总数之间的比值;

66、协议覆盖率,指所述网络设备生成匹配的路由条目的路由协议数与所述网络设备所有激活的路由协议总数之间的比值;

67、转发表命中率,指所述网络设备匹配所述测试数据包的路由条目数与所述网络设备的路由转发表的路由条目总数之间的比值。

68、本发明第三方面公开了一种电子设备。电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本公开第一方面的一种基于模糊测试的网络配置验证方法。

69、本发明第四方面公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本公开第一方面的一种基于模糊测试的网络配置验证方法。

70、综上,本发明从测试数据包生成、全局转发和状态判断记录三个阶段进行算法构造,并给出了网络验证覆盖率的系列评估参数和计算方法;在发现已有可达性相关问题的基础上,进一步检测出往返路由不一致的问题,并量化分析网络配置验证的覆盖率,从而为网络配置验证提供新的方案。

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