建立gre隧道的方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及通信領(lǐng)域,尤其涉及通信領(lǐng)域中的建立通用路由封裝(Generat 1nRouting Encapsulat1n,簡(jiǎn)稱為“GRE”)隧道的方法和設(shè)備。
【背景技術(shù)】
[0002]混合接入(HybridAccess,簡(jiǎn)稱為“HA”)是一種綁定異構(gòu)網(wǎng)絡(luò)的接入技術(shù)。用戶可以同時(shí)接入兩種或兩種以上的接入網(wǎng)絡(luò)來(lái)訪問(wèn)網(wǎng)絡(luò)側(cè)。例如在家庭寬帶網(wǎng)絡(luò)中,用戶可同時(shí)接入固定接入網(wǎng)絡(luò)(例如,數(shù)字用戶線路(Digital Subscriber Line,簡(jiǎn)稱為“DSL”))和移動(dòng)接入網(wǎng)絡(luò)(例如,長(zhǎng)期演進(jìn)(Long time EvoIut1n,簡(jiǎn)稱為“LTE”))。能夠?yàn)橛脩籼峁└斓臉I(yè)務(wù)開(kāi)通服務(wù)、更可靠的WAN連接、以及更大的帶寬。
[0003]當(dāng)前技術(shù)中,采用GRE隧道綁定實(shí)現(xiàn)HA技術(shù)。如圖1所示,用戶側(cè)的家庭網(wǎng)關(guān)(HomeGateway,簡(jiǎn)稱為“HG”)分別與網(wǎng)絡(luò)側(cè)的混合鏈路聚合節(jié)點(diǎn)(Hybrid Access Aggregat1nPoint,簡(jiǎn)稱為“HAAP”)服務(wù)器創(chuàng)建基于DSL接入網(wǎng)絡(luò)的GRE隧道和基于LTE接入網(wǎng)絡(luò)的GRE隧道。而GRE隧道的建立是不感知中間鏈路是否進(jìn)行了網(wǎng)絡(luò)地址轉(zhuǎn)換(Network AddressTranslat1n,簡(jiǎn)稱“NAT”)的,如果GRE隧道建立過(guò)程中間經(jīng)過(guò)NAT設(shè)備進(jìn)行了網(wǎng)絡(luò)地址轉(zhuǎn)換,此時(shí)需要支持GRE場(chǎng)景下的NAT。傳統(tǒng)的解決NAT問(wèn)題的技術(shù)比較復(fù)雜。對(duì)于NAT場(chǎng)景采取的措施一般都是在GRE隧道的建立過(guò)程中強(qiáng)制認(rèn)為經(jīng)過(guò)了 NAT,并對(duì)該NAT帶來(lái)的問(wèn)題進(jìn)行處理。例如在建立的GRE隧道上發(fā)送數(shù)據(jù)報(bào)文時(shí)在數(shù)據(jù)報(bào)文中添加用戶數(shù)據(jù)報(bào)協(xié)議(UserDatagram Protocol,簡(jiǎn)稱“UDP”)報(bào)文頭,無(wú)形中增加了鏈路帶寬和損耗。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明實(shí)施例提供了一種建立通用路由封裝GRE隧道的方法和設(shè)備,以解決GRE隧道建立過(guò)程中強(qiáng)制認(rèn)為經(jīng)過(guò)NAT而在后續(xù)發(fā)送數(shù)據(jù)報(bào)文時(shí)強(qiáng)制添加UDP報(bào)文頭所帶來(lái)的鏈路帶寬和損耗負(fù)擔(dān)較高的問(wèn)題。
[0005]第一方面,提供了一種建立通用路由封裝GRE隧道的方法,其特征在于,所述方法包括:
[0006]家庭網(wǎng)關(guān)HG向混合鏈路聚合節(jié)點(diǎn)HAAP發(fā)送通用路由封裝GRE隧道建立請(qǐng)求報(bào)文,所述GRE隧道建立請(qǐng)求報(bào)文包括第一 IP地址,所述第一 IP地址為所述HG的廣域網(wǎng)WAN的互聯(lián)網(wǎng)協(xié)議IP地址;
[0007]所述HG接收所述HAAP發(fā)送的GRE隧道建立響應(yīng)報(bào)文,所述GRE隧道建立響應(yīng)報(bào)文包括第二 IP地址,所述第二 IP地址為所述HAAP接收到的所述GRE隧道建立請(qǐng)求報(bào)文中的源IP地址;
[0008]所述HG根據(jù)所述GRE隧道建立響應(yīng)報(bào)文,建立所述HG和所述HAAP之間的所述GRE隧道,并根據(jù)所述第一 IP地址和所述第二 IP地址,確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中是否進(jìn)行了網(wǎng)絡(luò)地址轉(zhuǎn)換NAT。
[0009]因此,本申請(qǐng)所述的方法,HAAP通過(guò)在向HG發(fā)送的控制消息報(bào)文的擴(kuò)展字段添加IP地址信息,使得HG可以利用控制報(bào)文進(jìn)行IP地址比對(duì)來(lái)探測(cè)建立GRE隧道過(guò)程中是否經(jīng)過(guò)了NAT,從而避免了強(qiáng)制認(rèn)為經(jīng)過(guò)NAT而在后續(xù)向HAAP發(fā)送的所有數(shù)據(jù)報(bào)文中都添加UDP報(bào)文頭所帶來(lái)的不必要的網(wǎng)絡(luò)開(kāi)銷。
[0010]可選地,所述GRE隧道所在的接入網(wǎng)絡(luò)類型包括固定接入網(wǎng)絡(luò)和移動(dòng)接入網(wǎng)絡(luò)。其中,固定接入網(wǎng)絡(luò)例如數(shù)字用戶線路DSL接入網(wǎng)絡(luò),移動(dòng)接入網(wǎng)路例如為3G或長(zhǎng)期演進(jìn)LTE網(wǎng)絡(luò)。
[0011]另外,所述HG和所述HAAP之間可以建立至少兩條GRE隧道。該至少兩條GRE隧道所在的接入網(wǎng)絡(luò)類型可以互不相同,也可以部分相同。
[0012]可選地,所述GRE隧道建立請(qǐng)求報(bào)文的格式和所述GRE隧道建立響應(yīng)報(bào)文的格式如圖4所示。所述GRE隧道建立請(qǐng)求報(bào)文和所述GRE隧道建立響應(yīng)報(bào)文中包括屬性字段。所述WAN的IP地址可以位于所述GRE隧道建立請(qǐng)求報(bào)文的屬性字段。所述GRE隧道的源IP地址可以位于所述GRE隧道建立響應(yīng)報(bào)文的屬性字段。
[0013]其中,當(dāng)所述HG請(qǐng)求建立基于LTE網(wǎng)絡(luò)的GRE隧道(簡(jiǎn)稱為L(zhǎng)TE隧道)時(shí),該GRE隧道建立請(qǐng)求報(bào)文中的第一IP地址包括LTE網(wǎng)絡(luò)的WAN口的IP地址,當(dāng)所述HG請(qǐng)求建立基于DSL網(wǎng)絡(luò)的GRE隧道(簡(jiǎn)稱為DSL隧道)時(shí),該GRE隧道建立請(qǐng)求報(bào)文中的第二 IP地址包括DSL網(wǎng)絡(luò)的WAN 口的IP地址。
[0014]作為另一個(gè)實(shí)施例,所述HG根據(jù)所述第一IP地址和所述第二IP地址,確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中是否進(jìn)行了所述NAT,包括:
[0015]如果所述第一IP地址和所述第二IP地址不同,所述HG確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中進(jìn)行了所述NAT;
[0016]如果所述第一IP地址和所述第二IP地址相同,所述HG確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中沒(méi)有進(jìn)行所述NAT。
[0017]可選地,如果所述HG確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中進(jìn)行了所述NAT,所述方法還包括:
[0018]所述HG通過(guò)所述GRE隧道向所述HAAP發(fā)送第一數(shù)據(jù)報(bào)文,所述第一數(shù)據(jù)報(bào)文包括第一用戶數(shù)據(jù)協(xié)議UDP頭,所述第一 UDP頭包括第一源IP地址,所述第一源IP地址為所述GRE隧道在所述HG上的隧道端口的IP地址。
[0019]可選地,所述第一UDP頭還包括GRE隧道的端口號(hào),所述第一端口號(hào)可以被所述HAAP用來(lái)識(shí)別所述第一數(shù)據(jù)報(bào)文所屬的HG。因?yàn)椴煌腍G,對(duì)于HAAP來(lái)說(shuō),所述第一源IP地址可能相同。
[0020]可選地,如果所述HG確定向所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中進(jìn)行了所述NAT,所述方法還包括:
[0021]所述HG通過(guò)所述GRE隧道接收所述HAAP發(fā)送的第二數(shù)據(jù)報(bào)文,所述第二數(shù)據(jù)報(bào)文包括第二 UDP頭,所述第二 UDP頭包括第二源IP地址,所述第二源IP地址為所述GRE隧道在所述HAAP上的隧道端口的IP地址。
[0022]可選地,如果所述HG確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中沒(méi)有進(jìn)行所述NAT,所述方法還包括:
[0023]所述HG通過(guò)所述GRE隧道向所述HAAP發(fā)送第一數(shù)據(jù)報(bào)文,和/或
[0024]通過(guò)所述GRE隧道接收所述HAAP發(fā)送的數(shù)據(jù)報(bào)文。
[0025]其中,所述第一數(shù)據(jù)報(bào)文不包括UDP頭,所述第二數(shù)據(jù)報(bào)文不包括UDP頭。
[0026]因此,如果HG通過(guò)判斷確定在GRE隧道的建立過(guò)程中,在HG和HAAP之間的GRE隧道的建立過(guò)程中沒(méi)有經(jīng)過(guò)NAT,那么在建立好的該GRE隧道上進(jìn)行數(shù)據(jù)報(bào)文傳輸時(shí),就可以不在數(shù)據(jù)報(bào)文中添加UDP頭,從而避免了不必要的網(wǎng)絡(luò)開(kāi)銷。
[0027]第二方面,提供了一種建立通用路由封裝GRE隧道的方法,其特征在于,所述方法包括:
[0028]混合鏈路聚合節(jié)點(diǎn)HAAP接收家庭網(wǎng)關(guān)HG發(fā)送的通用路由封裝GRE隧道建立請(qǐng)求報(bào)文,所述GRE隧道建立請(qǐng)求報(bào)文包括第一 IP地址,所述第一 IP地址為所述HG的廣域網(wǎng)WAN的互聯(lián)網(wǎng)協(xié)議IP地址;
[0029]所述HAAP向所述HG發(fā)送GRE隧道建立響應(yīng)報(bào)文,以便于所述HG根據(jù)所述GRE隧道建立響應(yīng)報(bào)文建立所述HG和所述HAAP之間的所述GRE隧道,所述GRE隧道建立響應(yīng)報(bào)文包括第二 IP地址,所述第二 IP地址為所述HAAP接收到的所述GRE隧道建立請(qǐng)求報(bào)文中的源IP地址;
[0030]所述HAAP根據(jù)所述第一 IP地址和所述第二 IP地址,確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中是否進(jìn)行了網(wǎng)絡(luò)地址轉(zhuǎn)換NAT。
[0031]因此,本申請(qǐng)所述的方法,HG通過(guò)在向HAAP發(fā)送的控制消息報(bào)文的擴(kuò)展字段添加IP地址信息,使得HAAP可以利用控制報(bào)文進(jìn)行IP地址比對(duì)來(lái)探測(cè)建立GRE隧道過(guò)程中是否經(jīng)過(guò)了 NAT,從而避免了強(qiáng)制認(rèn)為經(jīng)過(guò)NAT而在后續(xù)向HG發(fā)送的所有數(shù)據(jù)報(bào)文中都添加UDP報(bào)文頭所帶來(lái)的不必要的網(wǎng)絡(luò)開(kāi)銷。
[0032]可選地,所述GRE隧道所在的接入網(wǎng)絡(luò)類型包括固定接入網(wǎng)絡(luò)和移動(dòng)接入網(wǎng)絡(luò)。其中,固定接入網(wǎng)絡(luò)例如數(shù)字用戶線路DSL接入網(wǎng)絡(luò),移動(dòng)接入網(wǎng)路例如為3G或長(zhǎng)期演進(jìn)LTE網(wǎng)絡(luò)。
[0033]另外,所述HG和所述HAAP之間可以建立至少兩條GRE隧道。該至少兩條GRE隧道所在的接入網(wǎng)絡(luò)類型可以互不相同,也可以部分相同。
[0034]可選地,所述GRE隧道建立請(qǐng)求報(bào)文的格式和所述GRE隧道建立響應(yīng)報(bào)文的格式如圖4所示。所述GRE隧道建立請(qǐng)求報(bào)文和所述GRE隧道建立響應(yīng)報(bào)文中包括屬性字段。所述WAN的IP地址可以位于所述GRE隧道建立請(qǐng)求報(bào)文的屬性字段。所述GRE隧道的源IP地址可以位于所述GRE隧道建立響應(yīng)報(bào)文的屬性字段。
[0035]其中,當(dāng)所述HG請(qǐng)求建立基于LTE網(wǎng)絡(luò)的GRE隧道(簡(jiǎn)稱為L(zhǎng)TE隧道)時(shí),該GRE隧道建立請(qǐng)求報(bào)文中的第一 IP地址包括LTE網(wǎng)絡(luò)的WAN 口的IP地址。當(dāng)所述HG請(qǐng)求建立基于DSL網(wǎng)絡(luò)的GRE隧道(簡(jiǎn)稱為DSL隧道)時(shí),該GRE隧道建立請(qǐng)求報(bào)文中的第二 IP地址包括DSL網(wǎng)絡(luò)的WAN 口的IP地址。
[0036]作為另一個(gè)實(shí)施例,所述HAAP根據(jù)所述第一IP地址和所述第二IP地址,確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中是否進(jìn)行了網(wǎng)絡(luò)地址轉(zhuǎn)換NAT,包括:
[0037]如果所述第一IP地址和所述第二IP地址不同,所述HAAP確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中進(jìn)行了所述NAT;
[0038]如果所述第一IP地址和所述第二IP地址相同,所述HAAP確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中沒(méi)有進(jìn)行所述NAT。
[0039]可選地,如果所述HAAP確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中進(jìn)行了所述NAT,所述方法還包括:
[0040]所述HAAP通過(guò)所述GRE隧道接收所述HG發(fā)送的第一數(shù)據(jù)報(bào)文,所述第一數(shù)據(jù)報(bào)文包括第一用戶數(shù)據(jù)協(xié)議UDP頭,所述第一 UDP頭包括第一源IP地址,所述第一源IP地址為所述HAAP接收到的GRE隧道建立請(qǐng)求報(bào)文中的源IP地址。
[0041 ] 可選地,所述第一UDP頭還包括GRE隧道的端口號(hào),所述第一端口號(hào)可以被所述HAAP用來(lái)識(shí)別所述第一數(shù)據(jù)報(bào)文所屬的HG。因?yàn)椴煌腍G,對(duì)于HAAP來(lái)說(shuō),所述第一源IP地址可能相同。
[0042]可選地,如果所述HAAP確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中進(jìn)行了所述NAT,所述方法還包括:
[0043]所述HAAP通過(guò)所述GRE隧道向所述HG發(fā)送第二數(shù)據(jù)報(bào)文,所述第二數(shù)據(jù)報(bào)文包括第二 UDP頭,所述第二 UDP頭包括第二源IP地址,所述第二源IP地址為所述GRE隧道在所述HAAP上的隧道端口的IP地址。
[0044]可選地,如果所述HAAP確定在所述HG和所述HAAP之間的所述GRE隧道的建立過(guò)程中沒(méi)有進(jìn)行所述NAT,所述方法還包括:
[0045]所述HAAP通過(guò)所述GRE隧道向所述HG發(fā)送第一數(shù)據(jù)報(bào)文,和/或
[0046]所述HAAP通過(guò)所述GRE隧道接收所述HG發(fā)送的第二數(shù)據(jù)報(bào)文,
[0047]其中,所述第一數(shù)據(jù)報(bào)文不包括UDP頭,所述第二數(shù)據(jù)報(bào)文不包括UDP頭。
[0048]因此,如果HAAP通過(guò)判斷確定在GRE隧道的建立過(guò)程中,HG和HAAP之間沒(méi)有經(jīng)過(guò)NAT,那么在建立好的該GRE隧道上進(jìn)行數(shù)據(jù)報(bào)文傳輸時(shí),就可以不在數(shù)據(jù)報(bào)文中添加UDP頭,從而避免了不必要的網(wǎng)絡(luò)開(kāi)銷。
[0049]第三方面,提供了一種家庭網(wǎng)關(guān),用于執(zhí)行上述第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法。具體地,該家庭網(wǎng)關(guān)包括:
[0050]發(fā)送模塊,用于向混合鏈路聚合節(jié)點(diǎn)HAAP發(fā)送通用路由封裝GRE隧道建立請(qǐng)求報(bào)文,所述GRE隧道建立請(qǐng)求報(bào)文包括第一 IP地址,所述第一 IP地址為所述HG的廣域網(wǎng)WAN的互聯(lián)網(wǎng)協(xié)議IP地址;
[0051 ]接收模塊,用于接收所述HAAP發(fā)送的GRE隧道建立響應(yīng)報(bào)文,所述GRE隧道建立響應(yīng)報(bào)文包括第二 IP地址,所述第二 IP地址為所述HAAP接收到的所述GRE隧道建立請(qǐng)求報(bào)文中的源IP地址;
[0052]確定模塊,用于根據(jù)所述接收模塊接收的所述GRE隧道建立響應(yīng)報(bào)文,建立所述HG和所述HAAP之間的所述GRE隧道,并根據(jù)所述第一 IP地址和所述第二 IP地址,