一种确定ip安全虚拟专用网隧道数量的方法和装置的制作方法

文档序号:7751391阅读:116来源:国知局
专利名称:一种确定ip安全虚拟专用网隧道数量的方法和装置的制作方法
技术领域
本发明涉及网络通信技术领域,特别涉及一种确定IP安全虚拟专用网隧道数量的方法和装置。
背景技术
IP安全(IPsec)是IETF制定的三层隧道加密协议,为hternet上的数据传输提供了高质量的安全保证,可以作用于各种VPN。安全联盟(SA)是安全隧道两端的II^sec设备对安全要素的约定,包括安全协议、封装模式、加密算法、共享密钥以及密钥的生存周期等。其中安全协议可以分为验证头(AH)和封装安全载荷(ESP)。SA是单向的,IPsec设备之间的双向通信至少需要两个SA来分别对两个方向的数据流进行安全防护,另外,SA是针对安全协议来构建的,IPsec设备会针对使用的安全协议分别构建独立的SA。例如,如果安全隧道两端的msec设备约定同时使用AH和ESP两种安全协议来进行安全防护,则每个If3Sec设备都会针对每一种安全协议分别构建独立的SA。 SA由一个三元组来唯一标识,每个三元组包括安全参数索引(SPI)、目的IP地址和安全协议号。其中SPI是用于唯一标识SA的一个32比特数值,在AH或ESP头中传输。在手工配置SA时,SPI手工指定,使用密钥交换协议(IKE)协商产生SA时,SPI随机生成。随着IPsec VPN业务的应用越来越广泛,网管软件需要支持II^sec设备,用于进行 IPsec VPN业务的管理,对IPsec VPN隧道数量的统计就是其中重要的一项。目前网管对 IPsec VPN隧道数量的统计是通过向msec设备获取IPsec VPN隧道的本端和对端IP地址的方式来确定的。如图1所示,路由器A和路由器B之间存在一条IPsec VPN隧道,网管从路由器A获取到存在一条对端IP地址为2. 2. 2. 2的IPsec VPN隧道,从路由器B获取到存在一条对端IP地址为1. 1. 1. 1的IPsec VPN隧道,网管会认为管理了两条IPsec VPN隧道,显然,这种统计方式是错误的。如果简单的将统计到的数量除以2,同样也是不准确的, 因为路由器A和路由器B之间可能存在多条IPsec VPN隧道,该多条IPsec VPN隧道具有相同的本端IP地址和对端IP地址,但采用不同的SA,显然,现有技术的方式并不能获取到准确的IPsec VPN隧道数量。

发明内容
有鉴于此,本发明提供了一种确定IPsec VPN隧道数量的方法和装置,以便于准确地获取IPsec VPN遂道的数量,方便网管对IPsec设备的管理。一种确定IPsec VPN隧道数量的方法,该方法包括A、将各II^sec设备中的各IPsec VPN隧道信息读取至数据结构表,所述各II^sec VPN隧道信息包括隧道本端IP地址、隧道对端IP地址、入方向安全联盟SA索引和出方向 SA索引;B、对数据结构表中的各IPsec VPN隧道信息进行比较,确定IPsec VPN隧道的数量;其中,当一条IPsec VPN隧道信息的隧道本端IP地址、隧道对端IP地址、入方向SA索
7引和出方向SA索引分别与另一条IPsec VPN隧道信息的隧道对端IP地址、隧道本端IP地址、出方向SA索引和入方向SA索引一致时,确定所述一条IPsec VPN隧道信息与所述另一条IPsec VPN隧道信息属于一条IPsec VPN隧道。一种确定IPsec VPN隧道数量的装置,该装置包括信息读取单元、数据存储单元和隧道统计单元;所述信息读取单元,用于将II^sec设备中的各IPsec VPN隧道信息读取至数据结构表;所述各IPsec VPN隧道信息包括隧道本端IP地址、隧道对端IP地址、入方向安全联盟SA索引和出方向SA索引;所述数据存储单元,用于存储数据结构表;所述隧道统计单元,用于对数据结构表中的各IPsec VPN隧道信息进行比较,确定 IPsec VPN隧道的数量;其中,当一条IPsec VPN隧道信息的隧道本端IP地址、隧道对端IP 地址、入方向SA索引和出方向SA索引分别与另一条IPsec VPN隧道信息的隧道对端IP地址、隧道本端IP地址、出方向SA索引和入方向SA索引一致时,确定所述一条IPsec VPN隧道信息与所述另一条IPsec VPN隧道信息属于一条IPsec VPN隧道。由以上技术方案可以看出,本发明采用将IPsec设备中的IPsec VPN隧道信息读取至数据结构表中后,对数据结构表中各IPsec VPN隧道信息进行比较来确定IPsec VPN 隧道的数量,在确定IPsec VPN隧道数量时,充分考虑了 IPsec VPN隧道两端的IPsec设备所存储隧道信息的特性,不仅需要满足隧道本端IP地址与隧道对端IP地址分别一致,还需要同时满足一条IPsecVPN隧道信息的入方向SA索引和出方向SA索引分别与另一条IPsec VPN隧道信息的出方向SA索引和入方向SA索引一致。从而能够准确地获取II^secVPN隧道的数据,方便网管对IPsec设备的管理。


