專利名稱::Vpn結(jié)構(gòu)還原方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及網(wǎng)絡(luò)通信
技術(shù)領(lǐng)域:
,尤其涉及一種VPN結(jié)構(gòu)還原方法和裝置。技術(shù)背景VPN(VirtualPrivateNetwork,虛擬私網(wǎng))才支術(shù)是一種通過/^眾網(wǎng)纟各來傳遞私有網(wǎng)絡(luò)數(shù)據(jù)的技術(shù),通過這種技術(shù)可以把不同的私有網(wǎng)絡(luò)連接起來。MPLS(MultiprotocolLabelSwitching,多協(xié)議標簽交換)^敝為一種l艮文傳輸技術(shù),在實現(xiàn)VPN網(wǎng)絡(luò)的構(gòu)建上,具有很重要的作用。MPLS通過在公網(wǎng)上建立LSP(LabelSwitchedPath,標記交換路徑)隧道來傳輸報文,基于MPLS的VPN就是通過LSP將私有網(wǎng)絡(luò)的不同分支連接起來,形成一個統(tǒng)一的網(wǎng)絡(luò)。如圖l所示,為現(xiàn)有技術(shù)中VPN網(wǎng)絡(luò)的結(jié)構(gòu)示意圖。該VPN網(wǎng)絡(luò)包括3個站點CE1、CE2、CE3和3個接入路由設(shè)備PE1、PE2、PE3。三個站點CE1、CE2、CE3組成了一個通信團體SC(ServiceCommunity,通信團體),由SC又組成一個VPN。接入到VPN的每個站點在接入路由i殳備上稱為一個SA(ServiceAccess,服務(wù)接入)。組建這樣一個MPLSVPN的網(wǎng)絡(luò),需要在各個路由設(shè)備之間進行關(guān)聯(lián)配置,從而使得相關(guān)站點能夠互通?,F(xiàn)有技術(shù)中的組網(wǎng)方式包括fUll—mesh和hub—spoke兩種,分別如圖2、圖3所示,fUlLmesh組網(wǎng)方式下,所有的站點間是兩兩互通的關(guān)系,采用SC的輸入rt(routetarget,^各由目標)值和輸出rt^f直相同的方式,hub_spoke方式采用不同的輸入輸出rt值,只能在hub節(jié)點和spoke節(jié)點間進行互通。而對上述兩種組網(wǎng)方式進行擴展的結(jié)構(gòu)圖,如圖4所示,該擴展的hub—spoke方式,由于存在多個hub節(jié)點,并允許hub點的互通,所以需要增加一個rt值,可以是復用輸入rt值或復用輸出rt值?,F(xiàn)有技術(shù)中,對以上VPN組網(wǎng)的還原方法為如果兩個接口所在的vrf(路由轉(zhuǎn)發(fā)實例)存在相同的輸入輸出rt,則取該相同的rt值作為SC的輸入輸出rt構(gòu)造一個fUll一mesh結(jié)構(gòu)網(wǎng)絡(luò)。如果兩個接口所在的vrf的輸入輸出rt交集的rt值不同,則將相交的rt值分別作為SC的輸入rt和輸出rt構(gòu)成hub—spoke結(jié)構(gòu)網(wǎng)絡(luò),hub點的確立通常根據(jù)hub點和spoke點是一對多的關(guān)系來完成。現(xiàn)有的VPN網(wǎng)絡(luò)結(jié)構(gòu)還原方法要求各SC間的rt值不能重用,兩個SC即使rt值只是部分相同,也會出現(xiàn)沖突,導致有效SC被丟棄,從而出現(xiàn)部分網(wǎng)絡(luò)結(jié)構(gòu)還原失敗的問題。而且,現(xiàn)有的VPN網(wǎng)絡(luò)結(jié)構(gòu)還原方法要求組建的是很規(guī)則的hub—spoke或foil—mesh網(wǎng)絡(luò),但實際組網(wǎng)往往是多種組網(wǎng)方式的混合,即hub一spoke和foil—mesh同時存在,在hub_spoke組網(wǎng)下,也可能沒有具體的hub點還是spoke點之分,即沒有明確的一對多關(guān)系。現(xiàn)有的VPN網(wǎng)絡(luò)結(jié)構(gòu)還原方法不能適用于這種不規(guī)則的組網(wǎng)方式。
發(fā)明內(nèi)容本發(fā)明提供一種VPN結(jié)構(gòu)還原方法和裝置,以解決現(xiàn)有技術(shù)的VPN結(jié)構(gòu)還原方法,由于rt沖突導致網(wǎng)絡(luò)結(jié)構(gòu)還原失敗,不能適用于不規(guī)則的組網(wǎng)方式的問題。為達上述目的,本發(fā)明實施例提供了一種VPN結(jié)構(gòu)還原方法,包括以下步驟根據(jù)網(wǎng)絡(luò)設(shè)備的路由信息創(chuàng)建通信團體;將多個所述通信團體進行合并,構(gòu)造復合通信團體;才艮據(jù)所述通信團體信息獲取站點信息,以還原VPN結(jié)構(gòu)。所述根據(jù)網(wǎng)絡(luò)設(shè)備的路由信息創(chuàng)建通信團體,具體包括獲取網(wǎng)絡(luò)設(shè)備接口的綁定路由信息;根據(jù)所述綁定路由信息構(gòu)造基本通信團體。在所述將多個通信團體進行合并之前,還包括查找滿足合并條件的基本通信團體,具體包括查找與foil—mesh結(jié)構(gòu)的基本通信團體具有相同路由信息的hub_spoke結(jié)構(gòu)的基本通信團體,若所述foil—mesh結(jié)構(gòu)基本通信團體下的所有站點包含在所述hub—spoke結(jié)構(gòu)的基本通信團體中,則所述fUll一mesh結(jié)構(gòu)的基本通信團體和所述hub_spoke結(jié)構(gòu)的基本通信團體滿足合并條件。所述將多個通信團體進行合并,構(gòu)造復合通信團體,包括以下步驟a.將一個站點下所有可能的基本通信團體的路由信息n個輸入輸出值進行排序,構(gòu)造一個二維(A"Bj)矩陣,其中i和j為自然數(shù),大于等于l且小于等于n,其中Ai代表輸入路由信息,Bj代表輸出路由信息,而A;,Bj則表示一個可能的通信團體;b.以一個全部為空點的矩陣為初始的結(jié)果矩陣,以任意一個在步驟a中構(gòu)造的矩陣為當前矩陣與所述結(jié)果矩陣進行疊加;c.重復步驟b直到所有矩陣疊加完成;其中所述疊加過程至少包括以下步驟;d.查找當前矩陣及結(jié)果矩陣是否存在至少一個AmBm為有效的點;其中m為大于O的自然數(shù),若不存在則不進行疊加,保持結(jié)果矩陣不變;若存在,則轉(zhuǎn)到步驟e;e.將兩個矩陣每對對應AmBm點進行疊加,若該對AmBm點任意一個為有效點,則疊加結(jié)果為該有效的AmBm;f.以步驟e中An3m點為中心對其縱向和橫向的點(Ax,By)分別進行對應疊加,其中x大于等于m小于等于i,y大于等于m小于等于j,且x,y中至少有一個等于m,AxBy點疊加原則如下若該點在結(jié)果矩陣中為無效點,則疊加結(jié)果為無效點;若結(jié)果矩陣中不存在無效點,當前矩陣中該點為有效點,則疊加結(jié)果為當前矩陣該點的輸入輸出值,若當前矩陣中該點為空點則疊加結(jié)果為無效點;而結(jié)果矩陣中Ax,By以外的點保持不變;g.重復步驟e和f至所有可以疊加的點都疊加完畢,并獲得最終的結(jié)果矩陣。所述根據(jù)通信團體信息獲取站點信息,以還原VPN結(jié)構(gòu),包括根據(jù)復合通信團體信息與沒有疊加的通信團體信息,以及網(wǎng)絡(luò)管理側(cè)已知通信團體信息進行組合,并根據(jù)所述通信團體信息獲取所述站點信息,根據(jù)兩個站點輸入輸出之間存在交集為同一VPN的原則,還原VPN結(jié)構(gòu)。所述根據(jù)通信團體信息獲取站點信息,以還原VPN結(jié)構(gòu),進一步包括將所述還原的VPN和網(wǎng)絡(luò)管理側(cè)已有的VPN進行比較,更新VPN信息,具體包括若所述網(wǎng)絡(luò)管理側(cè)已有的VPN中不存在所述還原的VPN,則將所述還原的VPN存儲在所述網(wǎng)絡(luò)管理側(cè)已有的VPN中;若所述網(wǎng)絡(luò)管理側(cè)已有的VPN中存在所述還原的VPN,則根據(jù)所述還原的VPN信息更新所述網(wǎng)絡(luò)管理側(cè)已有的VPN信息;若所述還原的VPN和所述網(wǎng)絡(luò)管理側(cè)已有的多個VPN之間存在信息交叉,則進行沖突上報。所述若網(wǎng)絡(luò)管理側(cè)已有的VPN中存在還原的VPN,則根據(jù)還原的VPN信息更新網(wǎng)絡(luò)管理側(cè)已有的VPN信息,具體包括若所述網(wǎng)絡(luò)管理側(cè)已有的VPN包括所述還原的VPN的所有信息,則不進行VPN信息的更新;若所述網(wǎng)絡(luò)管理側(cè)已有的VPN包括所述還原的VPN的部分信息,則將所述構(gòu)造的VPN的新增信息存儲在網(wǎng)絡(luò)管理側(cè)已有的VPN中,更新網(wǎng)絡(luò)管理側(cè)已有的VPN信息。本發(fā)明實施例還提供了一種VPN結(jié)構(gòu)還原裝置,包括通信團體創(chuàng)建單元、通信團體合并單元和站點獲取單元,所述通信團體創(chuàng)建單元,用于根據(jù)網(wǎng)絡(luò)設(shè)備的路由信息創(chuàng)建通信團體;所述通信團體合并單元,連接所述通信團體創(chuàng)建單元,用于將多個所述通信團體進行合并,構(gòu)造復合通信團體;所述站點獲取單元,連接所述通信團體合并單元,用于根據(jù)所述通信團體信息獲取所述站點信息,以還原VPN結(jié)構(gòu)。所述通信團體創(chuàng)建單元,包括路由信息獲取子單元和基本通信團體構(gòu)造子單元,所述路由信息獲取子單元,用于獲取網(wǎng)絡(luò)設(shè)備接口的綁定路由信息;所述基本通信團體構(gòu)造子單元,連接所述路由信息獲取子單元,用于根據(jù)所述路由信息構(gòu)造基本通信團體。所述通信團體合并單元,包括矩陣構(gòu)造子單元和矩陣疊加子單元,所述矩陣構(gòu)造子單元,用于根據(jù)所述通信團體的路由信息構(gòu)造疊加矩陣;所述矩陣疊加子單元,連接所述矩陣構(gòu)造子單元,用于將所述矩陣進行疊加。所述裝置還包括VPN更新單元,連接所述站點獲取單元,用于將所述還原的VPN和網(wǎng)絡(luò)管理側(cè)已知的VPN進行比較,更新VPN信息。本發(fā)明實施例還提供了一種計算機程序,包括若干指令用以使得一臺計算機設(shè)備執(zhí)行前述的VPN結(jié)構(gòu)還原方法。本發(fā)明實施例還提供了一種存儲介質(zhì),存儲上述VPN結(jié)構(gòu)還原方法的計算機程序。本發(fā)明實施例還提供了一種計算機設(shè)備,包括用以執(zhí)行前述VPN結(jié)構(gòu)還原方法的軟件及與軟件配合的硬件。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點本發(fā)明一種VPN結(jié)構(gòu)還原方法和裝置,能較好還原各種類型的VPN組網(wǎng),消除了由于rt沖突導致網(wǎng)絡(luò)結(jié)構(gòu)還原失敗的問題,并且對復雜的網(wǎng)絡(luò)有更好的適用性。圖1是現(xiàn)有技術(shù)中VPN網(wǎng)絡(luò)的結(jié)構(gòu)示意圖;圖2是現(xiàn)有技術(shù)中的foil—mesh組網(wǎng)方式示意圖;圖3是現(xiàn)有技術(shù)中的hub一spoke組網(wǎng)方式示意圖;圖4是現(xiàn)有技術(shù)中的擴展hub—spoke組網(wǎng)方式示意圖;圖5是本發(fā)明VPN分解的示意圖;圖6是本發(fā)明一種VPN結(jié)構(gòu)還原方法的流程圖;圖7是本發(fā)明一種VPN結(jié)構(gòu)還原方法的另一流程圖;圖8是本發(fā)明矩陣的示意圖;圖9是本發(fā)明一種VPN結(jié)構(gòu)還原裝置的示意圖。具體實施例方式下面以具體實施例結(jié)合附圖對本發(fā)明進一步加以闡述。如圖6所示,圖6是本發(fā)明一種VPN結(jié)構(gòu)還原方法的流程圖,包括以下步驟步驟S601,根據(jù)網(wǎng)絡(luò)設(shè)備的路由信息創(chuàng)建通信團體。該路由信息即為圖4中所示與網(wǎng)絡(luò)設(shè)備接口綁定的vrf信息,根據(jù)該vrf信息計算出基本SC。步驟S602,將多個通信團體進行合并,構(gòu)造復合通信團體。將計算出的基本SC中滿足合并條件的SC進行合并,構(gòu)造復合SC。查找與fUll—mesh結(jié)構(gòu)的SC具有相同路由信息的hub_spoke結(jié)構(gòu)的SC,若fUll一mesh結(jié)構(gòu)SC下的所有站點包含在該hub—spoke結(jié)構(gòu)的SC中,則該fiill一mesh結(jié)構(gòu)的SC和hub—spoke結(jié)構(gòu)的SC滿足合并條件。步驟S603,根據(jù)通信團體信息獲取站點信息,以還原VPN結(jié)構(gòu)。根據(jù)復合通信團體信息與沒有疊加的通信團體信息,以及網(wǎng)絡(luò)管理側(cè)已知通信團體信息進行組合,并根據(jù)通信團體信息獲取站點信息,根據(jù)兩個站點輸入輸出之間存在交集為同一VPN的原則,還原VPN結(jié)構(gòu)。本發(fā)明采用矩陣疊加的方式得到上述的復合SC,如圖7所示,圖7是本發(fā)明一種VPN結(jié)構(gòu)還原方法的另一流程圖。包括以下步驟步驟S701,獲取接口綁定的vrf信息,并根據(jù)vrf信息計算基本SC和復合sc。實際應用中VPN的組網(wǎng)都是基于基本的hub_spoke及fiill—mesh結(jié)構(gòu)進行的,由這兩種基本的結(jié)構(gòu)組合為擴展的hub—spoke結(jié)構(gòu)。因此,在對實際VPN進行還原時,需要根據(jù)接口綁定的vrf信息計算出基本的SC,該基本的SC即為hub—spoke或foil—mesh結(jié)構(gòu)的SC。例如,圖4所示的VPN即為實際應用中一種擴展的hub—spoke結(jié)構(gòu)的VPN。圖4所示的VPN是由一個fUll—mesh結(jié)構(gòu)的SC和一個hub—spoke結(jié)構(gòu)的SC擴展組合而成的,即為圖5所示foil—mesh結(jié)構(gòu)的SCI(100:1,100:1)和hub—spoke結(jié)構(gòu)的SC2(100:2,100:1)。以還原圖4所示的VPN結(jié)構(gòu)為例,本發(fā)明的實施例是通過對接口綁定的vrf信息的計算,還原出具有fUll—mesh結(jié)構(gòu)和hub—spoke結(jié)構(gòu)的基本SC,然后再將還原出的基本SC進行組合,從而得到需還原的VPN結(jié)構(gòu)。對基本SC進行組合,得到復合SC,需依據(jù)擴展結(jié)構(gòu)的特性hub點之間可以相互互通,但spoke點只能和hub點連通,以及組合為擴展SC的基本SC其rt存在復用關(guān)系,即只有符合嚴格的復合結(jié)構(gòu)的基本SC才能組合成功。組合原則為對每個fU11—mesh結(jié)構(gòu)的SC,查找與該foil—mesh結(jié)構(gòu)的SC具有相同rt的hub—spoke結(jié)構(gòu)的SC,如果該foil—mesh結(jié)構(gòu)下的所有站點也包含在該hub_spoke結(jié)構(gòu)中,則將該fUll一mesh結(jié)構(gòu)的SC和hub—spoke結(jié)構(gòu)的SC復合為一個擴展結(jié)構(gòu)的SC。本實施方式中,對于任意矩陣的疊加釆用如下方法a.將一個站點下所有可能的基本通信團體的路由信息n個輸入輸出值進行排序,構(gòu)造一個二維(Ai,Bj)矩陣,其中i和j為自然數(shù),大于等于l且小于等于n,其中Ai代表輸入路由信息,Bj代表輸出路由信息,而Ai,Bj則表示一個可能的通信團體;b.以一個全部為空點的矩陣為初始的結(jié)果矩陣,以任意一個在上述步驟中構(gòu)造的矩陣為當前矩陣與結(jié)果矩陣進行疊加;c.重復步驟b直到所有矩陣疊加完成;其中上述疊加過程至少包括以下步驟;d.查找當前矩陣及結(jié)果矩陣是否存在至少一個AmBm為有效的點;其中m為大于0的自然數(shù),若不存在則不進行疊加,保持結(jié)果矩陣不變;若存在;轉(zhuǎn)步驟e;e.將兩個矩陣每對對應AmBm點疊加,若該對AmBm點任意一個為有效點,則疊加結(jié)果為該有效的AmBm;f.以步驟e中AmBm點為中心對其縱向和橫向的點(Ax,By)分別進行對應疊加,其中x大于等于m小于等于i,y大于等于m小于等于j,且x,y中至少有一個等于m,AxBy點疊加原則如下若該點在結(jié)果矩陣中為無效點,則疊加就結(jié)果為無效點;若結(jié)果矩陣中不存在無效點,當前矩陣中該點為有效點,則疊加結(jié)果為當前矩陣該點的輸入輸出值,若當前矩陣中該點為空點則疊加結(jié)果為無效點;而結(jié)果矩陣中Ax,By以外的點保持不變;g.重復步驟e和f至所有可以疊加的點都疊加完畢獲得最終的結(jié)果矩陣,代表一個復合的通信團體。以還原圖4所示的VPN結(jié)構(gòu)為例,獲取到接口綁定的vrf信息包括vrfl的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)。vrfl中100:11100: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)的vrfl,在坐標(200:1,100:1)下記錄一個點,圖8中描述了SC(200:1,100:1)所在的位置。對于每個vrf,都可以建立上述類似的一個矩陣關(guān)系圖。通過上述獲取的rt信息可知,上述的vrf信息中存在兩個rt值,可斷定最多只有四種SC,因此可建立一個2x2的矩陣,如下(100:1,100:2)(100:2,100:2)(100:1,100:1)(100:2,100:1)當然對于比較復雜的情況,矩陣規(guī)模會比較大,而矩陣的構(gòu)造只是代表性的,不需要嚴格地按照輸入輸出rt值的大小來構(gòu)造,否則遇到rt值之間差距很大的情況,矩陣將會變得很大;所以本實施方式推薦只要按照大小進行排序即可,其他適合的方式也可以,當然最好是保證矩陣對角線上的fiill_mesh才能占據(jù)。比如iJL:<table>tableseeoriginaldocumentpage13</column></row><table>以下介紹疊加過程將上述的vrf信息存儲在該2x2的矩陣中,例如vrfl的rt為(100:1|100:2,100:1),表明該vrfl接入了(100:1,100:1)和(100:2,100:1)兩個SC,則可用矩陣M1表示為0011在矩陣中用0表示該點為空,即vrf沒有接入該點的SC;用1表示該點為有效點,即vrf接入了該點的SC;用-l表示該點為無效點。vrf2的rt為(100:1|100:2,100:1),表明該vrf2接入了(100:1,100:1)和(100:2,100:1)兩個SC,則可用矩陣M2表示為<table>tableseeoriginaldocumentpage14</column></row><table>vrf3的rt為(100:1,100:2),表明該vrf3接入了(100:1,100:2)的SC,則可用矩陣M3表示為<table>tableseeoriginaldocumentpage14</column></row><table>vrf4的rt為(100:1,100:2),表明該vrf3接入了(100:1,100:2)的SC,則可用矩陣M4表示為<table>tableseeoriginaldocumentpage14</column></row><table>于是,就將獲取的vrfl、vrf2、vrf3和vrf4信息分別存儲在了矩陣Ml、M2、M3和M4中。然后,通過矩陣Ml、M2、M3和M4的疊加來得到合并的SC。疊加規(guī)則如下A、定義一個矩陣用來存儲矩陣疊加的結(jié)果,將當前新的vrf關(guān)系矩陣和結(jié)果矩陣進行疊加操作,并將疊加的結(jié)構(gòu)存儲在結(jié)果矩陣中;作為與下一個新的vrf關(guān)系矩陣進行疊加的對象,進一步疊加得到更新的疊加結(jié)果。B、判斷當前矩陣有無橫縱坐標相同的點,橫縱坐標相同的點表示對應該點的SC的輸入rt和輸出rt相同,則該SC為foil—mesh結(jié)構(gòu),對于fUll—mesh點的疊加,只要當前或結(jié)果矩陣中有點,則疊加結(jié)果為有效。若當前矩陣中沒有4黃縱坐標相同的點,則表明該矩陣中沒有fUll_mesh結(jié)構(gòu)SC,也就不能構(gòu)成擴展的hub—spoke,則不做疊加處理;C、當前矩陣中橫縱坐標相同的點即為代表fii11—mesh結(jié)構(gòu)SC的點,對于該代表fUlLmesh結(jié)構(gòu)SC的點,獲取該點坐標水平和垂直方向的其它點,并和結(jié)果矩陣內(nèi)的點進行比較,進行比較的原則為d、若結(jié)果矩陣的相應位置為無效點,則疊加就結(jié)果為無效點;C2、若結(jié)果矩陣中不存在無效點,當前矩陣中的相應位置為有效點,則疊加結(jié)果為當前矩陣該點的輸入輸出值,若當前矩陣中的相應位置為空點,則疊加結(jié)果為無效點。接續(xù)上述還原圖4所示VPN結(jié)構(gòu)的實施例,設(shè)定一個初始的結(jié)果矩陣I,并且該結(jié)果矩陣I也用來存儲矩陣疊加的結(jié)果,設(shè)定初始的結(jié)果矩陣I如下<table>tableseeoriginaldocumentpage15</column></row><table>將結(jié)果矩陣I和代表vrfl信息的矩陣Ml進行疊加。疊加之前,首先判斷矩陣M1中有無橫縱坐標相同的點,如果有,則滿足了上述的疊加規(guī)則B。矩陣M1中存在兩個SC的點(100:1,100:1)和(100:2,100:1),其中(100:1,100:1)為橫縱坐標相同的點。該橫縱坐標相同的點表示對應該點的SC的輸入rt和輸出rt相同,也即該SC為full_mesh結(jié)構(gòu)的SC,滿足疊加條件的SC中必須存在具有fUll—mesh結(jié)構(gòu)的SC。對于該代表foil—mesh結(jié)構(gòu)的點(100:1,100:1),獲取該點坐標水平和垂直方向的其它點,并和結(jié)果矩陣內(nèi)的點進^f亍比較。在點(100:1,100:1)坐標水平和垂直方向的其它點還包括點(100:2,100:1),按照上述的比較原則可得到矩陣M1和結(jié)果矩陣I疊加的結(jié)果矩陣L如下<table>tableseeoriginaldocumentpage15</column></row><table>L中出現(xiàn)無效點,是因為當前矩陣M1的對應位置為空,Ml對應位置為空表示該對應位置的點即不屬于fiill_mesh結(jié)構(gòu)的點,也不屬于hub—spoke結(jié)構(gòu)的點,不具備疊加的基本結(jié)構(gòu)條件,因此將該點設(shè)置為無效點,不做任何處理。然后,將當前矩陣M2和結(jié)果矩陣I!按照上述的疊加規(guī)則和比較原則繼續(xù)進行疊加,得到結(jié)果矩陣12如下<table>tableseeoriginaldocumentpage16</column></row><table>再將當前矩陣M3和結(jié)果矩陣12繼續(xù)疊加得到結(jié)果矩陣13為:<table>tableseeoriginaldocumentpage16</column></row><table>最后,將當前矩陣M4和結(jié)果矩陣13繼續(xù)疊加得到結(jié)果矩陣14為:<table>tableseeoriginaldocumentpage16</column></row><table>從最后的疊加結(jié)果14中可獲取到所有可合并的SC信息,判斷的原則為矩陣中每個一二維坐標相同的有效點,可以和其相同行或列內(nèi)的其它有效點進行合并。于是,從上述的疊加結(jié)果14中可看出SC(100:1,100:1)和SC(100:2,100:1)為可合并的SC。上述的每次合并的結(jié)果矩陣中是否都能獲取到參與運算的vrf的所有可合并SC,需要通過數(shù)學歸納法來證明。證明過程如下上述的實施例中存在四個基本SC:SC1(100:1,100:1)、SC2(100:2,100:1)、SC3(100:1,100:2)和SC4(100:2,100:2)。首先,,H殳系統(tǒng)只存在一個vrfl,那么從結(jié)果矩陣h中可知SC1和SC2可以復合。由于只有一個vrf,那么SC1下就只有vrfl—個站點,該站點同時也屬于SC2,所以滿足復合條件。然后,,i設(shè)系統(tǒng)新增了一個vrf(n+l),并且原有的n個vrf疊加后的矩陣是正確反映了可合并SC的關(guān)系,若要證明疊加了vrf(n+l)的矩陣后,結(jié)果矩陣還能正確反映所有可合并SC的關(guān)系,需要從以下幾個方面進行分析(1)vrf(n+l)同時屬于SC1和SC2,原矩陣中SC1和SC2存在合并關(guān)系,那么從結(jié)果矩陣可以得出SC1和SC2符合復合條件,這和上述的SC組合原則相符,即SC1下的所有站點,包括原有的該站點下的vrf和vr《n+l),而原有的該站點下的vrf和vrf(n+l)同時也屬于SC2。(2)vrf(n+l)同時屬于SC1和SC2,但原有的關(guān)系矩陣排除了SC1和SC2的合并關(guān)系,按照疊加原則,結(jié)果矩陣中兩個SC也不能合并,即原有的關(guān)系矩陣中將SC1和SC2的合并關(guān)系設(shè)置為無效,這也符合SC組合原則。(3)vrf(n+l)同時屬于SC1和SC2,原有的關(guān)系矩陣沒有記錄SCI和SC2的合并關(guān)系,也未置為無效,按照疊加原則,結(jié)果矩陣中增加SC1和SC2的合并關(guān)系。因為目前為止,SC1下還只有vrf(n+l)—個站點,但該站點同時也屬于SC2,符合SC1和SC2的組合原則,所以需要記錄下這兩個SC的合并關(guān)系。(4)vrf(n+l)只屬于SC1,不論原矩陣關(guān)系如何,結(jié)果矩陣都被設(shè)置為SC1和SC2不能合并,也符合組合原則,即SC1下新增的站點vrf(n+l)不屬于SC2,和組合原則中SC1下的所有站點同時也屬于SC2相沖突。(5)vrf(n+l)只屬于SC2,不論原矩陣關(guān)系如何,結(jié)果矩陣都^皮設(shè)置為SC1和SC2不能合并,也符合組合原則,即SC2下新增的站點vrf(n+l)不屬于SC1。通過上述的證明過程,可證明出每次合并的結(jié)果矩陣中都能獲取到參與運算的vrf的所有可合并SC。另外本發(fā)明的實施例只闡述了兩個SC的疊加處理,對于多個SC疊加的情況,同樣是多對SC的兩兩疊加過程,因此多個SC的疊加一樣能夠能獲取到參與運算的vrf的所有可合并SC。步驟S702,將復合SC、沒參與疊加的基本SC和網(wǎng)管側(cè)的SC—同組合VPN。復合SC創(chuàng)建完成后,對于hub—spoke類型的VPN,需要重新確定hub端,確定原則為優(yōu)先選擇包含一個節(jié)點的SC為hub端;如果VPN中的所有SC都包含多個節(jié)點,則隨機選擇VPN中的一個SC作為hub端。確定hub端之后,將復合SC、沒參與疊加的基本SC和網(wǎng)管側(cè)的SC—同組合VPN。網(wǎng)管側(cè)的SC相對于復合SC和沒參與疊加的基本SC,為已有的SC。將復合SC、沒參與疊加的基本SC和網(wǎng)管側(cè)的SC—同進行合并,從而構(gòu)造VPN。SC的合并原則為接口存在交集的SC合并為一個VPN。也即將存在連通關(guān)系的SC合并到一個VPN下,作為一個管理和維護的單位,以供后續(xù)進行連通性審計等操作。步驟S703,判斷新組合的VPN和網(wǎng)管側(cè)VPN之間的關(guān)系,更新VPN。合并SC得到新組合的VPN后,需要根據(jù)該新組合的VPN信息,更新網(wǎng)管側(cè)的VPN信息。因此需要判斷新組合的VPN和網(wǎng)管側(cè)的VPN之間的關(guān)系,包括以下幾種關(guān)系a、新組合的VPN是全新的VPN,即網(wǎng)管側(cè)的VPN內(nèi)還沒有該新組合VPN的任何SC以及接入信息;b、新組合的VPN是已存在的VPN,而且已存在的VPN包括了新組合VPN的所有SC和接入信息;c、新組合的VPN是已存在的VPN,而且新組合的VPN除了部分SC以及接入信息在網(wǎng)絡(luò)側(cè)的VPN中存在以外,還包括其它新的SC和接入信息;d、新組合的VPN和網(wǎng)管側(cè)的多個VPN存在接口的交叉關(guān)系,即該新組合的VPN為更大的VPN,并且包括網(wǎng)管側(cè)的多個VPN。針對以上幾種關(guān)系,若新組合的VPN是全新的VPN,則直接將該新的VPN和SC信息添加到網(wǎng)管側(cè)的VPN信息中;新組合的VPN是已存在的VPN,而且已存在的VPN包括了新組合VPN的所有SC和接入信息,則不估支VPN的更新處理,保持已有的VPN信息;若新組合的VPN是已存在的VPN,而且新組合的VPN除了部分SC以及接入信息在網(wǎng)絡(luò)側(cè)的VPN中存在以外,還包括其它新的SC和接入信息,則將該新組合的VPN中新的SC和接入信息添加到該網(wǎng)管側(cè)已存在的VPN中;若新組合的VPN和網(wǎng)管側(cè)的多個VPN存在接口的交叉關(guān)系,則采用沖突報告的方式,上報發(fā)現(xiàn)一個更大的VPN,由于新組合的VPN和網(wǎng)管側(cè)已有的VPN存在沖突,而又無權(quán)對網(wǎng)管側(cè)的VPN進行修改,從而導致新組合的VPN添加失敗。步驟S704,根據(jù)所構(gòu)造VPN的SC信息獲取該VPN中的站點信息。根據(jù)更新后當前VPN的SC信息,查找各個SC下的服務(wù)接入,并通過接入接口的網(wǎng)段信息進一步獲取各個SC中的站點信息,從而實現(xiàn)了對VPN的還原。本發(fā)明還提供了一種還原VPN結(jié)構(gòu)的裝置,如圖IO所示,包括通信團體創(chuàng)建單元100、通信團體合并單元200、站點獲取單元300和VPN更新單元400。其中,通信團體創(chuàng)建單元IOO,用于根據(jù)網(wǎng)絡(luò)設(shè)備的路由信息創(chuàng)建通信團18體。首先,獲取網(wǎng)絡(luò)設(shè)備接口的綁定路由信息;然后,根據(jù)該路由信息構(gòu)造基本通信團體。通信團體合并單元200,連接通信團體創(chuàng)建單元100,用于將多個通信團體進行合并,構(gòu)造復合通信團體。將滿足合并條件的通信團體進行合并。查找與fUll一mesh結(jié)構(gòu)的基本通信團體具有相同路由信息的hub—spoke結(jié)構(gòu)的基本通信團體,若fiill一mesh結(jié)構(gòu)基本通信團體下的所有站點包含在hub—spoke結(jié)構(gòu)的基本通信團體中,則foil—mesh結(jié)構(gòu)的基本通信團體和hub—spoke結(jié)構(gòu)的基本通信團體滿足合并條件。站點獲取單元300,連接通信團體合并單元200,用于根據(jù)通信團體信息獲取站點信息,以還原VPN結(jié)構(gòu)。根據(jù)復合通信團體信息與沒有疊加的通信團體信息,以及網(wǎng)絡(luò)管理側(cè)已知通信團體信息進行組合,并根據(jù)通信團體信息獲取站點信息,根據(jù)兩個站點輸入輸出之間存在交集為同一VPN的原則,還原VPN結(jié)構(gòu)。VPN更新單元400,連接站點獲取單元300,用于將還原的VPN和網(wǎng)絡(luò)管理側(cè)已知的VPN進行比較,更新VPN信息。若還原的VPN是全新的VPN,則直接將該新的VPN和SC信息添加到網(wǎng)管側(cè)的VPN信息中;若還原的VPN是已存在的VPN,而且已存在的VPN包括了還原VPN的所有SC和接入信息,則不做VPN的更新處理,保持已有的VPN信息;若還原的VPN是已存在的VPN,而且還原的VPN除了部分SC以及接入信息在網(wǎng)絡(luò)側(cè)的VPN中存在以外,還包括其它新的SC和接入信息,則將該還原的VPN中新的SC和接入信息添加到該網(wǎng)管側(cè)已存在的VPN中;若還原的VPN和網(wǎng)管側(cè)的多個VPN存在接口的交叉關(guān)系,則采用沖突報告的方式,上才H現(xiàn)一個更大的VPN,由于還原的VPN和網(wǎng)管側(cè)已有的VPN存在沖突,而又無權(quán)對網(wǎng)管側(cè)的VPN進行修改,從而導致還原的VPN添加失敗。通信團體創(chuàng)建單元IOO,包括路由信息獲取子單元101和基本通信團體構(gòu)造子單元102。路由信息獲取子單元101,用于獲取網(wǎng)絡(luò)設(shè)備接口的綁定路由信息?;就ㄐ艌F體構(gòu)造子單元102,連接路由信息獲取子單元101,用于根據(jù)路由信息構(gòu)造基本通信團體。通信團體合并單元200,包括矩陣構(gòu)造子單元201和矩陣疊加子單元202。矩陣構(gòu)造子單元201,用于根據(jù)通信團體的路由信息構(gòu)造疊加矩陣。矩陣疊加子單元202,連接矩陣構(gòu)造子單元201,用于將構(gòu)造的矩陣,接照以下疊加原則進4于疊加a.將一個站點下所有可能的基本通信團體的路由信息n個輸入輸出值進行排序,構(gòu)造一個二維(Ai,Bj)矩陣,其中i和j為自然數(shù),大于等于l且小于等于n,其中Ai代表輸入路由信息,Bj代表輸出路由信息,而Ai,Bj則表示一個可能的通信團體;b.以一個全部為空點的矩陣為初始的結(jié)果矩陣,以任意一個在上述步驟中構(gòu)造的矩陣為當前矩陣與結(jié)果矩陣進行疊加;c.重復步驟b直到所有矩陣疊加完成;其中上述疊加過程至少包括以下步驟;d.查找當前矩陣及結(jié)果矩陣是否存在至少一個AmBm為有效的點;其中m為大于O的自然數(shù),若不存在則不進行疊加,保持結(jié)果矩陣不變;若存在;轉(zhuǎn)步驟e;e.將兩個矩陣每對對應AmBm點疊力。,若該對AmBm點任意一個為有效點,則疊加結(jié)果為該有效的AmBm;f.以步驟e中AmBm點為中心對其縱向和橫向的點(Ax,By)分別進行對應疊加,其中x大于等于m小于等于i,y大于等于m小于等于j,且x,y中至少有一個等于m,AxBy點疊加原則如下若該點在結(jié)果矩陣中為無效點,則疊加就結(jié)果為無效點;若結(jié)果矩陣中不存在無效點,當前矩陣中該點為有效點,則疊加結(jié)果為當前矩陣該點的輸入輸出值,若當前矩陣中該點為空點則疊加結(jié)果為無效點;而結(jié)果矩陣中Ax,By以外的點保持不變;g.重復步驟e和f至所有可以疊加的點都疊加完畢獲得最終的結(jié)果矩陣,代表一個復合的通信團體。本發(fā)明提供的一種VPN結(jié)構(gòu)還原方法和裝置的實施例,能較好還原各種類型的VPN組網(wǎng),消除了由于rt沖突導致網(wǎng)絡(luò)結(jié)構(gòu)還原失敗的問題,并且對復雜的網(wǎng)絡(luò)有更好的適用性。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過>5更件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以^使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應落入本發(fā)明的保護范圍。權(quán)利要求1、一種VPN結(jié)構(gòu)還原方法,其特征在于,包括以下步驟根據(jù)網(wǎng)絡(luò)設(shè)備的路由信息創(chuàng)建通信團體;將多個所述通信團體進行合并,構(gòu)造復合通信團體;根據(jù)所述通信團體信息獲取站點信息,以還原VPN結(jié)構(gòu)。2、如權(quán)利要求1所述VPN結(jié)構(gòu)還原方法,其特征在于,所述根據(jù)網(wǎng)絡(luò)設(shè)備的路由信息創(chuàng)建通信團體,具體包括獲取網(wǎng)絡(luò)設(shè)備接口的綁定路由信息;根據(jù)所述綁定路由信息構(gòu)造基本通信團體。3、如權(quán)利要求1所述VPN結(jié)構(gòu)還原方法,其特征在于,在所述將多個通信團體進行合并之前,還包括查找滿足合并條件的基本通信團體,具體包括查找與fbll_mesh結(jié)構(gòu)的基本通信團體具有相同路由信息的hub—spoke結(jié)構(gòu)的基本通信團體,若所述fUll—mesh結(jié)構(gòu)基本通信團體下的所有站點包含在所述hub—spoke結(jié)構(gòu)的基本通信團體中,則所述fiill_mesh結(jié)構(gòu)的基本通信團體和所述hub_spoke結(jié)構(gòu)的基本通信團體滿足合并條件。4、如權(quán)利要求1所述VPN結(jié)構(gòu)還原方法,其特征在于,所述將多個通信團體進行合并,構(gòu)造復合通信團體,包括以下步驟a.將一個站點下所有可能的基本通信團體的路由信息n個輸入輸出值進行排序,構(gòu)造一個二維(A,Bj)矩陣,其中i和j為自然數(shù),大于等于l且小于等于n,其中Ai代表輸入路由信息,Bj代表輸出路由信息,而Ai,Bj則表示一個可能的通信團體;b.以一個全部為空點的矩陣為初始的結(jié)果矩陣,以任意一個在步驟a中構(gòu)造的矩陣為當前矩陣與所述結(jié)果矩陣進行疊加;c.重復步驟b直到所有矩陣疊加完成;其中所述疊加過程至少包括以下d.查找當前矩陣及結(jié)果矩陣是否存在至少一個AmBm為有效的點;其中m為大于0的自然數(shù),若不存在則不進行疊加,保持結(jié)果矩陣不變;若存在,則轉(zhuǎn)到步驟e;e.將兩個矩陣每對對應AmBm點進行疊加,若該對AmBm點任意一個為有效點,則疊加結(jié)果為該有效的AmBm;f.以步驟e中AmBm點為中心對其縱向和橫向的點(Ax,By)分別進行對應疊加,其中x大于等于m小于等于i,y大于等于m小于等于j,且x,y中至少有一個等于m,AxBy點疊加原則如下若該點在結(jié)果矩陣中為無效點,則疊加結(jié)果為無效點;若結(jié)果矩陣中不存在無效點,當前矩陣中該點為有效點,則疊加結(jié)果為當前矩陣該點的輸入輸出值,若當前矩陣中該點為空點則疊加結(jié)果為無效點;而結(jié)果矩陣中Ax,By以外的點保持不變;g.重復步驟e和f至所有可以疊加的點都疊加完畢,并獲得最終的結(jié)果矩陣。5、如權(quán)利要求1所述VPN結(jié)構(gòu)還原方法,其特征在于,所述根據(jù)通信團體信息獲取站點信息,以還原VPN結(jié)構(gòu),包括根據(jù)復合通信團體信息與沒有疊加的通信團體信息,以及網(wǎng)絡(luò)管理側(cè)已知通信團體信息進行組合,并根據(jù)所述通信團體信息獲取所述站點信息,根據(jù)兩個站點輸入輸出之間存在交集為同一VPN的原則,還原VPN結(jié)構(gòu)。6、如權(quán)利要求5所述VPN結(jié)構(gòu)還原方法,其特征在于,所述根據(jù)通信團體信息獲取站點信息,以還原VPN結(jié)構(gòu),進一步包括將所述還原的VPN和網(wǎng)絡(luò)管理側(cè)已有的VPN進行比較,更新VPN信息,具體包括若所述網(wǎng)絡(luò)管理側(cè)已有的VPN中不存在所述還原的VPN,則將所述還原的VPN存儲在所述網(wǎng)絡(luò)管理側(cè)已有的VPN中;若所述網(wǎng)絡(luò)管理側(cè)已有的VPN中存在所述還原的VPN,則才艮據(jù)所述還原的VPN信息更新所述網(wǎng)絡(luò)管理側(cè)已有的VPN信息;若所述還原的VPN和所述網(wǎng)絡(luò)管理側(cè)已有的多個VPN之間存在信息交叉,則進行沖突上報。7、如權(quán)利要求6所述VPN結(jié)構(gòu)還原方法,其特征在于,所述若網(wǎng)絡(luò)管理側(cè)已有的VPN中存在還原的VPN,則根據(jù)還原的VPN信息更新網(wǎng)絡(luò)管理側(cè)已有的VPN信息,具體包括若所述網(wǎng)絡(luò)管理側(cè)已有的VPN包括所述還原的VPN的所有信息,則不進行VPN信息的更新;若所述網(wǎng)絡(luò)管理側(cè)已有的VPN包括所述還原的VPN的部分信息,則將所述構(gòu)造的VPN的新增信息存儲在網(wǎng)絡(luò)管理側(cè)已有的VPN中,更新網(wǎng)絡(luò)管理側(cè)已有的VPN信息。8、一種VPN結(jié)構(gòu)還原裝置,其特征在于,包括通信團體創(chuàng)建單元、通信團體合并單元和站點獲取單元,所述通信團體創(chuàng)建單元,用于根據(jù)網(wǎng)絡(luò)設(shè)備的路由信息創(chuàng)建通信團體;所述通信團體合并單元,連接所述通信團體創(chuàng)建單元,用于將多個所述通信團體進行合并,構(gòu)造復合通信團體;所述站點獲取單元,連接所述通信團體合并單元,用于根據(jù)所述通信團體信息獲取所述站點信息,以還原VPN結(jié)構(gòu)。9、如權(quán)利要求8所述VPN結(jié)構(gòu)還原裝置,其特征在于,所述通信團體創(chuàng)建單元,包括路由信息獲取子單元和基本通信團體構(gòu)造子單元,所述路由信息獲取子單元,用于獲取網(wǎng)絡(luò)設(shè)備接口的綁定路由信息;所述基本通信團體構(gòu)造子單元,連接所述路由信息獲取子單元,用于根據(jù)所述路由信息構(gòu)造基本通信團體。10、如權(quán)利要求8所述VPN結(jié)構(gòu)還原裝置,其特征在于,所述通信團體合并單元,包括矩陣構(gòu)造子單元和矩陣疊加子單元,所述矩陣構(gòu)造子單元,用于根據(jù)所述通信團體的路由信息構(gòu)造疊加矩陣;所述矩陣疊加子單元,連接所述矩陣構(gòu)造子單元,用于將所述矩陣進行疊加。11、如權(quán)利要求8所述VPN結(jié)構(gòu)還原裝置,其特征在于,所述裝置還包括VPN更新單元,連接所述站點獲取單元,用于將所述還原的VPN和網(wǎng)絡(luò)管理側(cè)已知的VPN進行比較,更新VPN信息。12、一種計算機程序,其特征在于,包括若干指令用以使得一臺計算機設(shè)備執(zhí)行前述權(quán)利要求1-7所述的VPN結(jié)構(gòu)還原方法。13、一種存儲介質(zhì),其特征在于,存儲權(quán)利要求12所述的計算機程序。14、一種計算機設(shè)備,其特征在于,包括用以執(zhí)行前述權(quán)利要求l-7所述VPN結(jié)構(gòu)還原方法的軟件及與軟件配合的硬件。全文摘要本發(fā)明公開了一種VPN(VirtualPrivateNetwork,虛擬私網(wǎng))結(jié)構(gòu)還原方法,包括首先,根據(jù)網(wǎng)絡(luò)設(shè)備的路由信息創(chuàng)建通信團體;然后,將多個通信團體進行合并,構(gòu)造復合通信團體;再根據(jù)通信團體信息獲取站點信息,以還原VPN結(jié)構(gòu)。本發(fā)明還提供了一種VPN結(jié)構(gòu)還原裝置,能較好還原各種類型的VPN網(wǎng)絡(luò),消除了由于rt(routetarget,路由目標)沖突導致VPN結(jié)構(gòu)還原失敗的問題,并且對復雜的網(wǎng)絡(luò)有更好的適用性。文檔編號H04L29/06GK101312424SQ20071010726公開日2008年11月26日申請日期2007年5月25日優(yōu)先權(quán)日2007年5月25日發(fā)明者翔石,劍程申請人:杭州華三通信技術(shù)有限公司