一种实现动态虚拟专用网络链路层通信的方法和装置制造方法

文档序号:8006182阅读:214来源:国知局
一种实现动态虚拟专用网络链路层通信的方法和装置制造方法
【专利摘要】本申请公开了一种实现动态虚拟专用网络(DVPN)链路层通信的方法,DVPN中任一节点设备接收到下挂设备发送的报文时,在DVPN P2MP接口上,获得对端的公网地址时,根据该公网地址查找到对应的IPsec SA,直接根据查找到的IPsec SA封装接收到的报文并转发。基于同样的发明构思,本申请还提出一种装置,能够直接使用IPsec协议作为DVPN的链路层,减小报文的大小,降低网络带宽消耗。
【专利说明】一种实现动态虚拟专用网络链路层通信的方法和装置

【技术领域】
[0001]本申请涉及通信【技术领域】,特别涉及一种实现动态虚拟专用网络链路层通信的方法和装置。

【背景技术】
[0002]越来越多的企业希望利用公共网络组建虚拟专用网络(Virtual PrivateNetwork,VPN),连接地理位置不同的多个分支机构。然而,企业分支机构通常采用动态地址接入公共网络,通信一方无法事先知道对端的公网地址,这就为组建VPN提出了一个难题。
[0003]动态虚拟专用网络(Dynamic Virtual Private Network, DVPN)技术可通过下一跳解析协议(Next Hop Resolut1n Protocol, NHRP)或者 VPN 地址管理(VPN AddressManagement, VAM)协议收集、维护和分发动态变化的公网地址等信息,解决了无法事先获得通信对端公网地址的问题。DVPN可以在企业网各分支机构使用动态地址接入公网的情况下,在各分支机构间建立VPN。
[0004]DVPN把连接到公网上的各节点组成的网络看作VPN网络,公网作为VPN网络的链路层,DVPN隧道作为企业内部子网之间的虚通道,相当于网络层。企业各分支设备动态接入到公网中,其公网地址对于通信的另一端来说是未知的,而对于建立端到端的安全隧道,公网地址是必须的条件之一。DVPN通过VAM获取通信对端的公网地址。
[0005]VAM协议是DVPN方案的主要协议,负责收集、维护、分发公网地址等信息,帮助用户快捷、方便的建立起内部的安全隧道。企业内部子网之间转发的数据报文通过路由协议得到其私网下一跳,通过VAM协议查询到私网下一跳对应的公网地址,并利用该公网地址作为隧道的目的地址进行封装,最后交给已建立起的安全隧道发送到目的端用户。
[0006]参见图1,图1为DVPN示意图。图1中各VAM客户端已向VAM服务器注册,获得自身的身份为分支设备(Spoke)还是中心设备(Hub)。以PCl需要向PC2发送报文为例。Spokel接收到PCl发送的报文时,需要先将报文封装为通用路由封装协议(GenericRouting Encapsulat1n, GRE)报文,再根据GRE报文的信息匹配对应的IPsec SA,如果匹配到,根据匹配到的IPsec SA封装GRE报文并发送给Spoke3 ;否则,触发Spokel与Spoke3进行因特网密钥交换(Internet Key Exchange, IKE)协商,在IKE协商时,携带该GRE报文的信息,建立与该GRE报文的信息相匹配的IPsec SA。
[0007]其中,GRE报文的信息为源IP地址、目的IP地址和协议号。这里以GRE报文举例,如果是用户数据报协议(User Datagram Protocol,UDP)报文,还包括源端口号和目的端口号。
[0008]参见图2,图2为现有实现中Spokel封装的IPsec报文的格式示意图。由图2中可见,Spokel接收到的是一个源IP地址为192.168.0.1,目的IP地址为192.1.168.0.2的原始IP报文。Spokel对该原始IP报文进行GRE封装,封装的源IP地址为21.1.1.1,目的IP地址为21.1.1.2,以及GRE头。Spokel再将该GRE报文封装为一个IPsec报文。封装的IP头中的源IP地址为21.1.1.1,目的IP地址为21.1.1.2。
[0009]Spokel将IPsec报文通过与Spoke3建立的隧道发送给Spoke3, Spoke3解除接收到的报文的IPsec封装,再解除GRE封装,根据解封装后的报文的目的IP地址将报文转发给 PC2。
[0010]DVPN技术初衷是为了解决IPsec网关之间的互联问题,IPsec标准(RFC4301)中,在VPN网络的链路层只能进行IPsec+GRE,或IPsec+UDP链路层封装,即需要依靠其他网络协议如GRE协议和UDP协议才能实现DVPN链路层通信。


