一種自動(dòng)建立隧道的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種自動(dòng)建立隧道的方法和裝置。
【背景技術(shù)】
[0002]隧道技術(shù)是一種通過互聯(lián)網(wǎng)絡(luò)基礎(chǔ)設(shè)施在網(wǎng)絡(luò)之間傳遞數(shù)據(jù)的方式。使用隧道傳遞的數(shù)據(jù)可以是不同協(xié)議的數(shù)據(jù)幀或包,隧道協(xié)議將這些其它協(xié)議的數(shù)據(jù)幀或包重新封裝在新的包頭中發(fā)送,被封裝的數(shù)據(jù)包在隧道的兩個(gè)端點(diǎn)之間通過公共互聯(lián)網(wǎng)絡(luò)進(jìn)行路由,一旦到達(dá)網(wǎng)絡(luò)終點(diǎn),數(shù)據(jù)將被解包并轉(zhuǎn)發(fā)到最終目的地。整個(gè)傳遞過程中,被封裝的數(shù)據(jù)包在公共互聯(lián)網(wǎng)絡(luò)上傳遞時(shí)所經(jīng)過的邏輯路徑稱為隧道。
[0003]通用路由封裝(Generic Routing Encapsulat1n,GRE)協(xié)議是一種典型的隧道協(xié)議,用來對(duì)任意一種網(wǎng)絡(luò)層協(xié)議(例如IPv6協(xié)議)的數(shù)據(jù)報(bào)文進(jìn)行封裝,使這些被封裝的數(shù)據(jù)報(bào)文能夠在另一個(gè)網(wǎng)絡(luò)(如IPv4網(wǎng)絡(luò))中傳輸。封裝前后數(shù)據(jù)報(bào)文的網(wǎng)絡(luò)層協(xié)議可以相同,也可以不同。封裝后的數(shù)據(jù)報(bào)文在網(wǎng)絡(luò)中傳輸?shù)穆窂?,稱為GRE隧道。GRE隧道是一個(gè)虛擬的點(diǎn)到點(diǎn)的連接,其兩端的設(shè)備分別對(duì)數(shù)據(jù)報(bào)文進(jìn)行封裝及解封裝。
[0004]在通過隧道在互聯(lián)網(wǎng)中傳輸數(shù)據(jù)之前,首先要在進(jìn)行數(shù)據(jù)傳輸?shù)谋径斯?jié)點(diǎn)和對(duì)端節(jié)點(diǎn)之間建立隧道,目前,一般通過手工配置的方式,在節(jié)點(diǎn)之間建立隧道,因此,當(dāng)組網(wǎng)中需要建立大量隧道,或者需要?jiǎng)?chuàng)建點(diǎn)到多點(diǎn)的隧道時(shí),將導(dǎo)致建立隧道所需的配置工作越發(fā)復(fù)雜,工作量過大。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提出了一種自動(dòng)建立隧道的方法和裝置,能夠?qū)崿F(xiàn)自動(dòng)建立隧道,減小建立隧道所需的配置工作量。
[0006]本發(fā)明提出的技術(shù)方案是:
[0007]一種自動(dòng)建立隧道的方法,該方法包括:
[0008]本端節(jié)點(diǎn)查詢路由表,得到下一跳為隧道的路由表項(xiàng);
[0009]所述本端節(jié)點(diǎn)發(fā)送隧道探測(cè)報(bào)文,所述隧道探測(cè)報(bào)文的目的地址為所述路由表項(xiàng)的目的地址,源地址為所述隧道的源地址,以使接收到所述隧道探測(cè)報(bào)文的節(jié)點(diǎn)在確定自身已配置隧道且所述目的地址可達(dá)時(shí),將所述源地址記錄為該已配置的隧道的目的地址,向所述本端節(jié)點(diǎn)發(fā)送隧道探測(cè)響應(yīng)報(bào)文,所述隧道探測(cè)響應(yīng)報(bào)文的源地址為所述接收到所述隧道探測(cè)報(bào)文的節(jié)點(diǎn)已配置的隧道的源地址;
[0010]所述本端節(jié)點(diǎn)接收所述隧道探測(cè)響應(yīng)報(bào)文,將所述隧道探測(cè)響應(yīng)報(bào)文的源地址記錄為所述本端節(jié)點(diǎn)的隧道的目的地址。
[0011 ] 一種自動(dòng)建立隧道的方法,該方法包括:
[0012]本端節(jié)點(diǎn)接收隧道探測(cè)報(bào)文,所述隧道探測(cè)報(bào)文的目的地址是發(fā)送所述隧道探測(cè)報(bào)文的節(jié)點(diǎn)中下一跳為隧道的路由表項(xiàng)的目的地址,源地址是發(fā)送所述隧道探測(cè)報(bào)文的節(jié)點(diǎn)為隧道配置的源地址;
[0013]所述本端節(jié)點(diǎn)在確定自身已配置隧道且所述目的地址可達(dá)時(shí),將所述源地址記錄為該已配置的隧道的目的地址,返回隧道探測(cè)響應(yīng)報(bào)文,所述隧道探測(cè)響應(yīng)報(bào)文的源地址為所述本端節(jié)點(diǎn)已配置的隧道的源地址,以使得發(fā)送所述隧道探測(cè)報(bào)文的節(jié)點(diǎn)將所述本端節(jié)點(diǎn)已配置的隧道的源地址記錄為隧道的目的地址。
[0014]一種自動(dòng)建立隧道的裝置,該裝置包括探測(cè)模塊和建立模塊,所述裝置位于本端節(jié)點(diǎn)中;
[0015]所述探測(cè)模塊,用于查詢路由表,得到下一跳為隧道的路由表項(xiàng),發(fā)送隧道探測(cè)報(bào)文,所述隧道探測(cè)報(bào)文的目的地址為所述路由表項(xiàng)的目的地址,源地址為所述隧道的源地址,以使接收到所述隧道探測(cè)報(bào)文的節(jié)點(diǎn)在確定自身已配置隧道且所述目的地址可達(dá)時(shí),將所述源地址記錄為該已配置的隧道的目的地址,向所述本端節(jié)點(diǎn)發(fā)送隧道探測(cè)響應(yīng)報(bào)文,所述隧道探測(cè)響應(yīng)報(bào)文的源地址為所述接收到所述隧道探測(cè)報(bào)文的節(jié)點(diǎn)已配置的隧道的源地址;
[0016]所述建立模塊,用于接收所述隧道探測(cè)響應(yīng)報(bào)文,將所述隧道探測(cè)響應(yīng)報(bào)文的源地址記錄為所述本端節(jié)點(diǎn)的隧道的目的地址。
[0017]一種自動(dòng)建立隧道的裝置,該裝置包括接收模塊和探測(cè)響應(yīng)模塊,所述裝置位于本端節(jié)點(diǎn)中;
[0018]所述接收模塊,用于接收隧道探測(cè)報(bào)文,所述隧道探測(cè)報(bào)文的目的地址是發(fā)送所述隧道探測(cè)報(bào)文的節(jié)點(diǎn)中下一跳為隧道的路由表項(xiàng)的目的地址,源地址是發(fā)送所述隧道探測(cè)報(bào)文的節(jié)點(diǎn)為隧道配置的源地址;
[0019]所述探測(cè)響應(yīng)模塊,用于在確定自身已配置隧道且所述目的地址可達(dá)時(shí),將所述源地址記錄為該已配置的隧道的目的地址,返回隧道探測(cè)響應(yīng)報(bào)文,所述隧道探測(cè)響應(yīng)報(bào)文的源地址為所述本端節(jié)點(diǎn)已配置的隧道的源地址,以使得發(fā)送所述隧道探測(cè)報(bào)文的節(jié)點(diǎn)將所述本端節(jié)點(diǎn)已配置的隧道的源地址記錄為隧道的目的地址。
[0020]由上述技術(shù)方案可見,本發(fā)明實(shí)施例通過發(fā)送和響應(yīng)隧道探測(cè)報(bào)文來自動(dòng)建立隧道,其中發(fā)送隧道探測(cè)報(bào)文的節(jié)點(diǎn)可以稱為探測(cè)節(jié)點(diǎn),響應(yīng)隧道探測(cè)報(bào)文的節(jié)點(diǎn)可以稱為被探測(cè)節(jié)點(diǎn)。
[0021]通過發(fā)送和響應(yīng)隧道探測(cè)報(bào)文,可以使得探測(cè)節(jié)點(diǎn)能夠探測(cè)出被探測(cè)節(jié)點(diǎn)是否能夠到達(dá)下一跳為隧道的路由表項(xiàng)中的目的地址、以及被探測(cè)節(jié)點(diǎn)中是否已配置所述隧道,換言之,探測(cè)節(jié)點(diǎn)能夠探測(cè)出在到達(dá)所述路由表項(xiàng)中的目的地址的各條路徑上、與探測(cè)節(jié)點(diǎn)配置有相同隧道的被探測(cè)節(jié)點(diǎn),所述被探測(cè)節(jié)點(diǎn)將自身已配置的隧道的源地址作為探測(cè)響應(yīng)報(bào)文的源地址,能夠?qū)⒆陨淼囊雅渲玫乃淼赖脑吹刂犯嬷綔y(cè)節(jié)點(diǎn),探測(cè)節(jié)點(diǎn)將該被探測(cè)節(jié)點(diǎn)已配置的隧道的源地址記錄為本端的隧道的目的地址,從而實(shí)現(xiàn)根據(jù)探測(cè)響應(yīng)報(bào)文自動(dòng)建立隧道。
[0022]可見,本發(fā)明實(shí)施例中,在節(jié)點(diǎn)之間建立隧道時(shí),能夠由各個(gè)節(jié)點(diǎn)自動(dòng)獲取隧道的目的地址,從而實(shí)現(xiàn)自動(dòng)建立隧道,由于不需要手工配置各個(gè)節(jié)點(diǎn)的隧道目的地址,因此減小了建立隧道所需的配置工作量,而且,本發(fā)明實(shí)施例也不需要將節(jié)點(diǎn)區(qū)分為分支設(shè)備、中心設(shè)備、或者設(shè)立專門的服務(wù)器設(shè)備,各個(gè)節(jié)點(diǎn)之間地位對(duì)等,因此組網(wǎng)也更加簡(jiǎn)單。
【附圖說明】
[0023]圖1是本發(fā)明實(shí)施例提供的自動(dòng)建立隧道的方法中探測(cè)節(jié)點(diǎn)的處理流程圖。
[0024]圖2是本發(fā)明實(shí)施例提供的自動(dòng)建立隧道的方法中被探測(cè)節(jié)點(diǎn)的處理流程圖。
[0025]圖3是本發(fā)明實(shí)施例提供的自動(dòng)建立隧道的應(yīng)用實(shí)例示意圖。
[0026]圖4是GRE報(bào)文頭部的格式示意圖。
[0027]圖5是本發(fā)明實(shí)施例提供的GRE隧道探測(cè)報(bào)文的結(jié)構(gòu)示意圖。
[0028]圖6是本發(fā)明實(shí)施例提供的節(jié)點(diǎn)設(shè)備的硬件結(jié)構(gòu)連接圖。
[0029]圖7是本發(fā)明實(shí)施例提供的自動(dòng)建立隧道的裝置的第一結(jié)構(gòu)示意圖。
[0030]圖8是本發(fā)明實(shí)施例提供的自動(dòng)建立隧道的裝置的第二結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0031]目前,通過手工配置的方式在節(jié)點(diǎn)之間建立隧道時(shí),首先在各個(gè)節(jié)點(diǎn)上配置隧道的源地址,當(dāng)源地址配置完成后,網(wǎng)絡(luò)配置人員配置隧道的目的地址,因此,當(dāng)網(wǎng)絡(luò)中需要建立大量隧道、或者需要?jiǎng)?chuàng)建點(diǎn)到多點(diǎn)的隧道時(shí),采用手工配置的方式配置隧道的目的地址時(shí),網(wǎng)絡(luò)配置人員需要進(jìn)行大量而復(fù)雜的配置操作。
[0032]實(shí)現(xiàn)自動(dòng)建立隧道的一種方式是,預(yù)先確定網(wǎng)絡(luò)中的分支設(shè)備和中心設(shè)備,由分支設(shè)備首先向中心設(shè)備發(fā)送隧道流量,中心設(shè)備接收所述隧道流量,記錄所述隧道流量攜帶的隧道信息,從而生成加封裝表,即通過中心設(shè)備建立各個(gè)分支設(shè)備之間的隧道,這種方式需要明確設(shè)備的角色是分支設(shè)備還是中心設(shè)備,并且必須由分支設(shè)備發(fā)起隧道流量。
[0033]實(shí)現(xiàn)自動(dòng)建立隧道的另一種方式是,通過自動(dòng)發(fā)現(xiàn)虛擬專用網(wǎng)(Auto DiscoveryVirtual Private Network,ADVPN)組網(wǎng)實(shí)現(xiàn)自動(dòng)建立隧道,在ADVPN組網(wǎng)中,需要在網(wǎng)絡(luò)中明確一臺(tái)或多臺(tái)服務(wù)器(Server)設(shè)備,所有隧道設(shè)備向server設(shè)備注冊(cè)自身的隧道源地址,然后由server統(tǒng)一管理各個(gè)隧道設(shè)備的源地址,各個(gè)隧道設(shè)備向Server查詢對(duì)端節(jié)點(diǎn)的隧道源地址,根據(jù)查詢結(jié)果建立到對(duì)端節(jié)點(diǎn)的隧道。
[0034]可見,上述兩種實(shí)現(xiàn)自動(dòng)建立隧道的方法,或者需要明確各個(gè)設(shè)備的角色是