分支設(shè)備還是中心設(shè)備,不適用于未區(qū)分分支設(shè)備和中心設(shè)備的組網(wǎng),或者需要在網(wǎng)絡(luò)中設(shè)置服務(wù)器設(shè)備,導(dǎo)致組網(wǎng)較為復(fù)雜。
[0035]基于上述分析,本發(fā)明實施例提供了一種自動建立隧道的方法和裝置,能夠?qū)崿F(xiàn)自動建立隧道,減小建立隧道所需的配置工作量,并且,不需要明確各個設(shè)備的角色是分支設(shè)備還是中心設(shè)備,也不需要在網(wǎng)絡(luò)中設(shè)置服務(wù)器設(shè)備,因此組網(wǎng)更簡單。
[0036]下面分別從隧道探測報文的發(fā)送節(jié)點和響應(yīng)節(jié)點的角度,即分別從探測節(jié)點和被探測節(jié)點的角度,對本發(fā)明實施例提供的自動建立隧道的方法進行說明,具體請參見圖1和圖2。
[0037]圖1是本發(fā)明實施例提供的自動建立隧道的方法中探測節(jié)點的處理流程圖。其中,圖1所示流程的本端節(jié)點為探測節(jié)點。
[0038]如圖1所示,該流程包括:
[0039]步驟101,本端節(jié)點查詢路由表,得到下一跳為隧道的路由表項。
[0040]步驟102,所述本端節(jié)點發(fā)送隧道探測報文,所述隧道探測報文的目的地址為所述路由表項的目的地址,源地址為所述隧道的源地址。
[0041]其中,通過將所述隧道探測報文的目的地址設(shè)置為所述路由表項的目的地址、源地址設(shè)置為所述隧道的源地址,使得接收到所述隧道探測報文的節(jié)點在確定自身已配置隧道且所述目的地址可達時,將所述源地址記錄為該已配置的隧道的目的地址,向所述本端節(jié)點發(fā)送隧道探測響應(yīng)報文,所述隧道探測響應(yīng)報文的源地址為所述接收到所述隧道探測報文的節(jié)點已配置的隧道的源地址。
[0042]其中,所述本端節(jié)點通過所述隧道的源地址對應(yīng)的接口、即所述隧道綁定的源接口發(fā)送所述隧道探測報文。
[0043]步驟103,所述本端節(jié)點接收所述隧道探測響應(yīng)報文,將所述隧道探測響應(yīng)報文的源地址記錄為所述本端節(jié)點的隧道的目的地址。
[0044]圖2是本發(fā)明實施例提供的自動建立隧道的方法中被探測節(jié)點的處理流程圖。其中,圖2所示流程的本端節(jié)點為被探測節(jié)點。
[0045]如圖2所示,該流程包括:
[0046]步驟201,本端節(jié)點接收隧道探測報文,所述隧道探測報文的目的地址是發(fā)送所述隧道探測報文的節(jié)點中下一跳為隧道的路由表項的目的地址,源地址是發(fā)送所述隧道探測報文的節(jié)點為隧道配置的源地址。
[0047]步驟202,所述本端節(jié)點在確定自身已配置隧道且所述目的地址可達時,將所述源地址記錄為該已配置的隧道的目的地址,返回隧道探測響應(yīng)報文,所述隧道探測響應(yīng)報文的源地址為所述本端節(jié)點已配置的隧道的源地址,以使得發(fā)送所述隧道探測報文的節(jié)點將所述本端節(jié)點已配置的隧道的源地址記錄為隧道的目的地址。
[0048]具體地,在確定目的地址是否可達時,若本端節(jié)點的路由表中存在目的地址為隧道探測報文的目的地址的路由表項或本端節(jié)點的地址為該目的地址,則確定該目的地址可達;若本端節(jié)點的路由表中不存在目的地址為隧道探測報文的目的地址的路由表項且本端節(jié)點的地址不為該目的地址,則確定該目的地址不可達。
[0049]另外,本端節(jié)點在確定自身已配置隧道且隧道探測報文的目的地址可達時,如果目的地址不為本端節(jié)點的地址,本端節(jié)點還需要繼續(xù)轉(zhuǎn)發(fā)該隧道探測報文,以使得隧道探測報文到達目的地址對應(yīng)的節(jié)點。具體地,本端節(jié)點根據(jù)確定隧道探測報文的目的地址可達時查找到的路由表項轉(zhuǎn)發(fā)隧道探測報文。
[0050]在本發(fā)明的一個實施例中,若本端節(jié)點確定隧道探測報文的目的地址不可達時,丟棄該隧道探測報文。若本端節(jié)點在確定自身未配置隧道且隧道探測報文的目的地址可達時,如果目的地址為本端節(jié)點的地址,則本端節(jié)點丟棄該隧道探測報文,如果目的地址不為本端節(jié)點的地址,則本端節(jié)點繼續(xù)轉(zhuǎn)發(fā)該隧道探測報文,以使得隧道探測報文到達目的地址對應(yīng)的節(jié)點。具體地,本端節(jié)點根據(jù)確定隧道探測報文的目的地址可達時查找到的路由表項轉(zhuǎn)發(fā)隧道探測報文。
[0051]其中,關(guān)于隧道探測報文的發(fā)送時機,本發(fā)明實施例提出:可以在節(jié)點設(shè)備初始化時發(fā)送隧道探測報文,從而在初始化階段就能夠建立節(jié)點之間的隧道;在節(jié)點設(shè)備開始處理數(shù)據(jù)報文以后,也可以發(fā)送隧道探測報文,從而能夠針對在數(shù)據(jù)處理開始以后新增的隧道、初始化建立隧道時建立失敗或遺漏的隧道等情況,實現(xiàn)隧道的自動建立。
[0052]具體地,在節(jié)點設(shè)備的初始化階段自動建立節(jié)點間的隧道時,可以由節(jié)點設(shè)備在隧道源地址配置完成后,掃描節(jié)點設(shè)備中的路由表,得到下一跳為隧道的路由表項,封裝并發(fā)送隧道探測報文,所述隧道探測報文的目的地址是所述路由表項的目的地址,源地址為所述隧道的源地址。
[0053]如果在開始處理數(shù)據(jù)報文以后,有某些隧道未能成功建立、或者新增了隧道,而接收的數(shù)據(jù)報文恰恰需要通過這些尚不存在目的地址的隧道來傳輸,則針對這種情況,本發(fā)明實施例提出,節(jié)點設(shè)備接收數(shù)據(jù)報文,查詢路由表得到所述數(shù)據(jù)報文的下一跳為隧道,在確定出所述節(jié)點設(shè)備中不存在所述隧道的目的地址時,封裝并發(fā)送所述隧道探測報文。
[0054]具體地,當本端節(jié)點查詢到所述數(shù)據(jù)報文的下一跳為隧道、且該隧道的目的地址不存在時,可以將所述數(shù)據(jù)報文丟棄,然后根據(jù)該數(shù)據(jù)報文的路由表項中的目的地址、以及所述本端節(jié)點中該隧道的源地址,封裝并發(fā)送隧道探測報文,以使得接收到所述隧道探測報文的節(jié)點在確定自身已配置所述隧道且所述目的地址可達時,將所述隧道探測報文的源地址記錄為該已配置的隧道的目的地址,向所述本端節(jié)點發(fā)送隧道探測響應(yīng)報文,所述隧道探測響應(yīng)報文攜帶所述接收到所述隧道探測報文的節(jié)點已配置的隧道的源地址,所述本端節(jié)點接收所述隧道探測響應(yīng)報文,將所述隧道探測響應(yīng)報文已配置的隧道的源地址記錄為所述本端節(jié)點的隧道的目的地址。
[0055]下面舉一個具體的實例,對本發(fā)明實施例的自動建立隧道的方法進行示例性說明,具體請參見圖3。
[0056]圖3是本發(fā)明實施例提供的自動建立隧道的應(yīng)用實例示意圖。
[0057]如圖3所示,網(wǎng)絡(luò)中存在6個節(jié)點,分別為DUT1、DUT2.......DUT6,其中,在DUT2
中配置了隧道Tunl的源地址1.1.1.1,在DUT2的路由表中存在一條路由表項ROUTE:20.1.1.2 next hop Tunl,該條路由表項顯示,下一跳為隧道Tunl,該條路由表項的目的地址是20.1.1.2,在DUT5中也配置了隧道Tunl的源地址,且DUT5中隧道Tunl的源地址為3.1.1.2,在DUT5的路由表中中存在一條路由表項ROUTE:20.1.1.2 direct,該條路由表項顯示,從DUT5可以直達目的地址是20.1.1.2。其中,20.1.1.2為DUT6的地址,DUT1、DUT3和DUT4未配置隧道Tunl。
[0058]其中,針對隧道Tunl,DUT2在為隧道Tunl配置了源地址1.1.1.1以后,查詢路由表,得到路由表項ROUTE:20.1.1.2 next hop Tunl,該條路由表項顯示,下一跳為隧道Tunl,該條路由表項的目的地址是20.1.1.2,因此,DUT2封裝隧道探測報文,所述隧道探測報文的源地址是隧道Tunl在DUT2中的源地址1.1.1.1,目的地址是所述路由表項ROUTE:20.1.1.2 next hop Tunl中的目的地址20.1.1.2,DUT2通過隧道Tunl綁定的接口發(fā)送所述隧道探測報文。
[0059]其他節(jié)點在接收到DUT2發(fā)送的所述隧道探測報文以后,判斷自身是否配置了隧道Tunl的源地址、以及所述隧道探測報文的目的地址是否可達,如果是,則將所述隧道探測報文的源地址記錄為隧道Tunl的目的地址,并反饋隧道探測響應(yīng)報文,否則,不反饋隧道探測響應(yīng)報文,繼續(xù)轉(zhuǎn)發(fā)所述隧道探測報文。
[0060]其中,隧道探測響應(yīng)報文的源地址為發(fā)送隧道探測響應(yīng)報文的節(jié)點自身針對隧道Tunl配置的源地址,以便DUT2將該節(jié)點針對隧道Tunl配置的源地址記錄為隧道Tunl在該DUT2中的目的地址。
[0061]比如,DUT3在接收到DUT2發(fā)送的隧道探測報文以后,判斷自身是否已