一种源NAT功能测试的方法及装置与流程

文档序号:14726764发布日期:2018-06-19 10:57阅读:265来源:国知局

本申请涉及计算机互联网领域,尤其涉及一种源NAT功能测试的方法及装置。



背景技术:

NAT(Network Address Translation,网络地址转换)分为基于源IP地址的NAT和基于目的IP地址的NAT,简称源NAT和目的NAT。基于源IP地址的NAT是指对发起会话连接的IP报文头中的源IP地址进行转换,通过将网络内部的私网地址转换为网络外部的公网地址,来实现网络内部用户访问网络外部的资源。基于目的IP地址的NAT是指对发起会话连接的IP报文头中的目的IP地址进行转换。其中基于源IP地址的NAT作为用户经常用到的基本功能,需要对源NAT功能进行测试,测试根据源NAT策略进行源NAT时是否能够转换成功。但是由于由源IP、目的IP、端口、地址池中的公网IP等参数所组成的源NAT策略,其组合形式较多,不同用户用到的源NAT策略也各不相同。测试人员人工进行测试时容易遗漏某种参数组合,而且也无法达到模拟用户现场的情况。



技术实现要素:

有鉴于此,本申请提供一种源NAT功能测试的方法及装置。

具体地,本申请是通过如下技术方案实现的:

一种源NAT功能测试的方法,所述方法包括:

在准备阶段:配置可用的源NAT策略参数,将所配置的可用的源NAT策略参数存入数据库;

从数据库中分别获取源NAT策略参数组成源NAT策略写入源NAT策略数据库中,将所述源NAT策略下发到NAT设备;

在处理阶段:

调用测试设备,以使其从源NAT策略数据库中获取源NAT策略,构造相应的验证报文,并将所述验证报文下发到NAT设备;

从测试设备接收的所述NAT设备发出的转换报文中提取源IP;

将所提取的源IP与所述源NAT策略包含的公网IP进行比较。

一种源NAT功能测试的装置,所述装置包括:

参数配置单元,用于在准备阶段配置可用的源NAT策略参数;

参数保存单元,用于在准备阶段将所配置的可用的源NAT策略参数存入数据库;

策略保存单元,用于在准备阶段从数据库中分别获取源NAT策略参数组成源NAT策略写入源NAT策略数据库中;

策略下发单元,用于在准备阶段将所述源NAT策略下发到NAT设备;

调用单元,用于在处理阶段调用测试设备,以使其从源NAT策略数据库中获取源NAT策略,构造相应的验证报文,并将所述验证报文下发到NAT设备;

源IP提取单元,用于在处理阶段从测试设备接收的所述NAT设备发出的转换报文中提取源IP;

比较单元,用于在处理阶段将所提取的源IP与所述源NAT策略包含的公网IP进行比较。

通过本申请的技术方案,可以对源NAT参数进行全面的组合测试,相应的由源NAT策略参数组成的源NAT策略,可以达到满规格的测试。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是本申请一示例性实施例示出的一种应用场景示意图;

图2是本申请一示例性实施例示出的一种源IP数据库存源IP的示意图;

图3是本申请一示例性实施例示出的源NAT功能测试的方法的一种实施流程图;

图4是本申请一示例性实施例示出的源NAT功能测试的方法的一种优选实施流程图;

图5是本申请一示例性实施例示出的一种源NAT功能测试的装置的一种结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

首先对本申请实施例提供的一种源NAT功能测试的方法进行说明,该方法可以包括以下步骤:

在准备阶段:配置可用的源NAT策略参数,将所配置的可用的源NAT策略参数存入数据库;

从数据库中分别获取源NAT策略参数组成源NAT策略写入源NAT策略数据库中,将所述源NAT策略下发到NAT设备;

在处理阶段:

调用测试设备,以使其从源NAT策略数据库中获取源NAT策略,构造相应的验证报文,并将所述验证报文下发到NAT设备;

