一种VPN私网链路检测方法及装置与流程

文档序号:11959643阅读:306来源:国知局
一种VPN私网链路检测方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种VPN私网链路检测方法及装置。



背景技术:

在BGP(Border Gateway Protocol,边界网关协议)/MPLS(Multiprotocol Label Switching,多协议标签交换)VPN(Virtual Private Network,虚拟专用网络)中,检测VPN的私网链路时,一般是通过获取PE(Provider Edge,运营商边缘)设备上绑定VPN的端口对应的IP地址查找与该IP(Internet Protocol,网络互连协议)地址在同一网段的CE(Customer Edge,用户网络边缘)设备,从而建立起PE设备到CE设备的互联链路,同时可以该VPN私网的拓扑结构展示在该网络管理软件上。

然而,由于VPN是一种私有网络,不同的VPN独立管理自己使用的地址范围,也称为地址空间,不同VPN的地址空间可能会在一定范围内重合,比如,VPN1和VPN2都使用了10.110.10.0/24网段的地址。在此种情况下,仅仅通过IP地址无法准确的定位检测到VPN私网中PE设备与CE设备的互联情况。



技术实现要素:

有鉴于此,本发明提供一种VPN私网链路检测方法及装置,来解决在BGP/MPLS VPN网络中无法准确判断CE设备与PE设备互联情况的问题。

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

一种VPN私网链路检测方法,所述方法应用于BGP/MPLS VPN中的PE 设备,所述方法包括:

以所述PE设备上配置VPN的端口对应的IP地址为索引,搜索与所述IP地址属于同一网段的IP地址对应的CE设备;

获取所述CE设备对应的第一MAC地址;

判断所述PE设备的ARP表项中是否存在与所述第一MAC地址相同的MAC地址;

若存在,则确认所述CE设备与所述PE设备属于同一VPN。

进一步的,所述获取所述CE设备对应的第一MAC地址,包括:

根据SNMP或者MIB获取所述CE设备对应的第一MAC地址。

进一步的,所述判断所述PE设备的ARP表项中是否存在与所述CE设备对应的MAC地址相同的MAC地址,包括:

获取所述CE设备对应的第一IP地址;

在所述ARP表项中查找所述第一IP地址对应的MAC地址;

若查找到所述第一IP地址对应的MAC地址,判断所述MAC地址与所述第一MAC地址是否相同。

进一步的,所述方法还包括:

若所述MAC地址与所述第一MAC地址相同,则确认所述CE设备与所述PE设备属于同一VPN。

进一步的,所述方法还包括:

若未查找到所述第一IP地址对应的MAC地址,或所述MAC地址与所述第一MAC地址不相同,则确认所述CE设备与所述PE设备不属于同一VPN。

基于相同的构思,本发明还提供一种VPN私网链路检测装置,所述装置应用于BGP/MPLS VPN中的PE设备,所述装置包括:

搜索单元,用于以PE设备上配置VPN的端口对应的IP地址为索引,搜索与所述IP地址属于同一网段的第一IP地址对应的CE设备;

获取单元,用于获取所述CE设备对应的第一MAC地址;

判断单元,用于判断所述PE设备的ARP表项中是否存在与所述第一MAC地址相同的MAC地址;

确认单元,用于在所述PE设备的ARP表项中存在与所述第一MAC地址相同的MAC地址时,确认所述CE设备与所述PE设备属于同一VPN。

进一步的,所述获取单元,具体用于根据SNMP或者MIB获取所述CE设备对应的第一MAC地址。

进一步的,所述判断单元,具体用于:

获取所述CE设备对应的第一IP地址;

在所述ARP表项中查找所述第一IP地址对应的MAC地址;

若查找到所述第一IP地址对应的MAC地址,判断所述MAC地址与所述第一MAC地址是否相同。

进一步的,所述确认单元,具体用于在所述MAC地址与所述第一MAC地址相同时,确认所述CE设备与所述PE设备属于同一VPN。

进一步的,所述确认单元,还用于在未查找到所述第一IP地址对应的MAC地址,或所述MAC地址与所述第一MAC地址不相同,则确认所述CE设备与所述PE设备不属于同一VPN。

由此可见,本发明可以在获取CE设备的IP地址同时,获取CE设备的MAC地址,并通过判断该CE设备的MAC地址和IP地址是否在PE的ARP表项中,来判断该CE设备是否与PE设备属于同一VPN,因此可以准确的确认VPN中CE设备与PE设备的互联情况。

附图说明

图1是本发明一种示例性实施方式中的VPN组网架构图;

