專利名稱:IPSec VPN互聯(lián)組網(wǎng)路由收斂的方法及路由設(shè)備的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及路由收斂技術(shù)領(lǐng)域,尤其涉及IPSec VPN互聯(lián)組網(wǎng)路由收斂的方法及路由設(shè)備。
背景技術(shù):
IPsecC IP Security, IP安全)是Internet工程任務(wù)組IETF制定的三層隧道加密協(xié)議,它為Internet上傳輸?shù)臄?shù)據(jù)提供了高質(zhì)量的、可互操作的、基于密碼學(xué)的安全保證,是一種傳統(tǒng)的實(shí)現(xiàn)三層VPN (Virtual Private Network,虛擬專用網(wǎng)絡(luò))的安全技術(shù)。特定的通信方之間通過建立IPsec隧道來(lái)傳輸用戶的私有數(shù)據(jù)。IPsec提供了兩種安全機(jī)制:認(rèn)證和加密。認(rèn)證機(jī)制使IP通信的數(shù)據(jù)接收方能夠確認(rèn)數(shù)據(jù)發(fā)送方的真實(shí)身份以及數(shù)據(jù)在傳輸過程中是否遭篡改,加密機(jī)制通過對(duì)數(shù)據(jù)進(jìn)行加密運(yùn)算來(lái)保證數(shù)據(jù)的機(jī)密性,以防數(shù)據(jù)在傳輸過程中被竊聽。IPSec VPN由于其安全性和標(biāo)準(zhǔn)性的特點(diǎn)被越來(lái)越多的企業(yè)采用,作為VPN接入的常用方式,但是IPSec協(xié)議本身不支持傳遞路由信息,對(duì)于使用至少兩臺(tái)路由設(shè)備作為VPN接入設(shè)備的站點(diǎn),比如總部與分支結(jié)構(gòu)的IPSec VPN接入組網(wǎng)中,總部即為使用至少兩臺(tái)路由設(shè)備作為VPN接入設(shè)備的站點(diǎn),如此組網(wǎng)時(shí),常常需要借用其他技術(shù)傳遞路由信息,常用的一種技術(shù)為RRI (Reverse Route Injection,反向路由注入),即當(dāng)IPSec VPN建立成功后,自動(dòng)將協(xié)商成功的加密數(shù)據(jù)流的目的地址和掩碼作為一條路由注入到路由表中。企業(yè)為了提高可靠性,一般會(huì)在總部放置兩臺(tái)或者兩臺(tái)以上網(wǎng)絡(luò)設(shè)備作為VPN接入網(wǎng)關(guān)設(shè)備,此種組網(wǎng)下,分支網(wǎng)絡(luò)的接入客戶端首先與總部用于VPN接入的主設(shè)備建立VPN,當(dāng)所述接入客戶端由于網(wǎng)絡(luò)故障而再次與總部用于VPN接入的備份設(shè)備建立VPN時(shí),所述總部主設(shè)備和備份設(shè)備上此時(shí)各存在一條到分支網(wǎng)絡(luò)的等價(jià)路由,雖然可以使用對(duì)等體存活檢測(cè)DH)技術(shù)完成路由收斂,但是會(huì)由于存在部分延遲而影響用戶業(yè)務(wù)。例如,常見的總部與分支結(jié)構(gòu)的IPSec VPN互聯(lián)組網(wǎng)如圖1所示,分支路由器存在兩條上行鏈路,分別連接不同的運(yùn)營(yíng)商,企業(yè)總部放置兩臺(tái)VPN接入設(shè)備與不同運(yùn)營(yíng)商連接。分支路由器正常情況下通過主鏈路與總部的主設(shè)備建立IPSec VPN隧道,主設(shè)備通過反向路由注入,將到分支網(wǎng)絡(luò)的路由向總部網(wǎng)絡(luò)發(fā)布;當(dāng)分支主鏈路出現(xiàn)故障后,分支路由器進(jìn)行鏈路切換,通過備份鏈路與總部的備份設(shè)備建立IPSec VPN隧道,同樣備份設(shè)備通過反向路由注入將到分支網(wǎng)絡(luò)的路由向總部網(wǎng)絡(luò)發(fā)布,此時(shí)總部網(wǎng)絡(luò)會(huì)存在兩條到分支網(wǎng)絡(luò)的等價(jià)路由,下一跳分別為主設(shè)備和備份設(shè)備。但是主設(shè)備的IPSec VPN隧道實(shí)際已經(jīng)中斷,從總部發(fā)往分支的流量如果經(jīng)過主設(shè)備轉(zhuǎn)發(fā)會(huì)造成丟包,影響實(shí)際業(yè)務(wù)。這種情況下可以在IPSec VPN中啟用DH)技術(shù),檢測(cè)IPSec VPN的連通情況,當(dāng)DTO檢測(cè)超時(shí)時(shí)自動(dòng)刪除IPSec SA (Security Association,安全聯(lián)盟)和反向注入的路由,完成路由收斂,達(dá)到路由更新的目的。上述方案通過Dro檢測(cè)IPSec VPN的連通情況,當(dāng)DTO檢測(cè)超時(shí)時(shí)再刪除IPSecSA和反向注入的路由,但是Dro檢測(cè)報(bào)文的時(shí)間周期一般為秒級(jí),并且需要發(fā)送多個(gè)報(bào)文才能確認(rèn)IPSec VPN是否連通,整個(gè)檢測(cè)過程周期較長(zhǎng),導(dǎo)致總部網(wǎng)絡(luò)的路由收斂時(shí)間較長(zhǎng),且檢測(cè)過程中實(shí)際業(yè)務(wù)會(huì)中斷,從而會(huì)影響實(shí)際業(yè)務(wù)。因此,目前對(duì)于使用至少兩臺(tái)路由設(shè)備作為VPN接入設(shè)備的站點(diǎn),存在如下問題:當(dāng)發(fā)生VPN切換時(shí),所述站點(diǎn)網(wǎng)絡(luò)的路由收斂時(shí)間較長(zhǎng),影響了實(shí)際業(yè)務(wù)。
發(fā)明內(nèi)容
有鑒于此,本申請(qǐng)?zhí)岢鲆环NIPSec VPN互聯(lián)組網(wǎng)路由收斂的方法,當(dāng)發(fā)生VPN切換時(shí),可以加快站點(diǎn)路由信息的收斂速度。本申請(qǐng)還提出一種路由設(shè)備,當(dāng)發(fā)生VPN切換時(shí),可以加快站點(diǎn)路由信息的收斂速度。為達(dá)到上述目的,本申請(qǐng)實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:一種IPSec VPN互聯(lián)組網(wǎng)路由收斂的方法,應(yīng)用于使用至少兩臺(tái)路由設(shè)備作為虛擬專用網(wǎng)絡(luò)VPN接入設(shè)備的站點(diǎn),該方法包括:任一 VPN接入設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備完成IPSec VPN協(xié)商建立時(shí),通過反向路由注入向本地路由表中添加到對(duì)端VPN請(qǐng)求設(shè)備的路由信息,向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的同站點(diǎn)各個(gè)VPN接入設(shè)備發(fā)送攜帶了所述路由信息的同步報(bào)文;任一 VPN接入設(shè)備接收到鄰居發(fā)送的同步報(bào)文時(shí),讀取所述同步報(bào)文中的路由信息,如果本地路由表中存在相同的路由且所述相同路由為IP安全I(xiàn)PSec反向路由注入生成,則刪除本地路由表中該條反向路由注入生成的路由。一種路由設(shè)備,應(yīng)用于使用至少兩臺(tái)所述路由設(shè)備作為虛擬專用網(wǎng)絡(luò)VPN接入設(shè)備的站點(diǎn),所述路由設(shè)備包括:路由添加模塊、同步報(bào)文發(fā)送模塊、同步報(bào)文讀取模塊和路由更新模塊,其中:路由添加模塊,用于本設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備完成IPSec VPN協(xié)商建立時(shí),通過反向路由注入向本地路由表中添加到對(duì)端VPN請(qǐng)求設(shè)備的路由信息;同步報(bào)文發(fā)送模塊,用于向本地路由表中添加到對(duì)端VPN請(qǐng)求設(shè)備的路由信息的同時(shí),向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的同站點(diǎn)各個(gè)VPN接入設(shè)備發(fā)送攜帶了所述路由信息的同步報(bào)文;同步報(bào)文讀取模塊,用于接收到鄰居發(fā)送的同步報(bào)文時(shí),讀取所述同步報(bào)文中的
路由信息;路由更新模塊,用于當(dāng)本地路由表中存在與所述同步報(bào)文中的路由相同的路由且所述本地路由表中相同的路由為IP安全I(xiàn)PSec反向路由注入生成時(shí),刪除本地路由表中該條反向路由注入生成的路由。本申請(qǐng)的有益效果為,通過在站點(diǎn)使用的多個(gè)VPN接入設(shè)備之間同步IPSec SA反向注入生成的路由信息,使得當(dāng)需要切換連接的站點(diǎn)VPN接入設(shè)備時(shí),可以及時(shí)刪除切換前對(duì)端VPN請(qǐng)求設(shè)備連接的VPN接入設(shè)備中IPSec反向路由注入生成的路由,以便于通知站點(diǎn)網(wǎng)絡(luò)及時(shí)進(jìn)行路由更新,此時(shí)站點(diǎn)網(wǎng)絡(luò)中就只存在一條到對(duì)端VPN請(qǐng)求設(shè)備的路由,從而可以加快站點(diǎn)路由信息的收斂速度。
圖1為現(xiàn)有常見的總部與分支結(jié)構(gòu)的IPSec VPN互聯(lián)組網(wǎng)結(jié)構(gòu)示意圖; 圖2為本申請(qǐng)實(shí)施例的方法流程圖;圖3為本申請(qǐng)實(shí)施例的裝置功能模塊結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了使本申請(qǐng)的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下通過具體實(shí)施例并參見附圖,對(duì)本申請(qǐng)進(jìn)行詳細(xì)說明。本申請(qǐng)?zhí)岢鲆环NIPSec VPN互聯(lián)組網(wǎng)路由收斂的方法,應(yīng)用于使用至少兩臺(tái)路由設(shè)備作為虛擬專用網(wǎng)絡(luò)VPN接入設(shè)備的站點(diǎn),任一 VPN接入設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備完成IPSec VPN協(xié)商建立時(shí),通過反向路由注入向本地路由表中添加到對(duì)端VPN請(qǐng)求設(shè)備的路由信息,向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的同站點(diǎn)各個(gè)VPN接入設(shè)備發(fā)送攜帶了所述路由信息的同步報(bào)文;任一 VPN接入設(shè)備接收到鄰居發(fā)送的同步報(bào)文時(shí),讀取所述同步報(bào)文中的路由信息,如果本地路由表中存在相同的路由且所述相同路由為IP安全I(xiàn)PSec反向路由注入生成,則刪除本地路由表中該條反向路由注入生成的路由。本申請(qǐng)方案中,對(duì)于使用至少兩臺(tái)路由設(shè)備作為VPN接入設(shè)備的站點(diǎn),該站點(diǎn)的一 VPN接入設(shè)備一般會(huì)接收到對(duì)端VPN設(shè)備的VPN請(qǐng)求,即對(duì)端VPN請(qǐng)求設(shè)備,該站點(diǎn)的VPN接入設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備會(huì)完成IPSec VPN協(xié)商建立,如此組網(wǎng)的典型模式例如總部與分支結(jié)構(gòu)的IPSec VPN接入組網(wǎng),如圖1所示,總部即為使用至少兩臺(tái)路由設(shè)備作為VPN接入設(shè)備的站點(diǎn),分支路由器即為對(duì)端VPN請(qǐng)求設(shè)備,這里以總部使用兩臺(tái)VPN接入設(shè)備為例對(duì)本申請(qǐng)方案進(jìn)行說明,分支路由器正常情況下通過主鏈路與總部VPN接入主設(shè)備建立IPSec VPN隧道,主設(shè)備通過反向路由注入向本地路由表中添加到分支網(wǎng)絡(luò)的路由信息,將到分支網(wǎng)絡(luò)的路由向總部網(wǎng)絡(luò)發(fā)布;當(dāng)分支主鏈路出現(xiàn)故障后,分支路由器進(jìn)行鏈路切換,通過備份鏈路與總部VPN接入備份設(shè)備建立IPSec VPN隧道,同樣備份設(shè)備通過反向路由注入將到分支網(wǎng)絡(luò)的路由向總部網(wǎng)絡(luò)發(fā)布,且向主設(shè)備發(fā)送同步報(bào)文,主設(shè)備收到同步報(bào)文后,通過對(duì)所述同步報(bào)文中的路由信息與本地路由表中的路由信息進(jìn)行比較判斷,刪除本地路由表中與所述同步報(bào)文中的路由相同、且由IPSec反向路由注入生成的路由,并通知總部網(wǎng)絡(luò)及時(shí)進(jìn)行路由更新,此時(shí)總部網(wǎng)絡(luò)中就只存在一條到分支網(wǎng)絡(luò)的路由,下一跳為備份設(shè)備。從而可以加快總部路由信息的收斂速度,收斂時(shí)間可達(dá)到毫秒級(jí)別。本申請(qǐng)實(shí)施例的方法流程如圖2所示,一種IPSec VPN互聯(lián)組網(wǎng)路由收斂的方法,應(yīng)用于使用至少兩臺(tái)路由設(shè)備作為虛擬專用網(wǎng)絡(luò)VPN接入設(shè)備的站點(diǎn),,該方法包括以下步驟:步驟201:任一 VPN接入設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備完成IPSec VPN協(xié)商建立時(shí),通過反向路由注入向本地路由表中添加到對(duì)端VPN請(qǐng)求設(shè)備的路由信息,向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的同站點(diǎn)各個(gè)VPN接入設(shè)備發(fā)送攜帶了所述路由信息的同步報(bào)文。這里仍以總部與分支結(jié)構(gòu)的IPSec VPN互聯(lián)組網(wǎng)為例進(jìn)行說明,典型的總部與分支結(jié)構(gòu)的IPSec VPN互聯(lián)組網(wǎng)如圖1所示,總部即為使用兩臺(tái)或兩臺(tái)以上的VPN接入設(shè)備的站點(diǎn),其中任一 VPN接入設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備(即分支路由器)完成IPSec VPN協(xié)商建立時(shí),通過反向路由注入RRI向本地路由表中添加到對(duì)端VPN請(qǐng)求設(shè)備(即分支路由器)的路由信息,RRI屬于現(xiàn)有技術(shù),不多贅述。 為了在站點(diǎn)的各個(gè)VPN接入設(shè)備之間同步反向路由注入的路由,所述任一 VPN接入設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備完成IPSec VPN協(xié)商建立之前,每一 VPN接入設(shè)備需要與同站點(diǎn)其它VPN接入設(shè)備建立鄰居關(guān)系,并周期性檢測(cè)各鄰居的存活狀態(tài)。所述每一 VPN接入設(shè)備與同站點(diǎn)其它VPN接入設(shè)備建立鄰居關(guān)系,具體如下:總部的所有VPN接入設(shè)備形成一個(gè)備份組,在其中的每一個(gè)VPN接入設(shè)備上預(yù)先配置VPN接入設(shè)備備份組內(nèi)其它設(shè)備的IP地址,每一 VPN接入設(shè)備讀取預(yù)先在本設(shè)備上配置的其它VPN接入設(shè)備的IP地址,與所述其它VPN接入設(shè)備建立同步會(huì)話連接,當(dāng)同步會(huì)話建立成功時(shí),該VPN接入設(shè)備與其它VPN接入設(shè)備成功建立鄰居關(guān)系。所述同步會(huì)話連接可以基于傳輸控制協(xié)議TCP、用戶數(shù)據(jù)包協(xié)議UDP、或者已有的動(dòng)態(tài)路由協(xié)議建立,本申請(qǐng)實(shí)施例不做具體定義??偛縑PN接入設(shè)備之間相互建立鄰居關(guān)系。所述周期性檢測(cè)各鄰居的存活狀態(tài),具體如下:周期性向各鄰居發(fā)送保活keepalive報(bào)文,每次向任一鄰居發(fā)送keepalive報(bào)文后,若超時(shí)時(shí)間內(nèi)收到該鄰居的響應(yīng)報(bào)文,則確認(rèn)該鄰居處于存活狀態(tài);若超時(shí)時(shí)間內(nèi)沒有收到該鄰居設(shè)備的響應(yīng)報(bào)文,則重復(fù)發(fā)送keepalive報(bào)文,當(dāng)發(fā)送keepalive報(bào)文的次數(shù)達(dá)到預(yù)定次數(shù)時(shí),刪除與所述設(shè)備的鄰居關(guān)系,重新建立與所述設(shè)備的鄰居關(guān)系。建立鄰居關(guān)系以及檢測(cè)鄰居的存活狀態(tài)均屬于現(xiàn)有常用技術(shù),此處不多贅述。向鄰居發(fā)送同步報(bào)文,是為了通知鄰居協(xié)商成功的分支網(wǎng)絡(luò)的路由信息,所述同步報(bào)文的格式可以對(duì)現(xiàn)有的動(dòng)態(tài)路由協(xié)議報(bào)文進(jìn)行擴(kuò)展定義,也可以新定義。新定義時(shí),同步報(bào)文的格式如下表I所示:
Op Count Origin Prefix Prefix-Length表1表I中,同步報(bào)文的格式包括以下字段:Op為操作類型,長(zhǎng)度為I個(gè)字節(jié),值為0表示同步(即更新),值為I表示確認(rèn);即,發(fā)送同步報(bào)文時(shí),Op值為0,對(duì)接收到的同步報(bào)文進(jìn)行響應(yīng)而發(fā)送確認(rèn)報(bào)文時(shí),Op值為I ;Count為同步報(bào)文中包含的路由數(shù)量,長(zhǎng)度為I個(gè)字節(jié);Origin為路由產(chǎn)生源,長(zhǎng)度為I個(gè)字節(jié),值為0表示IPSec反向注入;Prefix為路由信息的前綴,長(zhǎng)度為4個(gè)字節(jié);Prefix-Length為前綴長(zhǎng)度,長(zhǎng)度為I個(gè)字節(jié)?;蛘?,對(duì)現(xiàn)有的動(dòng)態(tài)路由協(xié)議報(bào)文進(jìn)行擴(kuò)展定義時(shí),同步報(bào)文的格式為在現(xiàn)有的動(dòng)態(tài)路由協(xié)議報(bào)文中添加如下字段:路由產(chǎn)生源Origin、路由信息的前綴Prefix、前綴長(zhǎng)度Prefix-Length ;其中,路由產(chǎn)生源為IPSec反向注入。步驟202:任一 VPN接入設(shè)備接收到鄰居發(fā)送的同步報(bào)文時(shí),讀取所述同步報(bào)文中的路由信息,如果本地路由表中存在相同的路由且所述相同路由為IP安全I(xiàn)PSec反向路由注入生成,則刪除本地路由表中該條反向路由注入生成的路由。
所述任一 VPN接入設(shè)備接收到鄰居發(fā)送的同步報(bào)文之后,向所述鄰居回復(fù)確認(rèn)報(bào)文,以向所述鄰居確認(rèn)該VPN接入設(shè)備處于存活狀態(tài)且接收到了同步報(bào)文。步驟201中所述向預(yù)先同本設(shè)備建立了鄰居關(guān)系且當(dāng)前處于存活狀態(tài)的各個(gè)VPN接入設(shè)備發(fā)送同步報(bào)文之后,正常情況下,各個(gè)鄰居應(yīng)當(dāng)回復(fù)確認(rèn)報(bào)文,但也有可能向某一VPN接入設(shè)備發(fā)送同步報(bào)文后,該VPN接入設(shè)備處于未存活狀態(tài),因此,為保證鄰居之間可以正常同步信息,采取如下步驟:步驟201中所述向預(yù)先同本設(shè)備建立了鄰居關(guān)系且當(dāng)前處于存活狀態(tài)的各個(gè)VPN接入設(shè)備發(fā)送同步報(bào)文之后,如果在設(shè)定時(shí)間內(nèi)沒有收到鄰居設(shè)備回復(fù)的確認(rèn)報(bào)文,則向該鄰居設(shè)備重復(fù)發(fā)送同步報(bào)文,當(dāng)沒有收到確認(rèn)報(bào)文的次數(shù)達(dá)到預(yù)設(shè)的次數(shù)時(shí),刪除同該設(shè)備的鄰居關(guān)系,停止向該設(shè)備發(fā)送同步報(bào)文,重新與該設(shè)備建立鄰居關(guān)系。所述讀取所述同步報(bào)文中的路由信息,如果本地路由表中存在相同的路由(即目的地址與掩碼相同的路由),且所述相同路由為IPSec反向路由注入生成,也就是說,本地路由表中存在相同IPSec反向路由注入生成的路由,此時(shí),站點(diǎn)網(wǎng)絡(luò)中會(huì)存在兩條到對(duì)端VPN請(qǐng)求設(shè)備的等價(jià)路由,由于當(dāng)前是接收到鄰居發(fā)送的同步報(bào)文,說明當(dāng)前是由所述鄰居設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備建立IPSec VPN隧道,因此,需要?jiǎng)h除本地路由表中該條反向路由注入生成的路由,并通知站點(diǎn)網(wǎng)絡(luò)進(jìn)行路由更新。所述通知站點(diǎn)網(wǎng)絡(luò)進(jìn)行路由更新是通過通知本地路由管理模塊進(jìn)行路由更新處理實(shí)現(xiàn)的,本地路由管理模塊會(huì)向站點(diǎn)網(wǎng)絡(luò)發(fā)送路由更新報(bào)文。路由更新完成后,站點(diǎn)網(wǎng)絡(luò)就會(huì)只存在一條到對(duì)端VPN請(qǐng)求設(shè)備的路由。現(xiàn)有技術(shù)中的路由收斂速度一般為秒級(jí),會(huì)對(duì)實(shí)際業(yè)務(wù)造成影響,而采用上述本申請(qǐng)實(shí)施例方案,當(dāng)發(fā)生VPN切換時(shí),可以極大提高站點(diǎn)網(wǎng)絡(luò)路由信息的收斂速度,可以達(dá)到毫秒級(jí)別,降低對(duì)實(shí)際業(yè)務(wù)的影響。所述讀取所述同步報(bào)文中的路由信息之后,當(dāng)本地路由表中不存在相同的路由時(shí),結(jié)束處理。所述當(dāng)本地路由表中存在相同的路由之后,如果所述相同路由不是由IPSec反向路由注入生成,則結(jié)束處理。為了節(jié)省系統(tǒng)資源,所述刪除本地路由表中該條反向路由注入生成的路由之后,該條反向路由注入生成的路由已經(jīng)被刪除,此時(shí),可以進(jìn)一步將添加該條反向路由注入生成的路由的IPSec SA刪除,向IPSec SA對(duì)端設(shè)備發(fā)送刪除所述IPSec SA的消息,使所述對(duì)端設(shè)備也刪除IPSec SA,以節(jié)約系統(tǒng)資源。為了便于理解,下面參考圖1對(duì)本申請(qǐng)的另一實(shí)施例方案進(jìn)行舉例說明:如圖1所示,總部即為使用至少兩臺(tái)路由設(shè)備作為VPN接入設(shè)備的站點(diǎn),以總部使用兩臺(tái)VPN接入設(shè)備為例,總部VPN接入的主設(shè)備與備份設(shè)備之間預(yù)先建立鄰居關(guān)系,并且彼此周期性檢測(cè)對(duì)方的存活狀態(tài);分支路由器正常情況下通過主鏈路與主設(shè)備建立IPSec VPN隧道,主設(shè)備與分支路由器完成IPSec VPN協(xié)商建立時(shí),主設(shè)備通過反向路由注入向本地路由表中添加到分支網(wǎng)絡(luò)的路由信息,將到分支網(wǎng)絡(luò)的路由向總部網(wǎng)絡(luò)發(fā)布(屬于網(wǎng)絡(luò)規(guī)劃的內(nèi)容),并且向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的備份設(shè)備發(fā)送同步報(bào)文,以通知備份設(shè)備協(xié)商成功的分支網(wǎng)絡(luò)的路由信息;備份設(shè)備收到主設(shè)備發(fā)送的同步報(bào)文時(shí),向主設(shè)備回復(fù)確認(rèn)報(bào)文,讀取所述同步報(bào)文中的路由信息,如果主設(shè)備與備份設(shè)備之間沒有使用動(dòng)態(tài)路由協(xié)議,則主設(shè)備預(yù)先沒有將其收集的路由信息使用動(dòng)態(tài)路由協(xié)議通知備份設(shè)備,備份設(shè)備本地路由表中不存在與所述同步報(bào)文中的路由相同的路由,結(jié)束處理;或者,如果主設(shè)備與備份設(shè)備之間有使用動(dòng)態(tài)路由協(xié)議,則備份設(shè)備預(yù)先會(huì)接收到主設(shè)備使用所述動(dòng)態(tài)路由協(xié)議通知的路由信息,備份設(shè)備本地路由表中就會(huì)存在與所述同步報(bào)文中的路由相同的路由,但所述相同路由是通過路由協(xié)議學(xué)習(xí)到而不是由IPSec反向路由注入生成的,也結(jié)束處理。當(dāng)分支主鏈路出現(xiàn)故障后,分支路由器進(jìn)行鏈路切換,通過備份鏈路與總部VPN接入備份設(shè)備建立IPSec VPN隧道(如果總部使用的VPN接入設(shè)備多于兩臺(tái),此時(shí)具體選擇哪一臺(tái)設(shè)備用于切換可以隨機(jī)選擇,也可以根據(jù)實(shí)際需要來(lái)規(guī)劃),備份設(shè)備與分支路由器完成IPSec VPN協(xié)商建立時(shí),同樣通過反向路由注入向本地路由表中添加到分支網(wǎng)絡(luò)的路由信息,將到分支網(wǎng)絡(luò)的路由向總部網(wǎng)絡(luò)發(fā)布,并且向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的主設(shè)備發(fā)送同步報(bào)文;此時(shí),主設(shè)備接收到備份設(shè)備發(fā)送的同步報(bào)文時(shí),向備份設(shè)備回復(fù)確認(rèn)報(bào)文,讀取所述同步報(bào)文中的路由信息,發(fā)現(xiàn)本地路由表中存在相同的路由,進(jìn)一步判斷可知所述相同路由是由反向路由注入生成,因此,刪除主設(shè)備本地路由表中該條反向路由注入生成的路由,通知路由管理模塊進(jìn)行更新處理,以對(duì)總部網(wǎng)絡(luò)進(jìn)行路由更新,即刪除總部網(wǎng)絡(luò)中該條反向路由注入生成的路由,從而使得總部網(wǎng)絡(luò)中只存在一條到分支網(wǎng)絡(luò)的路由,下一跳為備份設(shè)備。進(jìn)一步地,可將添加該條反向路由注入生成的路由的IPSec SA刪除,向IPSec SA對(duì)端設(shè)備發(fā)送刪除所述IPSec SA的消息,以節(jié)省系統(tǒng)資源??偛渴褂玫腣PN接入設(shè)備多于兩臺(tái)時(shí),即存在至少兩臺(tái)備份設(shè)備時(shí),進(jìn)行鏈路切換后,選擇哪一臺(tái)備份設(shè)備進(jìn)行切換,可以隨機(jī)選擇,也可以根據(jù)實(shí)際需要來(lái)進(jìn)行規(guī)劃,其余的步驟與上述處理流程是相同的。采用本申請(qǐng)方案,站點(diǎn)網(wǎng)絡(luò)的路由信息收斂時(shí)間可達(dá)到毫秒級(jí)別,從而可以極大加快站點(diǎn)路由信息的收斂速度,減少對(duì)實(shí)際業(yè)務(wù)的影響。本申請(qǐng)實(shí)施例的裝置功能模塊結(jié)構(gòu)示意圖如圖3所示,一種路由設(shè)備,應(yīng)用于使用至少兩臺(tái)所述路由設(shè)備作為虛擬專用網(wǎng)絡(luò)VPN接入設(shè)備的站點(diǎn),所述路由設(shè)備包括:路由添加模塊、同步報(bào)文發(fā)送模塊、同步報(bào)文讀取模塊和路由更新模塊,其中:路由添加模塊,用于本設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備完成IPSec VPN協(xié)商建立時(shí),通過反向路由注入向本地路由表中添加到對(duì)端VPN請(qǐng)求設(shè)備的路由信息;同步報(bào)文發(fā)送模塊,用于向本地路由表中添加到對(duì)端VPN請(qǐng)求設(shè)備的路由信息的同時(shí),向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的同站點(diǎn)各個(gè)VPN接入設(shè)備發(fā)送攜帶了所述路由信息的同步報(bào)文;同步報(bào)文讀取模塊,用于接收到鄰居發(fā)送的同步報(bào)文時(shí),讀取所述同步報(bào)文中的
路由信息;路由更新模塊,用于當(dāng)本地路由表中存在與所述同步報(bào)文中的路由相同的路由且所述本地路由表中相同的路由為IP安全I(xiàn)PSec反向路由注入生成時(shí),刪除本地路由表中該條反向路由注入生成的路由。較佳地,所述路由設(shè)備進(jìn)一步包括:鄰居關(guān)系建立模塊,用于與同站點(diǎn)其它VPN接入設(shè)備建立鄰居關(guān)系;
鄰居存活檢測(cè)模塊,用于周期性檢測(cè)各鄰居的存活狀態(tài)。進(jìn)一步地,所述鄰居關(guān)系建立模塊,具體用于:讀取預(yù)先在本設(shè)備上配置的同站點(diǎn)其它VPN接入設(shè)備的IP地址,與所述其它VPN接入設(shè)備建立同步會(huì)話連接,當(dāng)同步會(huì)話建立成功時(shí),本設(shè)備與所述其它VPN接入設(shè)備成功建立鄰居關(guān)系。進(jìn)一步地,所述鄰居存活檢測(cè)模塊,具體用于:周期性向各鄰居發(fā)送保活keepalive報(bào)文,每次向任一鄰居發(fā)送keepalive報(bào)文后,若超時(shí)時(shí)間內(nèi)收到該鄰居的響應(yīng)報(bào)文,則確認(rèn)該鄰居處于存活狀態(tài);若超時(shí)時(shí)間內(nèi)沒有收到該鄰居設(shè)備的響應(yīng)報(bào)文,則重復(fù)發(fā)送keepalive報(bào)文,當(dāng)發(fā)送keepalive報(bào)文的次數(shù)達(dá)到預(yù)定次數(shù)時(shí),刪除與所述設(shè)備的鄰居關(guān)系,重新建立與所述設(shè)備的鄰居關(guān)系。較佳地,所述同步報(bào)文的格式包括以下字段:操作類型、同步報(bào)文中包含的路由數(shù)量、路由產(chǎn)生源、路由信息的前綴、前綴長(zhǎng)度;或者,所述同步報(bào)文的格式為在現(xiàn)有的動(dòng)態(tài)路由協(xié)議報(bào)文中添加如下字段:路由產(chǎn)生源、路由信息的前綴、前綴長(zhǎng)度;其中,路由產(chǎn)生源為IPSec反向注入。較佳地,所述路由設(shè)備進(jìn)一步包括:確認(rèn)報(bào)文處理模塊,用于在所述接收到鄰居發(fā)送的同步報(bào)文之后,向所述鄰居回復(fù)確認(rèn)報(bào)文;所述同步報(bào)文發(fā)送模塊,進(jìn)一步用于:在所述向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的同站點(diǎn)各個(gè)VPN接入設(shè)備發(fā)送攜帶了所述路由信息的同步報(bào)文之后,如果設(shè)定時(shí)間內(nèi)沒有收到鄰居設(shè)備回復(fù)的確認(rèn)報(bào)文,則向該鄰居設(shè)備重復(fù)發(fā)送同步報(bào)文,當(dāng)沒有收到確認(rèn)報(bào)文的次數(shù)達(dá)到預(yù)設(shè)的次數(shù)時(shí),刪除同該設(shè)備的鄰居關(guān)系,停止向該設(shè)備發(fā)送同步報(bào)文,重新與該設(shè)備建立鄰居關(guān)系。較佳地,所述路由更新模塊,還用于在所述讀取所述同步報(bào)文中的路由信息之后,當(dāng)本地路由表中不存在相同的路由時(shí),結(jié)束處理;在所述當(dāng)本地路由表中存在與所述同步報(bào)文中的路由相同的路由之后,如果所述本地路由表中相同的路由不是由IPSec反向路由注入生成,則結(jié)束處理。較佳地,所述路由更新模塊,還用于在所述刪除本地路由表中該條反向路由注入生成的路由之后,將添加該條反向路由注入生成的路由的IPSec SA刪除,向IPSec SA對(duì)端設(shè)備發(fā)送刪除所述IPSec SA的消息。對(duì)于使用至少兩臺(tái)路由設(shè)備作為VPN接入設(shè)備的站點(diǎn),當(dāng)發(fā)生VPN切換時(shí),通過在所述站點(diǎn)使用的多個(gè)VPN接入設(shè)備之間同步IPSec SA反向注入的路由信息,可以達(dá)到加快站點(diǎn)路由信息收斂速度的目的。以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種IPSec VPN互聯(lián)組網(wǎng)路由收斂的方法,應(yīng)用于使用至少兩臺(tái)路由設(shè)備作為虛擬專用網(wǎng)絡(luò)VPN接入設(shè)備的站點(diǎn),其特征在于,該方法包括: 任一 VPN接入設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備完成IPSec VPN協(xié)商建立時(shí),通過反向路由注入向本地路由表中添加到對(duì)端VPN請(qǐng)求設(shè)備的路由信息,向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的同站點(diǎn)各個(gè)VPN接入設(shè)備發(fā)送攜帶了所述路由信息的同步報(bào)文; 任一 VPN接入設(shè)備接收到鄰居發(fā)送的同步報(bào)文時(shí),讀取所述同步報(bào)文中的路由信息,如果本地路由表中存在相同的路由且所述相同路由為IP安全I(xiàn)PSec反向路由注入生成,則刪除本地路由表中該條反向路由注入生成的路由。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述任一VPN接入設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備完成IPSec VPN協(xié)商建立之前,進(jìn)一步包括: 每一 VPN接入設(shè)備與同站點(diǎn)其它VPN接入設(shè)備建立鄰居關(guān)系,周期性檢測(cè)各鄰居的存活狀態(tài)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述每一VPN接入設(shè)備與同站點(diǎn)其它VPN接入設(shè)備建立鄰居關(guān)系,包括: 每一 VPN接入設(shè)備讀取預(yù)先在本設(shè)備上配置的同站點(diǎn)其它VPN接入設(shè)備的IP地址,與所述其它VPN接入設(shè)備建立同步會(huì)話連接,當(dāng)同步會(huì)話建立成功時(shí),該VPN接入設(shè)備與所述其它VPN接入設(shè)備成功建立鄰居關(guān)系。
4.根據(jù)權(quán) 利要求1所述的方法,其特征在于,所述任一VPN接入設(shè)備接收到鄰居發(fā)送的同步報(bào)文之后,進(jìn)一步包括:向所述鄰居回復(fù)確認(rèn)報(bào)文; 所述向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的同站點(diǎn)各個(gè)VPN接入設(shè)備發(fā)送攜帶了所述路由信息的同步報(bào)文之后,進(jìn)一步包括: 如果設(shè)定時(shí)間內(nèi)沒有收到鄰居設(shè)備回復(fù)的確認(rèn)報(bào)文,則向該鄰居設(shè)備重復(fù)發(fā)送同步報(bào)文,當(dāng)沒有收到確認(rèn)報(bào)文的次數(shù)達(dá)到預(yù)設(shè)的次數(shù)時(shí),刪除同該設(shè)備的鄰居關(guān)系,停止向該設(shè)備發(fā)送同步報(bào)文,重新與該設(shè)備建立鄰居關(guān)系。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述讀取所述同步報(bào)文中的路由信息之后,進(jìn)一步包括:當(dāng)本地路由表中不存在相同的路由時(shí),結(jié)束處理; 所述當(dāng)本地路由表中存在相同的路由之后,進(jìn)一步包括:如果所述相同路由不是由IPSec反向路由注入生成,則結(jié)束處理。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述刪除本地路由表中該條反向路由注入生成的路由之后,進(jìn)一步包括: 將添加該條反向路由注入生成的路由的IPSec SA刪除,向IPSec SA對(duì)端設(shè)備發(fā)送刪除所述IPSec SA的消息。
7.—種路由設(shè)備,應(yīng)用于使用至少兩臺(tái)所述路由設(shè)備作為虛擬專用網(wǎng)絡(luò)VPN接入設(shè)備的站點(diǎn),其特征在于,所述路由設(shè)備包括:路由添加模塊、同步報(bào)文發(fā)送模塊、同步報(bào)文讀取模塊和路由更新模塊,其中: 路由添加模塊,用于本設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備完成IPSec VPN協(xié)商建立時(shí),通過反向路由注入向本地路由表中添加到對(duì)端VPN請(qǐng)求設(shè)備的路由信息; 同步報(bào)文發(fā)送模塊,用于向本地路由表中添加到對(duì)端VPN請(qǐng)求設(shè)備的路由信息的同時(shí),向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的同站點(diǎn)各個(gè)VPN接入設(shè)備發(fā)送攜帶了所述路由信息的同步報(bào)文;同步報(bào)文讀取模塊,用于接收到鄰居發(fā)送的同步報(bào)文時(shí),讀取所述同步報(bào)文中的路由信息; 路由更新模塊,用于當(dāng)本地路由表中存在與所述同步報(bào)文中的路由相同的路由且所述本地路由表中相同的路由為IP安全I(xiàn)PSec反向路由注入生成時(shí),刪除本地路由表中該條反向路由注入生成的路由。
8.根據(jù)權(quán)利要求7所述的路由設(shè)備,其特征在于,所述路由設(shè)備進(jìn)一步包括: 鄰居關(guān)系建立模塊,用于與同站點(diǎn)其它的VPN接入設(shè)備建立鄰居關(guān)系; 鄰居存活檢測(cè)模塊,用于周期性檢測(cè)各鄰居的存活狀態(tài)。
9.根據(jù)權(quán)利要求8所述的路由設(shè)備,其特征在于,所述鄰居關(guān)系建立模塊,具體用于: 讀取預(yù)先在本設(shè)備上配置的同站點(diǎn)其它VPN接入設(shè)備的IP地址,與所述其它VPN接入設(shè)備建立同步會(huì)話連接,當(dāng)同步會(huì)話建立成功時(shí),本設(shè)備與其它VPN接入設(shè)備成功建立鄰居關(guān)系。
10.根據(jù)權(quán)利要求7所述的路由設(shè)備,其特征在于,所述路由設(shè)備進(jìn)一步包括: 確認(rèn)報(bào)文處理模塊,用于在所述接收到鄰居發(fā)送的同步報(bào)文之后,向所述鄰居回復(fù)確認(rèn)報(bào)文; 所述同步報(bào)文發(fā)送模塊,進(jìn)一步 用于: 在所述向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的同站點(diǎn)各個(gè)VPN接入設(shè)備發(fā)送攜帶了所述路由信息的同步報(bào)文之后,如果設(shè)定時(shí)間內(nèi)沒有收到鄰居設(shè)備回復(fù)的確認(rèn)報(bào)文,則向該鄰居設(shè)備重復(fù)發(fā)送同步報(bào)文,當(dāng)沒有收到確認(rèn)報(bào)文的次數(shù)達(dá)到預(yù)設(shè)的次數(shù)時(shí),刪除同該設(shè)備的鄰居關(guān)系,停止向該設(shè)備發(fā)送同步報(bào)文,重新與該設(shè)備建立鄰居關(guān)系。
11.根據(jù)權(quán)利要求7所述的路由設(shè)備,其特征在于, 所述路由更新模塊,還用于在所述讀取所述同步報(bào)文中的路由信息之后,當(dāng)本地路由表中不存在相同的路由時(shí),結(jié)束處理;在所述當(dāng)本地路由表中存在與所述同步報(bào)文中的路由相同的路由之后,如果所述本地路由表中相同的路由不是由IPSec反向路由注入生成,則結(jié)束處理。
12.根據(jù)權(quán)利要求7所述的路由設(shè)備,其特征在于, 所述路由更新模塊,還用于在所述刪除本地路由表中該條反向路由注入生成的路由之后,將添加該條反向路由注入生成的路由的IPSec SA刪除,向IPSec SA對(duì)端設(shè)備發(fā)送刪除所述IPSec SA的消息。
全文摘要
本申請(qǐng)公開了IPSec VPN互聯(lián)組網(wǎng)路由收斂的方法,用于使用至少兩臺(tái)路由設(shè)備作為VPN接入設(shè)備的站點(diǎn),該方法包括任一VPN接入設(shè)備與對(duì)端VPN請(qǐng)求設(shè)備完成IPSec VPN協(xié)商建立時(shí),通過反向路由注入向本地路由表添加到對(duì)端VPN請(qǐng)求設(shè)備的路由信息,向預(yù)先同本設(shè)備建立了鄰居關(guān)系且處于存活狀態(tài)的同站點(diǎn)各VPN接入設(shè)備發(fā)送攜帶了所述路由信息的同步報(bào)文;任一VPN接入設(shè)備收到鄰居發(fā)送的同步報(bào)文時(shí),讀取同步報(bào)文中的路由信息,若本地路由表中存在相同路由且該相同路由為IPSec反向路由注入生成,則刪除本地路由表中的該條路由。本申請(qǐng)還公開了路由設(shè)備。本申請(qǐng)?jiān)诎l(fā)生VPN切換時(shí)可加快站點(diǎn)的路由收斂速度。
文檔編號(hào)H04L12/713GK103166849SQ20131007079
公開日2013年6月19日 申請(qǐng)日期2013年3月6日 優(yōu)先權(quán)日2013年3月6日
發(fā)明者劉雄威 申請(qǐng)人:杭州華三通信技術(shù)有限公司