CN101312424B - Vpn结构还原方法和装置 - Google Patents
Vpn结构还原方法和装置 Download PDFInfo
- Publication number
- CN101312424B CN101312424B CN2007101072647A CN200710107264A CN101312424B CN 101312424 B CN101312424 B CN 101312424B CN 2007101072647 A CN2007101072647 A CN 2007101072647A CN 200710107264 A CN200710107264 A CN 200710107264A CN 101312424 B CN101312424 B CN 101312424B
- Authority
- CN
- China
- Prior art keywords
- vpn
- communication group
- matrix
- information
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种VPN(Virtual Private Network,虚拟私网)结构还原方法,包括:首先,根据网络设备的路由信息创建通信团体;然后,将多个通信团体进行合并,构造复合通信团体;再根据通信团体信息获取站点信息,以还原VPN结构。本发明还提供了一种VPN结构还原装置,能较好还原各种类型的VPN网络,消除了由于rt(route target,路由目标)冲突导致VPN结构还原失败的问题,并且对复杂的网络有更好的适用性。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种VPN结构还原方法和装置。
背景技术
VPN(Virtual Private Network,虚拟私网)技术是一种通过公众网络来传递私有网络数据的技术,通过这种技术可以把不同的私有网络连接起来。MPLS(Multiprotocol Label Switching,多协议标签交换)做为一种报文传输技术,在实现VPN网络的构建上,具有很重要的作用。MPLS通过在公网上建立LSP(Label Switched Path,标记交换路径)隧道来传输报文,基于MPLS的VPN就是通过LSP将私有网络的不同分支连接起来,形成一个统一的网络。
如图1所示,为现有技术中VPN网络的结构示意图。该VPN网络包括3个站点CE1、CE2、CE3和3个接入路由设备PE1、PE2、PE3。三个站点CE1、CE2、CE3组成了一个通信团体SC(Service Community,通信团体),由SC又组成一个VPN。接入到VPN的每个站点在接入路由设备上称为一个SA(Service Access,服务接入)。组建这样一个MPLS VPN的网络,需要在各个路由设备之间进行关联配置,从而使得相关站点能够互通。
现有技术中的组网方式包括full_mesh和hub_spoke两种,分别如图2、图3所示,full_mesh组网方式下,所有的站点间是两两互通的关系,采用SC的输入rt(route target,路由目标)值和输出rt值相同的方式,hub_spoke方式采用不同的输入输出rt值,只能在hub节点和spoke节点间进行互通。而对上述两种组网方式进行扩展的结构图,如图4所示,该扩展的hub_spoke方式,由于存在多个hub节点,并允许hub点的互通,所以需要增加一个rt值,可以是复用输入rt值或复用输出rt值。
现有技术中,对以上VPN组网的还原方法为:如果两个接口所在的vrf(路由转发实例)存在相同的输入输出rt,则取该相同的rt值作为SC的输入 输出rt构造一个full_mesh结构网络。如果两个接口所在的vrf的输入输出rt交集的rt值不同,则将相交的rt值分别作为SC的输入rt和输出rt构成hub_spoke结构网络,hub点的确立通常根据hub点和spoke点是一对多的关系来完成。
现有的VPN网络结构还原方法要求各SC间的rt值不能重用,两个SC即使rt值只是部分相同,也会出现冲突,导致有效SC被丢弃,从而出现部分网络结构还原失败的问题。而且,现有的VPN网络结构还原方法要求组建的是很规则的hub_spoke或full_mesh网络,但实际组网往往是多种组网方式的混合,即hub_spoke和full_mesh同时存在,在hub_spoke组网下,也可能没有具体的hub点还是spoke点之分,即没有明确的一对多关系。现有的VPN网络结构还原方法不能适用于这种不规则的组网方式。
发明内容
本发明提供一种VPN结构还原方法和装置,以解决现有技术的VPN结构还原方法,由于rt冲突导致网络结构还原失败,不能适用于不规则的组网方式的问题。
为达上述目的,本发明实施例提供了一种VPN结构还原方法,包括以下步骤:
根据网络设备的路由信息创建通信团体;
将多个所述通信团体进行合并,构造复合通信团体;
根据所述通信团体信息获取站点信息,以还原VPN结构。
所述根据网络设备的路由信息创建通信团体,具体包括:
获取网络设备接口的绑定路由信息;
根据所述绑定路由信息构造基本通信团体。
在所述将多个通信团体进行合并之前,还包括查找满足合并条件的基本通信团体,具体包括:
查找与full_mesh结构的基本通信团体具有相同路由信息的hub_spoke结构的基本通信团体,若所述full_mesh结构基本通信团体下的所有站点包含在 所述hub_spoke结构的基本通信团体中,则所述full_mesh结构的基本通信团体和所述hub_spoke结构的基本通信团体满足合并条件。
所述将多个通信团体进行合并,构造复合通信团体,包括以下步骤:
a.将一个站点下所有可能的基本通信团体的路由信息n个输入输出值进行排序,构造一个二维(Ai,Bj)矩阵,其中i和j为自然数,大于等于1且小于等于n,其中Ai代表输入路由信息,Bj代表输出路由信息,而Ai,Bj则表示一个可能的通信团体;
b.以一个全部为空点的矩阵为初始的结果矩阵,以任意一个在步骤a中构造的矩阵为当前矩阵与所述结果矩阵进行叠加;
c.重复步骤b直到所有矩阵叠加完成;其中所述叠加过程至少包括以下步骤;
d.查找当前矩阵及结果矩阵是否存在至少一个AmBm为有效的点;其中m为大于0的自然数,若不存在则不进行叠加,保持结果矩阵不变;若存在,则转到步骤e;
e.将两个矩阵每对对应AmBm点进行叠加,若该对AmBm点任意一个为有效点,则叠加结果为该有效的AmBm;
f.以步骤e中AmBm点为中心对其纵向和横向的点(Ax,By)分别进行对应叠加,其中x大于等于m小于等于i,y大于等于m小于等于j,且x,y中至少有一个等于m,Ax By点叠加原则如下:
若该点在结果矩阵中为无效点,则叠加结果为无效点;若结果矩阵中不存在无效点,当前矩阵中该点为有效点,则叠加结果为当前矩阵该点的输入输出值,若当前矩阵中该点为空点则叠加结果为无效点;而结果矩阵中Ax,By以外的点保持不变;
g.重复步骤e和f至所有可以叠加的点都叠加完毕,并获得最终的结果矩阵。
所述根据通信团体信息获取站点信息,以还原VPN结构,包括:
根据复合通信团体信息与没有叠加的通信团体信息,以及网络管理侧已知通信团体信息进行组合,并根据所述通信团体信息获取所述站点信息,根 据两个站点输入输出之间存在交集为同一VPN的原则,还原VPN结构。
所述根据通信团体信息获取站点信息,以还原VPN结构,进一步包括:将所述还原的VPN和网络管理侧已有的VPN进行比较,更新VPN信息,具体包括:
若所述网络管理侧已有的VPN中不存在所述还原的VPN,则将所述还原的VPN存储在所述网络管理侧已有的VPN中;
若所述网络管理侧已有的VPN中存在所述还原的VPN,则根据所述还原的VPN信息更新所述网络管理侧已有的VPN信息;
若所述还原的VPN和所述网络管理侧已有的多个VPN之间存在信息交叉,则进行冲突上报。
所述若网络管理侧已有的VPN中存在还原的VPN,则根据还原的VPN信息更新网络管理侧已有的VPN信息,具体包括:
若所述网络管理侧已有的VPN包括所述还原的VPN的所有信息,则不进行VPN信息的更新;
若所述网络管理侧已有的VPN包括所述还原的VPN的部分信息,则将所述构造的VPN的新增信息存储在网络管理侧已有的VPN中,更新网络管理侧已有的VPN信息。
本发明实施例还提供了一种VPN结构还原装置,包括:通信团体创建单元、通信团体合并单元和站点获取单元,
所述通信团体创建单元,用于根据网络设备的路由信息创建通信团体;
所述通信团体合并单元,连接所述通信团体创建单元,用于将多个所述通信团体进行合并,构造复合通信团体;
所述站点获取单元,连接所述通信团体合并单元,用于根据所述通信团体信息获取所述站点信息,以还原VPN结构。
所述通信团体创建单元,包括:路由信息获取子单元和基本通信团体构造子单元,
所述路由信息获取子单元,用于获取网络设备接口的绑定路由信息;
所述基本通信团体构造子单元,连接所述路由信息获取子单元,用于根据所述路由信息构造基本通信团体。
所述通信团体合并单元,包括:矩阵构造子单元和矩阵叠加子单元,
所述矩阵构造子单元,用于根据所述通信团体的路由信息构造叠加矩阵;
所述矩阵叠加子单元,连接所述矩阵构造子单元,用于将所述矩阵进行叠加。
所述装置还包括VPN更新单元,连接所述站点获取单元,用于将所述还原的VPN和网络管理侧已知的VPN进行比较,更新VPN信息。
与现有技术相比,本发明具有以下优点:
本发明一种VPN结构还原方法和装置,能较好还原各种类型的VPN组网,消除了由于rt冲突导致网络结构还原失败的问题,并且对复杂的网络有更好的适用性。
附图说明
图1是现有技术中VPN网络的结构示意图;
图2是现有技术中的full_mesh组网方式示意图;
图3是现有技术中的hub_spoke组网方式示意图;
图4是现有技术中的扩展hub_spoke组网方式示意图;
图5是本发明VPN分解的示意图;
图6是本发明一种VPN结构还原方法的流程图;
图7是本发明一种VPN结构还原方法的另一流程图;
图8是本发明矩阵的示意图;
图9是本发明一种VPN结构还原装置的示意图。
具体实施方式
下面以具体实施例结合附图对本发明进一步加以阐述。
如图6所示,图6是本发明一种VPN结构还原方法的流程图,包括以下步骤:
步骤S601,根据网络设备的路由信息创建通信团体。该路由信息即为图4中所示与网络设备接口绑定的vrf信息,根据该vrf信息计算出基本SC。
步骤S602,将多个通信团体进行合并,构造复合通信团体。将计算出的基本SC中满足合并条件的SC进行合并,构造复合SC。查找与full_mesh结构的SC具有相同路由信息的hub_spoke结构的SC,若full_mesh结构SC下的所有站点包含在该hub_spoke结构的SC中,则该full_mesh结构的SC和hub_spoke结构的SC满足合并条件。
步骤S603,根据通信团体信息获取站点信息,以还原VPN结构。根据复合通信团体信息与没有叠加的通信团体信息,以及网络管理侧已知通信团体信息进行组合,并根据通信团体信息获取站点信息,根据两个站点输入输出之间存在交集为同一VPN的原则,还原VPN结构。
本发明采用矩阵叠加的方式得到上述的复合SC,如图7所示,图7是本发明一种VPN结构还原方法的另一流程图。包括以下步骤:
步骤S701,获取接口绑定的vrf信息,并根据vrf信息计算基本SC和复合SC。
实际应用中VPN的组网都是基于基本的hub_spoke及full_mesh结构进行的,由这两种基本的结构组合为扩展的hub_spoke结构。因此,在对实际VPN进行还原时,需要根据接口绑定的vrf信息计算出基本的SC,该基本的SC即为hub_spoke或full_mesh结构的SC。
例如,图4所示的VPN即为实际应用中一种扩展的hub_spoke结构的VPN。图4所示的VPN是由一个full_mesh结构的SC和一个hub_spoke结构的SC扩展组合而成的,即为图5所示full_mesh结构的SC1(100:1,100:1)和hub_spoke结构的SC2(100:2,100:1)。以还原图4所示的VPN结构为例,本发明的实施例是通过对接口绑定的vrf信息的计算,还原出具有full_mesh 结构和hub_spoke结构的基本SC,然后再将还原出的基本SC进行组合,从而得到需还原的VPN结构。对基本SC进行组合,得到复合SC,需依据扩展结构的特性:hub点之间可以相互互通,但spoke点只能和hub点连通,以及组合为扩展SC的基本SC其rt存在复用关系,即只有符合严格的复合结构的基本SC才能组合成功。组合原则为:对每个full_mesh结构的SC,查找与该full_mesh结构的SC具有相同rt的hub_spoke结构的SC,如果该full_mesh结构下的所有站点也包含在该hub_spoke结构中,则将该full_mesh结构的SC和hub_spoke结构的SC复合为一个扩展结构的SC。
本实施方式中,对于任意矩阵的叠加采用如下方法:
a.将一个站点下所有可能的基本通信团体的路由信息n个输入输出值进行排序,构造一个二维(Ai,Bj)矩阵,其中i和j为自然数,大于等于1且小于等于n,其中Ai代表输入路由信息,Bj代表输出路由信息,而Ai,Bj则表示一个可能的通信团体;
b.以一个全部为空点的矩阵为初始的结果矩阵,以任意一个在上述步骤中构造的矩阵为当前矩阵与结果矩阵进行叠加;
c.重复步骤b直到所有矩阵叠加完成;其中上述叠加过程至少包括以下步骤;
d.查找当前矩阵及结果矩阵是否存在至少一个AmBm为有效的点;其中m为大于0的自然数,若不存在则不进行叠加,保持结果矩阵不变;若存在;转步骤e;
e.将两个矩阵每对对应AmBm点叠加,若该对AmBm点任意一个为有效点,则叠加结果为该有效的AmBm;
f.以步骤e中AmBm点为中心对其纵向和横向的点(Ax,By)分别进行对应叠加,其中x大于等于m小于等于i,y大于等于m小于等于j,且x,y中至少有一个等于m,AxBy点叠加原则如下:若该点在结果矩阵中为无效点,则叠加就结果为无效点;若结果矩阵中不存在无效点,当前矩阵中该点为有效点,则叠加结果为当前矩阵该点的输入输出值,若当前矩阵中该点为空点则叠加结果为无效点;而结果矩阵中Ax,By以外的点保持不变;
g.重复步骤e和f至所有可以叠加的点都叠加完毕获得最终的结果矩阵,代表一个复合的通信团体。
以还原图4所示的VPN结构为例,获取到接口绑定的vrf信息包括:vrf1的rt为(100:1|100:2,100:1),vrf2的rt为(100:1|100:2,100:1),vrf3的rt为(100:1,100:2),vrf4的rt为(100:1,100:2)。vrf1中100:1|100:2为输入rt,100:1为输出rt;vrf2中100:1|100:2为输入rt,100:1为输出rt;vrf3中100:1为输入rt,100:2为输出rt;vrf4中100:1为输入rt,100:2为输出rt。
利用矩阵的一二维坐标分别表示vrf信息的输入rt和输出rt,如图8所示,将所有SC的rt值排序并分别用矩阵的一二维坐标表示,对于每个vrf,如果该vrf接入某个SC,则通过在二维矩阵中记录一个点来表示该vrf的接入。例如:对于某个hub接入SC(200:1,100:1)的vrf1,在坐标(200:1,100:1)下记录一个点,图8中描述了SC(200:1,100:1)所在的位置。对于每个vrf,都可以建立上述类似的一个矩阵关系图。
通过上述获取的rt信息可知,上述的vrf信息中存在两个rt值,可断定最多只有四种SC,因此可建立一个2×2的矩阵,如下:
(100:1,100:2) | (100:2,100:2) |
(100:1,100:1) | (100:2,100:1) |
当然对于比较复杂的情况,矩阵规模会比较大,而矩阵的构造只是代表性的,不需要严格地按照输入输出rt值的大小来构造,否则遇到rt值之间差距很大的情况,矩阵将会变得很大;所以本实施方式推荐只要按照大小进行排序即可,其他适合的方式也可以,当然最好是保证矩阵对角线上的full_mesh才能占据。比如说:
(10:1,1000:2) | (100:2,100:2) |
(10:1,10:1) | (1000:2,100:1) |
以下介绍叠加过程:
将上述的vrf信息存储在该2×2的矩阵中,例如:vrfl的rt为(100:1|100:2,100:1),表明该vrf1接入了(100:1,100:1)和(100:2,100:1)两个SC,则可用矩阵M1表示为:
0 | 0 |
1 | 1 |
在矩阵中用0表示该点为空,即vrf没有接入该点的SC;用1表示该点为有效点,即vrf接入了该点的SC;用-1表示该点为无效点。
vrf2的rt为(100:1|100:2,100:1),表明该vrf2接入了(100:1,100:1)和(100:2,100:1)两个SC,则可用矩阵M2表示为:
0 | 0 |
1 | 1 |
vrf3的rt为(100:1,100:2),表明该vrf3接入了(100:1,100:2)的SC,则可用矩阵M3表示为:
1 | 0 |
0 | 0 |
vrf4的rt为(100:1,100:2),表明该vrf3接入了(100:1,100:2)的SC,则可用矩阵M4表示为:
1 | 0 |
0 | 0 |
于是,就将获取的vrf1、vrf2、vrf3和vrf4信息分别存储在了矩阵M1、M2、M3和M4中。然后,通过矩阵M1、M2、M3和M4的叠加来得到合并的SC。叠加规则如下:
A、定义一个矩阵用来存储矩阵叠加的结果,将当前新的vrf关系矩阵和结果矩阵进行叠加操作,并将叠加的结构存储在结果矩阵中;作为与下一个新的vrf关系矩阵进行叠加的对象,进一步叠加得到更新的叠加结果。
B、判断当前矩阵有无横纵坐标相同的点,横纵坐标相同的点表示对应该点的SC的输入rt和输出rt相同,则该SC为full_mesh结构,对于full_mesh点的叠加,只要当前或结果矩阵中有点,则叠加结果为有效。若当前矩阵中没有横纵坐标相同的点,则表明该矩阵中没有full_mesh结构SC,也就不能构成扩展的hub_spoke,则不做叠加处理;
C、当前矩阵中横纵坐标相同的点即为代表full_mesh结构SC的点,对于该代表full_mesh结构SC的点,获取该点坐标水平和垂直方向的其它点,并和结果矩阵内的点进行比较,进行比较的原则为:
C1、若结果矩阵的相应位置为无效点,则叠加就结果为无效点;
C2、若结果矩阵中不存在无效点,当前矩阵中的相应位置为有效点,则叠加结果为当前矩阵该点的输入输出值,若当前矩阵中的相应位置为空点,则叠加结果为无效点。
接续上述还原图4所示VPN结构的实施例,设定一个初始的结果矩阵I,并且该结果矩阵I也用来存储矩阵叠加的结果,设定初始的结果矩阵I如下:
0 | 0 |
0 | 0 |
将结果矩阵I和代表vrf1信息的矩阵M1进行叠加。叠加之前,首先判断矩阵M1中有无横纵坐标相同的点,如果有,则满足了上述的叠加规则B。矩阵M1中存在两个SC的点(100:1,100:1)和(100:2,100:1),其中(100:1,100:1)为横纵坐标相同的点。该横纵坐标相同的点表示对应该点的SC的输入rt和输出rt相同,也即该SC为full_mesh结构的SC,满足叠加条件的SC中必须存在具有full_mesh结构的SC。对于该代表full_mesh结构的点(100:1,100:1),获取该点坐标水平和垂直方向的其它点,并和结果矩阵内的点进行比较。在点(100:1,100:1)坐标水平和垂直方向的其它点还包括点(100:2,100:1),按照上述的比较原则可得到矩阵M1和结果矩阵I叠加的结果矩阵I1如下:
-1 | 0 |
1 | 1 |
I1中出现无效点,是因为当前矩阵M1的对应位置为空,M1对应位置为空表示该对应位置的点即不属于full_mesh结构的点,也不属于hub_spoke结构的点,不具备叠加的基本结构条件,因此将该点设置为无效点,不做任何处理。
然后,将当前矩阵M2和结果矩阵I1按照上述的叠加规则和比较原则继续进行叠加,得到结果矩阵I2如下:
-1 | 0 |
1 | 1 |
再将当前矩阵M3和结果矩阵I2继续叠加得到结果矩阵I3为:
-1 | 0 |
1 | 1 |
最后,将当前矩阵M4和结果矩阵I3继续叠加得到结果矩阵I4为:
-1 | 0 |
1 | 1 |
从最后的叠加结果I4中可获取到所有可合并的SC信息,判断的原则为:矩阵中每个一二维坐标相同的有效点,可以和其相同行或列内的其它有效点进行合并。于是,从上述的叠加结果I4中可看出SC(100:1,100:1)和SC(100:2,100:1)为可合并的SC。
上述的每次合并的结果矩阵中是否都能获取到参与运算的vrf的所有可合并SC,需要通过数学归纳法来证明。证明过程如下:
上述的实施例中存在四个基本SC:SC1(100:1,100:1)、SC2(100:2,100:1)、SC3(100:1,100:2)和SC4(100:2,100:2)。
首先,假设系统只存在一个vrfl,那么从结果矩阵I1中可知SC1和SC2可以复合。由于只有一个vrf,那么SC1下就只有vrf1一个站点,该站点同时也属于SC2,所以满足复合条件。
然后,假设系统新增了一个vrf(n+1),并且原有的n个vrf叠加后的矩阵是正确反映了可合并SC的关系,若要证明叠加了vrf(n+1)的矩阵后,结果矩阵还能正确反映所有可合并SC的关系,需要从以下几个方面进行分析:
(1)vrf(n+1)同时属于SC1和SC2,原矩阵中SC1和SC2存在合并关系,那么从结果矩阵可以得出SC1和SC2符合复合条件,这和上述的SC组合原则相符,即SC1下的所有站点,包括原有的该站点下的vrf和vrf(n+1),而原有的该站点下的vrf和vrf(n+1)同时也属于SC2。
(2)vrf(n+1)同时属于SC1和SC2,但原有的关系矩阵排除了SC1和SC2的合并关系,按照叠加原则,结果矩阵中两个SC也不能合并,即原 有的关系矩阵中将SC1和SC2的合并关系设置为无效,这也符合SC组合原则。
(3)vrf(n+1)同时属于SC1和SC2,原有的关系矩阵没有记录SC1和SC2的合并关系,也未置为无效,按照叠加原则,结果矩阵中增加SC1和SC2的合并关系。因为目前为止,SC1下还只有vrf(n+1)一个站点,但该站点同时也属于SC2,符合SC1和SC2的组合原则,所以需要记录下这两个SC的合并关系。
(4)vrf(n+1)只属于SC1,不论原矩阵关系如何,结果矩阵都被设置为SC1和SC2不能合并,也符合组合原则,即SC1下新增的站点vrf(n+1)不属于SC2,和组合原则中SC1下的所有站点同时也属于SC2相冲突。
(5)vrf(n+1)只属于SC2,不论原矩阵关系如何,结果矩阵都被设置为SC1和SC2不能合并,也符合组合原则,即SC2下新增的站点vrf(n+1)不属于SC1。
通过上述的证明过程,可证明出每次合并的结果矩阵中都能获取到参与运算的vrf的所有可合并SC。另外本发明的实施例只阐述了两个SC的叠加处理,对于多个SC叠加的情况,同样是多对SC的两两叠加过程,因此多个SC的叠加一样能够能获取到参与运算的vrf的所有可合并SC。
步骤S702,将复合SC、没参与叠加的基本SC和网管侧的SC一同组合VPN。
复合SC创建完成后,对于hub_spoke类型的VPN,需要重新确定hub端,确定原则为:优先选择包含一个节点的SC为hub端;如果VPN中的所有SC都包含多个节点,则随机选择VPN中的一个SC作为hub端。确定hub端之后,将复合SC、没参与叠加的基本SC和网管侧的SC一同组合VPN。网管侧的SC相对于复合SC和没参与叠加的基本SC,为已有的SC。将复合SC、没参与叠加的基本SC和网管侧的SC一同进行合并,从而构造VPN。SC的合并原则为:接口存在交集的SC合并为一个VPN。也即将存在连通关系的SC合并到一个VPN下,作为一个管理和维护的单位,以供后续进行连通性审计等操作。
步骤S703,判断新组合的VPN和网管侧VPN之间的关系,更新VPN。
合并SC得到新组合的VPN后,需要根据该新组合的VPN信息,更新网管 侧的VPN信息。因此需要判断新组合的VPN和网管侧的VPN之间的关系,包括以下几种关系:
a、新组合的VPN是全新的VPN,即网管侧的VPN内还没有该新组合VPN的任何SC以及接入信息;
b、新组合的VPN是已存在的VPN,而且已存在的VPN包括了新组合VPN的所有SC和接入信息;
c、新组合的VPN是已存在的VPN,而且新组合的VPN除了部分SC以及接入信息在网络侧的VPN中存在以外,还包括其它新的SC和接入信息;
d、新组合的VPN和网管侧的多个VPN存在接口的交叉关系,即该新组合的VPN为更大的VPN,并且包括网管侧的多个VPN。
针对以上几种关系,若新组合的VPN是全新的VPN,则直接将该新的VPN和SC信息添加到网管侧的VPN信息中;新组合的VPN是已存在的VPN,而且已存在的VPN包括了新组合VPN的所有SC和接入信息,则不做VPN的更新处理,保持已有的VPN信息;若新组合的VPN是已存在的VPN,而且新组合的VPN除了部分SC以及接入信息在网络侧的VPN中存在以外,还包括其它新的SC和接入信息,则将该新组合的VPN中新的SC和接入信息添加到该网管侧已存在的VPN中;若新组合的VPN和网管侧的多个VPN存在接口的交叉关系,则采用冲突报告的方式,上报发现一个更大的VPN,由于新组合的VPN和网管侧已有的VPN存在冲突,而又无权对网管侧的VPN进行修改,从而导致新组合的VPN添加失败。
步骤S704,根据所构造VPN的SC信息获取该VPN中的站点信息。
根据更新后当前VPN的SC信息,查找各个SC下的服务接入,并通过接入接口的网段信息进一步获取各个SC中的站点信息,从而实现了对VPN的还原。
本发明还提供了一种还原VPN结构的装置,如图10所示,包括:通信团体创建单元100、通信团体合并单元200、站点获取单元300和VPN更新单元400。
其中,通信团体创建单元100,用于根据网络设备的路由信息创建通信团 体。首先,获取网络设备接口的绑定路由信息;然后,根据该路由信息构造基本通信团体。
通信团体合并单元200,连接通信团体创建单元100,用于将多个通信团体进行合并,构造复合通信团体。将满足合并条件的通信团体进行合并。查找与full_mesh结构的基本通信团体具有相同路由信息的hub_spoke结构的基本通信团体,若full_mesh结构基本通信团体下的所有站点包含在hub_spoke结构的基本通信团体中,则full_mesh结构的基本通信团体和hub_spoke结构的基本通信团体满足合并条件。
站点获取单元300,连接通信团体合并单元200,用于根据通信团体信息获取站点信息,以还原VPN结构。根据复合通信团体信息与没有叠加的通信团体信息,以及网络管理侧已知通信团体信息进行组合,并根据通信团体信息获取站点信息,根据两个站点输入输出之间存在交集为同一VPN的原则,还原VPN结构。
VPN更新单元400,连接站点获取单元300,用于将还原的VPN和网络管理侧已知的VPN进行比较,更新VPN信息。
若还原的VPN是全新的VPN,则直接将该新的VPN和SC信息添加到网管侧的VPN信息中;若还原的VPN是已存在的VPN,而且已存在的VPN包括了还原VPN的所有SC和接入信息,则不做VPN的更新处理,保持已有的VPN信息;若还原的VPN是已存在的VPN,而且还原的VPN除了部分SC以及接入信息在网络侧的VPN中存在以外,还包括其它新的SC和接入信息,则将该还原的VPN中新的SC和接入信息添加到该网管侧已存在的VPN中;若还原的VPN和网管侧的多个VPN存在接口的交叉关系,则采用冲突报告的方式,上报发现一个更大的VPN,由于还原的VPN和网管侧已有的VPN存在冲突,而又无权对网管侧的VPN进行修改,从而导致还原的VPN添加失败。
通信团体创建单元100,包括:路由信息获取子单元101和基本通信团体构造子单元102。
路由信息获取子单元101,用于获取网络设备接口的绑定路由信息。
基本通信团体构造子单元102,连接路由信息获取子单元101,用于根据路由信息构造基本通信团体。
通信团体合并单元200,包括:矩阵构造子单元201和矩阵叠加子单元202。
矩阵构造子单元201,用于根据通信团体的路由信息构造叠加矩阵。
矩阵叠加子单元202,连接矩阵构造子单元201,用于将构造的矩阵按照以下叠加原则进行叠加:
a.将一个站点下所有可能的基本通信团体的路由信息n个输入输出值进行排序,构造一个二维(Ai,Bj)矩阵,其中i和j为自然数,大于等于1且小于等于n,其中Ai代表输入路由信息,Bj代表输出路由信息,而Ai,Bj则表示一个可能的通信团体;
b.以一个全部为空点的矩阵为初始的结果矩阵,以任意一个在上述步骤中构造的矩阵为当前矩阵与结果矩阵进行叠加;
c.重复步骤b直到所有矩阵叠加完成;其中上述叠加过程至少包括以下步骤;
d.查找当前矩阵及结果矩阵是否存在至少一个AmBm为有效的点;其中m为大于0的自然数,若不存在则不进行叠加,保持结果矩阵不变;若存在;转步骤e;
e.将两个矩阵每对对应AmBm点叠加,若该对AmBm点任意一个为有效点,则叠加结果为该有效的AmBm;
f.以步骤e中AmBm点为中心对其纵向和横向的点(Ax,By)分别进行对应叠加,其中x大于等于m小于等于i,y大于等于m小于等于j,且x,y中至少有一个等于m,AxBy点叠加原则如下:若该点在结果矩阵中为无效点,则叠加就结果为无效点;若结果矩阵中不存在无效点,当前矩阵中该点为有效点,则叠加结果为当前矩阵该点的输入输出值,若当前矩阵中该点为空点则叠加结果为无效点;而结果矩阵中Ax,By以外的点保持不变;
g.重复步骤e和f至所有可以叠加的点都叠加完毕获得最终的结果矩阵,代表一个复合的通信团体。
本发明提供的一种VPN结构还原方法和装置的实施例,能较好还原各种类型的VPN组网,消除了由于rt冲突导致网络结构还原失败的问题,并且对复杂的网络有更好的适用性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种VPN结构还原方法,其特征在于,包括以下步骤:
根据网络设备的路由信息创建通信团体;
将多个所述通信团体进行合并,构造复合通信团体;
根据复合通信团体信息与没有叠加的通信团体信息,以及网络管理侧已知通信团体信息进行组合,并根据通信团体信息获取站点信息,根据两个站点输入输出之间存在交集为同一VPN的原则,还原VPN结构。
2.如权利要求1所述VPN结构还原方法,其特征在于,所述根据网络设备的路由信息创建通信团体,具体包括:
获取网络设备接口的绑定路由信息;
根据所述绑定路由信息构造基本通信团体。
3.如权利要求1所述VPN结构还原方法,其特征在于,在所述将多个通信团体进行合并之前,还包括查找满足合并条件的基本通信团体,具体包括:
查找与full_mesh结构的基本通信团体具有相同路由信息的hub_spoke结构的基本通信团体,若所述full_mesh结构基本通信团体下的所有站点包含在所述hub_spoke结构的基本通信团体中,则所述full_mesh结构的基本通信团体和所述hub_spoke结构的基本通信团体满足合并条件。
4.如权利要求1所述VPN结构还原方法,其特征在于,所述将多个通信团体进行合并,构造复合通信团体,包括以下步骤:
a.将一个站点下所有可能的基本通信团体的路由信息n个输入输出值进行排序,构造一个二维(Ai,Bj)矩阵,其中i和j为自然数,大于等于1且小于等于n,其中Ai代表输入路由信息,Bj代表输出路由信息,而Ai,Bj则表示一个可能的通信团体;
b.以一个全部为空点的矩阵为初始的结果矩阵,以任意一个在步骤a中构造的矩阵为当前矩阵与所述结果矩阵进行叠加;
c.重复步骤b直到所有矩阵叠加完成;其中所述叠加过程至少包括以下步骤;
d.查找当前矩阵及结果矩阵是否存在至少一个AmBm为有效的点;其中m为大于0的自然数,若不存在则不进行叠加,保持结果矩阵不变;若存在,则转到步骤e;
e.将两个矩阵每对对应AmBm点进行叠加,若该对AmBm点任意一个为有效点,则叠加结果为该有效的AmBm;
f.以步骤e中AmBm点为中心对其纵向和横向的点(Ax,By)分别进行对应叠加,其中x大于等于m小于等于i,y大于等于m小于等于j,且x,y中至少有一个等于m,AxBy点叠加原则如下:
若该点在结果矩阵中为无效点,则叠加结果为无效点;若结果矩阵中不存在无效点,当前矩阵中该点为有效点,则叠加结果为当前矩阵该点的输入输出值,若当前矩阵中该点为空点则叠加结果为无效点;而结果矩阵中Ax,By以外的点保持不变;
g.重复步骤e和f至所有可以叠加的点都叠加完毕,并获得最终的结果矩阵。
5.如权利要求1所述VPN结构还原方法,其特征在于,进一步包括:将所述还原的VPN和网络管理侧已有的VPN进行比较,更新VPN信息,具体包括:
若所述网络管理侧已有的VPN中不存在所述还原的VPN,则将所述还原的VPN存储在所述网络管理侧已有的VPN中;
若所述网络管理侧已有的VPN中存在所述还原的VPN,则根据所述还原的VPN信息更新所述网络管理侧已有的VPN信息;
若所述还原的VPN和所述网络管理侧已有的多个VPN之间存在信息交叉,则进行冲突上报。
6.如权利要求5所述VPN结构还原方法,其特征在于,所述若网络管理侧已有的VPN中存在还原的VPN,则根据还原的VPN信息更新网络管理侧已有的VPN信息,具体包括:
若所述网络管理侧已有的VPN包括所述还原的VPN的所有信息,则不 进行VPN信息的更新;
若所述网络管理侧已有的VPN包括所述还原的VPN的部分信息,则将所述构造的VPN的新增信息存储在网络管理侧已有的VPN中,更新网络管理侧已有的VPN信息。
7.一种VPN结构还原装置,其特征在于,包括:通信团体创建单元、通信团体合并单元和站点获取单元,
所述通信团体创建单元,用于根据网络设备的路由信息创建通信团体;
所述通信团体合并单元,连接所述通信团体创建单元,用于将多个所述通信团体进行合并,构造复合通信团体;
所述站点获取单元,连接所述通信团体合并单元,用于根据复合通信团体信息与没有叠加的通信团体信息,以及网络管理侧已知通信团体信息进行组合,并根据通信团体信息获取站点信息,根据两个站点输入输出之间存在交集为同一VPN的原则,还原VPN结构。
8.如权利要求7所述VPN结构还原装置,其特征在于,所述通信团体创建单元,包括:路由信息获取子单元和基本通信团体构造子单元;
所述路由信息获取子单元,用于获取网络设备接口的绑定路由信息;
所述基本通信团体构造子单元,连接所述路由信息获取子单元,用于根据所述路由信息构造基本通信团体。
9.如权利要求7所述VPN结构还原装置,其特征在于,所述通信团体合并单元,包括:矩阵构造子单元和矩阵叠加子单元,
所述矩阵构造子单元,用于根据所述通信团体的路由信息构造叠加矩阵;
所述矩阵叠加子单元,连接所述矩阵构造子单元,用于将所述矩阵进行叠加。
10.如权利要求7所述VPN结构还原装置,其特征在于,所述装置还包括VPN更新单元,连接所述站点获取单元,用于将所述还原的VPN和网络管理侧已知的VPN进行比较,更新VPN信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101072647A CN101312424B (zh) | 2007-05-25 | 2007-05-25 | Vpn结构还原方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101072647A CN101312424B (zh) | 2007-05-25 | 2007-05-25 | Vpn结构还原方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101312424A CN101312424A (zh) | 2008-11-26 |
CN101312424B true CN101312424B (zh) | 2011-11-16 |
Family
ID=40100853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101072647A Active CN101312424B (zh) | 2007-05-25 | 2007-05-25 | Vpn结构还原方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101312424B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103078792B (zh) * | 2012-12-24 | 2016-05-04 | 杭州华三通信技术有限公司 | 一种isis lsp发布方法和设备 |
CN112260928B (zh) * | 2020-11-02 | 2022-05-17 | 迈普通信技术股份有限公司 | 节点切换方法、装置、电子设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630249A (zh) * | 2003-12-19 | 2005-06-22 | 华为技术有限公司 | 一种虚拟专用网中实现用户站点分级管理的方法 |
CN1780249A (zh) * | 2004-11-25 | 2006-05-31 | 华为技术有限公司 | 一种实现不同种类的第三层虚拟个人网络互通的方法 |
-
2007
- 2007-05-25 CN CN2007101072647A patent/CN101312424B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630249A (zh) * | 2003-12-19 | 2005-06-22 | 华为技术有限公司 | 一种虚拟专用网中实现用户站点分级管理的方法 |
CN1780249A (zh) * | 2004-11-25 | 2006-05-31 | 华为技术有限公司 | 一种实现不同种类的第三层虚拟个人网络互通的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101312424A (zh) | 2008-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7076537B2 (en) | Designing interconnect fabrics | |
Forghani-elahabad et al. | Finding all the lower boundary points in a multistate two-terminal network | |
CN102946356B (zh) | 一种基于cb-pe网络的组播报文传输方法和设备 | |
CN106487548B (zh) | 一种处理potn虚接口的方法及装置 | |
US9820020B2 (en) | Grooming method and device for packet optical transport network | |
Woolsey et al. | A combinatorial design for cascaded coded distributed computing on general networks | |
CN110490381A (zh) | 基于混合整数规划的公交主干线规划方法 | |
CN101312424B (zh) | Vpn结构还原方法和装置 | |
CN106059882A (zh) | 一种路由插入的方法及装置 | |
CN106789727A (zh) | 报文分类方法和装置 | |
CN109582735A (zh) | 一种区块链知识单元存储系统 | |
CN109033603B (zh) | 基于源流路径链的智能变电站二次系统仿真方法 | |
CN105227468A (zh) | 一种查找装置、查找方法和配置方法 | |
CN108063686B (zh) | 一种基于立方体结构的数据中心网络拓扑结构及构建方法 | |
Zhu et al. | A new parallel and distributed shortest path algorithm for hierarchically clustered data networks | |
Toda et al. | Autonomous and distributed construction of locality aware skip graph | |
CN110138444B (zh) | 一种基于模糊博弈的多域光网络动态组播共享保护方法 | |
CN103763210A (zh) | 一种基于链路聚合的流量负载分担方法和设备 | |
Chen et al. | Genus characterizes the complexity of certain graph problems: Some tight results | |
Bhattacharya et al. | Multicasting in generalized multistage interconnection networks | |
CN112241888B (zh) | 基于公链的地址管理系统 | |
Qiu et al. | Load balancing, selection and sorting on the star and pancake interconnection networks | |
CN113177212B (zh) | 联合预测方法和装置 | |
CN107196833B (zh) | 一种vlan划分方法及装置 | |
CN116614232B (zh) | 一种用于分布式通信的非线性密钥更新方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou science and Technology Industrial Park, high tech Industrial Development Zone, Zhejiang Province, No. six and road, No. 310 Patentee before: Huasan Communication Technology Co., Ltd. |