【发明内容】

[0011]有鉴于此,本申请提供一种实现动态虚拟专用网络链路层通信的方法和装置,能够直接使用IPsec协议作为DVPN的链路层,减小报文的大小,降低网络带宽消耗。
[0012]为解决上述技术问题,本发明的技术方案是这样实现的:
[0013]一种实现动态虚拟专用网络DVPN链路层通信的方法,所述方法包括:
[0014]DVPN中的任一节点设备接收到下挂设备发送的报文时,在DVPN P2MP接口上,若根据获得的下一跳,在本地P2P表项中查找到对应的公网地址,且根据查找到的公网地址在IPsec表项中匹配到对应的IPsec SA,使用匹配到的IPsec SA对接收到的报文进行IPsec封装并发送,其中,所述下一跳根据接收到的报文的目的IP地址获得。
[0015]一种装置,可应用于DVPN中的节点设备,所述装置包括:接收单元;查找单元和处理单元;
[0016]所述接收单元,用于接收下挂设备发送的报文;
[0017]所述查找单元,用于在所述接收单元接收到下挂设备发送的报文时,在DVPN P2MP接口上,根据获得的下一跳在P2P表项中查找对应的公网地址,根据查找到的公网地址在IPsec表项中匹配对应的IPsec SA ;其中,所述下一跳根据接收到的报文的目的IP地址获得;
[0018]所述处理单元,用于若所述查找单元根据获得的下一跳,在本地P2P表项中查找到对应的公网地址,且根据查找到的公网地址在IPsec表项中匹配到对应的IPsec SA,使用匹配到的IPsec SA对接收到的报文进行IPsec封装并发送。
[0019]综上所述,本申请通过DVPN中任一节点设备接收到下挂设备发送的报文时,在DVPN P2MP接口上,获得对端的公网地址时,根据该公网地址查找到对应的IPsec SA,直接根据查找到的IPsec SA封装接收到的报文并发送,能够直接使用IPsec协议作为DVPN的链路层,减小报文的大小,降低网络带宽消耗。

【专利附图】

【附图说明】
[0020]图1为DVPN示意图;
[0021]图2为现有实现中Spokel封装的IPsec报文的格式示意图;
[0022]图3为本发明具体实施例中实现DVPN链路层通信的方法流程示意图;
[0023]图4为本发明具体实施例中的IPsec报文的格式示意图;
[0024]图5为应用于上述技术特征的装置的结构示意图;
[0025]图6为本申请具体实施例中装置的硬件架构组成示意图。