图2是本发明一种示例性实施方式中的一种VPN私网链路检测方法的处理流程图;

图3是本发明一种示例性实施方式中的另一种VPN私网链路检测方法的处理流程图;

图4是本发明一种示例性实施方式中的ARP表项示意图;

图5是本发明一种示例性实施方式中VPN私网链路检测装置所在的PE的硬件结构图;

图6是本发明一种示例性实施方式中的一种VPN私网链路检测装置的逻辑结构图。

具体实施方式

请参考图1所示的VPN组网结构示意图。其中,通常包括PE设备和CE设备。CE设备是通过接口与服务提供商边缘设备相连的网络转发设备,CE设备可以是二层接入设备,也可以是一台主机;PE设备是服务提供商网络的边缘设备,PE设备与用户的CE设备直接相连。在VPN网络中,对VPN的所有处理都发生在PE设备上。

图1中,PE1与CE1相连,PE2与CE2相连;并且PE1、CE1属于VPN1,PE2、CE2属于VPN2。现有技术中,由于不同的VPN独立管理自己使用的地址空间,致使不同VPN的地址空间可能会在一定范围内重合。例如,当VPN1和VPN2都使用了10.110.10.0/24网段的地址时,CE1和CE2有可能发生地址重复,例如都使用10.110.10.1。在此种情况下,仅仅通过IP地址无法确定CE1和CE2分别属于哪个VPN,因此不能够准确检测VPN的私网链路。

为了解决上述问题,本发明可以在获取CE设备的IP地址的同时获取CE设备的MAC地址,并通过判断该CE设备的MAC地址和IP地址是否在PE的ARP(Address Resolution Protocol,地址解析协议)表项中,来判断该CE设备是否与PE设备属于同一VPN,因此可以准确的确认VPN中CE设备与PE设备的互联情况。

请参考图2所示的本发明一种示例性实施方式中的一种VPN私网链路检测方法的处理流程图,该方法应用于BGP/MPLS VPN中的PE设备,所述方法包括:

步骤201、以所述PE设备上配置VPN的端口对应的IP地址为索引,搜索与所述IP地址属于同一网段的第一IP地址对应的CE设备;

在本实施例中,PE设备可以获取自身绑定了VPN的端口所对应的端口号,并根据该端口号获取该端口对应的IP地址。之后,PE设备可以用该IP地址为索引地址,查找与该IP地址位于同一网段的CE设备。

步骤202、获取所述CE设备对应的第一MAC地址;

在本发明可选的实施例中,PE可以根据SNMP(Simple Network Management Protocol,简单网络管理协议)或者MIB(Management Information Base,管理信息库)读取所述CE设备对应的第一MAC地址。

步骤203、判断所述PE设备的ARP表项中是否存在与所述第一MAC地址相同的MAC地址;

由于所述PE设备可以将与自身连接的所有设备的IP地址与MAC地址的对应关系,学习到本地的ARP表项中,因此PE设备可以获取本地的ARP表项,并判断本地的ARP表项中是否存在与CE设备的第一MAC地址相同的MAC地址。

步骤204、若存在,则确认所述CE设备与所述PE设备属于同一VPN。

当所述PE设备的ARP表项中存在与所述CE设备的第一MAC地址相同的MAC地址时,可以认为该CE设备与PE设备相互连接,从而可以认为该CE设备与PE设备属于同一VPN。

在本发明可选的实施例中,PE设备在判断CE设备与PE设备是否属于同一VPN时,可以先获取该CE设备对应的第一IP地址,在PE设备的ARP表项中查找所述第一IP地址对应的MAC地址;若查找到该第一IP地址对应的MAC地址,则进一步判断该MAC地址与第一MAC地址是否相同。若该MAC地址与第一MAC地址相同,则确认该CE设备与PE设备属于同一VPN。若未查找到第一IP地址对应的MAC地址,或该MAC地址与第一MAC地址不相同,则确认该CE设备与所述PE设备不属于同一VPN。

由此可见,本发明可以在获取CE设备的IP地址的同时获取CE设备的 MAC地址,并通过判断该CE设备的MAC地址和IP地址是否在PE的ARP表项中,来判断该CE设备是否与PE设备属于同一VPN,因此可以准确的确认VPN中CE设备与PE设备的互联情况。

为了使本发明的方案更加清楚,下面结合图1的组网架构,对本发明的实施方式进行详细说明。

根据图1可知,在BGP/MPLS VPN中,PE1、CE1属于VPN1,PE2、CE2属于VPN2。假设由于VPN1和VPN2都使用了10.153.89.0/24网段的IP地址,因此在CE1和CE2上发生IP地址重复,例如都使用10.153.89.1的地址。此时,PE1检测VPN1中的链路连接状态的处理流程如图3所示,其中包括:

步骤301、获取配置VPN的端口对应的IP地址;

PE1获取自身配置VPN1的端口的IP地址,假设为10.153.89.0。

步骤302、以该IP地址为索引,搜索与该IP地址属于同一网段的CE设备;

使用该IP地址10.153.89.0为索引,查找与该IP地址属于同一网段的CE设备,即查找IP地址属于10.153.89.0/24网段的CE设备。已知CE1和CE2的IP地址均为10.153.89.1,因此可以查找到两个CE设备与该IP地址属于同一网段。

步骤303、获取CE设备对应的MAC地址;

PE1可以根据SNMP协议或者MIB协议读取CE1对应的MAC地址000f-e2e1-cabe;以及CE2的MAC地址0000-e2e1-cabe。

步骤304、判断ARP表项中是否存在与CE设备的MAC地址相同的MAC地址;若是,则转步骤305;若否,则转步骤306;

PE1在本地的ARP表项中查找IP地址为10.153.89.1对应的MAC地址,假设查找ARP表项的结果如图4所示,该ARP表项中包括CE设备的IP地址(IP Address)、MAC地址(MAC Address)、VLAN ID、端口号(Interface)以及老化时间(Aging)、类型(Type)等项目。在该ARP表项中查找到IP 地址为10.153.89.1对应的MAC地址为000f-e2e1-cabe,然后根据查找到的MAC地址与上述CE1和CE2的MAC地址分别进行比较。

步骤305、确认CE设备与PE设备属于同一VPN;

经比较可知,CE1的MAC地址000f-e2e1-cabe与PE1在该ARP表项中查找到的MAC地址000f-e2e1-cabe相同,因此可以确认CE1与PE1同属于VPN1。

步骤306、确认CE设备与PE设备不属于同一VPN。

经比较可知,CE2的MAC地址0000-e2e1-cabe与PE1在该ARP表项中查找到的MAC地址000f-e2e1-cabe不相同,因此可以确认CE2不属于VPN1。

由此可见,本发明可以在获取CE设备的IP地址同时,获取CE设备的MAC地址,并通过判断该CE设备的MAC地址和IP地址是否在PE设备的ARP表项中,来判断该CE设备是否与PE设备属于同一VPN,因此可以准确的确认CE设备与PE设备的互联情况。

基于相同的构思,本发明还提供一种VPN私网链路检测装置,所述装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的VPN私网链路检测装置作为一个逻辑意义上的装置,是通过其所在PE设备的CPU将存储器中对应的计算机程序指令读取后运行而成。

请参考图5及图6,是本发明一种示例性实施方式中的一种VPN私网链路检测装置600,所述装置应用于BGP/MPLS VPN中的PE设备,所述装置基本运行环境包括CPU,存储器以及其他硬件,从逻辑层面上来看,所述装置600包括:

搜索单元601,用于以PE设备上配置VPN的端口对应的IP地址为索引,搜索与所述IP地址属于同一网段的第一IP地址对应的CE设备;

获取单元602,用于获取所述CE设备对应的第一MAC地址;

判断单元603,用于判断所述PE设备的ARP表项中是否存在与所述第一MAC地址相同的MAC地址;

确认单元604,用于在所述PE设备的ARP表项中存在与所述第一MAC 地址相同的MAC地址时,确认所述CE设备与所述PE设备属于同一VPN。

可选的,所述获取单元602,具体用于根据SNMP或者MIB获取所述CE设备对应的第一MAC地址。

可选的,所述判断单元603,具体用于:

获取所述CE设备对应的第一IP地址;

在所述ARP表项中查找所述第一IP地址对应的MAC地址;

若查找到所述第一IP地址对应的MAC地址,判断所述MAC地址与所述第一MAC地址是否相同。

可选的,所述确认单元604,具体用于在所述MAC地址与所述第一MAC地址相同时,确认所述CE设备与所述PE设备属于同一VPN。

可选的,所述确认单元604,还用于在未查找到所述第一IP地址对应的MAC地址,或所述MAC地址与所述第一MAC地址不相同,则确认所述CE设备与所述PE设备不属于同一VPN。

综上所述,本发明可以在获取CE设备的IP地址同时,获取CE设备的MAC地址,并通过判断该CE设备的MAC地址和IP地址是否在PE设备的ARP表项中,来判断该CE设备是否与PE设备属于同一VPN,因此可以准确的确认VPN中CE设备与PE设备的互联情况。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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