一种VPN私网链路检测方法及装置转让专利

申请号 : CN201510218483.7

文献号 : CN106209485B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢尧洪丹轲张思拓吴柳黄文婷陈新南

申请人 : 中国南方电网有限责任公司

摘要 :

本发明提供一种VPN私网链路检测方法及装置,所述方法应用于BGP/MPLS VPN中的PE设备,所述方法包括:以所述PE设备上配置VPN的端口对应的IP地址为索引,搜索与所述IP地址属于同一网段的IP地址对应的CE设备;获取所述CE设备对应的第一MAC地址;判断所述PE设备的ARP表项中是否存在与所述第一MAC地址相同的MAC地址;若存在,则确认所述CE设备与所述PE设备属于同一VPN。因此可以准确的确认VPN中CE设备与PE设备的互联情况。

权利要求 :

1.一种虚拟专用网络VPN私网链路检测方法,其特征在于,所述方法应用于边界网关协议/多协议标签交换虚拟专用网络BGP/MPLS VPN中的运营商边缘PE设备,所述方法包括:以所述PE设备上配置VPN的端口对应的网络互连协议IP地址为索引,搜索与所述IP地址属于同一网段的IP地址对应的用户网络边缘CE设备;

获取所述CE对应的第一媒体介入控制层MAC地址;

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

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

2.根据权利要求1所述的方法,其特征在于,所述获取所述CE设备对应的第一MAC地址,包括:根据简单网络管理协议SNMP或者管理信息库MIB获取所述CE设备对应的第一MAC地址。

3.根据权利要求1所述的方法,其特征在于,所述判断所述PE设备的ARP表项中是否存在与所述CE设备对应的MAC地址相同的MAC地址,包括:获取所述CE设备对应的第一IP地址;

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

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

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述MAC地址与所述第一MAC地址相同,则确认所述CE设备与所述PE设备属于同一VPN。

5.根据权利要求3所述的方法,其特征在于,所述方法还包括:若未查找到所述第一IP地址对应的MAC地址,或所述MAC地址与所述第一MAC地址不相同,则确认所述CE设备与所述PE设备不属于同一VPN。

6.一种VPN私网链路检测装置,其特征在于,所述装置应用于BGP/MPLS VPN中的PE设备,所述装置包括:搜索单元,用于以PE设备上配置VPN的端口对应的IP地址为索引,搜索与所述IP地址属于同一网段的第一IP地址对应的CE设备;

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

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

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

7.根据权利要求6所述的装置,其特征在于,

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

8.根据权利要求6所述的装置,其特征在于,所述判断单元,具体用于:获取所述CE设备对应的第一IP地址;

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

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

9.根据权利要求8所述的装置,其特征在于,

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

10.根据权利要求8所述的装置,其特征在于,所述确认单元,还用于在未查找到所述第一IP地址对应的MAC地址,或所述MAC地址与所述第一MAC地址不相同,则确认所述CE设备与所述PE设备不属于同一VPN。

说明书 :

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

技术领域

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

背景技术

[0002] 在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私网的拓扑结构展示在该网络管理软件上。
[0003] 然而,由于VPN是一种私有网络,不同的VPN独立管理自己使用的地址范围,也称为地址空间,不同VPN的地址空间可能会在一定范围内重合,比如,VPN1和VPN2都使用了10.110.10.0/24网段的地址。在此种情况下,仅仅通过IP地址无法准确的定位检测到VPN私网中PE设备与CE设备的互联情况。

发明内容