从测试设备接收的所述NAT设备发出的转换报文中提取源IP;

将所提取的源IP与所述源NAT策略包含的公网IP进行比较。

其中在背景技术中提到,由于源NAT策略包含源IP、目的IP、端口、地址池中的公网IP等参数,其组合形式较多,而且不同用户用到的源NAT策略也各不相同,测试人员人工进行测试时容易遗漏某种参数组合,而且也无法达到模拟用户现场的情况。基于上述问题本申请提供了一种技术方案,如图1所示,可以自动对源NAT功能进行测试。可以根据指定的参数范围以及指定的源NAT策略,从指定的参数范围内随机获取参数组成源NAT策略,调用测试设备根据所组成的源NAT策略构造响应报文,并将响应报文依次下发到NAT设备,从测试设备接收的所述NAT设备发出的转换报文中提取源IP,将所提取的源IP与所述源NAT策略包含的公网IP进行比较,根据所提取的源IP与所述源NAT策略包含的公网IP进行比较的比较结果,对源NAT结果进行输出显示。

具体的在对源NAT功能测试的过程中,本申请分为准备阶段和处理阶段。在准备阶段,配置可用的源NAT策略参数,即配置可用的源IP、目的IP、端口以及公网IP,其中公网IP在地址池中,将所配置的可用的源NAT策略参数存入数据库中;从数据库中分别随机获取NAT策略参数组成源NAT策略写入源NAT策略数据库中,将所述源NAT策略下发到NAT设备,以使NAT设备根据此源NAT策略对报文进行源IP网络地址转换;在处理阶段,调用测试设备,以使其从源NAT策略数据库中获取源NAT策略,并根据获取的源NAT策略构造相应的验证报文,并将所述验证报文下发到NAT设备;从测试设备接收的所述NAT设备发出的转换报文中提取源IP;将所提取的源IP与所述源NAT策略包含的公网IP进行比较,根据所提取的源IP与所述源NAT策略包含的公网IP进行比较的比较结果,对源NAT结果进行输出显示。为了对本申请进一步的说明,提供下列实施例对本申请进行说明:

本申请一种源NAT功能测试的方法,包括准备阶段和处理阶段两部分,下面分别对准备阶段和处理阶段进行说明,其中准备阶段具体包括以下步骤:

在准备阶段:配置可用的源NAT策略参数,将所配置的可用的源NAT策略参数存入数据库;

在一实施例中,配置可用的源NAT策略参数,即配置可用的源IP、目的IP、端口和公网IP,例如配置1000个源IP地址,10个目的IP地址,端口3个,5个公网IP地址,并为每个源NAT策略参数创建相应的数据库,例如源IP数据库,目的IP数据库,端口数据库,公网IP数据库,将上述所配置的1000个源IP地址,10个目的IP地址,端口3个,5个公网IP地址分别存入相应的数据库中。

从数据库中分别获取源NAT策略参数组成源NAT策略写入源NAT策略数据库中,将所述源NAT策略下发到NAT设备;

在一实施例中,从每个数据库中分别随机获取源NAT策略参数,组成源NAT策略,写入源NAT策略数据库中,并将所述源NAT策略下发到NAT设备。其中对于每个数据库,如上述所说的源IP数据库,目的IP数据库,端口数据库,公网IP数据库,其中每个源NAT策略参数在写入到对应的数据库中,在数据库中会对每个存入数据库中的源NAT策略参数进行编码排序,例如上述所说的源IP数据库,在所述1000个源IP写入源IP数据库时,在源IP数据库中对其进行编码排序,对于每个源IP地址都有对应的一个索引值,如图2所示,第1个源IP地址在源IP数据库中的索引值为1,第2个源IP地址在源IP数据库中的索引值为2,以此类推,……,第1000个源IP地址在源IP数据库中的索引值为1000。从这1000个索引值中随机获取一个索引值,例如获取到第2个索引值,则将索引值2对应的源IP地址加入源NAT策略中,上述所说的目的IP数据库,端口数据库,公网IP数据库,其获取目的IP、端口、公网IP的方式如获取源IP一样,在获取到源IP、目的IP、端口、公网IP时,将其组成源NAT策略写入源NAT策略数据库中。其中对于源NAT策略,其数目可以自由设置,例如上述所说的1000个源IP地址,10个目的IP地址,端口3个,5个公网IP地址,根据这些源NAT策略参数可以自由组合,其最终组合的源NAT策略数目可以设置成1000,也可以默认不设置,在默认情况下,将会穷举上述可能出现的源NAT策略。在通过上述源NAT策略参数组成源NAT策略后,将所组成的源NAT策略下发到NAT设备。

