胡清桂
(內江師范學院,四川內江641112)
隨著Internet技術的迅速發(fā)展,便攜計算機等移動設備普遍使用,用戶對設備的移動性要求越來越高。下一代網絡協(xié)議IPv6為節(jié)點移動性的實現(xiàn)提供了有力的支持。目前,IETF已經制定了移動IPv6的正式標準(MIPv6-RFC3775[1])和3個相關標準:移動IPv6的快速切換(FMIPv6-RFC4068)、層次移動IPv6的移動性管理(HMIPv6-RFC4140)、網絡移動(NEMO-RFC3963[2]),這些標準給人們展示了移動IPv6的誘人前景,但它的發(fā)展還只是處在起步階段,還需要完善和改進。
按照傳統(tǒng)的移動IPv6協(xié)議,它有以下幾個基本概念:
1)移動節(jié)點:即移動上網設備,通常稱之為MN[1]。
2)家鄉(xiāng)地址:移動節(jié)點在家鄉(xiāng)網絡的長期IP地址,它是固定不變的[1]。
3)轉交地址:移動節(jié)點在外地網絡上獲得的臨時 IP 地址[1]。
4)家鄉(xiāng)代理:家鄉(xiāng)網絡中特定路由器[1]。
5)通信對端:指與移動節(jié)點進行通信的網絡設備[1]。
移動節(jié)點在本地網絡時,采用傳統(tǒng)的尋址機制收發(fā)數(shù)據(jù)。當移動節(jié)點離開本地網絡連接到外地網絡時,它根據(jù)IPv6定義的地址自動配置方法獲得一個臨時IP地址,即轉交地址(CoA),并將當前的轉交地址通知家鄉(xiāng)代理和通信對端,然后進行通信[2]。
在標準移動IPv6協(xié)議中,每一個移動節(jié)點都擁有一個基于其家鄉(xiāng)網絡地址前綴的永久性IP地址,即家鄉(xiāng)地址[3]。當移動節(jié)點位于其家鄉(xiāng)網絡中時,它就是一個固定節(jié)點,不執(zhí)行任何移動IP的功能。當它移動到外地網絡時,它根據(jù)IPv6定義的地址自動配置方法獲得轉交地址。然后移動節(jié)點向家鄉(xiāng)代理和通信對端發(fā)送關于轉交地址的更新消息,使家鄉(xiāng)代理和通信對端及時得到移動節(jié)點當前的網絡接入點[3]。若IP網中某一節(jié)點不知道移動節(jié)點當前的轉交地址,那么該節(jié)點發(fā)往移動節(jié)點的數(shù)據(jù)包要經過家鄉(xiāng)代理轉發(fā)。當移動節(jié)點收到一個從家鄉(xiāng)代理轉發(fā)來的數(shù)據(jù)包,它就向發(fā)送數(shù)據(jù)包的源節(jié)點發(fā)送轉交地址更新信息,使源節(jié)點可以直接向移動節(jié)點發(fā)送數(shù)據(jù)包,而不需要再經過家鄉(xiāng)代理的轉發(fā)[3]。
根據(jù)標準的移動IPv6協(xié)議,每一個移動節(jié)點都擁有一個基于其家鄉(xiāng)網絡地址前綴的永久性IP地址,即家鄉(xiāng)地址,它是固定不變的。相應地,其家鄉(xiāng)網絡中的特定路由器即家鄉(xiāng)代理也是固定不變的。這樣的規(guī)定便于其它主機尋找到某一個指定的移動節(jié)點,但很多情況下,這一規(guī)定是不合理的。
舉一個簡單的例子:由于畢業(yè)或者工作變動等原因,位于A地點的變攜式計算機被移動到另一地點即B地點,并且將長期在B地點連接Internet網絡。根據(jù)標準的移動IPv6協(xié)議,該計算機的家鄉(xiāng)地址以及家鄉(xiāng)代理都在A地點,并且是固定不變的。此時,移動節(jié)點已經遠離家鄉(xiāng)網絡,遠離A地點,其它主機與該移動節(jié)點之間的通信需要轉交地址的綁定更新信息,這會在網絡中產生大量的注冊報文,造成較大的注冊延時,從而降低網絡性能,代價是很大的。
針對移動IPv6協(xié)議的不足,筆者提出了一種采用衰老更新機制改進移動IPv6協(xié)議的方案。改進后的移動IPv6協(xié)議工作原理是這樣的:移動節(jié)點維護著一個動態(tài)緩存表,記錄移動節(jié)點的本地地址,轉交地址和歷史轉交地址信息,每一項內容如下:
當位于A地點的移動節(jié)點被移動到B地點后,它根據(jù)IPv6定義的地址自動配置方法獲得一個轉交地址,同時獲得一個位于B地點的外地代理。然后移動節(jié)點向家鄉(xiāng)代理和通信對端發(fā)送關于轉交地址的更新消息,使家鄉(xiāng)代理和通信對端及時得到移動節(jié)點當前的網絡接入點。若IP網中某一節(jié)點不知道移動節(jié)點當前的轉交地址,那么該節(jié)點發(fā)往移動節(jié)點的數(shù)據(jù)包要經過家鄉(xiāng)代理轉發(fā)。
但與傳統(tǒng)的移動IPv6協(xié)議不同的是,移動節(jié)點需要在動態(tài)緩存表中記錄“本地地址,家鄉(xiāng)代理,累計使用時間”信息,同時記錄“轉交地址,外地代理,累計使用時間”信息。
需要說明的是,“累計使用時間”是指移動節(jié)點在該區(qū)域在最近一段時間內的累計使用時間,比如說,可以設定為最近1年內在該區(qū)域的累計使用時間,1年以前的使用時間則丟棄。另外,如果移動節(jié)點在同一個區(qū)域范圍內移動,這時,移動節(jié)點在這一區(qū)域內的外地代理是相同的,但IP地址可能會不同。那么應連續(xù)累計計算使用時間作為移動節(jié)點位于該區(qū)域“累計使用時間”,同時將最近使用的IP作為轉交地址,當移動節(jié)點離開這一區(qū)域時,把最近使用的IP作為歷史轉交地址記錄保存。
另外需要說明的是,盡管移動互聯(lián)網的基礎協(xié)議也就是移動IPv6協(xié)議MIPv6-RFC3775中沒有定義“外地代理”這一功能實體,但其擴展協(xié)議也就是層次移動IPv6協(xié)議HMIPv6-RFC4140定義了移動錨點(MAP)這個新的實體,有了這一新的實體,移動節(jié)點在同一“錨點”管轄區(qū)域內移動時可以不再向家鄉(xiāng)代理注冊,只需要像向“錨點”注冊即可?!板^點”實際上可以看作是一個外地代理[4]。
假設移動節(jié)點位于B地點這一區(qū)域累計使用時間超過了它在家鄉(xiāng)代理區(qū)域累計使用時間,那么,移動節(jié)點在B地點的外地代理將成為家鄉(xiāng)代理,在B地點的轉交地址將成為家鄉(xiāng)地址;相反,移動節(jié)點原來的家鄉(xiāng)代理將成為歷史外地代理,原來的家鄉(xiāng)地址將成為歷史轉交地址。同時,移動節(jié)點將會把這一更新信息通知相關節(jié)點,需要通知的相關節(jié)點包括通信對端,原來的家鄉(xiāng)代理和當前的家鄉(xiāng)代理。
需要強調的是,不管移動節(jié)點在B地點的外地代理是否升級成為家鄉(xiāng)代理,正在進行的通信都不會受到影響。因為通信對端只是與移動節(jié)點的轉交地址通信,假設位于B地點的外地代理升級成為家鄉(xiāng)代理,相應的轉交地址升級為家鄉(xiāng)地址,但轉交地址這一實際的IP地址值并沒有發(fā)生變化,所以通信對端與移動節(jié)點的通信不受影響。另外,移動節(jié)點只有在B地點使用期間,“移動節(jié)點位于該區(qū)域累計使用時間”值才會增加,位于B地點的外地代理才有可能升級成為家鄉(xiāng)代理。
假設移動節(jié)點被移動到B地點使用一小段時間,它在這一地點的累計使用時間并沒有超過它在家鄉(xiāng)代理區(qū)域的累計使用時間,之后它再次移動到C地點,那么它還是按照傳統(tǒng)的移動IPv6協(xié)議獲得另一個轉交地址與其它節(jié)點通信。但不同的是,它位于B地點的轉交地址信息將作為歷史轉交地址保存。
如果移動節(jié)點再次移動到其它區(qū)域,原來的轉交地址信息都將作為歷史轉交地址信息保存。如果歷史轉交地址信息超過3條,那么將淘汰刪除累計使用時間最少的一條歷史轉交地址信息,同時將對應的歷史外地代理,以及移動節(jié)點位于該區(qū)域累計使用時間等信息一并刪除。需要說明的是,正在使用的轉交地址信息是不能被刪除的,即使它的累計使用時間最少也不被刪除,需要刪除的僅僅限于歷史轉交地址信息。圖1是外地代理升級為家鄉(xiāng)代理的流程。
圖1 外地代理升級為家鄉(xiāng)代理的流程Fig.1 The process of foreign agent turning into home agent
假設移動節(jié)點在A,B,C,D,E地點移動,如圖2。
圖2 移動節(jié)點在A,B,C,D,E區(qū)域移動及停留時間Fig.2 MN moving in A,B,C,D,E region and its resident time
移動節(jié)點MN首先在A點接入Internet網絡,并在A點停留7 200 s,那么在A點的IP地址和代理將成為家鄉(xiāng)地址和家鄉(xiāng)代理,分別記作IP_A和HA_A,移動節(jié)點離開A點到B點時,它在B點的IP地址和代理將成為轉交地址和外地代理,其緩存表將會作如下變化,其中,“+”表示累計使用時間正在增加:
當移動節(jié)點在B點停留3 600 s后又移動到C點,它在B點的IP地址和代理將成為歷史轉交地址和歷史外地代理,其緩存表將會作如下變化:
當移動節(jié)點在C點停留5 400 s后又移動回到B點,它在B點累計使用時間沒有超過7 200 s時,其緩存表將會作如下變化:
當它在B點累計使用時間超過7 200 s時,B點的IP地址和代理將成為家鄉(xiāng)地址和家鄉(xiāng)代理,其緩存表將會作如下變化,其中〈0,0,0〉表示沒有轉交地址,即移動節(jié)點在家鄉(xiāng)區(qū)域使用:
當它在B點使用7 200 s(累計使用10 800 s)后,再移動到D點時,其緩存表將會作如下變化:
當它在D點使用3 600 s后,再移動到E點時,其緩存表將會作如下變化:
上面分析的動態(tài)緩存表變化過程,是移動節(jié)點本地的緩存表變化過程。對于代理服務器端,只需要按照傳統(tǒng)的移動IPv6協(xié)議工作即可。唯一不同的是,當B點的IP地址和代理將要升級成為家鄉(xiāng)地址和家鄉(xiāng)代理時,移動節(jié)點會向B點服務器發(fā)送升級信息,位于B點的服務器只需要把移動節(jié)點看作是新接入Internet網絡的設備即可。對于原來的家鄉(xiāng)代理,移動節(jié)點會向它發(fā)送撤消代理的信息,這時它只需要把移動節(jié)點看作是斷開Internet連接即可。對于正在進行通信的對端設備,由于移動節(jié)點的IP地址值沒有發(fā)生變化,所以它不受影響。
在改進后的移動IPv6協(xié)議中,每一個移動節(jié)點首次接入網絡時,都擁有一個基于其本地網絡地址前綴的IP地址,即家鄉(xiāng)地址,同時獲得相應的家鄉(xiāng)代理。當移動節(jié)點移動到位于B地點的外地網絡時,它會獲得一個轉交地址和一個外地代理。然后移動節(jié)點向家鄉(xiāng)代理和通信對端發(fā)送關于轉交地址的更新消息[5]。假設移動節(jié)點位于B地點這一區(qū)域累計使用時間超過了在家鄉(xiāng)代理區(qū)域累計使用時間,那么,移動節(jié)點在B地點的外地代理將成為家鄉(xiāng)代理,在B地點的轉交地址將成為本地地址;原來的家鄉(xiāng)代理將成為歷史外地代理。假設網絡中某一通信節(jié)點要與移動節(jié)點通信,它先檢查自己緩存中是否有移動節(jié)點的家鄉(xiāng)代理信息,如果沒有,按普通尋址協(xié)議尋找移動節(jié)點,如果有移動節(jié)點的家鄉(xiāng)代理信息,就直接向移動節(jié)點家鄉(xiāng)代理發(fā)送信息,對方就會返回家鄉(xiāng)代理是否有效的消息,如果有效,就按普通移動IPv6協(xié)議通信,如果沒有效,就按普通尋址協(xié)議再次尋找移動節(jié)點。通信流程如圖3。
圖3 改進后的移動IPv6協(xié)議的通信流程Fig.3 The process of correspondence with the new MIPv6 agreement
為了比較新老2種協(xié)議對網絡性能的影響,筆者配置了如下簡單的網絡結構模型,4個路由器Router A,Router B,Router C,Router D相互連接,每一個路由器連接一個無線收發(fā)機Access Point,每一個無線收發(fā)機旁邊有兩個無線上網設備wkstn,如下面仿真場景圖4。
在這一網絡中,位于路由器Router A區(qū)域的無線上網設備wkstn 1連接網絡10 min后,被移動到路由器Router C區(qū)域,并在C區(qū)域連接網絡2 h。并且假定:
1)上網設備wkstn 1在A區(qū)域連接在網絡10 min內,網絡中各客戶機基本沒有相互通信。
2)wkstn 1被移動到在C區(qū)域開始10 min內,網絡中各客戶機基本也沒有相互通信。
3)wkstn 1被移動到在C區(qū)域10 min后,網絡中所有客戶機依次輪流與wkstn 1通信,并且它們相互之間沒有通信,只與wkstn 1通信。
在這種情況下,按照老的協(xié)議,wkstn 1的家鄉(xiāng)代理永遠是Router A,其家鄉(xiāng)地址是基于家鄉(xiāng)網絡Router A為前綴的IP地址,網絡中所有客戶機與wkstn 1通信時都首先要將數(shù)據(jù)包發(fā)往路由器Router A,然后再通過Router C轉發(fā)到wkstn 1,wkstn 1收到數(shù)據(jù)包后,向發(fā)送數(shù)據(jù)包的源節(jié)點發(fā)送轉交地址更新信息,使源節(jié)點可以直接向移動節(jié)點發(fā)送數(shù)據(jù)包。
而按照新的協(xié)議,wkstn 1的家鄉(xiāng)代理開始是Router A,家鄉(xiāng)地址開始是基于家鄉(xiāng)網絡Router A為前綴的IP地址,被移動到在C區(qū)域10 min后,其家鄉(xiāng)代理變?yōu)镽outer C,家鄉(xiāng)地址也變?yōu)榛赗outer C為前綴的IP地址。網絡中其它客戶機之前沒有與wkstn 1通信,所以沒有wkstn 1原來的家鄉(xiāng)代理信息,當它們與wkstn 1通信時,會按照普通的尋址機制直接尋找wkstn 1進行通信。
很明顯,老的協(xié)議會在網絡中產生大量的注冊報文,造成較大的注冊延時,從而降低網絡性能。而新的協(xié)議則避免了這些缺陷,提高了網絡性能。
OPNET是最常用的網絡仿真軟件之一,它采用3層建模機制,分別為進程模型,節(jié)點模型和網絡模型,這種建模方式和協(xié)議、設備、網絡對應,可以全面反映網絡的相關特性[6]。使用OPNET進行網絡建模仿真大體上可以分為以下幾個步驟:配置網絡拓撲(topology);節(jié)點模型和進程的設計;配置業(yè)務(traffic);運行仿真(simulation);最后發(fā)布仿真報告(report)[7]。
為了對改進后的移動IPv6協(xié)議進行仿真,筆者采用與上面相同的網絡結構模型,4個路由器Router A,Router B,Router C,Router D相互連接,每一個路由器連接一個無線收發(fā)機Access Point,每一個無線收發(fā)機旁邊有兩個無線上網設備wkstn,如圖4。
圖4 網絡拓撲結構Fig.4 The topology of the network
在這一網絡中,位于路由器Router A區(qū)域的無線上網設備wkstn 1連接網絡10 min后,被移動到路由器Router C區(qū)域,并在C區(qū)域連接網絡2 h。wkstn 1被移動到C區(qū)域10 min后,網絡中所有客戶機依次輪流與wkstn 1通信,并且它們相互之間沒有通信,只與wkstn 1通信。按照老的協(xié)議,wkstn 1的家鄉(xiāng)代理永遠是Router A,但是按照新的協(xié)議,wkstn 1的家鄉(xiāng)代理開始是Router A,被移動到路由器Router C區(qū)域10 min之后,家鄉(xiāng)代理變更為Router C。對比這兩種不同情況下的網絡性能。
上面網絡結構模型中,客戶端wkstn節(jié)點模型采用OPNET軟件現(xiàn)有的名為wlan_wkstn_adv的節(jié)點模型[7],如圖 5。
圖5 wlan_wkstn_adv節(jié)點模型Fig.5 The model of the node wlan_wkstn_adv
完成網絡拓撲結構配置以及節(jié)點模型設計后,開始配置業(yè)務量和確定統(tǒng)計量。對于配置業(yè)務量,筆者采用的方法是在traffic選項中再選擇Import conversation pairs選項進行相關參數(shù)的配置[8]。配置業(yè)務量時,讓其它所有節(jié)點依次輪流與wkstn 1通信,然后觀察目標客戶機平均響應時間。這里所說的平均響應時間是指其它所有節(jié)點與wkstn 1通信時,wkstn 1對這些節(jié)點作出響應的平均時間。
圖6是仿真結果。從圖上可以看出,老協(xié)議下(上方的線)的平均響應時間在不斷上升,在大約2 300 s處上升到最高,以后逐漸穩(wěn)定。這是因為wkstn 1的家鄉(xiāng)代理是Router A,其它節(jié)點與wkstn 1通信首先將數(shù)據(jù)包發(fā)送給Router A,然后Router A通過Router C將數(shù)據(jù)包轉發(fā)給wkstn 1,當wkstn 1收到一個從家鄉(xiāng)代理轉發(fā)來的數(shù)據(jù)包,它就向發(fā)送數(shù)據(jù)包的源節(jié)點發(fā)送轉交地址更新信息,使源節(jié)點可以直接向它發(fā)送數(shù)據(jù)包。如果對圖6在2 h內的平均響應時間再求平均值,那么大約是0.007 s。
在新的協(xié)議下,網絡中其它客戶機一開始沒有與wkstn 1通信,所以沒有wkstn 1原來的家鄉(xiāng)代理信息,當它們與wkstn 1通信時,會按照普通的尋址機制直接尋找wkstn 1進行通信。所以wkstn 1對其它節(jié)點的平均響應時間一直維持在0.003 s左右。由此可見,采用新的協(xié)議時,wkstn 1對其它節(jié)點的平均響應時間要比采用老協(xié)議快0.004 s。
圖6 目標客戶機平均響應時間Fig.6 Average of client object response time
針對移動IPv6協(xié)議的不足,提出了一種采用衰老更新機制改進移動IPv6協(xié)議的方案,并對新的方案進行了仿真,仿真結果表明,采用新協(xié)議時,網絡性能得到明顯提高,以目標客戶機平均響應時間為例,采用老協(xié)議時,平均響應時間為0.007 s,而采用新協(xié)議時,平均響應時間為0.003 s。但這只是理論分析的結果,實際上,要真正實現(xiàn)這一新的協(xié)議,還有許多問題需要解決,包括在IPv6實驗網中進行程序設計實現(xiàn)新協(xié)議,以及移動設備對新協(xié)議的支持和兼容等,同時,還需要IETF組織采納筆者提出的新觀點,修改移動IPv6標準。
[1]楊文超,賈世樓.改善層次化MAP的移動IP切換時延的方法[J].北京郵電大學學報,2007,30(2):127-131.YANG Wen-chao,JIA Shi-lou.IP handover time-delay improving based on hierarchical MAP[J].Journal of Beijing University of Posts and Telecommunications,2007,30(2):127-131.
[2]胡曉,宋俊德,宋梅.分級移動IPv6中一種新的自適應MAP選擇算法[J].計算機應用研究,2006(10):229-231.HU Xiao,SONG Jun-de,SONG Mei.Novel adaptive MAP selection algorithm for hierarchical mobile IPv6[J].Application Research of Computers,2006(10):229-231.
[3]周華春,張宏科,秦雅娟.基于網絡的區(qū)域移動性管理協(xié)議性能分析[J].北京交通大學學報,2007,31(5):1-5,10.ZHOU Hua-chun,ZHANG Hong-ke,QIN Ya-juan.Performance analysis of protocol for network-based localized mobility management[J].Journal of Beijing Jiaotong University,2007,31(5):1-5,10.
[4]孫飛燕,張朝陽,仇佩亮.HFC接入網絡MAC層隨機訪問機制靜態(tài)特性及動態(tài)穩(wěn)定性分析[J].電路與系統(tǒng)學報,2003,8(2):33-38.SUN Fei-yan,ZHANG Chao-yang ,QIU Pei-liang.Static features and dynamic stability analysis of HFC access network MAC random access mechanism[J].Journal of Circuits and Systems,2003,8(2):33-38.
[5]侯惠峰,劉湘雯,于宏毅,等.無線傳感器網絡與IPv6網絡的互聯(lián)方式研究[J].電信科學,2006,22(6):56-62.HOU Hui-feng,LIU Xiang-wen,YU Hong-yi,et al.Research on strategies for interconnecting wireless sensor networks with IPv6 network[J].Telecommunications Science,2006,22(6):56-62.
[6]管明祥,郭慶,李陸.基于臨近空間通信網絡混合業(yè)務的MAC協(xié)議[J].華南理工大學學報:自然科學版,2008,36(5):65-69.GUAN Ming-xiang,GUO Qing,LI Lu.MAC protocol for mixed services in near-space communication network[J].Journal of South China University of Technology:Natural Science,2008,36(5):65-69.
[7]何翼.智能交通燈控制系統(tǒng)設計與仿真[J].重慶交通大學學報:自然科學版,2010,29(5):763-767.HE Yi.Design and emulation of intelligent traffic light control system[J].Journal of Chongqing Jiaotong University:Natural Science,2010,29(5):763-767.
[8]於時才,朱宏濤,宋健,等.HMIPv6中MAP發(fā)現(xiàn)協(xié)議的研究與改進[J].計算機應用,2006,26(1):5-7.YU Shi-cai,ZHU Hong-tao,SONG Jian,et al.Study and improvement of MAP discovery protocol in HMIPv6[J].Journal of Computer Applications,2006,6(1):5-7.