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