此外对于上述所建立的数据库,例如源IP数据库,目的IP数据库,端口数据库,公网IP数据库,对其数据库属性默认为Any值,可以任意获取其中任意一个源NAT策略参数,不作限定。对于公网IP数据库默认添加出接口地址,所述出接口地址也为公网IP地址。一般地出接口地址指的是与服务运营商直接相连的公网IP地址。对各个源NAT参数数据库和源NAT策略数据库设置保存路径,对于测试报告也相应的设置保存路径。

其中本申请可以使用串口工具与测试设备、NAT设备进行通信,在对NAT功能测试之前,需要确定串口工具的地址信息,测试设备的地址信息,并相应的进行与串口工具、测试设备进行互通测试。

如图3所示,为本申请源NAT功能测试的方法的处理阶段的一种实施流程图,其具体包括以下步骤:

在处理阶段:

S101,调用测试设备,以使其从源NAT策略数据库中获取源NAT策略,构造相应的验证报文,并将所述验证报文下发到NAT设备;

在一实施例中,调用测试设备,使测试设备从源NAT策略数据库中获取源NAT策略,提取源NAT策略中包含的源NAT策略参数,如上述所说的包含的源IP、目的IP、端口、公网IP,根据这些源NAT策略参数构造相应的验证报文,并将所述验证报文下发给NAT设备。例如调用测试设备,使其获取源NAT策略,对于源NAT策略数据库来说,其中包含了多条源NAT策略,分别获取每条源NAT策略,根据其中包含的源NAT策略参数,例如源IP为192.168.1.110,目的IP为192.165.1.110,端口为80,公网IP为192.165.1.10,根据这些源NAT策略参数构造验证报文,并相应的为构造的验证报文进行记录,其形式可以为上述所说的源NAT策略参数+验证报文1。对于源NAT策略数据库中出现的源IP和目的IP为某一段范围,或者如上述所说的源IP为1000个,目的IP为10个,则相应的需要构造10000个报文,其形式为构造的报文个数=源IP个数*目的IP个数,其目的是为了考虑参数的所有组合情况。

S102,从测试设备接收的所述NAT设备发出的转换报文中提取源IP;

在一实施例中,在将所述构造的验证报文下发到NAT设备后,NAT设备接收到验证报文,根据预先下发的源NAT策略,将所述验证报文中的源IP地址转换为公网IP地址,例如上述所说的,根据源IP地址为192.168.1.110、目的IP为192.165.1.110、端口为80、公网IP为192.165.1.10的源NAT策略构造验证报文,相应的在NAT设备端,根据所述源NAT策略将验证报文的源IP转换为公网IP,即将源IP192.168.1.110转换为公网IP192.165.1.10,并将经过转换后的验证报文发给测试设备。在测试设备接收到NAT设备发出的经过转换的验证报文后,从所述经过转换的验证报文中提取源IP。即提取公网IP192.165.1.10。

S103,将所提取的源IP与所述源NAT策略包含的公网IP进行比较。

在一实施例中,在提取到上述所说的经过转换的验证报文中的源IP,即公网IP后,与所述源NAT策略包含的公网IP进行比较,比较所提取的源IP与所述源NAT策略包含的公网IP是否相同。例如上述所说的所提取的源IP,即公网IP192.165.1.10,与原先构造验证报文的源NAT策略中的公网IP192.165.1.10是否相同。