图1为对IPsec设备进行管理的网络示意图;图2为本发明提供的主要方法流程图;图3为本发明提供的读取遂道信息的方法流程图;图4为本发明提供的统计遂道数量的第一种方法流程图;图5为本发明提供的统计遂道数量第二种方法流程图;图6为属于同一遂道的IPsec VPN遂道信息的关系示意图;图7为本发明提供的装置结构示意图;图8为本发明提供的另一种装置结构示意图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明提供的主要方法可以如图2所示,主要包括以下步骤步骤201 将各II^sec设备中的IPsec VPN遂道信息读取至数据结构表,其中各 IPsec VPN遂道信息包括遂道本端IP地址,遂道对端IP地址、入方向SA索引和出方向SA 索引。
步骤202 对数据结构表中各IPsec VPN遂道信息进行比较,确定IPsecVPN遂道的数量;其中,当一条IPsec VPN遂道信息的遂道本端IP地址、遂道对端IP地址、入方向SA 索引和出方向SA索引分别与另一条IPsec VPN遂道信息的遂道对端IP地址、本端IP地址、 出方向SA索引和入方向SA索引一致时,确定这两条IPsec VPN遂道信息属于一条II3sec VPN遂道。在上述方法中,网管设备可以将各IPsec设备中的IPsec VPN遂道信息读取至同一个数据结构表,在对各IPsec VPN遂道信息进行比较时,需要将该数据结构表中尚未确定属于某一条IPsec VPN遂道的遂道信息分别进行比较。另外,网管设备也可以分别针对 If3Sec设备建立数据结构表,将各IPsec设备中的IPsec VPN遂道信息放入对应的数据结构表,在对各IPsec VPN遂道信息进行比较时,需要将一个数据结构表中尚未确定属于某一条 IPsecVPN遂道的遂道信息分别与其它数据结构表中尚未确定属于某一条IPsecVPN遂道的遂道信息进行比较。下面首先以将IPsec VPN遂道信息读取至同一个数据结构表为例进行描述。在该数据结构表中,每一个表项存储一个IPsec VPN遂道信息,各表项可以包含设备ID字段(Device ID)用于存储IPsec设备标识,该字段为可选字段,也可以不设置。本端IP地址字段(Local IP)用于存储该II^sec设备的遂道本端IP地址。对端IP地址字段(Remote IP)用于存储该II^sec设备的遂道对端IP地址。入方向AH协议SA索引字段(In AH SPI)用于存储该II^sec设备的入方向AH协议SA索引。出方向AH协议SA索引字段(Out AH SPI)用于存储该IPsec设备的出方向AH协议SA索引。入方向ESP协议SA索引字段(In ESP SPI)用于存储该IPsec设备的入方向ESP 协议SA索引。出方向ESP协议SA索引字段(Out ESP SPI)用于存储该IPsec设备的出方向ESP 协议SA索引。步骤201中读取各IPsec设备中的IPsec VPN遂道信息至数据结构表的过程可以如图3所示,包括以下步骤步骤301 如果II^sec设备中存在IPsec VPN遂道信息,则开始读取第一条If3Sec VPN遂道信息。步骤302 将读取的IPsec VPN遂道信息存入数据结构表。将读取的IPsec VPN遂道信息中的遂道本端IP地址、遂道对端IP地址、入方向AH 协议SA索引、出方向AH协议SA索引、入方向ESP协议SA索引和出方向ESP协议SA索引分别存入同一表项中对应的字段,对于没有读取到的信息,其对应字段置空。例如,如果读取的IPsec VPN遂道信息中仅存在AH协议的SAJU h ESP SPI字段和Out ESP SPI字段均置空。步骤303 判断当前msec设备中是否存在下一条IPsec VPN遂道信息,如果是, 执行步骤304 ;否则,执行步骤305。步骤304 读取下一条IPsec VPN遂道信息,转至步骤302。
步骤305 判断是否存在下一个未读取IPsec VPN遂道信息的IPsec设备,如果是, 针对下一个II^sec设备转至执行步骤301 ;否则,结束遂道信息读取流程,即步骤201执行完毕。如果针对各II^sec设备分别设置数据结构表,将从不同msec设备读取的If3Sec VPN遂道信息存储至对应的数据结构表,则上述图3所示的读取流程不变,只是将从不同 IPsec设备读取的IPsec VPN遂道信息存储至对应的数据结构表即可。如果采用同一个数据结构表,则步骤202中对数据结构表中各IPsec VPN遂道信息进行比较,确定IPsec VPN遂道的数量的过程可以如图4所示,包括以下步骤步骤401 从数据结构表中开始读取第一条IPsec VPN遂道信息。步骤402 将读取的IPsec VPN遂道信息作为第一比较信息。步骤403 判断是否存在下一条IPsec VPN遂道信息,如果是,执行步骤404 ;否则, 结束遂道数量确定流程。步骤404 读取下一条IPsec VPN遂道信息作为第二比较信息。步骤405 将当前的第一比较信息和第二比较信息进行比较,确定第一比较信息和第二比较信息是否属于同一条IPsec VPN遂道,如果是,执行步骤406 ;否则,执行步骤 407。步骤406 将记录的IPsec VPN遂道数量加1,转至步骤408。步骤407 判断当前作为第二比较信息的IPsec VPN遂道信息是否存在下一条 IPsec VPN遂道信息,如果是,转至步骤404 ;否则,执行步骤408。步骤408 判断当前作为第一比较信息的IPsec VPN遂道信息是否存在下一条 IPsec VPN遂道信息,如果是,执行步骤409 ;否则,结束遂道数量确定流程。步骤409 读取当前作为第一比较信息的IPsec VPN遂道信息的下一条IPsec VPN 遂道信息,转至步骤402。可以看出,上述图4所示的过程是一个双重循环算法,外层循环逐一取IPsec VPN 遂道信息作为第一比较信息,内层循环从当前作为第一比较信息的IPsec VPN遂道信息的下一条开始逐一作为第二比较信息与第一比较信息进行比较,确定是否存在IPsec VPN遂道信息与第一比较信息属于同一条IPsec VPN遂道,如果确定存在,则结束当前的内层循环,并将记录的II^secVPN遂道数量加1,结束所有外层循环时,即可统计出所有遂道数量。另外,需要说明的是,由于属于同一 IPsec VPN遂道的最多为两条IPsecVPN遂道信息,因此,当在步骤405确定第一比较信息和第二比较信息属于同一 IPsec VPN遂道时, 在执行步骤406的同时,可以将当前作为第一比较信息和第二比较信息的IPsec VPN遂道信息从数据结构表中删除,这样在后续的过程中,这两条IPsec VPN遂道信息就不会参与比较,从而避免冗余的操作,加快实现流程。如果针对各IPsec设备采用各自的数据结构表,则步骤202中对数据结构表中各 IPsec VPN遂道信息进行比较,确定IPsec VPN遂道的数量的过程可以如图5所示,逐一针对每一个数据结构表执行以下步骤步骤501 从当前数据结构表中开始读取第一条IPsec VPN遂道信息。步骤502 将读取的IPsec VPN遂道信息作为第一比较信息。步骤503 从下一个数据结构表中开始读取第一条IPsec VPN遂道信息。
步骤504 将读取的IPsec VPN遂道信息作为第二比较信息。步骤505 将当前的第一比较信息和第二比较信息进行比较,确定第一比较信息和第二比较信息是否属于同一条IPsec VPN遂道,如果是,执行步骤506 ;否则,执行步骤 507。步骤506 将记录的IPsec VPN遂道数量加1,转至步骤509。步骤507 判断当前作为第二比较信息的IPsec VPN遂道信息是否存在下一条 IPsec VPN遂道信息,如果是,执行步骤508 ;否则,执行步骤511。步骤508 读取当前作为第二比较信息的IPsec VPN遂道信息的下一条IPsec VPN 遂道信息,转至步骤504。步骤509 判断当前作为第一比较信息的IPsec VPN遂道信息是否存在下一条 IPsec VPN遂道信息,如果是,执行步骤510 ;否则,结束针对当前数据结构表的遂道数量统计流程,针对第一比较信息所在数据结构表的下一个数据结构表开始执行步骤501。步骤510 读取当前作为第一比较信息的IPsec VPN遂道信息的下一条IPsec VPN 遂道信息,转至步骤502。步骤511 判断当前第二比较信息所在的数据结构表是否存在下一个数据结构表,如果是,执行步骤512 ;否则,结束针对当前数据表的遂道数量统计流程,针对第一比较信息所在数据结构表的下一个数据结构表开始执行步骤501。步骤512 从当前第二比较信息所在数据结构表的下一个数据结构表开始读取第一条IPsec VPN遂道信息,转至步骤504。待针对各数据结构表都执行图5所示的遂道数量统计流程后,记录的IPsec VPN 遂道数量就是最终统计的遂道数量。这种方式每个数据结构表中的IPsec VPN遂道信息仅需要和其它数据结构表中的IPsec VPN遂道信息进行比较,无需与同一数据结构表中的 IPsec VPN遂道信息进行比较。同样,在图5所示的流程中,在确定第一比较信息和第二比较信息属于同一个 IPsec VPN遂道时,在执行步骤506的同时可以将当前作为第一比较信息和第二比较信息的IPsec VPN遂道信息从数据结构表中删除,这样在后续的过程中,这两条IPsec VPN遂道信息就不会参与比较,从而避免冗余的操作,加快实现流程。在上述图4和图5所示流程中将第一比较信息和第二比较信息进行比较,确定两者是否属于同一 IPsec VPN遂道的步骤,具体包括将第一比较信息中的Local_IP字段 (记为 l_Local_IP)、Remote_IP 字段(记为 l_Remote_IP)、In_AH_SPI 字段(记为 l_In_ AH_SPI)、0ut_AH_SPI 字段(记为 l_0ut_AH_SPI)、In_ESP_SPI 字段(记为 1 Jn_ESP_SPI) 和Out_ESP_SPI字段(记为l_0ut_ESP_SPI)的值分别与第二比较信息中的Remote_IP字段 (记为 2_Remote_IP)、Local_IP 字段(记为 2_Local_IP)、0ut_AH_SPI 字段(记为 2_0ut_ AH_SPI)、In_AH_SPI 字段(记为 2 Jn_AH_SPI)、Out_ESP_SPI 字段(记为 2_0ut_ESP_SPI) 和In_ESP_SPI字段(记为2_In_ESP_SPI)的值进行比较,如果都一致,如图6所示,则确定第一比较信息与第二比较信息属于同一 IPsec VPN遂道;否则确定第一比较信息与第二比较信息属于同一 IPsec VPN遂道。也就是说,属于同一 IPsecVPN遂道的第一比较信息和第二比较信息必须同时满足以下条件l_Local_IP = 2_Remote_IP ;
l_Remote_IP = 2_Local_IP ;l_In_AH_SPI = 2_0ut_AH_SPI ;l_0ut_AH_SPI = 2_In_AH_SPI ;l_In_ESP_SPI = 2_0ut_ESP_SPI ;l_0ut_ESP_SPI = 2_In_ESP_SPI。也就是说,属于同一 IPsec VPN隧道的两条IPsec VPN隧道信息中,需要都仅存在 AH协议的SA,或者都仅存在ESP协议的SA,或者都同时存在AH协议和ESP协议的SA。在都仅存在AH协议的SA时,一条IPsec VPN隧道信息中的入方向AH协议SA索弓丨、出方向AH 协议SA索引必须与另一条IPsec VPN隧道信息中的出方向AH协议SA索引、入方向AH协议 SA索引一致。在都仅存在ESP协议的SA时,一条IPsec VPN隧道信息中的入方向ESP协议 SA索引、出方向ESP协议SA索引必须与另一条IPsec VPN隧道信息中的出方向ESP协议 SA索引、入方向ESP协议SA索引一致。在都同时存在AH协议和ESP协议的SA时,与上述实施例中的情况相同,一条IPsec VPN隧道信息中的入方向AH协议SA索引、出方向AH协议SA索引、入方向ESP协议SA索引、出方向ESP协议SA索引必须与另一条IPsec VPN隧道信息中的出方向AH协议SA索引、入方向AH协议SA索引、出方向ESP协议SA索引、入方向ESP协议SA索引一致。当然,上述情况还需要同时满足一条IPsec VPN隧道信息中的隧道本端IP地址、隧道对端IP地址与另一条IPsec VPN隧道信息中的隧道对端IP地址、隧道本端IP地址一致。以上是对本发明所提供的方法进行的详细描述,下面对本发明所提供的装置进行详细描述。图7为本发明所提供的装置结构示意图,上述装置可以设置在网管设备中,如图 7所示,该装置可以包括信息读取单元700、数据存储单元710和隧道统计单元720。信息读取单元700,用于将IPsec设备中的各IPsec VPN隧道信息读取至数据结构表;各IPsec VPN隧道信息包括隧道本端IP地址、隧道对端IP地址、入方向安全联盟SA 索引和出方向SA索引。数据存储单元710,用于存储数据结构表。隧道统计单元720,用于对数据结构表中的各IPsec VPN隧道信息进行比较,确定 IPsec VPN隧道的数量;其中,当一条IPsec VPN隧道信息的隧道本端IP地址、隧道对端IP 地址、入方向SA索引和出方向SA索引分别与另一条n^secVPN隧道信息的隧道对端IP地址、隧道本端IP地址、出方向SA索引和入方向SA索引一致时,确定一条IPsec VPN隧道信息与另一条IPsec VPN隧道信息属于一条IPsec VPN隧道。其中,信息读取单元700具体包括第一读取子单元701、存储子单元702、第一判断子单元703和第二判断子单元704。第一读取子单元701,用于如果当前IPsec设备中存在IPsec VPN信息,则开始读取第一条IPsec VPN隧道信息;在第一判断子单元703的判断结果为是时,读取下一条 IPsec VPN隧道信息。存储子单元702,用于将第一读取子单元701读取的IPsec VPN隧道信息存入数据结构表。第一判断子单元703,用于判断当前的II^sec设备中是否存在下一条IPsecVPN隧 lSfn 息 ο
12
第二判断子单元704,用于在第一判断子单元703的判断结果为否时,判断是否存在下一个未读取IPsec VPN隧道信息的msec设备,如果是,触发第一读取子单元701针对下一个IPsec设备开始读取IPsec VPN隧道信息;否则,触发第一读取子单元701结束读取操作。根据数据结构表的设置方式不同,隧道统计单元720可以采用不同的结构。第一种结构信息读取单元700将各II^sec设备中的各IPsec VPN隧道信息读取至同一个数据结构表。此时,隧道统计单元720具体包括第二读取子单元721、第三判断子单元722、第三读取子单元723、比较子单元724、第一统计子单元725、第四判断子单元7 和第五判断子单元727。第二读取子单元721,用于从数据结构表中开始读取第一条IPsec VPN隧道信息, 将读取的IPsec VPN隧道信息作为第一比较信息;接收到来自第五判断子单元727的读取通知后,读取当前第一比较信息的下一条IPsec VPN隧道信息作为第一比较信息。第三判断子单元722,用于判断是否存在第二读取子单元读取的下一条IPsecVPN 隧道信息。第三读取子单元723,用于在第三判断子单元722的判断结果为是时,读取第一比较信息的下一条IPsec VPN隧道信息作为第二比较信息;接收到读取通知时,读取下一条 IPsec VPN隧道信息作为第二比较信息。比较子单元724,用于将第一比较信息和第二比较信息进行比较,确定第一比较信息和第二比较信息是否属于同一条IPsec VPN隧道。第一统计子单元725,用于在比较子单元的确定结果为是时,将记录的II^secVPN 隧道数量加1,向第五判断子单元发送判断通知。第四判断子单元726,用于在比较子单元724的确定结果为否时,判断当前作为第二比较信息的IPsec VPN隧道信息是否存在下一条IPsec VPN隧道信息,如果是,向第三读取子单元723发送读取通知;否则向第五判断子单元727发送判断通知。第五判断子单元727,用于接收到判断通知后,判断当前作为第一比较信息的 IPsec VPN隧道信息是否存在下一条IPsec VPN隧道信息,如果是,向第二读取子单元721 发送读取通知;否则,通知第二读取子单元721和第三读取子单元723结束读取操作。第二种结构数据存储单元710中存储了针对各msec设备设置的数据结构表。信息读取单元700将各II^sec设备中的各IPsec VPN隧道信息读取至II^sec设备对应的数据结构表。此时,隧道统计单元720如图8所示,可以具体包括第四读取子单元821、第五读取子单元822、比较子单元823、第二统计子单元824、第六判断子单元825、第七判断子单元 826和第八判断子单元827。第四读取子单元821,用于从当前数据结构表中开始读取第一条IPsec VPN隧道信息,将读取的IPsec VPN隧道信息作为第一比较信息;接收到第七判断子单元拟6发送的读取通知后,读取当前第一比较信息的下一条IPsec VPN隧道信息作为第一比较信息。第五读取子单元822,用于从第一比较信息所在的数据结构表的下一个数据结构表中开始读取第一条IPsec VPN隧道信息,将读取的IPsec VPN隧道信息作为第二比较信息;接收到第六判断子单元825发送的读取通知后,读取当前第二比较信息的下一条msec VPN隧道信息作为第二比较信息;接收到第八判断子单元827发送的读取通知后,从当前第二比较信息所在数据结构表的下一个数据结构表开始读取第一条IPsec VPN隧道信息,将读取的IPsec VPN隧道信息作为第二比较信息。比较子单元823,用于将第一比较信息和第二比较信息进行比较,确定第一比较信息和第二比较信息是否属于同一条IPsec VPN隧道。第二统计子单元824,用于在比较子单元823的确定结果为是时,将记录的II^sec VPN隧道数量加1,向第七判断子单元拟6发送判断通知。第六判断子单元825,用于在比较子单元823的确定结果为否时,判断当前作为第二比较信息的IPsec VPN隧道信息是否存在下一条IPsec VPN隧道信息,如果是,向第五读取子单元822发送读取通知;否则,向第八判断子单元827发送判断通知。第七判断子单元826,用于接收到判断通知后,判断当前作为第一比较信息的 IPsec VPN隧道信息是否存在下一条IPsec VPN隧道信息,如果是,向第四读取子单元821 发送读取通知;否则,通知第四读取子单元821针对第一比较信息所在数据结构表的下一个数据结构表开始读取操作。第八判断子单元827,用于接收到判断通知后,判断当前第二比较信息所在的数据结构表是否存在下一个数据结构表,如果是,向第五读取子单元822发送读取通知;否则, 通知第四读取子单元821和第五读取子单元822结束读取操作。基于上述两种结构,隧道统计单元720还可以包括信息删除子单元728,用于在比较子单元7M或比较子单元823的确定结果为是时,将当前作为第一比较信息和第二比较信息的IPsec VPN隧道信息从数据结构表中删除。上述数据结构表中各表项包括用于存储隧道本端IP地址的本端IP地址字段、用于存储隧道对端IP地址的对端IP地址字段、用于存储入方向AH协议SA索引的入方向AH 协议SA索引字段、用于存储出方向AH协议SA索引的出方向AH协议SA索引、用于存储入方向ESP协议SA索引的入方向ESP协议SA索引字段以及用于存储出方向ESP协议SA索引的出方向ESP协议SA索引字段。信息读取单元700将IPsec VPN隧道信息中的各信息存储至数据结构表一个表项中对应的字段,没有对应信息存储的字段置空。比较子单元7 或比较子单元823在第一比较信息所在表项中本端IP地址字段、 对端IP地址字段、入方向AH协议SA索引字段、出方向AH协议SA索引字段、入方向ESP协议SA索引字段和出方向ESP协议SA索引字段的值分别与第二比较信息所在表项中对端IP 地址字段、本端IP地址字段、出方向AH协议SA索引字段、入方向AH协议SA索引字段、出方向ESP协议SA索引字段和入方向ESP协议SA索引字段的值相同时,确定第一比较信息和第二比较信息属于同一条IPsec VPN隧道。由以上描述可以看出,本发明采用将II3sec设备中的IPsec VPN隧道信息读取至数据结构表中后,对数据结构表中各IPsec VPN隧道信息进行比较来确定IPsec VPN隧道的数量,在确定IPsec VPN隧道数量时,充分考虑了 IPsec VPN隧道两端的IPsec设备所存储隧道信息的特性,不仅需要满足隧道本端IP地址与隧道对端IP地址分别一致,还需要同时满足一条IPsec VPN隧道信息的入方向SA索引和出方向SA索引分别与另一条II^secVPN隧道信息的出方向SA索引和入方向SA索引一致。从而能够准确地获取IPsec VPN隧道的数据,方便网管对If3Sec设备的管理。 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种确定IP安全IPsec虚拟专用网VPN隧道数量的方法,其特征在于,该方法包括A、将各Usee设备中的各IPsecVPN隧道信息读取至数据结构表,所述各IPsec VPN 隧道信息包括隧道本端IP地址、隧道对端IP地址、入方向安全联盟SA索引和出方向SA 索引;B、对数据结构表中的各IPsecVPN隧道信息进行比较,确定IPsec VPN隧道的数量; 其中,当一条IPsec VPN隧道信息的隧道本端IP地址、隧道对端IP地址、入方向SA索引和出方向SA索引分别与另一条IPsec VPN隧道信息的隧道对端IP地址、隧道本端IP地址、 出方向SA索引和入方向SA索引一致时,确定所述一条IPsec VPN隧道信息与所述另一条 IPsec VPN隧道信息属于一条IPsec VPN隧道。
2.根据权利要求1所述的方法,其特征在于,所述步骤A具体包括Al、如果II^sec设备中存在IPsec VPN信息,则开始读取第一条IPsec VPN隧道信息; A2、将读取的IPsec VPN隧道信息存入数据结构表;A3、判断当前的msec设备中是否存在下一条IPsec VPN隧道信息,如果是,执行步骤 A4,否则执行步骤A5;A4、读取下一条IPsec VPN隧道信息,转至步骤A2 ;A5、判断是否存在下一个未读取IPsec VPN隧道信息的II^sec设备,如果是,针对下一个II^sec设备转至步骤A2 ;否则,结束步骤A。
3.根据权利要求1所述的方法,其特征在于,将各msec设备中的各IPsecVPN隧道信息读取至同一个数据结构表;所述步骤B具体包括B 1、从数据结构表中开始读取第一条IPsec VPN隧道信息; B2、将读取的IPsec VPN隧道信息作为第一比较信息;B3、判断是否存在下一条IPsec VPN隧道信息,如果是,执行步骤B4 ;否则,结束步骤B ;B4、读取下一条IPsec VPN隧道信息作为第二比较信息;B5、将当前的第一比较信息和第二比较信息进行比较,确定第一比较信息和第二比较信息是否属于同一条IPsec VPN隧道,如果是,执行步骤B6 ;否则执行步骤B7 ; B6、将记录的IPsec VPN隧道数量加1,转至步骤B8 ;B7、判断当前作为第二比较信息的IPsec VPN隧道信息是否存在下一条IPsec VPN隧道信息,如果是,转至步骤B4 ;否则,转至步骤B8 ;B8、判断当前作为第一比较信息的IPsec VPN隧道信息是否存在下一条IPsec VPN隧道信息,如果是,执行步骤B9 ;否则结束步骤B ;B9、读取当前作为第一比较信息的IPsec VPN隧道信息的下一条IPsec VPN隧道信息, 转至步骤B2。
4.根据权利要求1所述的方法,其特征在于,针对各msec设备分别设置数据结构表, 将II^sec设备中的各IPsec VPN隧道信息读取至II^sec设备对应的数据结构表;所述步骤B为逐一针对每一个数据结构表执行以下步骤 Bi、从当前数据结构表中开始读取第一条IPsec VPN隧道信息; B2、将读取的IPsec VPN隧道信息作为第一比较信息;B3、从下一个数据结构表中开始读取第一条IPsec VPN隧道信息;B4、将读取的IPsec VPN隧道信息作为第二比较信息;B5、将当前的第一比较信息和第二比较信息进行比较,确定第一比较信息和第二比较信息是否属于同一条IPsec VPN隧道,如果是,执行步骤B6 ;否则,执行步骤B7 ;B6、将记录的IPsec VPN隧道数量加1,转至步骤B9 ;B7、判断当前作为第二比较信息的IPsec VPN隧道信息是否存在下一条IPsec VPN隧道信息,如果是,执行步骤B8 ;否则,执行步骤Bll ;B8、读取当前作为第二比较信息的IPsec VPN隧道信息的下一条IPsec VPN隧道信息, 转至步骤B4 ;B9、判断当前作为第一比较信息的IPsec VPN隧道信息是否存在下一条IPsec VPN隧道信息,如果是,执行步骤BlO ;否则,针对第一比较信息所在数据结构表的下一个数据结构表开始执行步骤Bl ;B10、读取当前作为第一比较信息的IPsec VPN隧道信息的下一条IPsec VPN隧道信息,转至步骤B2 ;B11、判断当前第二比较信息所在的数据结构表是否存在下一个数据结构表,如果是, 执行步骤B12 ;否则,结束步骤B ;B12、从当前第二比较信息所在数据结构表的下一个数据结构表开始读取第一条II^sec VPN隧道信息,转至步骤B4。
5.根据权利要求3或4所述的方法,其特征在于,该方法还包括在确定第一比较信息和第二比较信息属于同一个IPsec VPN隧道时,将当前作为第一比较信息和第二比较信息的IPsec VPN隧道信息从数据结构表中删除。
6.根据权利要求3或4所述的方法,其特征在于,所述数据结构表中各表项包括用于存储隧道本端IP地址的本端IP地址字段、用于存储隧道对端IP地址的对端IP地址字段、 用于存储入方向AH协议SA索引的入方向AH协议SA索引字段、用于存储出方向AH协议SA 索引的出方向AH协议SA索引、用于存储入方向ESP协议SA索引的入方向ESP协议SA索引字段以及用于存储出方向ESP协议SA索引的出方向ESP协议SA索引字段;在步骤A中,将IPsec VPN隧道信息中的各信息存储至数据结构表一个表项中对应的字段,没有对应信息存储的字段置空;在步骤B中,如果第一比较信息所在表项中本端IP地址字段、对端IP地址字段、入方向AH协议SA索引字段、出方向AH协议SA索引字段、入方向ESP协议SA索引字段和出方向ESP协议SA索引字段的值分别与第二比较信息所在表项中对端IP地址字段、本端IP地址字段、出方向AH协议SA索引字段、入方向AH协议SA索引字段、出方向ESP协议SA索引字段和入方向ESP协议SA索引字段的值相同,则确定第一比较信息和第二比较信息属于同一条 IPsecVPN 隧道。
7.一种确定IP安全IPsec虚拟专用网VPN隧道数量的装置,其特征在于,该装置包括 信息读取单元、数据存储单元和隧道统计单元;所述信息读取单元,用于将IPsec设备中的各IPsec VPN隧道信息读取至数据结构表; 所述各IPsec VPN隧道信息包括隧道本端IP地址、隧道对端IP地址、入方向安全联盟SA 索引和出方向SA索引;所述数据存储单元,用于存储数据结构表;所述隧道统计单元,用于对数据结构表中的各IPsec VPN隧道信息进行比较,确定 IPsec VPN隧道的数量;其中,当一条IPsec VPN隧道信息的隧道本端IP地址、隧道对端IP 地址、入方向SA索引和出方向SA索引分别与另一条n^secVPN隧道信息的隧道对端IP地址、隧道本端IP地址、出方向SA索引和入方向SA索引一致时,确定所述一条IPsec VPN隧道信息与所述另一条IPsec VPN隧道信息属于一条IPsec VPN隧道。
8.根据权利要求7所述的装置,其特征在于,所述信息读取单元具体包括第一读取子单元、存储子单元、第一判断子单元和第二判断子单元;所述第一读取子单元,用于如果当前H3Sec设备中存在IPsec VPN信息,则开始读取第一条IPsec VPN隧道信息;在所述第一判断子单元的判断结果为是时,读取下一条IPsec VPN隧道信息;所述存储子单元,用于将所述第一读取子单元读取的IPsec VPN隧道信息存入数据结构表;所述第一判断子单元,用于判断当前的IPsec设备中是否存在下一条IPsecVPN隧道信息;所述第二判断子单元,用于在所述第一判断子单元的判断结果为否时,判断是否存在下一个未读取IPsec VPN隧道信息的msec设备,如果是,触发所述第一读取子单元针对下一个IPsec设备开始读取IPsec VPN隧道信息;否则,触发所述第一读取子单元结束读取操作。
9.根据权利要求7所述的装置,其特征在于,所述信息读取单元将各msec设备中的各 IPsec VPN隧道信息读取至同一个数据结构表;所述隧道统计单元具体包括第二读取子单元、第三判断子单元、第三读取子单元、比较子单元、第一统计子单元、第四判断子单元和第五判断子单元;所述第二读取子单元,用于从数据结构表中开始读取第一条IPsec VPN隧道信息,将读取的IPsec VPN隧道信息作为第一比较信息;接收到来自第五判断子单元的读取通知后, 读取当前第一比较信息的下一条IPsec VPN隧道信息作为第一比较信息;所述第三判断子单元,用于判断是否存在第二读取子单元读取的下一条IPsec VPN隧道信息;所述第三读取子单元,用于在所述第三判断子单元的判断结果为是时,读取第一比较信息的下一条IPsec VPN隧道信息作为第二比较信息;接收到读取通知时,读取下一条 IPsec VPN隧道信息作为第二比较信息;所述比较子单元,用于将所述第一比较信息和第二比较信息进行比较,确定第一比较信息和第二比较信息是否属于同一条IPsec VPN隧道;所述第一统计子单元,用于在所述比较子单元的确定结果为是时,将记录的IPsec VPN 隧道数量加1,向所述第五判断子单元发送判断通知;所述第四判断子单元,用于在所述比较子单元的确定结果为否时,判断当前作为第二比较信息的IPsec VPN隧道信息是否存在下一条IPsec VPN隧道信息,如果是,向所述第三读取子单元发送读取通知;否则向所述第五判断子单元发送判断通知;所述第五判断子单元,用于接收到判断通知后,判断当前作为第一比较信息的msecVPN隧道信息是否存在下一条IPsec VPN隧道信息,如果是,向所述第二读取子单元发送读取通知;否则,通知所述第二读取子单元和第三读取子单元结束读取操作。
10.根据权利要求7所述的装置,其特征在于,所述数据存储单元中存储了针对各 IPsec设备设置的数据结构表;所述信息读取单元将各II3Sec设备中的各IPsec VPN隧道信息读取至II^sec设备对应的数据结构表;所述隧道统计单元具体包括第四读取子单元、第五读取子单元、比较子单元、第二统计子单元、第六判断子单元、第七判断子单元和第八判断子单元;所述第四读取子单元,用于从当前数据结构表中开始读取第一条IPsec VPN隧道信息, 将读取的IPsec VPN隧道信息作为第一比较信息;接收到所述第七判断子单元发送的读取通知后,读取当前第一比较信息的下一条IPsec VPN隧道信息作为第一比较信息;所述第五读取子单元,用于从第一比较信息所在的数据结构表的下一个数据结构表中开始读取第一条IPsec VPN隧道信息,将读取的IPsec VPN隧道信息作为第二比较信息;接收到所述第六判断子单元发送的读取通知后,读取当前第二比较信息的下一条IPsec VPN 隧道信息作为第二比较信息;接收到所述第八判断子单元发送的读取通知后,从当前第二比较信息所在数据结构表的下一个数据结构表开始读取第一条IPsec VPN隧道信息,将读取的IPsec VPN隧道信息作为第二比较信息;所述比较子单元,用于将第一比较信息和第二比较信息进行比较,确定第一比较信息和第二比较信息是否属于同一条IPsec VPN隧道;所述第二统计子单元,用于在所述比较子单元的确定结果为是时,将记录的IPsec VPN 隧道数量加1,向第七判断子单元发送判断通知;所述第六判断子单元,用于在所述比较子单元的确定结果为否时,判断当前作为第二比较信息的IPsec VPN隧道信息是否存在下一条IPsec VPN隧道信息,如果是,向所述第五读取子单元发送读取通知;否则,向所述第八判断子单元发送判断通知;所述第七判断子单元,用于接收到判断通知后,判断当前作为第一比较信息的msec VPN隧道信息是否存在下一条IPsec VPN隧道信息,如果是,向所述第四读取子单元发送读取通知;否则,通知所述第四读取子单元针对第一比较信息所在数据结构表的下一个数据结构表开始读取操作;所述第八判断子单元,用于接收到判断通知后,判断当前第二比较信息所在的数据结构表是否存在下一个数据结构表,如果是,向所述第五读取子单元发送读取通知;否则,通知所述第四读取子单元和第五读取子单元结束读取操作。
11.根据权利要求9或10所述的装置,其特征在于,所述隧道统计单元还包括信息删除子单元,用于在所述比较子单元的确定结果为是时,将当前作为第一比较信息和第二比较信息的IPsec VPN隧道信息从数据结构表中删除。
12.根据权利要求9或10所述的装置,其特征在于,所述数据结构表中各表项包括用于存储隧道本端IP地址的本端IP地址字段、用于存储隧道对端IP地址的对端IP地址字段、用于存储入方向AH协议SA索引的入方向AH协议SA索引字段、用于存储出方向AH协议SA索引的出方向AH协议SA索引、用于存储入方向ESP协议SA索引的入方向ESP协议 SA索引字段以及用于存储出方向ESP协议SA索引的出方向ESP协议SA索引字段;所述信息读取单元将IPsec VPN隧道信息中的各信息存储至数据结构表一个表项中对应的字段,没有对应信息存储的字段置空;所述比较子单元在第一比较信息所在表项中本端IP地址字段、对端IP地址字段、入方向AH协议SA索引字段、出方向AH协议SA索引字段、入方向ESP协议SA索引字段和出方向ESP协议SA索引字段的值分别与第二比较信息所在表项中对端IP地址字段、本端IP地址字段、出方向AH协议SA索引字段、入方向AH协议SA索引字段、出方向ESP协议SA索引字段和入方向ESP协议SA索引字段的值相同时,确定第一比较信息和第二比较信息属于同一条 IPsecVPN 隧道。
全文摘要
本发明提供了一种确定IP安全(IPsec)虚拟专用网(VPN)隧道数量的方法和装置。将各IPsec设备中的各IPsec VPN隧道信息读取至数据结构表;对数据结构表中的各IPsec VPN隧道信息进行比较,确定IPsec VPN隧道的数量;其中,当一条IPsec VPN隧道信息的隧道本端IP地址、隧道对端IP地址、入方向安全联盟(SA)索引和出方向SA索引分别与另一条IPsec VPN隧道信息的隧道对端IP地址、隧道本端IP地址、出方向SA索引和入方向SA索引一致时,确定这两条IPsec VPN隧道信息属于同一条IPsec VPN隧道。
文档编号H04L12/26GK102271061SQ201010199198
公开日2011年12月7日 申请日期2010年6月7日 优先权日2010年6月7日
发明者吕华明, 孙帅, 遇惠君 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1