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