如图4所示,为本申请的另一种实施流程图,其具体可以包括以下步骤:

S104,当所提取的源IP与所述源NAT策略包含的公网IP相同时,确定源NAT成功;

在一实施例中,当提取的源IP与所述源NAT策略包含的公网IP相同时,确定此次源IP网络地址转换成功。例如上述所说的所提取的源IP为192.165.1.10,源NAT策略所包含的公网IP为192.165.1.10,两者相同,则说明此次源NAT成功。

S105,当所提取的源IP与所述源NAT策略包含的公网IP不相同时,确定源NAT失败。

在一实施例中,当所提取的源IP与所述源NAT策略包含的公网IP不相同时,确定源NAT失败,在NAT设备端,因为某些原因导致源NAT策略失效,因此在对源IP进行转换时,导致转换失败,相应的在提取源IP时,源IP也就与源NAT策略中包含的公网IP不相同了,源NAT自然而然的就失败了。

S106,根据所提取的源IP与所述源NAT策略包含的公网IP进行比较的比较结果,对源NAT结果进行输出显示。

在一实施例中,根据预先设置的测试报告保存路径,在所提取的源IP与所述源NAT策略包含的公网IP进行比较的比较完之后,根据比较结果对源NAT结果进行输出显示。例如上说所述的,若所提取的源IP与源NAT策略包含的公网IP相同,则输出源NAT成功,反之输出源NAT失败。

相应的在对源NAT功能测试的过程中,若某个环节出现差错,则相应的给出告警提示,并对出错的某个环节所进行的操作步骤进行记录。

通过以上步骤,可以对源NAT参数进行全面的组合测试,相应的由源NAT策略参数组成的源NAT策略,可以达到满规格的测试。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

与前述一种源NAT功能测试的方法的实施例相对应,本申请还提供了一种源NAT功能测试的装置的实施例,如图5所示,包括参数配置单元200、参数保存单元210、策略保存单元220、策略下发单元230、调用单元240、源IP提取单元250、比较单元260。

所述参数配置单元200,用于在准备阶段配置可用的源NAT策略参数;

所述参数保存单元210,用于在准备阶段将所配置的可用的源NAT策略参数存入数据库;

所述策略保存单元220,用于在准备阶段从数据库中分别获取源NAT策略参数组成源NAT策略写入源NAT策略数据库中;

所述策略下发单元230,用于在准备阶段将所述源NAT策略下发到NAT设备;

所述调用单元240,用于在处理阶段调用测试设备,以使其从源NAT策略数据库中获取源NAT策略,构造相应的验证报文,并将所述验证报文下发到NAT设备;

所述源IP提取单元250,用于在处理阶段从测试设备接收的所述NAT设备发出的转换报文中提取源IP;

所述比较单元260,用于在处理阶段将所提取的源IP与所述源NAT策略包含的公网IP进行比较。

在本申请的一种具体实施方式中,所述策略保存单元210具体用于:

在数据库中为所配置的每个源NAT策略参数配置唯一的索引值,从所述索引值中随机获取索引值,将获取的索引值对应的源NAT策略参数组成源NAT策略填入源NAT策略数据库中。

在本申请的一种具体实施方式中,所述装置还包括:第一确定单元270、第二确定单元280、输出单元290

所述第一确定单元270,用于当所提取的源IP与所述源NAT策略包含的公网IP相同时,确定源NAT成功;

所述第二确定单元280,用于当所提取的源IP与所述源NAT策略包含的公网IP不相同时,确定源NAT失败;

所述输出单元280,用于根据所提取的源IP与所述源NAT策略包含的公网IP进行比较的比较结果,对源NAT结果进行输出显示。

上述系统中各个单元的作用实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本发明可以在由计算机执行的计算值可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

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

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