專利名稱:一種移動(dòng)互聯(lián)網(wǎng)協(xié)議網(wǎng)絡(luò)中的報(bào)文傳送方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)互聯(lián)網(wǎng)協(xié)議(MIP)技術(shù),尤其涉及一種MIP網(wǎng)絡(luò)中的報(bào)文傳送方法。
背景技術(shù):
目前,隨著硬件技術(shù)水平的不斷提高,筆記本電腦、被稱為掌上電腦的個(gè)人數(shù)字助理(PDA)以及移動(dòng)電話等移動(dòng)終端設(shè)備的使用越來越普及;另外,由于互聯(lián)網(wǎng)(Internet)的飛速發(fā)展,網(wǎng)絡(luò)不僅要為用戶繼續(xù)提供已有的數(shù)據(jù)業(yè)務(wù)、多媒體音視頻業(yè)務(wù)等,還要為使用移動(dòng)終端設(shè)備的移動(dòng)用戶提供無線互聯(lián)網(wǎng)接入業(yè)務(wù)。為了實(shí)現(xiàn)移動(dòng)節(jié)點(diǎn)在互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)中的可移動(dòng)性,MIPv6協(xié)議應(yīng)運(yùn)而生。
參見圖1,在MIPv6網(wǎng)絡(luò)中,主要包括移動(dòng)節(jié)點(diǎn)、通信對(duì)端以及家鄉(xiāng)代理等網(wǎng)絡(luò)實(shí)體。其中,移動(dòng)節(jié)點(diǎn)是指一個(gè)移動(dòng)終端設(shè)備;通信對(duì)端是指與移動(dòng)節(jié)點(diǎn)進(jìn)行通信的節(jié)點(diǎn),它既可以是移動(dòng)的,也可以是固定的;家鄉(xiāng)代理是運(yùn)行在移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)網(wǎng)絡(luò)鏈路上的路由器,它能夠從家鄉(xiāng)鏈路上截獲發(fā)送給移動(dòng)節(jié)點(diǎn)的報(bào)文,并將所截獲的報(bào)文轉(zhuǎn)發(fā)給移動(dòng)節(jié)點(diǎn)。在MIPv6網(wǎng)絡(luò)中,每個(gè)移動(dòng)節(jié)點(diǎn)都具有一個(gè)被稱為是家鄉(xiāng)地址的永久IP地址,家鄉(xiāng)地址不隨移動(dòng)節(jié)點(diǎn)的位置改變而發(fā)生變化;另外,當(dāng)移動(dòng)節(jié)點(diǎn)處于外地網(wǎng)絡(luò)時(shí),還具有一個(gè)轉(zhuǎn)交地址,即移動(dòng)節(jié)點(diǎn)為標(biāo)識(shí)自身所處的位置而使用的臨時(shí)地址,轉(zhuǎn)交地址隨著移動(dòng)節(jié)點(diǎn)的位置改變而發(fā)生變化。
為了能夠?qū)崿F(xiàn)移動(dòng)節(jié)點(diǎn)與通信對(duì)端之間的互通,家鄉(xiāng)地址與移動(dòng)節(jié)點(diǎn)當(dāng)前所使用的轉(zhuǎn)交地址之間要進(jìn)行綁定,并且在轉(zhuǎn)交地址發(fā)生改變時(shí),重新建立家鄉(xiāng)地址與當(dāng)前轉(zhuǎn)交地址之間的綁定關(guān)系。上述家鄉(xiāng)地址與轉(zhuǎn)交地址之間的綁定通過協(xié)議規(guī)定的綁定更新過程得以實(shí)現(xiàn)。參見圖2,現(xiàn)有的綁定更新過程包括以下步驟步驟201.移動(dòng)節(jié)點(diǎn)向家鄉(xiāng)代理發(fā)送綁定更新報(bào)文(BU),對(duì)家鄉(xiāng)地址與當(dāng)前的轉(zhuǎn)交地址進(jìn)行綁定。
本步驟的BU報(bào)文中攜帶了以下信元1.序列號(hào)(seq#)家鄉(xiāng)代理使用序列號(hào)標(biāo)識(shí)BU的順序,移動(dòng)節(jié)點(diǎn)根據(jù)序列號(hào)對(duì)發(fā)出的BU與接收到的綁定更新確認(rèn)報(bào)文(BA)進(jìn)行配對(duì)。
2.生存時(shí)間(Lifetime)表明該BU的有效時(shí)間,即當(dāng)前時(shí)間與該BU的失效時(shí)間之間的差值。如果生存時(shí)間為0,則家鄉(xiāng)代理將刪除該BU所對(duì)應(yīng)的綁定。
3.更新轉(zhuǎn)交地址選項(xiàng)(Alternate-of Address option)表明所要更新的轉(zhuǎn)交地址。盡管通常情況下,BU的源地址即為所要更新的轉(zhuǎn)交地址,但是由于該源地址不受IPsec協(xié)議的保護(hù),則容易發(fā)生因受到攻擊而被篡改的情況,因此MIPv6協(xié)議通過本處的更新轉(zhuǎn)交地址選項(xiàng),將轉(zhuǎn)交地址攜帶于BU中,以受到IPsec協(xié)議的保護(hù)。
步驟202.家鄉(xiāng)代理向移動(dòng)節(jié)點(diǎn)返回BA報(bào)文,指明家鄉(xiāng)代理對(duì)該BA所對(duì)應(yīng)的BU的接受情況。
本步驟的BA消息攜帶了以下信元1.狀態(tài)(Status)表明家鄉(xiāng)代理對(duì)該BA所對(duì)應(yīng)的BU的處理,例如,狀態(tài)為0表示家鄉(xiāng)代理接受了該BA對(duì)應(yīng)的BU所請(qǐng)求的綁定更新。
2.seq#用以標(biāo)識(shí)相對(duì)應(yīng)的BU和BA。
3.Lifetime家鄉(xiāng)代理通過BA中的Lifetime來將當(dāng)前綁定所剩余的有效時(shí)間通知給移動(dòng)節(jié)點(diǎn)。
4.綁定更新建議選項(xiàng)(Binding Refresh Advice option)家鄉(xiāng)代理利用該選項(xiàng)來向移動(dòng)節(jié)點(diǎn)指明需要再次發(fā)送BU以便刷新綁定的時(shí)間,綁定更新建議選項(xiàng)中所攜帶的時(shí)間值通常小于Lifetime的數(shù)值。
通過上述步驟201至202,移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理通過交互,完成了對(duì)家鄉(xiāng)地址和當(dāng)前轉(zhuǎn)交地址之間的綁定更新。并且,在家鄉(xiāng)代理接受了移動(dòng)節(jié)點(diǎn)所提出的綁定更新時(shí),家鄉(xiāng)代理在自身記錄下該移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址與當(dāng)前轉(zhuǎn)交地址的對(duì)應(yīng)關(guān)系。
完成綁定更新后,移動(dòng)節(jié)點(diǎn)與通信對(duì)端之間通過雙向隧道模式或者路由最佳化模式實(shí)現(xiàn)報(bào)文的交互。其中雙向隧道是指通過家鄉(xiāng)代理在通信節(jié)點(diǎn)和移動(dòng)節(jié)點(diǎn)間建立的數(shù)據(jù)包隧道。在通信對(duì)端不支持MIPv6、并且移動(dòng)節(jié)點(diǎn)移動(dòng)到外地網(wǎng)絡(luò)的情況下,雙向隧道模式能夠確保移動(dòng)節(jié)點(diǎn)總是能夠被訪問。路由最佳化是指在移動(dòng)節(jié)點(diǎn)和支持MIPv6的通信對(duì)端間直接交互報(bào)文的過程。路由最佳化模式消除了與雙向隧道相關(guān)聯(lián)的傳輸延遲,并能夠?yàn)榫哂袝r(shí)間要求的流量業(yè)務(wù)提供充足的性能,例如語音互聯(lián)網(wǎng)協(xié)議業(yè)務(wù)(VoIP)等。
參見圖1,移動(dòng)節(jié)點(diǎn)和通信對(duì)端使用雙向隧道模式以及路由最佳化模式實(shí)現(xiàn)報(bào)文交互的過程如下在雙向隧道模式下,移動(dòng)節(jié)點(diǎn)和家鄉(xiāng)代理之間的報(bào)文以內(nèi)部IP頭和外部IP頭來標(biāo)明該報(bào)文的地址,上述兩個(gè)IP頭中均含有源地址和目的地址兩個(gè)部分。當(dāng)移動(dòng)節(jié)點(diǎn)向通信對(duì)端發(fā)送報(bào)文時(shí),在移動(dòng)節(jié)點(diǎn)到家鄉(xiāng)代理的報(bào)文中,其外部IP頭的源地址為移動(dòng)節(jié)點(diǎn)的當(dāng)前轉(zhuǎn)交地址、目的地址為家鄉(xiāng)代理的地址;內(nèi)部IP頭的源地址為移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址、目的地址為通信對(duì)端的地址。移動(dòng)節(jié)點(diǎn)發(fā)出的報(bào)文首先根據(jù)外部IP頭路由到家鄉(xiāng)代理,家鄉(xiāng)代理再將外部IP頭去掉,并根據(jù)內(nèi)部IP頭的目的地址,將內(nèi)部IP頭和該報(bào)文的其余部分轉(zhuǎn)發(fā)給通信對(duì)端,從而實(shí)現(xiàn)移動(dòng)節(jié)點(diǎn)到通信對(duì)端的報(bào)文傳送。當(dāng)通信對(duì)端向移動(dòng)節(jié)點(diǎn)發(fā)送報(bào)文時(shí),通信對(duì)端發(fā)出的報(bào)文中只包含一個(gè)IP頭,其中的源地址為通信對(duì)端的地址,目的地址為移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址;家鄉(xiāng)代理截獲該報(bào)文后,在原來的IP頭外部再封裝一個(gè)IP頭,封裝的IP頭的源地址是家鄉(xiāng)代理的地址、目的地址是移動(dòng)節(jié)點(diǎn)的當(dāng)前轉(zhuǎn)交地址;而后,經(jīng)過家鄉(xiāng)代理封裝后的報(bào)文再路由到移動(dòng)節(jié)點(diǎn),從而實(shí)現(xiàn)通信對(duì)端到移動(dòng)節(jié)點(diǎn)的報(bào)文傳送。至此,完成了移動(dòng)節(jié)點(diǎn)與通信對(duì)端在雙向隧道模式下的報(bào)文交互。
在路由最佳化模式下,交互報(bào)文之前,移動(dòng)節(jié)點(diǎn)需要在通信對(duì)端上注冊(cè)家鄉(xiāng)地址與當(dāng)前轉(zhuǎn)交地址的綁定關(guān)系,此后從通信對(duì)端到移動(dòng)節(jié)點(diǎn)的報(bào)文以通信對(duì)端的地址作為源地址、以移動(dòng)節(jié)點(diǎn)的當(dāng)前轉(zhuǎn)交地址作為目的地址;并且移動(dòng)節(jié)點(diǎn)到通信對(duì)端的報(bào)文中將當(dāng)前的轉(zhuǎn)交地址作為源地址、將通信對(duì)端的地址作為目的地址。當(dāng)通信對(duì)端向移動(dòng)節(jié)點(diǎn)發(fā)送報(bào)文時(shí),首先通信對(duì)端在自身所保存的綁定關(guān)系中進(jìn)行檢索,找到移動(dòng)節(jié)點(diǎn)的當(dāng)前轉(zhuǎn)交地址;然后,通信對(duì)端直接將該報(bào)文發(fā)送到移動(dòng)節(jié)點(diǎn)的當(dāng)前轉(zhuǎn)交地址上,使得該報(bào)文到達(dá)移動(dòng)節(jié)點(diǎn)。當(dāng)移動(dòng)節(jié)點(diǎn)向通信終端發(fā)送報(bào)文時(shí),來自于移動(dòng)節(jié)點(diǎn)的報(bào)文直接被發(fā)送到通信對(duì)端上。至此,實(shí)現(xiàn)了移動(dòng)節(jié)點(diǎn)與通信對(duì)端在路由最佳化模式下的報(bào)文交互。
目前,信息安全問題越來越受到人們的關(guān)注,因此防火墻被廣泛的應(yīng)用于網(wǎng)絡(luò)的各個(gè)環(huán)節(jié)中。所謂防火墻是指位于多個(gè)網(wǎng)絡(luò)之間、實(shí)施網(wǎng)絡(luò)間訪問控制的一組組件的集合。在包含防火墻的網(wǎng)絡(luò)中,內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)之間的所有網(wǎng)絡(luò)數(shù)據(jù)流均必須經(jīng)過防火墻,只有符合安全策略的數(shù)據(jù)流才能夠通過防火墻,并且防火墻自身具有較強(qiáng)的抗攻擊免疫力。
防火墻在工作時(shí),根據(jù)報(bào)文中的傳輸控制協(xié)議(TCP)/用戶數(shù)據(jù)報(bào)協(xié)議(UDP)部分中所表明的端口號(hào),判斷該報(bào)文的連接類型,如果該連接是安全的且被允許通過,則防火墻允許該報(bào)文穿越,否則,將該報(bào)文直接丟棄。
在圖1所示的MIPv6網(wǎng)絡(luò)中,如果移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間存在防火墻,則兩者之間所有的報(bào)文均需經(jīng)過防火墻的過濾,并且只有防火墻允許穿越的報(bào)文,才能夠到達(dá)目的地;而那些不符合防火墻穿越條件的報(bào)文則被防火墻直接丟棄。如表1所示,采用網(wǎng)絡(luò)安全(IPsec)協(xié)議封裝的移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間的報(bào)文包括IP地址、封裝安全載荷協(xié)議(ESP)、TCP/UDP以及數(shù)據(jù)(Data)等部分。其中ESP、TCP/UDP以及Data部分均是經(jīng)過IPsec協(xié)議加密的。當(dāng)不支持IPsec協(xié)議的防火墻接收到上述格式的報(bào)文時(shí),由于無法從該報(bào)文中獲取到TCP/UDP端口號(hào),而無法判斷該報(bào)文的安全性,則不允許上述IPsec報(bào)文通過。因此不支持IPsec的防火墻的存在阻擋了移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間的正常通信。
表1可見,現(xiàn)有的MIPv6網(wǎng)絡(luò)的數(shù)據(jù)報(bào)文傳送方法中存在的缺點(diǎn)是當(dāng)家鄉(xiāng)代理與移動(dòng)節(jié)點(diǎn)之間存在不支持IPsec協(xié)議的防火墻時(shí),移動(dòng)節(jié)點(diǎn)發(fā)送給家鄉(xiāng)代理的BU報(bào)文將被直接丟棄,家鄉(xiāng)代理也由于接收不到BU報(bào)文而無法進(jìn)行家鄉(xiāng)地址與轉(zhuǎn)交地址的綁定更新。在綁定更新失敗的情況下,無論采用雙向隧道模式還是路由最佳化模式,移動(dòng)節(jié)點(diǎn)與通信對(duì)端之間無法實(shí)現(xiàn)報(bào)文的交互。另外,采用雙向隧道模式時(shí),報(bào)文的傳送路徑為移動(dòng)節(jié)點(diǎn)-家鄉(xiāng)代理-通信對(duì)端,或者通信對(duì)端-家鄉(xiāng)代理-移動(dòng)節(jié)點(diǎn),由于家鄉(xiāng)代理與移動(dòng)節(jié)點(diǎn)之間存在不支持IPsec協(xié)議的防火墻,則無法正常進(jìn)行報(bào)文的交互。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種MIP網(wǎng)絡(luò)中的報(bào)文傳送方法,當(dāng)移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間存在不支持IPsec協(xié)議的防火墻時(shí),移動(dòng)節(jié)點(diǎn)和通信對(duì)端仍能夠進(jìn)行報(bào)文的交互。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種MIP網(wǎng)絡(luò)中的報(bào)文傳送方法,用于在移動(dòng)節(jié)點(diǎn)與通信對(duì)端之間傳送報(bào)文,其特征在于,該方法包括以下步驟A.移動(dòng)節(jié)點(diǎn)向家鄉(xiāng)代理發(fā)送一個(gè)只用網(wǎng)絡(luò)安全I(xiàn)Psec協(xié)議封裝的第一防火墻檢測(cè)報(bào)文以及發(fā)送另一個(gè)用IPsec協(xié)議和用戶數(shù)據(jù)報(bào)協(xié)議UDP封裝的第二防火墻檢測(cè)報(bào)文;B.移動(dòng)節(jié)點(diǎn)根據(jù)接收到的來自家鄉(xiāng)代理的分別針對(duì)第一和第二防火墻檢測(cè)報(bào)文的第一和第二防火墻檢測(cè)應(yīng)答報(bào)文,判斷所述移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間是否存在阻擋IPsec報(bào)文的防火墻,如果是,則繼續(xù)執(zhí)行移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理間的綁定更新和移動(dòng)節(jié)點(diǎn)與通信對(duì)端間的報(bào)文交互,并采用UDP協(xié)議封裝報(bào)文,使移動(dòng)節(jié)點(diǎn)與通信對(duì)端之間的報(bào)文穿越所述防火墻,否則,繼續(xù)執(zhí)行移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理間的綁定更新和移動(dòng)節(jié)點(diǎn)與通信對(duì)端間的報(bào)文交互。
步驟B所述判斷所述移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間是否存在阻擋IPsec報(bào)文的防火墻的方法為B1.當(dāng)接收到第一防火墻檢測(cè)應(yīng)答報(bào)文時(shí),判定所述移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間不存在阻擋IPsec報(bào)文的防火墻;當(dāng)沒有接收到第一防火墻檢測(cè)應(yīng)答報(bào)文時(shí),判定所述移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間存在阻擋IPsec報(bào)文的防火墻。
所述步驟B1之前,該方法進(jìn)一步包括家鄉(xiāng)代理向移動(dòng)節(jié)點(diǎn)返回第一防火墻檢測(cè)應(yīng)答報(bào)文時(shí),在所述第一防火墻檢測(cè)應(yīng)答報(bào)文中加入與所述第一防火墻檢測(cè)報(bào)文相同的標(biāo)識(shí)。
步驟B1中接收到第一防火墻檢測(cè)應(yīng)答報(bào)文的確定方法為對(duì)所接收到的防火墻檢測(cè)應(yīng)答報(bào)文進(jìn)行解析,將所述報(bào)文中攜帶的所述標(biāo)識(shí)提取出來,并與發(fā)送出去的第一防火墻檢測(cè)報(bào)文中包含的所述標(biāo)識(shí)相比較,如果一致,則判定接收到了第一防火墻應(yīng)答報(bào)文;否則,判定未接收到第一防火墻檢測(cè)應(yīng)答報(bào)文。
預(yù)先設(shè)置最大重發(fā)次數(shù),則所述步驟B中進(jìn)一步包括判斷移動(dòng)節(jié)點(diǎn)是否既未接收到第一防火墻檢測(cè)應(yīng)答報(bào)文、又未接收到第二防火墻檢測(cè)應(yīng)答報(bào)文,如果是,則判斷是否超過最大重發(fā)次數(shù),如果超過,則結(jié)束本報(bào)文傳送流程,如果未超過,則將重發(fā)次數(shù)加1,返回執(zhí)行所述步驟A。
所述第二防火墻檢測(cè)報(bào)文包括UDP部分,用于攜帶該報(bào)文的UDP端口號(hào);所述第二防火墻檢測(cè)應(yīng)答報(bào)文進(jìn)一步包括UDP部分,用于攜帶該報(bào)文的UDP端口號(hào)。
采用UDP協(xié)議封裝報(bào)文的方法為將所述報(bào)文中的傳輸控制協(xié)議TCP/UDP部分在未加密時(shí)所代表的信息保存于UDP部分中,并插入到所述報(bào)文中。
應(yīng)用本發(fā)明,當(dāng)移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間存在不支持IPsec協(xié)議的防火墻時(shí),移動(dòng)節(jié)點(diǎn)和通信對(duì)端仍能夠進(jìn)行報(bào)文的交互。具體而言,本發(fā)明具有如下有益效果1.本發(fā)明在進(jìn)行綁定更新和報(bào)文交互之前,移動(dòng)節(jié)點(diǎn)向家鄉(xiāng)代理發(fā)送一個(gè)用UDP協(xié)議封裝的防火墻檢測(cè)(FD,F(xiàn)irewall Detection)報(bào)文和一個(gè)未用UDP協(xié)議封裝的FD報(bào)文,并根據(jù)接收到的防火墻檢測(cè)應(yīng)答(FDR,F(xiàn)irewall Detection Reply)報(bào)文,判斷移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間是否存在阻擋IPsec報(bào)文的防火墻,并在存在上述防火墻的情況下,使用UDP協(xié)議對(duì)后續(xù)的所有報(bào)文進(jìn)行封裝,從而保證MIP網(wǎng)絡(luò)中的報(bào)文傳送不會(huì)因?yàn)榉阑饓Φ拇嬖诙袛唷?br>
2.本發(fā)明只有在確定了移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間存在阻擋IPsec報(bào)文的防火墻時(shí),才用UDP協(xié)議封裝報(bào)文,而非對(duì)所有報(bào)文均進(jìn)行UDP協(xié)議的封裝,即能夠動(dòng)態(tài)配置UDP封裝,減輕了網(wǎng)絡(luò)負(fù)擔(dān),減少網(wǎng)絡(luò)資源的消耗。
圖1為MIPv6網(wǎng)絡(luò)結(jié)構(gòu)示意圖;圖2為現(xiàn)有的MIP網(wǎng)絡(luò)中報(bào)文傳送方法的綁定更新信令流程圖;圖3為本發(fā)明的MIP網(wǎng)絡(luò)中報(bào)文傳送方法流程圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說明。
本發(fā)明為一種MIP網(wǎng)絡(luò)中的報(bào)文傳送方法,其基本思想是在進(jìn)行綁定更新之前,移動(dòng)節(jié)點(diǎn)向家鄉(xiāng)代理發(fā)送兩個(gè)FD報(bào)文,其中一個(gè)FD報(bào)文采用IPsec協(xié)議加密,另一個(gè)FD報(bào)文采用IPsec協(xié)議加密并用UDP協(xié)議封裝,移動(dòng)節(jié)點(diǎn)根據(jù)接收到的FDR報(bào)文,判斷移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間是否存在阻擋IPsec報(bào)文的防火墻,如果是,則執(zhí)行后續(xù)的綁定更新和報(bào)文交互過程,并使用UDP協(xié)議封裝所有報(bào)文;否則,執(zhí)行后續(xù)的綁定更新和報(bào)文交互過程。
本發(fā)明中,經(jīng)過UDP封裝的IPsec報(bào)文的格式如表2所示。
表2其中UDP部分保存的是TCP/UDP部分未加密時(shí)所代表的信息??梢?,不支持IPsec的防火墻在接收到經(jīng)過UDP協(xié)議封裝的報(bào)文時(shí),由于能夠從UDP部分獲取到該報(bào)文的TCP/UDP端口號(hào),從而能夠識(shí)別該報(bào)文的安全性。因此經(jīng)過UDP協(xié)議封裝的報(bào)文不會(huì)由于其TCP/UDP部分的加密而無法穿越不支持IPsec的防火墻。
基于上述思想,本發(fā)明在MIP網(wǎng)絡(luò)報(bào)文傳送之前,通過一個(gè)經(jīng)過UDP封裝的FD報(bào)文和一個(gè)未經(jīng)過UDP協(xié)議封裝的FD報(bào)文來檢測(cè)防火墻的存在。
參見圖3,本發(fā)明MIP網(wǎng)絡(luò)中的報(bào)文傳送方法包括以下步驟步驟301.移動(dòng)節(jié)點(diǎn)向家鄉(xiāng)代理發(fā)送第一FD報(bào)文和第二,其中第一FD報(bào)文只用IPsec協(xié)議封裝,第二FD報(bào)文用IPsec協(xié)議和UDP協(xié)議封裝。
本步驟中,當(dāng)移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間存在不支持IPsec的防火墻時(shí),經(jīng)過UDP封裝的第二FD報(bào)文能夠穿越該防火墻到達(dá)家鄉(xiāng)代理,而未用UDP協(xié)議封裝的第一FD報(bào)文則被丟棄。并且,為了在后續(xù)步驟中便于分辨發(fā)出的FD報(bào)文與接收到的FDR報(bào)文間的對(duì)應(yīng)關(guān)系,本步驟中的第一和第二FD報(bào)文中均攜帶有cookie標(biāo)識(shí)。只有含有相同cookie標(biāo)識(shí)的FD和FDR才能夠相互對(duì)應(yīng)。另外,本步驟中用UDP協(xié)議封裝的第二FD報(bào)文是指在未用UDP協(xié)議封裝的FD報(bào)文中插入U(xiǎn)DP部分,該UDP部分?jǐn)y帶有該報(bào)文的UDP端口號(hào),以便阻擋IPsec報(bào)文的防火墻能夠進(jìn)行識(shí)別,并允許該報(bào)文穿越。
步驟302~304.判斷移動(dòng)節(jié)點(diǎn)是否接收到FDR報(bào)文,如果是,則執(zhí)行步驟305;否則,判斷是否超過最大重發(fā)次數(shù),如果超過,則結(jié)束本報(bào)文傳送流程,如果未超過,則將重發(fā)次數(shù)加1,并返回執(zhí)行步驟301。
家鄉(xiāng)代理每收到一個(gè)FD報(bào)文,都會(huì)向移動(dòng)節(jié)點(diǎn)返回一個(gè)FDR報(bào)文,并且接收到用UDP封裝的第二FD報(bào)文時(shí),返回一個(gè)用UDP封裝的第二FDR報(bào)文;接收到未用UDP封裝的第一FD報(bào)文時(shí),返回一個(gè)未用UDP封裝的第一FDR報(bào)文。另外,F(xiàn)DR報(bào)文中所攜帶的cookie標(biāo)識(shí)與對(duì)應(yīng)的FD報(bào)文中的cookie標(biāo)識(shí)相同。在網(wǎng)絡(luò)正常的情況下,移動(dòng)節(jié)點(diǎn)都會(huì)接收到FDR報(bào)文;但是,當(dāng)網(wǎng)絡(luò)狀況比較惡劣時(shí),步驟301中所發(fā)出的兩個(gè)FD報(bào)文均丟失,則家鄉(xiāng)代理不會(huì)向移動(dòng)節(jié)點(diǎn)返回FDR報(bào)文。
當(dāng)移動(dòng)節(jié)點(diǎn)接收不到FDR報(bào)文時(shí),可以采用重發(fā)FD報(bào)文的方法來達(dá)到有效的檢測(cè)防火墻的目的。為了避免多次重發(fā)報(bào)文,網(wǎng)絡(luò)管理者預(yù)先設(shè)置最大重大次數(shù)。只有在重發(fā)FD報(bào)文的次數(shù)小于等于該最大重發(fā)次數(shù)時(shí),才將重發(fā)次數(shù)加1后,返回執(zhí)行步驟301,再次發(fā)送FD報(bào)文。
步驟305~307.判斷是否接收到與只用IPsec協(xié)議封裝的第一FD相對(duì)應(yīng)的第一FDR報(bào)文,如果是,則執(zhí)行后續(xù)的綁定更新和報(bào)文交互;否則,執(zhí)行綁定更新和報(bào)文交互,并采用UDP協(xié)議封裝所有的報(bào)文。
此處判斷是否接收到與只用IPsec協(xié)議封裝的第一FD相對(duì)應(yīng)的第一FDR報(bào)文的方法為移動(dòng)節(jié)點(diǎn)對(duì)所接收到的FDR進(jìn)行解析,將其中所攜帶的cookie標(biāo)識(shí)提取出來,并與發(fā)送出去的未用UDP協(xié)議封裝的第一FD報(bào)文中包含的cookie標(biāo)識(shí)相比較,如果一致,則判定接收到了與只用IPsec協(xié)議封裝的第一FD相對(duì)應(yīng)的第一FDR報(bào)文,表明移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間不存在防火墻或者存在的防火墻支持IPsec協(xié)議;否則,判定未接收到與只用IPsec協(xié)議封裝的第一FD相對(duì)應(yīng)的第一FDR報(bào)文,表明移動(dòng)節(jié)點(diǎn)之間存在不支持IPsec協(xié)議的防火墻。
當(dāng)存在不支持IPsec協(xié)議的防火墻時(shí),繼續(xù)執(zhí)行綁定更新過程以及MIP網(wǎng)絡(luò)中的報(bào)文交互過程。但是與現(xiàn)有的綁定更新過程及報(bào)文交互過程所不同的是為了保證各個(gè)IPsec報(bào)文能夠穿越防火墻,此處將所有的IPsec報(bào)文都用UDP協(xié)議進(jìn)行封裝,即將各個(gè)報(bào)文中的TCP/UDP部分在未加密時(shí)所代表的信息保存于UDP部分中,并插入到報(bào)文中。當(dāng)不存在防火墻或者存在的防火墻支持IPsec協(xié)議時(shí),由于IPsec報(bào)文能夠被順利發(fā)送,因此繼續(xù)執(zhí)行現(xiàn)有的綁定更新以及報(bào)文交互。
至此,本發(fā)明MIP網(wǎng)絡(luò)中的報(bào)文傳送過程完成。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種移動(dòng)互聯(lián)網(wǎng)協(xié)議網(wǎng)絡(luò)中的報(bào)文傳送方法,用于在移動(dòng)節(jié)點(diǎn)與通信對(duì)端之間傳送報(bào)文,其特征在于,該方法包括以下步驟A.移動(dòng)節(jié)點(diǎn)向家鄉(xiāng)代理發(fā)送一個(gè)只用網(wǎng)絡(luò)安全I(xiàn)Psec協(xié)議封裝的第一防火墻檢測(cè)報(bào)文以及發(fā)送另一個(gè)用IPsec協(xié)議和用戶數(shù)據(jù)報(bào)協(xié)議UDP封裝的第二防火墻檢測(cè)報(bào)文;B.移動(dòng)節(jié)點(diǎn)根據(jù)接收到的來自家鄉(xiāng)代理的分別針對(duì)第一和第二防火墻檢測(cè)報(bào)文的第一和第二防火墻檢測(cè)應(yīng)答報(bào)文,判斷所述移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間是否存在阻擋IPsec報(bào)文的防火墻,如果是,則繼續(xù)執(zhí)行移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理間的綁定更新和移動(dòng)節(jié)點(diǎn)與通信對(duì)端間的報(bào)文交互,并采用UDP協(xié)議封裝報(bào)文,使移動(dòng)節(jié)點(diǎn)與通信對(duì)端之間的報(bào)文穿越所述防火墻,否則,繼續(xù)執(zhí)行移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理間的綁定更新和移動(dòng)節(jié)點(diǎn)與通信對(duì)端間的報(bào)文交互。
2.如權(quán)利要求1所述的方法,其特征在于,步驟B所述判斷所述移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間是否存在阻擋IPsec報(bào)文的防火墻的方法為B 1.當(dāng)接收到第一防火墻檢測(cè)應(yīng)答報(bào)文時(shí),判定所述移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間不存在阻擋IPsec報(bào)文的防火墻;當(dāng)沒有接收到第一防火墻檢測(cè)應(yīng)答報(bào)文時(shí),判定所述移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間存在阻擋IPsec報(bào)文的防火墻。
3.如權(quán)利要求2所述的方法,其特征在于,所述步驟B1之前,該方法進(jìn)一步包括家鄉(xiāng)代理向移動(dòng)節(jié)點(diǎn)返回第一防火墻檢測(cè)應(yīng)答報(bào)文時(shí),在所述第一防火墻檢測(cè)應(yīng)答報(bào)文中加入與所述第一防火墻檢測(cè)報(bào)文相同的標(biāo)識(shí)。
4.如權(quán)利要求3所述的方法,其特征在于,步驟B1中接收到第一防火墻檢測(cè)應(yīng)答報(bào)文的確定方法為對(duì)所接收到的防火墻檢測(cè)應(yīng)答報(bào)文進(jìn)行解析,將所述報(bào)文中攜帶的所述標(biāo)識(shí)提取出來,并與發(fā)送出去的第一防火墻檢測(cè)報(bào)文中包含的所述標(biāo)識(shí)相比較,如果一致,則判定接收到了第一防火墻應(yīng)答報(bào)文;否則,判定未接收到第一防火墻檢測(cè)應(yīng)答報(bào)文。
5.如權(quán)利要求1所述的方法,其特征在于,預(yù)先設(shè)置最大重發(fā)次數(shù),則所述步驟B中進(jìn)一步包括判斷移動(dòng)節(jié)點(diǎn)是否既未接收到第一防火墻檢測(cè)應(yīng)答報(bào)文、又未接收到第二防火墻檢測(cè)應(yīng)答報(bào)文,如果是,則判斷是否超過最大重發(fā)次數(shù),如果超過,則結(jié)束本報(bào)文傳送流程,如果未超過,則將重發(fā)次數(shù)加1,返回執(zhí)行所述步驟A。
6.如權(quán)利要求1所述的方法,其特征在于,所述第二防火墻檢測(cè)報(bào)文包括UDP部分,用于攜帶該報(bào)文的UDP端口號(hào);所述第二防火墻檢測(cè)應(yīng)答報(bào)文進(jìn)一步包括UDP部分,用于攜帶該報(bào)文的UDP端口號(hào)。
7.如權(quán)利要求1所述的方法,其特征在于,采用UDP協(xié)議封裝報(bào)文的方法為將所述報(bào)文中的傳輸控制協(xié)議TCP/UDP部分在未加密時(shí)所代表的信息保存于UDP部分中,并插入到所述報(bào)文中。
全文摘要
本發(fā)明公開了一種移動(dòng)互聯(lián)網(wǎng)協(xié)議網(wǎng)絡(luò)中的報(bào)文傳送方法,其特征在于,該方法包括以下步驟A.移動(dòng)節(jié)點(diǎn)向家鄉(xiāng)代理發(fā)送一個(gè)只用網(wǎng)絡(luò)安全I(xiàn)Psec協(xié)議封裝的第一防火墻檢測(cè)報(bào)文以及發(fā)送另一個(gè)用IPsec協(xié)議和用戶數(shù)據(jù)報(bào)協(xié)議UDP封裝的第二防火墻檢測(cè)報(bào)文;B.移動(dòng)節(jié)點(diǎn)根據(jù)接收到的分別針對(duì)第一和第二防火墻檢測(cè)報(bào)文的防火墻檢測(cè)應(yīng)答報(bào)文,判斷所述移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間是否存在阻擋IPsec報(bào)文的防火墻,如果是,則繼續(xù)執(zhí)行綁定更新和報(bào)文交互,并采用UDP協(xié)議封裝報(bào)文,否則,繼續(xù)執(zhí)行綁定更新和報(bào)文交互。應(yīng)用本發(fā)明,當(dāng)移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理之間存在阻擋IPsec報(bào)文的防火墻時(shí),移動(dòng)節(jié)點(diǎn)和通信對(duì)端仍能夠進(jìn)行報(bào)文的交互。
文檔編號(hào)H04L29/06GK1835474SQ20051005531
公開日2006年9月20日 申請(qǐng)日期2005年3月15日 優(yōu)先權(quán)日2005年3月15日
發(fā)明者張宏科, 張思東, 楊申, 蘇偉, 任彥, 鄭祖周, 秦亞娟, 郜帥, 王江林, 劉穎, 苗福友 申請(qǐng)人:華為技術(shù)有限公司