專(zhuān)利名稱(chēng):移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法。
背景技術(shù):
進(jìn)入21世紀(jì),Internet(互聯(lián)網(wǎng))不僅要提供已有的數(shù)據(jù)業(yè)務(wù)、多媒體音視頻業(yè)務(wù),還將實(shí)現(xiàn)移動(dòng)Internet的功能,為移動(dòng)用戶提供無(wú)線的Internet接入業(yè)務(wù)。移動(dòng)IPv6就實(shí)現(xiàn)了主機(jī)在IPv6網(wǎng)絡(luò)中的移動(dòng)性,它使得節(jié)點(diǎn)在IPv6網(wǎng)絡(luò)中移動(dòng)時(shí)仍然保持可達(dá)的狀態(tài)。
在移動(dòng)IP網(wǎng)絡(luò)中,無(wú)論移動(dòng)節(jié)點(diǎn)是否連接在家鄉(xiāng)鏈路上,其家鄉(xiāng)地址總是可以設(shè)定的。家鄉(xiāng)地址是指定給節(jié)點(diǎn)的家鄉(xiāng)子網(wǎng)前綴范圍內(nèi)的IP地址。
當(dāng)移動(dòng)節(jié)點(diǎn)處于家鄉(xiāng)網(wǎng)絡(luò)時(shí),發(fā)送給家鄉(xiāng)地址的報(bào)文會(huì)路由到家鄉(xiāng)鏈路,并使用傳統(tǒng)路由機(jī)制路由到所述的家鄉(xiāng)地址。
當(dāng)移動(dòng)節(jié)點(diǎn)連接在外地鏈路時(shí),其轉(zhuǎn)交地址是可設(shè)定的。轉(zhuǎn)交地址是與節(jié)點(diǎn)的特定外地鏈路前綴有關(guān)的IP地址。移動(dòng)節(jié)點(diǎn)可以使用有狀態(tài)或無(wú)狀態(tài)地址自動(dòng)配置協(xié)議獲得轉(zhuǎn)交地址。只要節(jié)點(diǎn)還在此位置,指向轉(zhuǎn)交地址的數(shù)據(jù)包就能夠路由到節(jié)點(diǎn)。移動(dòng)節(jié)點(diǎn)可以從多個(gè)轉(zhuǎn)交地址接收數(shù)據(jù)包,比如節(jié)點(diǎn)正在移動(dòng),但從前一個(gè)鏈路仍然可達(dá)。在移動(dòng)IPv6網(wǎng)絡(luò)中,家鄉(xiāng)地址與轉(zhuǎn)交地址之間的關(guān)系被稱(chēng)為“綁定”。
與移動(dòng)節(jié)點(diǎn)通信的節(jié)點(diǎn)稱(chēng)為“通信對(duì)端”,移動(dòng)節(jié)點(diǎn)與通信對(duì)端之間有兩種通信模式雙向隧道和路由最佳化。
第一種模式是雙向隧道,該模式不需要通信對(duì)端支持移動(dòng)IPv6,在這種模式中,家鄉(xiāng)代理在家鄉(xiāng)鏈路上使用代理鄰居發(fā)現(xiàn)協(xié)議截取指向移動(dòng)節(jié)點(diǎn)家鄉(xiāng)地址的數(shù)據(jù)包。被截取的數(shù)據(jù)包通過(guò)隧道發(fā)送到移動(dòng)節(jié)點(diǎn)當(dāng)前的轉(zhuǎn)交地址。該隧道采用IPv6封裝。
第二種模式是路由最佳化,需要移動(dòng)節(jié)點(diǎn)向通信對(duì)端綁定當(dāng)前的轉(zhuǎn)交地址。從通信對(duì)端發(fā)出的數(shù)據(jù)包可以直接路由到移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址。當(dāng)發(fā)送到任意IPv6地址的數(shù)據(jù)包時(shí),通信對(duì)端根據(jù)緩存的綁定條目將數(shù)據(jù)包路由到綁定條目指定的轉(zhuǎn)交地址。
當(dāng)通信對(duì)端直接向移動(dòng)節(jié)點(diǎn)發(fā)送數(shù)據(jù)包時(shí),則將目的地址設(shè)為移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址。同時(shí)在IPv6的擴(kuò)展頭中加入新型的路由頭,包含所要求的家鄉(xiāng)地址。當(dāng)移動(dòng)節(jié)點(diǎn)向通信對(duì)端發(fā)送數(shù)據(jù)包時(shí),則將數(shù)據(jù)包的源地址設(shè)為當(dāng)前的轉(zhuǎn)交地址,在IPv6的擴(kuò)展頭中加入新的目的頭,包含要求的家鄉(xiāng)地址。
基于上述描述可以看出,移動(dòng)IPv6的正常通信可以實(shí)現(xiàn)。然而,在通信網(wǎng)絡(luò)中,防火墻作為一種重要的網(wǎng)絡(luò)防護(hù)設(shè)備,被廣泛的配置在網(wǎng)絡(luò)的各個(gè)環(huán)節(jié)。防火墻的工作特性使得網(wǎng)絡(luò)中的報(bào)文很可能無(wú)法順利傳輸?shù)侥康亩恕?br>
防火墻主要包括包過(guò)濾型和應(yīng)用代理型兩大類(lèi)型。
(1)包過(guò)濾(Packet filtering)類(lèi)型包過(guò)濾型防火墻根據(jù)數(shù)據(jù)包頭源地址,目的地址、端口號(hào)和協(xié)議類(lèi)型等標(biāo)志確定是否允許通過(guò)。只有滿足過(guò)濾條件的數(shù)據(jù)包才被轉(zhuǎn)發(fā)到相應(yīng)的目的地,其余數(shù)據(jù)包則被從數(shù)據(jù)流中丟棄。
舉例來(lái)說(shuō),當(dāng)受保護(hù)節(jié)點(diǎn)與外部節(jié)點(diǎn)通信時(shí),受保護(hù)節(jié)點(diǎn)為建立TCP(傳輸控制協(xié)議)連接首先發(fā)出TCP SYN(傳輸控制協(xié)議同步)包,當(dāng)該包通過(guò)防火墻時(shí),防火墻根據(jù)包的內(nèi)容在它的狀態(tài)列表里建立一個(gè)相應(yīng)的條目,該條目包含這個(gè)TCP連接的源、目的地址和源、目的端口號(hào)。然后,防火墻便可以根據(jù)這一條目進(jìn)行數(shù)據(jù)包的監(jiān)控。
(2)應(yīng)用代理(Application Proxy)類(lèi)型應(yīng)用代理型防火墻是的特點(diǎn)是完全“阻隔”了網(wǎng)絡(luò)通信流,通過(guò)對(duì)每種應(yīng)用服務(wù)編制專(zhuān)門(mén)的代理程序,實(shí)現(xiàn)監(jiān)視和控制應(yīng)用層通信流的作用。對(duì)于從內(nèi)部發(fā)出的數(shù)據(jù)包經(jīng)過(guò)這樣的防火墻處理后,就好像是源于防火墻外部網(wǎng)卡一樣,從而可以達(dá)到隱藏內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)的作用。這種類(lèi)型的防火墻被網(wǎng)絡(luò)安全專(zhuān)家和媒體公認(rèn)為是最安全的防火墻。
由于現(xiàn)在的防火墻都是針對(duì)固定網(wǎng)絡(luò)通信的特點(diǎn)設(shè)計(jì)的,所以當(dāng)MIPv6在有防火墻網(wǎng)絡(luò)中實(shí)施時(shí)就會(huì)遇到一些困難。例如,在通信的過(guò)程中,如果通信對(duì)端在受防火墻保護(hù)的網(wǎng)絡(luò)中,若移動(dòng)節(jié)點(diǎn)在外地網(wǎng)絡(luò)發(fā)生了位置的改變,則由于節(jié)點(diǎn)移動(dòng)后,首先會(huì)向通信對(duì)端進(jìn)行綁定更新,而發(fā)出的CoTI報(bào)文由于使用了新的源地址而無(wú)法通過(guò)防火墻,導(dǎo)致更新過(guò)程無(wú)法完成,通信對(duì)端不能知道移動(dòng)節(jié)點(diǎn)的新的轉(zhuǎn)交地址,進(jìn)而導(dǎo)致通信對(duì)端與移動(dòng)節(jié)點(diǎn)的通信就會(huì)中斷。
為此,目前提出了利用已有的NSIS NSLP技術(shù)為MIPv6(移動(dòng)IPv6)提供了一種動(dòng)態(tài)的穿越防火墻的實(shí)現(xiàn)方法。
NSLP(NSIS的擴(kuò)展協(xié)議)是一種允許主機(jī)按照數(shù)據(jù)流的要求配置數(shù)據(jù)路徑上的NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)和防火墻的協(xié)議,從而使隨后數(shù)據(jù)流能夠穿越相應(yīng)的設(shè)備而不被阻斷。例如,一臺(tái)源主機(jī)向數(shù)據(jù)的目的主機(jī)發(fā)送NSLP信號(hào)報(bào)文。所述的NSLP信號(hào)報(bào)文將通過(guò)與數(shù)據(jù)流相同的路徑傳送。在該路徑上,每一個(gè)NAT和防火墻都將截獲所述NSLP信號(hào)報(bào)文,并根據(jù)報(bào)文承載的信息進(jìn)行處理并根據(jù)報(bào)文配置自己的狀態(tài),從而使得隨后的實(shí)際的數(shù)據(jù)流就可以穿越已經(jīng)配置過(guò)的防火墻和NAT設(shè)備。
在該方法中,要求移動(dòng)節(jié)點(diǎn)和通信對(duì)端能夠明確的知道防火墻的位置及究竟是哪個(gè)節(jié)點(diǎn)受防火墻的保護(hù),否則無(wú)法實(shí)現(xiàn)。而對(duì)于這一要求,在某些特定的場(chǎng)景中是可能的,但當(dāng)移動(dòng)節(jié)點(diǎn)在全網(wǎng)絡(luò)范圍內(nèi)移動(dòng)時(shí),想要確切地定位一個(gè)防火墻則是很困難的,因此,該方法的應(yīng)用環(huán)境有一定的局限性。
另外,該方法中,MIPv6的控制報(bào)文的構(gòu)造都是不同的,每個(gè)不同類(lèi)型的控制報(bào)文在穿越防火墻時(shí)都要建立不同的過(guò)濾規(guī)則,也就是說(shuō)每個(gè)控制報(bào)文在發(fā)送之前都要經(jīng)過(guò)一個(gè)NSIS的協(xié)商過(guò)程,建立相應(yīng)的過(guò)濾規(guī)則。這樣,當(dāng)控制報(bào)文大量出現(xiàn)或移動(dòng)節(jié)點(diǎn)頻繁移動(dòng)時(shí),相應(yīng)的處理過(guò)程將會(huì)顯得很繁瑣,并且還會(huì)給網(wǎng)絡(luò)帶來(lái)額外的負(fù)擔(dān)。
目前,SUN公司還為MIPv4穿越防火墻提供了一種實(shí)現(xiàn)方法。該方法主要是利用了SKIP(互聯(lián)網(wǎng)協(xié)議的簡(jiǎn)單密鑰管理協(xié)議)面向數(shù)據(jù)包加密和具有名字空間標(biāo)識(shí)符的特性。
SKIP是為了像IP這樣基于數(shù)據(jù)報(bào)的協(xié)議而設(shè)計(jì)的。用戶是通過(guò)SKIP證書(shū)的形式發(fā)布公共密鑰信息的。公共證書(shū)是發(fā)布給其他用戶的,其他用戶得到并使用這些公共密鑰為加密通信計(jì)算一個(gè)唯一的共享密鑰。
NSID(名字空間標(biāo)識(shí)符)標(biāo)識(shí)了正在使用的密鑰類(lèi)型。
MKID(主密鑰標(biāo)識(shí)符)唯一的指定了查找正確的證書(shū)所需要的ID。
聯(lián)合使用NSID和MKID則可以唯一的確定一個(gè)證書(shū)。比如,移動(dòng)節(jié)點(diǎn)可以將NSID設(shè)為1而將MKID設(shè)置成家鄉(xiāng)地址,這就意味著移動(dòng)節(jié)點(diǎn)要告訴通信對(duì)端“忽略源IP地址,使用我的家鄉(xiāng)地址查找公共密鑰”。
SUN公司的這一設(shè)計(jì)方案主要是針對(duì)應(yīng)用網(wǎng)關(guān)型防火墻,它要求防火墻具有解密數(shù)據(jù)包并且轉(zhuǎn)發(fā)的功能。仍然考慮通信對(duì)端被動(dòng)態(tài)包過(guò)濾防火墻所保護(hù)的場(chǎng)景。移動(dòng)節(jié)點(diǎn)和家鄉(xiāng)代理在防火墻網(wǎng)絡(luò)的外部。這時(shí)移動(dòng)節(jié)點(diǎn)發(fā)出的數(shù)據(jù)包采用SKIP的隧道模式。
防火墻得到加密的數(shù)據(jù)包后,根據(jù)數(shù)據(jù)包中的NSID和MKID的值可以在證書(shū)數(shù)據(jù)庫(kù)中找到正確的證書(shū),得到共享密鑰并解密整個(gè)數(shù)據(jù)包。防火墻再將解密后的數(shù)據(jù)包轉(zhuǎn)發(fā)給通信對(duì)端。通信對(duì)端得到數(shù)據(jù)包后進(jìn)行正常的處理并作出響應(yīng),響應(yīng)的數(shù)據(jù)包到達(dá)防火墻時(shí),由防火墻加密后再轉(zhuǎn)發(fā)給移動(dòng)節(jié)點(diǎn)。在這個(gè)通信過(guò)程中,防火墻在處理數(shù)據(jù)包時(shí)并沒(méi)有使用移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址,因此,即使移動(dòng)節(jié)點(diǎn)移動(dòng)了,也不會(huì)對(duì)通信產(chǎn)生任何的影響,到達(dá)通信對(duì)端的數(shù)據(jù)包仍然可以穿越防火墻。
然而,這一方法是基于代理型防火墻實(shí)現(xiàn),該方法要求防火墻具有轉(zhuǎn)發(fā)數(shù)據(jù)包的功能,并且能夠進(jìn)行SKIP的加密和解密操作。但在實(shí)際應(yīng)用中,因?yàn)镸IPv6是網(wǎng)絡(luò)層的協(xié)議,所以應(yīng)用代理型防火墻對(duì)MIPv6的影響并不大,真正對(duì)MIPv6的實(shí)施影響最大的是包過(guò)濾型防火墻,因此,該方法并不適用。
而且,該方法中同樣要求移動(dòng)節(jié)點(diǎn)和通信對(duì)端能夠明確的知道防火墻的位置及究竟是哪個(gè)節(jié)點(diǎn)受防火墻的保護(hù)。顯然,這一要求在某些特定的場(chǎng)景中無(wú)法實(shí)現(xiàn)。
另外,這一方法是針對(duì)MIPv4設(shè)計(jì),其核心技術(shù)SKIP目前還不支持IPv6,因此這一技術(shù)而還不能應(yīng)用于MIPv6。
發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)所存在的問(wèn)題,本發(fā)明的目的是提供一種移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法,可以有效保證,當(dāng)移動(dòng)IPv6節(jié)點(diǎn)的地址發(fā)生改變時(shí),仍可以和通信對(duì)端正常開(kāi)展通信,而不會(huì)因防火墻的影響中斷通信,且實(shí)現(xiàn)過(guò)程不增加網(wǎng)絡(luò)的負(fù)擔(dān)。
本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明提供了一種移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法,包括A、防火墻接收發(fā)起通信的移動(dòng)IPv6報(bào)文,獲取所述報(bào)文中的IPv6擴(kuò)展頭及過(guò)濾信息;B、根據(jù)所述IPv6擴(kuò)展頭和過(guò)濾信息建立對(duì)應(yīng)的過(guò)濾規(guī)則信息;C、防火墻基于所述的過(guò)濾規(guī)則信息對(duì)經(jīng)過(guò)的IPv6報(bào)文進(jìn)行過(guò)濾處理。
所述的IPv6擴(kuò)展頭包括家鄉(xiāng)地址目的選項(xiàng)和類(lèi)型2路由頭,分別用于承載移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址信息。
所述的步驟A包括防火墻接收發(fā)起通信的移動(dòng)節(jié)點(diǎn)發(fā)來(lái)的報(bào)文時(shí),則獲取所述報(bào)文中的家鄉(xiāng)地址目的選項(xiàng)信息;防火墻接收發(fā)起通信的通信對(duì)端發(fā)來(lái)的報(bào)文時(shí),則獲取所述報(bào)文中的類(lèi)型2路由頭信息。
本發(fā)明中,對(duì)于通信對(duì)端發(fā)送來(lái)的報(bào)文,所述的過(guò)濾信息包括作為源地址的通信對(duì)端地址、作為目的地址轉(zhuǎn)交地址、源傳輸控制協(xié)議TCP端口號(hào)和目的TCP端口號(hào)信息。
本發(fā)明中,對(duì)于移動(dòng)節(jié)點(diǎn)發(fā)送來(lái)的報(bào)文,所述的過(guò)濾信息包括作為源地址的轉(zhuǎn)交地址、作為目的地址的通信對(duì)端地址、源TCP端口號(hào)信息和目的TCP端口號(hào)信息。
所述的步驟B包括當(dāng)移動(dòng)節(jié)點(diǎn)發(fā)起通信時(shí),防火墻將所述過(guò)濾信息中的源地址信息替換為IPv6擴(kuò)展頭中的家鄉(xiāng)地址信息,并作為相應(yīng)的過(guò)濾規(guī)則信息。
所述的步驟B還包括當(dāng)通信對(duì)端發(fā)起通信時(shí),防火墻將所述過(guò)濾信息中的目的地址信息替換為IPv6擴(kuò)展頭中的家鄉(xiāng)地址信息,并作為相應(yīng)的過(guò)濾規(guī)則信息。
所述的步驟B還包括當(dāng)家鄉(xiāng)代理發(fā)起通信時(shí),防火墻將所述的過(guò)濾信息中的目的地址信息替換為IPv6擴(kuò)展頭中的家鄉(xiāng)地址信息,并作為相應(yīng)的過(guò)濾規(guī)則信息。
所述的步驟C包括C1、防火墻收到移動(dòng)節(jié)點(diǎn)或通信對(duì)端發(fā)來(lái)的IPv6報(bào)文時(shí),獲取報(bào)文中的IPv6擴(kuò)展頭及過(guò)濾信息;C2、將所述過(guò)濾信息中的目的地址或源地址替換為IPv6擴(kuò)展頭中的家鄉(xiāng)地址,并與保存的過(guò)濾規(guī)則列表中的過(guò)濾規(guī)則信息進(jìn)行匹配,如果匹配通過(guò),則允許該報(bào)文通過(guò)該防火墻,否則,禁止該報(bào)文穿過(guò)該防火墻。
本發(fā)明還提供了一種基于上述方法的防火墻的實(shí)現(xiàn)方法,包括接收發(fā)起通信的移動(dòng)IPv6報(bào)文,獲取其中的IPv6擴(kuò)展頭及過(guò)濾信息;根據(jù)所述IPv6擴(kuò)展頭和過(guò)濾信息確定對(duì)應(yīng)的過(guò)濾規(guī)則信息,并將所述的過(guò)濾規(guī)則信息增加至過(guò)濾規(guī)則列表中;防火墻獲取經(jīng)過(guò)的IPv6報(bào)文的過(guò)濾信息,并根據(jù)報(bào)文中的IPv6擴(kuò)展頭修改所述過(guò)濾信息,再基于所述過(guò)濾規(guī)則列表對(duì)該過(guò)濾信息進(jìn)行匹配過(guò)濾,即對(duì)所述IPv6報(bào)文進(jìn)行過(guò)濾處理。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明通過(guò)對(duì)防火墻的修改即可以獲得可以實(shí)現(xiàn)本發(fā)明所述方法的防火墻,從而可以很好的支持MIPv6的通信,保證移動(dòng)IPv6報(bào)文在各種情況下均可以可靠地穿越防火墻。
而且,本發(fā)明的實(shí)現(xiàn)使得移動(dòng)節(jié)點(diǎn)和通信對(duì)端在不知道兩者之間是否存在防火墻及防火墻的位置的情況下,仍然可以在移動(dòng)節(jié)點(diǎn)地址發(fā)生改變時(shí),保持正常的通信不中斷,即兩者之間的通信也不會(huì)受到地址改變的影響,防火墻對(duì)移動(dòng)節(jié)點(diǎn)和通信對(duì)端來(lái)說(shuō)是透明的。
本發(fā)明還可以在無(wú)需在網(wǎng)絡(luò)中傳輸大量相關(guān)報(bào)文的情況下實(shí)現(xiàn),因此,本發(fā)明的實(shí)現(xiàn)并未增加網(wǎng)絡(luò)的負(fù)擔(dān)。
圖1為本發(fā)明所述的方法的應(yīng)用環(huán)境1;圖2為本發(fā)明所述的方法的應(yīng)用環(huán)境2;圖3為本發(fā)明所述的方法的流程圖。
具體實(shí)施例方式
本發(fā)明的核心是首先,在移動(dòng)IPv6報(bào)文中增加IPv6擴(kuò)展頭,用于承載家鄉(xiāng)地址目的地址選項(xiàng)或類(lèi)型2路由頭信息;之后,防火墻在過(guò)濾數(shù)據(jù)包時(shí),會(huì)逐個(gè)訪問(wèn)每一個(gè)IPv6擴(kuò)展頭,當(dāng)它訪問(wèn)到類(lèi)型2路由頭或家鄉(xiāng)地址目的地址選項(xiàng)時(shí),就用擴(kuò)展頭中的家鄉(xiāng)地址代替IPv6頭中轉(zhuǎn)交地址建立過(guò)濾信息,這樣轉(zhuǎn)交地址就不再用來(lái)標(biāo)識(shí)通信也不出現(xiàn)在過(guò)濾信息中,已經(jīng)連接的通信也不會(huì)因?yàn)檗D(zhuǎn)交地址的改變而被防火墻當(dāng)成新的連接拒絕掉。
為對(duì)本發(fā)明有進(jìn)一步的了解,下面首先對(duì)現(xiàn)有的移動(dòng)IPv6的應(yīng)用環(huán)境進(jìn)行描述。
根據(jù)防火墻在網(wǎng)絡(luò)中配置的不同位置,和受保護(hù)節(jié)點(diǎn)的不同類(lèi)型(包括通信對(duì)端或移動(dòng)節(jié)點(diǎn)),防火墻對(duì)MIPv6的影響包括兩種模型通信對(duì)端受防火墻保護(hù),和移動(dòng)節(jié)點(diǎn)在受防火墻保護(hù)的網(wǎng)絡(luò)內(nèi)移動(dòng)。
(1)通信對(duì)端受防火墻的保護(hù)的應(yīng)用環(huán)境如圖1所示,圖中的防火墻Fire Wall位于CN側(cè),即位于CN與互聯(lián)網(wǎng)Internet Cloud之間,在這一環(huán)境中,MN獲得新的轉(zhuǎn)交地址后,MN(移動(dòng)節(jié)點(diǎn))發(fā)出的CoTI由于使用了新的源地址和傳輸層端口號(hào)而不能穿越防火墻;同時(shí),由MN到CN的數(shù)據(jù)也由于使用了新的源地址而無(wú)法穿越防火墻。
(2)移動(dòng)節(jié)點(diǎn)在受防火墻保護(hù)的網(wǎng)絡(luò)內(nèi)移動(dòng)的應(yīng)用環(huán)境如圖2所示,圖中的防火墻Fire Wall位于MN側(cè),即位于MN與互聯(lián)網(wǎng)Internet Cloud之間,在這一環(huán)境中,MN獲得新的轉(zhuǎn)交地址后,CN(通信對(duì)端)發(fā)送到MN的數(shù)據(jù)由于使用了新的目的地址不能穿越防火墻。
在上述兩種應(yīng)用環(huán)境中,移動(dòng)節(jié)點(diǎn)的位置發(fā)生變化后會(huì)獲得新的轉(zhuǎn)交地址,通信對(duì)端和移動(dòng)節(jié)點(diǎn)都使用新的轉(zhuǎn)交地址繼續(xù)通信。而防火墻的過(guò)濾規(guī)則信息都是基于以前的轉(zhuǎn)交地址建立的,所以使用新轉(zhuǎn)交地址的數(shù)據(jù)包會(huì)被認(rèn)為是新的通信而被過(guò)濾掉,導(dǎo)致通信過(guò)程中斷。
基于上述針對(duì)現(xiàn)有的應(yīng)用環(huán)境的分析,下面將對(duì)本發(fā)明所述的方法的具體實(shí)現(xiàn)方式進(jìn)行詳細(xì)的描述。
在MIPv6中,當(dāng)移動(dòng)節(jié)點(diǎn)與通信對(duì)端通信時(shí),移動(dòng)節(jié)點(diǎn)發(fā)出的報(bào)文必須要包含家鄉(xiāng)地址目的選項(xiàng),報(bào)文格式具體可以如表1所示表1
同樣,在MIPv6中,通信對(duì)端發(fā)出的報(bào)文要包含類(lèi)型2路由頭,相應(yīng)的報(bào)文格式具體可以如表2所示表2
同樣,在MIPv6中,當(dāng)移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理通信時(shí),家鄉(xiāng)地址目的選項(xiàng)和類(lèi)型2路由頭的使用情況與表1和表2類(lèi)似。
基于上述MIPv6報(bào)文的特殊格式,本發(fā)明所述的方法的具體實(shí)現(xiàn)方式如圖3所示,具體包括以下步驟步驟31當(dāng)防火墻收到移動(dòng)節(jié)點(diǎn)或通信對(duì)端發(fā)來(lái)的報(bào)文時(shí),則解析獲得報(bào)文中的IPv6擴(kuò)展頭信息和過(guò)濾信息;本發(fā)明中,為使得防火墻不會(huì)影響MIPv6的正常通信,需要對(duì)防火墻進(jìn)行修改,要求防火墻能夠識(shí)別MIPv6報(bào)文中的IPv6擴(kuò)展頭信息,即家鄉(xiāng)地址目的選項(xiàng)和類(lèi)型2路由頭;
即防火墻在過(guò)濾數(shù)據(jù)包時(shí),會(huì)逐個(gè)訪問(wèn)每一個(gè)MIPv6報(bào)文的IPv6擴(kuò)展頭,包括類(lèi)型2路由頭和家鄉(xiāng)目的地址選項(xiàng)。
步驟32防火墻根據(jù)所述獲得的IPv6擴(kuò)展頭和過(guò)濾信息,在過(guò)濾規(guī)則列表中建立增加相關(guān)的過(guò)濾規(guī)則信息;所述的過(guò)濾信息包括源地址、目的地址、源端口號(hào)和目的端口號(hào)等;當(dāng)移動(dòng)節(jié)點(diǎn)發(fā)起通信時(shí),防火墻將所述過(guò)濾信息中的源地址信息替換為IPv6擴(kuò)展頭中的家鄉(xiāng)地址信息,并作為相應(yīng)的過(guò)濾規(guī)則信息;當(dāng)通信對(duì)端或家鄉(xiāng)代理發(fā)起通信時(shí),防火墻將所述過(guò)濾信息中的目的地址信息替換為IPv6擴(kuò)展頭中的家鄉(xiāng)地址信息,并作為相應(yīng)的過(guò)濾規(guī)則信息;步驟33當(dāng)防火墻收到移動(dòng)節(jié)點(diǎn)或通信對(duì)端發(fā)來(lái)的報(bào)文時(shí),則獲取其中的過(guò)濾信息;所述的過(guò)濾信息同樣需要根據(jù)IPv6擴(kuò)展頭中的家鄉(xiāng)地址信息采用步驟32所述的方式進(jìn)行相應(yīng)的替換處理;步驟34將所述經(jīng)過(guò)替換處理后的過(guò)濾信息與過(guò)濾規(guī)則列表中的過(guò)濾規(guī)則信息匹配,從而對(duì)所述報(bào)文進(jìn)行過(guò)濾處理;步驟35判斷報(bào)文中的過(guò)濾信息是否與防火墻的過(guò)濾規(guī)則列表中的過(guò)濾規(guī)則信息匹配,如果匹配,則執(zhí)行步驟36,否則,執(zhí)行步驟37;步驟36允許報(bào)文通過(guò),并進(jìn)行正常的報(bào)文轉(zhuǎn)發(fā)處理;步驟37禁止報(bào)文通過(guò)該防火墻。
在本發(fā)明中還包括對(duì)移動(dòng)節(jié)點(diǎn)和家鄉(xiāng)代理間交互的IPv6報(bào)文采用上述步驟31至步驟37的處理方式進(jìn)行處理。
下面再結(jié)合具體的應(yīng)用實(shí)例對(duì)本發(fā)明所述的方法作進(jìn)一步的說(shuō)明。具體以圖1所示的應(yīng)用環(huán)境為例,當(dāng)通信對(duì)端向移動(dòng)節(jié)點(diǎn)發(fā)起通信,且相應(yīng)的報(bào)文格式如表2所示時(shí),本發(fā)明提供的處理過(guò)程如下(1)通常情況下,防火墻掃描數(shù)據(jù)包將得到的過(guò)濾信息是通信對(duì)端地址,轉(zhuǎn)交地址,源TCP端口號(hào)和目的TCP端口號(hào);(2)防火墻在訪問(wèn)到類(lèi)型2路由頭時(shí),則使用家鄉(xiāng)地址替換過(guò)濾信息中的目的地址(即轉(zhuǎn)交地址),從而獲得更新后的過(guò)濾信息,具體為通信對(duì)端地址,家鄉(xiāng)地址,源TCP端口號(hào)和目的TCP端口號(hào);(3)防火墻將以更新后的過(guò)濾信息在過(guò)濾規(guī)則列表中增加建立相應(yīng)的過(guò)濾規(guī)則信息,具體包括兩條規(guī)則1、通信對(duì)端地址,家鄉(xiāng)地址,源TCP端口號(hào)和目的TCP端口號(hào);2、家鄉(xiāng)地址,通信對(duì)端地址,源TCP端口號(hào)和目的TCP端口號(hào)。
(4)當(dāng)移動(dòng)節(jié)點(diǎn)響應(yīng)通信對(duì)端的通信時(shí),發(fā)出的報(bào)文格式如表1所示,此時(shí),防火墻掃描數(shù)據(jù)包將得到的過(guò)濾信息是轉(zhuǎn)交地址,通信對(duì)端地址,源TCP端口號(hào)和目的TCP端口號(hào);(5)防火墻訪問(wèn)到目的選項(xiàng)擴(kuò)展頭時(shí),則會(huì)根據(jù)家鄉(xiāng)地址目的選項(xiàng)的內(nèi)容(即家鄉(xiāng)地址)替換過(guò)濾信息中的源地址,這時(shí)得到的過(guò)濾信息變?yōu)榧亦l(xiāng)地址,通信對(duì)端地址,源TCP端口號(hào)和目的TCP端口號(hào);(6)防火墻根據(jù)此信息在過(guò)濾規(guī)則列表中搜索,若能找到相匹配的規(guī)則就允許數(shù)據(jù)報(bào)文通過(guò),否則,就阻塞該數(shù)據(jù)報(bào)文;由于在過(guò)程(3)中已經(jīng)將相應(yīng)的規(guī)則增加于防火墻的過(guò)濾規(guī)則列表中,所以在該過(guò)程中,相應(yīng)的報(bào)文可以順利通過(guò)相應(yīng)的防火墻;因此,本發(fā)明實(shí)現(xiàn)了在移動(dòng)IPv6報(bào)文的地址發(fā)生改變的情況下,仍然可以順利通過(guò)相應(yīng)的防火墻,保證了移動(dòng)IPv6通信的可靠性。
實(shí)質(zhì)上,本發(fā)明提供了一種防火墻的實(shí)現(xiàn)方法,基于該方法實(shí)現(xiàn)的防火墻可以保證地址發(fā)生變化的移動(dòng)IPv6報(bào)文可以順利穿越。所述的防火墻的實(shí)現(xiàn)方法包括首先,防火墻接收發(fā)起通信的移動(dòng)IPv6報(bào)文,獲取其中的IPv6擴(kuò)展頭及過(guò)濾信息,即從報(bào)文中解析出IPv6擴(kuò)展頭承載的家鄉(xiāng)地址信息;
然后,根據(jù)所述IPv6擴(kuò)展頭和過(guò)濾信息確定對(duì)應(yīng)的過(guò)濾規(guī)則信息,即將過(guò)濾信息中的轉(zhuǎn)交地址替換為家鄉(xiāng)地址,再作為新的過(guò)濾規(guī)則信息,并將所述的過(guò)濾規(guī)則信息增加至過(guò)濾規(guī)則列表中。
基于上述方法實(shí)現(xiàn)的防火墻便可以保證IPv6報(bào)文在地址發(fā)生變化的情況下仍然可以順利通過(guò)相應(yīng)的防火墻,保證了移動(dòng)IPv6通信的可靠性。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法,其特征在于,包括A、防火墻接收發(fā)起通信的移動(dòng)IPv6報(bào)文,獲取所述報(bào)文中的IPv6擴(kuò)展頭及過(guò)濾信息;B、根據(jù)所述IPv6擴(kuò)展頭和過(guò)濾信息建立對(duì)應(yīng)的過(guò)濾規(guī)則信息;C、防火墻基于所述的過(guò)濾規(guī)則信息對(duì)經(jīng)過(guò)的IPv6報(bào)文進(jìn)行過(guò)濾處理。
2.根據(jù)權(quán)利要求1所述的移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法,其特征在于,所述的IPv6擴(kuò)展頭包括家鄉(xiāng)地址目的選項(xiàng)和類(lèi)型2路由頭,分別用于承載移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址信息。
3.根據(jù)權(quán)利要求1所述的移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法,其特征在于,所述的步驟A包括防火墻接收發(fā)起通信的移動(dòng)節(jié)點(diǎn)發(fā)來(lái)的報(bào)文時(shí),則獲取所述報(bào)文中的家鄉(xiāng)地址目的選項(xiàng)信息;防火墻接收發(fā)起通信的通信對(duì)端發(fā)來(lái)的報(bào)文時(shí),則獲取所述報(bào)文中的類(lèi)型2路由頭信息。
4.根據(jù)權(quán)利要求1所述的移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法,其特征在于,對(duì)于通信對(duì)端發(fā)送來(lái)的報(bào)文,所述的過(guò)濾信息包括作為源地址的通信對(duì)端地址、作為目的地址轉(zhuǎn)交地址、源傳輸控制協(xié)議TCP端口號(hào)和目的TCP端口號(hào)信息。
5.根據(jù)權(quán)利要求1所述的移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法,其特征在于,對(duì)于移動(dòng)節(jié)點(diǎn)發(fā)送來(lái)的報(bào)文,所述的過(guò)濾信息包括作為源地址的轉(zhuǎn)交地址、作為目的地址的通信對(duì)端地址、源TCP端口號(hào)信息和目的TCP端口號(hào)信息。
6.根據(jù)權(quán)利要求1至5任一項(xiàng)所述的移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法,其特征在于,所述的步驟B包括當(dāng)移動(dòng)節(jié)點(diǎn)發(fā)起通信時(shí),防火墻將所述過(guò)濾信息中的源地址信息替換為IPv6擴(kuò)展頭中的家鄉(xiāng)地址信息,并作為相應(yīng)的過(guò)濾規(guī)則信息。
7.根據(jù)權(quán)利要求6所述的移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法,其特征在于,所述的步驟B還包括當(dāng)通信對(duì)端發(fā)起通信時(shí),防火墻將所述過(guò)濾信息中的目的地址信息替換為IPv6擴(kuò)展頭中的家鄉(xiāng)地址信息,并作為相應(yīng)的過(guò)濾規(guī)則信息。
8.根據(jù)權(quán)利要求7所述的移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法,其特征在于,所述的步驟B還包括當(dāng)家鄉(xiāng)代理發(fā)起通信時(shí),防火墻將所述的過(guò)濾信息中的目的地址信息替換為IPv6擴(kuò)展頭中的家鄉(xiāng)地址信息,并作為相應(yīng)的過(guò)濾規(guī)則信息。
9.根據(jù)權(quán)利要求7所述的移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法,其特征在于,所述的步驟C包括C1、防火墻收到移動(dòng)節(jié)點(diǎn)或通信對(duì)端發(fā)來(lái)的IPv6報(bào)文時(shí),獲取報(bào)文中的IPv6擴(kuò)展頭及過(guò)濾信息;C2、將所述過(guò)濾信息中的目的地址或源地址替換為IPv6擴(kuò)展頭中的家鄉(xiāng)地址,并與保存的過(guò)濾規(guī)則列表中的過(guò)濾規(guī)則信息進(jìn)行匹配,如果匹配通過(guò),則允許該報(bào)文通過(guò)該防火墻,否則,禁止該報(bào)文穿過(guò)該防火墻。
10.一種基于上述方法的防火墻的實(shí)現(xiàn)方法,其特征在于,包括接收發(fā)起通信的移動(dòng)IPv6報(bào)文,獲取其中的IPv6擴(kuò)展頭及過(guò)濾信息;根據(jù)所述IPv6擴(kuò)展頭和過(guò)濾信息確定對(duì)應(yīng)的過(guò)濾規(guī)則信息,并將所述的過(guò)濾規(guī)則信息增加至過(guò)濾規(guī)則列表中;防火墻獲取經(jīng)過(guò)的IPv6報(bào)文的過(guò)濾信息,并根據(jù)報(bào)文中的IPv6擴(kuò)展頭修改所述過(guò)濾信息,再基于所述過(guò)濾規(guī)則列表對(duì)該過(guò)濾信息進(jìn)行匹配過(guò)濾。
全文摘要
本發(fā)明涉及一種移動(dòng)IPv6報(bào)文穿越防火墻的實(shí)現(xiàn)方法。該方法主要包括防火墻接收發(fā)起通信的移動(dòng)IPv6報(bào)文,獲取所述報(bào)文中的IPv6擴(kuò)展頭及過(guò)濾信息,并根據(jù)所述IPv6擴(kuò)展頭和過(guò)濾信息建立對(duì)應(yīng)的過(guò)濾規(guī)則信息;然后,防火墻基于所述的過(guò)濾規(guī)則信息對(duì)經(jīng)過(guò)的IPv6報(bào)文進(jìn)行過(guò)濾處理。因此,本發(fā)明通過(guò)對(duì)防火墻的修改即可以獲得可以實(shí)現(xiàn)本發(fā)明所述方法的防火墻,從而可以很好的支持MIPv6的通信,保證移動(dòng)IPv6報(bào)文在相應(yīng)的情況下均可以可靠地穿越防火墻。而且,本發(fā)明的實(shí)現(xiàn)使得移動(dòng)節(jié)點(diǎn)和通信對(duì)端在不知道兩者之間是否存在防火墻及防火墻的位置的情況下,仍然可以在移動(dòng)節(jié)點(diǎn)地址發(fā)生改變時(shí),保持正常的通信不中斷。
文檔編號(hào)H04L29/06GK1838632SQ20051005565
公開(kāi)日2006年9月27日 申請(qǐng)日期2005年3月22日 優(yōu)先權(quán)日2005年3月22日
發(fā)明者張宏科, 張思東, 楊申, 蘇偉, 任彥, 鄭祖周, 秦亞娟, 郜帥, 王江林, 劉穎, 苗福友 申請(qǐng)人:華為技術(shù)有限公司