[0004] 有鉴于此,本发明提供一种VPN私网链路检测方法及装置,来解决在BGP/MPLS VPN网络中无法准确判断CE设备与PE设备互联情况的问题。
[0005] 具体地,本发明是通过如下技术方案实现的:
[0006] 一种VPN私网链路检测方法,所述方法应用于BGP/MPLS VPN中的PE设备,所述方法包括:
[0007] 以所述PE设备上配置VPN的端口对应的IP地址为索引,搜索与所述IP地址属于同一网段的IP地址对应的CE设备;
[0008] 获取所述CE设备对应的第一MAC地址;
[0009] 判断所述PE设备的ARP表项中是否存在与所述第一MAC地址相同的MAC地址;
[0010] 若存在,则确认所述CE设备与所述PE设备属于同一VPN。
[0011] 进一步的,所述获取所述CE设备对应的第一MAC地址,包括:
[0012] 根据SNMP或者MIB获取所述CE设备对应的第一MAC地址。
[0013] 进一步的,所述判断所述PE设备的ARP表项中是否存在与所述CE设备对应的MAC地址相同的MAC地址,包括:
[0014] 获取所述CE设备对应的第一IP地址;
[0015] 在所述ARP表项中查找所述第一IP地址对应的MAC地址;
[0016] 若查找到所述第一IP地址对应的MAC地址,判断所述MAC地址与所述第一MAC地址是否相同。
[0017] 进一步的,所述方法还包括:
[0018] 若所述MAC地址与所述第一MAC地址相同,则确认所述CE设备与所述PE设备属于同一VPN。
[0019] 进一步的,所述方法还包括:
[0020] 若未查找到所述第一IP地址对应的MAC地址,或所述MAC地址与所述第一MAC地址不相同,则确认所述CE设备与所述PE设备不属于同一VPN。
[0021] 基于相同的构思,本发明还提供一种VPN私网链路检测装置,所述装置应用于BGP/MPLS VPN中的PE设备,所述装置包括:
[0022] 搜索单元,用于以PE设备上配置VPN的端口对应的IP地址为索引,搜索与所述IP地址属于同一网段的第一IP地址对应的CE设备;
[0023] 获取单元,用于获取所述CE设备对应的第一MAC地址;
[0024] 判断单元,用于判断所述PE设备的ARP表项中是否存在与所述第一MAC地址相同的MAC地址;
[0025] 确认单元,用于在所述PE设备的ARP表项中存在与所述第一MAC地址相同的MAC地址时,确认所述CE设备与所述PE设备属于同一VPN。
[0026] 进一步的,所述获取单元,具体用于根据SNMP或者MIB获取所述CE设备对应的第一MAC地址。
[0027] 进一步的,所述判断单元,具体用于:
[0028] 获取所述CE设备对应的第一IP地址;
[0029] 在所述ARP表项中查找所述第一IP地址对应的MAC地址;
[0030] 若查找到所述第一IP地址对应的MAC地址,判断所述MAC地址与所述第一MAC地址是否相同。
[0031] 进一步的,所述确认单元,具体用于在所述MAC地址与所述第一MAC地址相同时,确认所述CE设备与所述PE设备属于同一VPN。
[0032] 进一步的,所述确认单元,还用于在未查找到所述第一IP地址对应的MAC地址,或所述MAC地址与所述第一MAC地址不相同,则确认所述CE设备与所述PE设备不属于同一VPN。
[0033] 由此可见,本发明可以在获取CE设备的IP地址同时,获取CE设备的MAC地址,并通过判断该CE设备的MAC地址和IP地址是否在PE的ARP表项中,来判断该CE设备是否与PE设备属于同一VPN,因此可以准确的确认VPN中CE设备与PE设备的互联情况。

附图说明

[0034] 图1是本发明一种示例性实施方式中的VPN组网架构图;
[0035] 图2是本发明一种示例性实施方式中的一种VPN私网链路检测方法的处理流程图;
[0036] 图3是本发明一种示例性实施方式中的另一种VPN私网链路检测方法的处理流程图;
[0037] 图4是本发明一种示例性实施方式中的ARP表项示意图;
[0038] 图5是本发明一种示例性实施方式中VPN私网链路检测装置所在的PE的硬件结构图;
[0039] 图6是本发明一种示例性实施方式中的一种VPN私网链路检测装置的逻辑结构图。

具体实施方式