【具体实施方式】
[0026]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
[0027]本发明实施例中提出一种实现DVPN链路层通信的方法。DVPN中任一节点设备接收到下挂设备发送的报文时,在DVPN点到多点(Point-to-MultiPoint,P2MP)接口上,获得对端的公网地址时,根据该公网地址查找到对应的IPsec SA,直接根据查找到的IPsec SA封装接收到的报文并发送。通过该方法能够直接使用IPsec协议作为DVPN的链路层,减小报文的大小,降低网络带宽消耗。
[0028]本发明具体实施例中,DVPN中的客户端向控制服务器注册,注册完成后,各客户端获知自身的身份为Spoke或Hub。该过程同现有实现,这里不再详细描述。
[0029]DVPN中的节点设备为Spoke或Hub。
[0030]参见图3,图3为本发明具体实施例中实现DVPN链路层通信的方法流程示意图。具体步骤为:
[0031]步骤301,DVPN中任一节点设备接收到下挂设备发送的报文。
[0032]本步骤中节点设备接收到下挂设备发送的报文时,根据报文的目的IP地址在路由表中获得对应的下一跳和出接口,在DVPN中这里的出接口为DVPN P2MP接口。该报文首先会被发送到该DVPN P2MP接口上。
[0033]步骤302,在DVPN P2MP接口上,该节点设备若根据获得的下一跳,在本地点到点(Point-to-Point,P2P)表项中查找到对应的公网地址,且根据查找到的公网地址在IPsec表项中匹配到对应的IPsec SA,使用匹配到的IPsec SA对接收到的报文进行IPsec封装并发送。
[0034]在DVPN P2MP接口上,需要根据获得的下一跳在本地P2P表项中查找对应的公网地址,如果查找到,会根据查找到的公网的地址在IPsec表项中匹配到对应的IPsec SA ;如果查找不到,说明该节点设备和所述公网地址对应的节点设备之间还未建立P2P表项,这时需要触发P2P表项的建立,具体处理如下:
[0035]该节点设备向控制服务器查询该下一跳对应的公网地址,并在本地建立P2P表项。其中,该P2P表项包含的内容为所述一下跳和对应的公网地址。
[0036]在具体实现时,可以通过VAM协议或NHRP协议实现向控制服务器查询该下一跳对应的公网地址。
[0037]各客户端均已向控制服务器注册过,虽然其公网地址可能会动态变化,但是,私网地址是静态的,不会变。因此,无论任何时候,都可以向控制服务器获得私网地址(下一跳)当前对应的公网地址。
[0038]该节点设备建立了该公网地址对应的P2P表项后,需触发本节点设备与该公网地址对应的节点设备进行IKE协商,并生成该公网地址对应的IPsec表项,在IKE协商过程中将保护的数据流信息填充为任何报文。在后续就可以根据所述公网地址匹配到对应的IPsec SA。
[0039]无论在Spoke和Hub之间,还是Spoke和Spoke之间,均使用本发明提供的上述IKE协商方式。如果存在多个Hub时,在Hub与Hub之间也使用本发明实施例中的IKE协商方式进行协商。
[0040]本发明具体实施例中建立的IPsec表项同现有实现中的IPsec表项不同之处为:本发明中的IPsec表项以对端的公网地址为索引,对应IPsec SA ;而现有实现中以GRE或Μ)Ρ报文的信息为索引,对应IPsec SA。对于IPsec SA的内容则按现有IKE协商获得。之所以可以仅以对端的公网地址为索引,建立IPsec表项,因为在IKE协商过程中,不再是协商保护哪条数据流,而和保护任何数据流。
[0041]步骤302中,该节点设备根据查找到的公网地址在IPsec表项中匹配对应的IPsecSA,如果匹配到,说明两个节点设备之间已进行了 IKE协商,即建立了 IPsec隧道,可以直接封装报文并发送;如果未匹配到,则需触发IKE协商。具体处理如下:
[0042]该节点设备与该公网地址对应的节点设备进行IKE协商,并生成该公网地址对应的IPsec表项,在IKE协商过程中将保护的数据流信息填充为任何报文。
[0043]本节点设备与对端节点设备的协商过程同现有实现,只是在协商过程中将原协商报文中填充的保护的数据流的信息,填写为任何报文(any to any)。在建立了对应的IPsec表项时,对应的IPsec SA不再是GRE报文或UDP报文的信息,而是对端的公网地址。
[0044]步骤301中,该节点设备作为Spoke时,若根据所述获得的下一跳在本地P2P表项中未查找到对应的公网地址,或,根据查找到的公网地址在IPsec表项中未匹配到对应的IPsec SA,则通过Hub转发接收到的报文。
[0045]在通过Hub转发报文时,在本地P2P表项中获得Hub的公网地址,并根据Hub的公网地址在IPsec表项中匹配到对应的IPsec SA,使用该匹配到的IPsec SA对接收到的报文进行IPsec封装并发送。
[0046]如果在IPsec表项中未匹配到对应的IPsec SA,则触发该节点设备与Hub进行IKE协商。
[0047]该节点设备作为Hub时,若根据所述获得的下一跳在本地P2P表项中未查找到对应的公网地址,或,根据查找到的公网地址在IPsec表项中未匹配到对应的IPsec SA,则丢弃该接收到的报文。如果具体实现时,该Hub发送给其他节点设备的报文也可以通过其他Hub转发,则通过其他Hub转发该接收到的报文,而不做丢弃处理。具体实现看DVPN的组网结构,以及各Hub和Spoke之间的关系。总之,在DVPN中能够通信的两个节点设备之间,都可以将原始数据报文直接封装为IPsec报文,而不需要先封装为GRE报文或UDP报文,再封装为IPsec报文发送。
[0048]图3中给出了接收到下挂设备发送的报文时的具体处理方式,下面给出接收到IPsec报文后的具体处理方式:
[0049]该节点设备接收到其他节点设备发送的IPsec报文时,如果该IPsec报文的目的IP地址为本节点设备的IP地址,解封装该IPsec报文,并根据解封装后的报文的目的IP地址进行转发;否则,根据该IPsec报文的目的IP地址进行转发。
[0050]如果该节点设备为Hub时,解封装的报文的目的IP地址不为本地下挂设备的IP地址,为其他节点设备的下挂设备的IP地址,则再根据IPsec表项重新封装并转发。
[0051]仍然以图1为例,详细说明本发明具体实施例中如何实现DVPN链路层通信。图1中的控制服务器以部署VAM协议为例,称为VAM服务器。
[0052]Spokel在本地建立Hubl的公网地址对应的P2P表项后,会触发IPsec表项的建立,即IPsec隧道的建立。该IPsec表项中通过Hub的公网地址可以查找到对应的IPsecSA0
[0053]图1中,以PCl需向PC2发送数据报文为例。PCl将该数据报文封装为源IP地址为192.168.0.1,目的IP地址为192.168.0.2的IP报文发送给Spokel。
[0054]Spokel接收到该原始数据报文时,根据该数据报文的目的IP地址192.168.0.2在本地路由表中查找对应的下一跳和出接口。这里查找到的下一跳为Spoke3的私网地址,SP隧道地址10.1.1.2。出接口为DVPN P2MP接口。然后会将该原始数据报文发送到该DVPNP2MP接口上。
[0055]Spokel在该DVPN P2MP接口上,根据获得的下一跳10.1.1.2在本地P2P表项查找对应的公网地址。
[0056]如果本地P2P表项中存在10.1.1.2对应的公网地址,且为21.1.1.2时,说明对应的P2P表项已建立,则通过对应的公网地址在本地的IPsec表项中查找对应的IPsec SAjB果查找到,说明Spokel和Spoke3之间已进行IKE协商,并建立对应的IPsec表项,即IPsec隧道已建立。Spokel使用查找到的IPsec SA封装接收到的原始数据报文。参见图4,图4为本发明具体实施例中的IPsec报文的格式示意图。由图4可见,该IPsec报文的源IP地址为Spokel的公网地址21.1.1.1,目的IP地址的为Spoke3的公网地址21.1.1.2。
[0057]Spokel将封装后的IPsec报文通过与Spoke3建立的隧道发送。
[0058]Spoke3接收到该IPsec报文时,确定该IPsec报文的目的IP地址为本地公网IP地址,则解封装该IPsec报文。解封后的报文的目的IP地址为192.168.0.2,直接转发给该IP地址对应的PC2。
[0059]如果本地P2P表项中不存在10.1.1.2对应的表项,即未查找到对应的公网地址,则通过VAM协议向VAM服务器获取下一跳10.1.1.2的公网地址,并建立10.1.1.2与21.1.1.2对应的P2P表项。
[0060]P2P表项建立完成后,触发Spokel同Spoke3之间进行IKE协商。并在协商过程中将保护的数据流信息填充为任何报文。协商完成后,建立Spoke3的公网地址对应的IPsec表项,后续报文可以直接在Spokel和Spoke3之间进行转发。
[0061]如果在IPsec表项中未查找到Spoke3的公网地址对应的IPsec SA时,触发Spokel同Spoke3之间进行IKE协商。
[0062]如果本地P2P表项中不存在10.1.1.2对应的表项,即未查找到对应的公网地址,或,在IPsec表项中未查找到Spoke3的公网地址对应的IPsec SA时,通过Hubl转发该原始数据报文。
[0063]Spokel在本地的P2P表项中查找10.1.1.3对应的公网地址21.1.1.3,并根据21.1.1.3在IPsec表项中查找对应的IPsec SA。并使用该IPsec SA封装该接收到的报文并转发。
[0064]Hubl接收到Spokel发送的IPsec报文时,由于目的IP地址为本设备,进行解封装,根据解封装后的报文的目的IP地址获得对应的下一跳,即Spoke3的私网地址,根据该下一跳在P2P表项中查找到Spoke3的公网地址,根据该公网地址在IPsec表项中匹配到对应的IPsec SA,进行封装并转发给Spoke3。
[0065]这里Hub预先也需建立与各Spoke的私网地址相关的P2P表项,并触发IKE协商,建立各Spoke的公网地址相关的IPsec表项。具体建立方法同Spoke建立P2P表项以及IPsec表项类似,这里不再详细描述。
[0066]本发明具体实施例中基于同样的发明构思,还提出一种装置,可应用于DVPN中的节点设备。参见图5,图5为应用于上述技术特征的装置的结构示意图。该装置包括:接收单元501、查找单元502和处理单元503。
[0067]接收单元501,用于接收下挂设备发送的报文。
[0068]查找单元502,用于在接收单元501接收到下挂设备发送的报文时,在DVPN P2MP接口上,根据获得的下一跳在P2P表项中查找对应的公网地址,根据查找到的公网地址在IPsec表项中匹配对应的IPsec SA ;其中,所述下一跳根据接收到的报文的目的IP地址获得。
[0069]处理单元503,用于若查找单元502根据获得的下一跳,在本地P2P表项中查找到对应的公网地址,且根据查找到的公网地址在IPsec表项中匹配到对应的IPsec SA,使用匹配到的IPsec SA对接收到的报文进行IPsec封装并发送。
[0070]较佳地,
[0071 ] 处理单元503,进一步用于若查找单元502根据所述获得的下一跳在本地P2P表项中未查找到对应的公网地址,通过VAM协议向VAM服务器查询该下一跳对应的公网地址,并在本地建立P2P表项;并触发本节点设备与该公网地址对应的节点设备进行IKE协商,并生成该公网地址对应的IPsec表项,在IKE协商过程中将保护的数据流信息填充为任何报文。
[0072]较佳地
[0073]处理单元503,进一步用于若查找单元502根据查找到的公网地址在IPsec表项中未匹配到对应的IPsec SA,触发本节点设备与该公网地址对应的节点设备进行IKE协商,并生成该公网地址对应的IPsec表项,在IKE协商过程中将保护的数据流信息填充为任何报文。
[0074]较佳地,
[0075]处理单元503,进一步用于该节点设备作为Spoke时,若查找单元502根据所述获得的下一跳在本地P2P表项中未查找到对应的公网地址,或,根据查找到的公网地址在IPsec表项中未匹配到对应的IPsec SA,则在本地P2P表项中获得Hub的公网地址,并根据Hub的公网地址在IPsec表项中匹配到对应的IPsec SA,使用该匹配到的IPsec SA对接收到的报文进行IPsec封装并发送;该节点设备作为Hub时,若根据所述获得的下一跳在本地P2P表项中未查找到对应的公网地址,或,根据查找到的公网地址在IPsec表项中未匹配到对应的IPsec SA,则丢弃该接收到的报文。。
[0076]较佳地,
[0077]接收单元501,进一步用于接收Hub或其他节点设备发送的IPsec报文。
[0078]处理单元503,进一步用于当接收单元501接收到IPsec报文时,若确定该IPsec报文的目的IP地址为本节点设备的IP地址,解封装该IPsec报文,并根据解封装后的报文的目的IP地址进行转发;否则,根据该IPsec报文的目的IP地址进行转发。
[0079]上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单兀。
[0080]以上实施例对本申请具体实施例中的装置进行了说明,本实施例给出本申请具体实施例中装置的硬件架构组成。
[0081]该装置是可以软硬件结合的可编程设备,具体参见图6,图6为本申请具体实施例中装置的硬件架构组成示意图,该装置包括:非易失性存储器,CPU (中央处理器),内存和其他硬件;其中,
[0082]内存,用于存储指令代码,当所述指令代码被执行时完成的操作主要为装置中的接收单元、查找单元和处理单元等单元完成的功能,这里不再详述。
[0083]CPU,用于与内存通信,进行各种报文的收发,包括:接收来自下挂设备发送的报文,以及其他节点设备发送的报文,并向其他节点设备以及下挂设备发送报文;读取和执行内存中存储的所述指令代码,完成上述装置中的接收单元、查找单元和处理单元等单元完成的功能,以及接收到的报文的处理;用于与非易失性存储器通信,读/写非易失性存储器中的数据,包括:IPsec表项和P2P表项。
[0084]其中,接收单元用于接收CPU上送的来自下挂设备发送的报文、以及其他节点设备发送的报文;查找单元用于在接收单元接收到CPU上送的来自下挂设备发送的报文时,根据报文的目的IP地址查找对应的公网地址和IPsec SA ;并将查找到的IPsec SA发送给处理单元;处理单元用于根据所述查找单元查找到的IPsec SA进行报文的封装并转发;在所述接收单元接收到CPU上送的来自其他节点设备发送的报文时,解封装该报文,通过CPU转发该解封装后的报文,并且在查找单元未查找到公网地址时,触发P2P表项的建立,触发IKE的协商,并建立IPsec表项,在查找单元未查找到的IPsec SA时,触发IPsec表项的建立,并将建立的P2P表项和IPsec表项存储到非易失性存储器中。
[0085]非易失性存储器,用于存储各种数据,包括:P2P表项和IPsec表项。
[0086]需要说明的是,图6所示的装置只是一个具体的例子,也可以通过其他的与本实施例描述不同结构实现,例如,执行上述指令代码时所完成的操作,也可以由特定应用专用集成电路(ASIC)实现。另外,上述的CPU可以是一个或多个,如果是多个,则由多个CPU共同负责读取和执行所述指令代码。因此,本申请对装置的具体结构不作具体限定。
[0087]综上所述,本发明具体实施例中DVPN中任一节点设备接收到下挂设备发送的报文时,在DVPN P2MP接口上,获得对端的公网地址时,根据该公网地址查找到对应的IPsecSA,直接根据查找到的IPsec SA封装接收到的报文并转发。通过该方法能够直接使用IPsec协议作为DVPN的链路层,减小报文的大小,降低网络带宽消耗。
[0088]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种实现动态虚拟专用网络DVPN链路层通信的方法,其特征在于,所述方法包括: DVPN中的任一节点设备接收到下挂设备发送的报文时,在DVPN点到多点P2MP接口上,若根据获得的下一跳,在本地点到点P2P表项中查找到对应的公网地址,且根据查找到的公网地址在因特网协议安全IPsec表项中匹配到对应的IPsec安全集SA,使用匹配到的IPsec SA对接收到的报文进行IPsec封装并发送,其中,所述下一跳根据接收到的报文的目的因特网协议IP地址获得。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括: 若根据所述获得的下一跳在本地P2P表项中未查找到对应的公网地址,向控制服务器查询该下一跳对应的公网地址,并在本地建立P2P表项;并触发本节点设备与该公网地址对应的节点设备进行因特网密钥交换IKE协商,并生成该公网地址对应的IPsec表项,在IKE协商过程中将保护的数据流信息填充为任何报文。
3.根据权利要求1所述的方法,其特征在于,所述方法进一步包括: 若根据查找到的公网地址在IPsec表项中未匹配到对应的IPsec SA,触发本节点设备与该公网地址对应的节点设备进行IKE协商,并生成该公网地址对应的IPsec表项,在IKE协商过程中将保护的数据流信息填充为任何报文。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法进一步包括:该节点设备作为分支设备Spoke时,若根据所述获得的下一跳在本地P2P表项中未查找到对应的公网地址,或,根据查找到的公网地址在IPsec表项中未匹配到对应的IPsec SA,则在本地P2P表项中获得中心设备Hub的公网地址,并根据Hub的公网地址在IPsec表项中匹配到对应的IPsec SA,使用该匹配到的IPsec SA对接收到的报文进行IPsec封装并发送; 该节点设备作为Hub时,若根据所述获得的下一跳在本地P2P表项中未查找到对应的公网地址,或,根据查找到的公网地址在IPsec表项中未匹配到对应的IPsec SA,则丢弃该接收到的报文。
5.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法进一步包括: 接收到其他节点设备发送的IPsec报文时,若确定该IPsec报文的目的IP地址为本节点设备的IP地址,解封装该IPsec报文,并根据解封装后的报文的目的IP地址进行转发;否则,根据该IPsec报文的目的IP地址进行转发。
6.一种装置,可应用于动态虚拟专用网络DVPN中的节点设备,其特征在于,所述装置包括:接收单元;查找单元和处理单元; 所述接收单元,用于接收下挂设备发送的报文; 所述查找单元,用于在所述接收单元接收到下挂设备发送的报文时,在DVPN点到多点P2MP接口上,根据获得的下一跳在点到点P2P表项中查找对应的公网地址,根据查找到的公网地址在因特网协议安全IPsec表项中匹配对应的IPsec安全集SA ;其中,所述下一跳根据接收到的报文的目的因特网协议IP地址获得; 所述处理单元,用于若所述查找单元根据获得的下一跳,在本地P2P表项中查找到对应的公网地址,且根据查找到的公网地址在IPsec表项中匹配到对应的IPsec SA,使用匹配到的IPsec SA对接收到的报文进行IPsec封装并发送。
7.根据权利要求6所述的装置,其特征在于, 所述处理单元,进一步用于若所述查找单元根据所述获得的下一跳在本地P2P表项中未查找到对应的公网地址,向控制服务器查询该下一跳对应的公网地址,并在本地建立P2P表项;并触发本节点设备与该公网地址对应的节点设备进行IKE协商,并生成该公网地址对应的IPsec表项,在因特网密钥交换IKE协商过程中将保护的数据流信息填充为任何报文。
8.根据权利要求6所述的装置,其特征在于, 所述处理单元,进一步用于若所述查找单元根据查找到的公网地址在IPsec表项中未匹配到对应的IPsec SA,触发本节点设备与该公网地址对应的节点设备进行IKE协商,并生成该公网地址对应的IPsec表项,在IKE协商过程中将保护的数据流信息填充为任何报文。
9.根据权利要求6-8任意一项所述的装置,其特征在于, 所述处理单元,进一步用于本节点设备为分支Spoke设备时,若所述查找单元根据所述获得的下一跳在本地P2P表项中未查找到对应的公网地址,或,根据查找到的公网地址在IPsec表项中未匹配到对应的IPsec SA,则在本地P2P表项中获得中心设备Hub的公网地址,并根据Hub的公网地址在IPsec表项中匹配到对应的IPsec SA,使用该匹配到的IPsec SA对接收到的报文进行IPsec封装并发送;该节点设备作为Hub时,若根据所述获得的下一跳在本地P2P表项中未查找到对应的公网地址,或,根据查找到的公网地址在IPsec表项中未匹配到对应的IPsec SA,则丢弃该接收到的报文。
10.根据权利要求6-8任意一项所述的装置,其特征在于, 所述接收单元,进一步用于接收其他节点设备发送的IPsec报文; 所述处理单元,进一步用于当所述接收单元接收到IPsec报文时,若确定该IPsec报文的目的IP地址为本节点设备的IP地址,解封装该IPsec报文,并根据解封装后的报文的目的IP地址进行转发;否则,根据该IPsec报文的目的IP地址进行转发。
【文档编号】H04L12/46GK104426737SQ201310390910
【公开日】2015年3月18日 申请日期:2013年8月30日 优先权日:2013年8月30日
【发明者】毛昱 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1