[0040] 请参考图1所示的VPN组网结构示意图。其中,通常包括PE设备和CE设备。CE设备是通过接口与服务提供商边缘设备相连的网络转发设备,CE设备可以是二层接入设备,也可以是一台主机;PE设备是服务提供商网络的边缘设备,PE设备与用户的CE设备直接相连。在VPN网络中,对VPN的所有处理都发生在PE设备上。
[0041] 图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的私网链路。
[0042] 为了解决上述问题,本发明可以在获取CE设备的IP地址的同时获取CE设备的MAC地址,并通过判断该CE设备的MAC地址和IP地址是否在PE的ARP(Address Resolution Protocol,地址解析协议)表项中,来判断该CE设备是否与PE设备属于同一VPN,因此可以准确的确认VPN中CE设备与PE设备的互联情况。
[0043] 请参考图2所示的本发明一种示例性实施方式中的一种VPN私网链路检测方法的处理流程图,该方法应用于BGP/MPLS VPN中的PE设备,所述方法包括:
[0044] 步骤201、以所述PE设备上配置VPN的端口对应的IP地址为索引,搜索与所述IP地址属于同一网段的第一IP地址对应的CE设备;
[0045] 在本实施例中,PE设备可以获取自身绑定了VPN的端口所对应的端口号,并根据该端口号获取该端口对应的IP地址。之后,PE设备可以用该IP地址为索引地址,查找与该IP地址位于同一网段的CE设备。
[0046] 步骤202、获取所述CE设备对应的第一MAC地址;
[0047] 在本发明可选的实施例中,PE可以根据SNMP(Simple Network Management Protocol,简单网络管理协议)或者MIB(Management Information Base,管理信息库)读取所述CE设备对应的第一MAC地址。
[0048] 步骤203、判断所述PE设备的ARP表项中是否存在与所述第一MAC地址相同的MAC地址;
[0049] 由于所述PE设备可以将与自身连接的所有设备的IP地址与MAC地址的对应关系,学习到本地的ARP表项中,因此PE设备可以获取本地的ARP表项,并判断本地的ARP表项中是否存在与CE设备的第一MAC地址相同的MAC地址。
[0050] 步骤204、若存在,则确认所述CE设备与所述PE设备属于同一VPN。
[0051] 当所述PE设备的ARP表项中存在与所述CE设备的第一MAC地址相同的MAC地址时,可以认为该CE设备与PE设备相互连接,从而可以认为该CE设备与PE设备属于同一VPN。
[0052] 在本发明可选的实施例中,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。
[0053] 由此可见,本发明可以在获取CE设备的IP地址的同时获取CE设备的MAC地址,并通过判断该CE设备的MAC地址和IP地址是否在PE的ARP表项中,来判断该CE设备是否与PE设备属于同一VPN,因此可以准确的确认VPN中CE设备与PE设备的互联情况。
[0054] 为了使本发明的方案更加清楚,下面结合图1的组网架构,对本发明的实施方式进行详细说明。
[0055] 根据图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所示,其中包括:
[0056] 步骤301、获取配置VPN的端口对应的IP地址;
[0057] PE1获取自身配置VPN1的端口的IP地址,假设为10.153.89.0。
[0058] 步骤302、以该IP地址为索引,搜索与该IP地址属于同一网段的CE设备;
[0059] 使用该IP地址10.153.89.0为索引,查找与该IP地址属于同一网段的CE设备,即查找IP地址属于10.153.89.0/24网段的CE设备。已知CE1和CE2的IP地址均为10.153.89.1,因此可以查找到两个CE设备与该IP地址属于同一网段。
[0060] 步骤303、获取CE设备对应的MAC地址;
[0061] PE1可以根据SNMP协议或者MIB协议读取CE1对应的MAC地址000f-e2e1-cabe;以及CE2的MAC地址0000-e2e1-cabe。
[0062] 步骤304、判断ARP表项中是否存在与CE设备的MAC地址相同的MAC地址;若是,则转步骤305;若否,则转步骤306;
[0063] 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地址分别进行比较。
[0064] 步骤305、确认CE设备与PE设备属于同一VPN;
[0065] 经比较可知,CE1的MAC地址000f-e2e1-cabe与PE1在该ARP表项中查找到的MAC地址000f-e2e1-cabe相同,因此可以确认CE1与PE1同属于VPN1。
[0066] 步骤306、确认CE设备与PE设备不属于同一VPN。
[0067] 经比较可知,CE2的MAC地址0000-e2e1-cabe与PE1在该ARP表项中查找到的MAC地址000f-e2e1-cabe不相同,因此可以确认CE2不属于VPN1。
[0068] 由此可见,本发明可以在获取CE设备的IP地址同时,获取CE设备的MAC地址,并通过判断该CE设备的MAC地址和IP地址是否在PE设备的ARP表项中,来判断该CE设备是否与PE设备属于同一VPN,因此可以准确的确认CE设备与PE设备的互联情况。
[0069] 基于相同的构思,本发明还提供一种VPN私网链路检测装置,所述装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的VPN私网链路检测装置作为一个逻辑意义上的装置,是通过其所在PE设备的CPU将存储器中对应的计算机程序指令读取后运行而成。
[0070] 请参考图5及图6,是本发明一种示例性实施方式中的一种VPN私网链路检测装置600,所述装置应用于BGP/MPLS VPN中的PE设备,所述装置基本运行环境包括CPU,存储器以及其他硬件,从逻辑层面上来看,所述装置600包括:
[0071] 搜索单元601,用于以PE设备上配置VPN的端口对应的IP地址为索引,搜索与所述IP地址属于同一网段的第一IP地址对应的CE设备;
[0072] 获取单元602,用于获取所述CE设备对应的第一MAC地址;
[0073] 判断单元603,用于判断所述PE设备的ARP表项中是否存在与所述第一MAC地址相同的MAC地址;
[0074] 确认单元604,用于在所述PE设备的ARP表项中存在与所述第一MAC地址相同的MAC地址时,确认所述CE设备与所述PE设备属于同一VPN。
[0075] 可选的,所述获取单元602,具体用于根据SNMP或者MIB获取所述CE设备对应的第一MAC地址。
[0076] 可选的,所述判断单元603,具体用于:
[0077] 获取所述CE设备对应的第一IP地址;
[0078] 在所述ARP表项中查找所述第一IP地址对应的MAC地址;
[0079] 若查找到所述第一IP地址对应的MAC地址,判断所述MAC地址与所述第一MAC地址是否相同。
[0080] 可选的,所述确认单元604,具体用于在所述MAC地址与所述第一MAC地址相同时,确认所述CE设备与所述PE设备属于同一VPN。
[0081] 可选的,所述确认单元604,还用于在未查找到所述第一IP地址对应的MAC地址,或所述MAC地址与所述第一MAC地址不相同,则确认所述CE设备与所述PE设备不属于同一VPN。
[0082] 综上所述,本发明可以在获取CE设备的IP地址同时,获取CE设备的MAC地址,并通过判断该CE设备的MAC地址和IP地址是否在PE设备的ARP表项中,来判断该CE设备是否与PE设备属于同一VPN,因此可以准确的确认VPN中CE设备与PE设备的互联情况。
[0083] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。