移動節點在越區切換時,首先需要無線鏈路的切換,如果新舊鏈路不在同一個IP子網內,還要進行IP子網切換。即使采用了路由優化技術,在無線鏈路切換和子網切換過程中的分組延時還是相當可觀的,而延時的主要部分是由鏈路切換完成后的端到端的移動IP注冊操作引起的。在切換過程中,發給移動節點的分組可能被丟失,因此快速切換方案將有利于改善分組數據的業務質量。鏈路切換常由第二層協議或硬切換完成,而跨越IP子網的切換需要第三層協議或軟切換完成。
目前,研究移動IP快速切換的文獻很多,其基本思路有3種組播、基于第二層移動觸發的預先切換和分組緩存,本文主要討論基于第二層移動觸發的預先切換思想,即:移動節點在將要移往新的鏈路之前,先啟動一個切換規程,預先獲取新鏈路上的轉交地址。切換規程通過在新老接入路由器之間以及接入路由器與移動節點之間交換新增的報文來實現。這種方法需要移動節點預先知道自己即將移動到新的網絡,因此需要第二層的支持。我們知道,WLAN中AP是在進行L2切換前就從beacon或探詢應答中知道是否要進行L3切換,并且移動IP注冊非常耗時,因此要想辦法在某一環節節省時間,從而更早的恢復通信。這個移動IPv6快速切換的主要思想是將鏈路層的信息用于L3切換,通過在新舊路由器間傳遞數據以提前獲得IP連接。其應用的原理是:數據在接收方的傳遞過程是先鏈路層再網絡層,因此鏈路層比網絡層更早得到信息。
1. 系統建模
1.1快速切換步驟
首先詳細敘述一下草案快速切換的步驟:
(1)MN從接收到的ESSID判定需要進行L3切換,于是向原AP發送代理路由請求其中包括新AP的鏈路層地址。
(2)原AR將新AP的鏈路層地址映射到新AP的IP地址,這就需要在原AR處保留一個映射表。
(3)原AR決定MN在新AP中使用被動的(stateful)還是主動的(stateless)地址。
如果是主動地址:原AR在新的子網上利用MN的接口標識得到一個新的COA(careofaddress),通常這個接口標識就是MN的48位MAC地址,在前面加上新子網的前綴就形成了COA,通過HI/HACK發給MN。同時要先確認該地址是否唯一,該“地址唯一確認請求”是與HI/HACK同時發出的,如果不是唯一的就采用被動地址。
如果是被動地址:原AR利用HI/HACK交換向新AR請求地址,這種情況下,新AR往往采用DHCP來分配地址。
(4)原AR向MN返回一個代理路由消息。該消息在stateless地址配置的情況下與HI/HACK同時發出,再stateful地址配置的情況下在HI/HACK之后發出。
(5)MN再向原AR發送一個快速綁定更新(F—BU),綁定到新的COA,注意,這屬于L3信息,它于L2切換之前進行的。
(6)現在MN才開始進行L2切換,到L2切換進行到第5步結束時MN已移入新AP了。
(7)MN之后將收到F-BACK,表明原AR收到了他的F-BU,這時可以用新的COA通信了,該信息在新舊鏈路上同時發送(新鏈路,即原AR-新AR-新AP-MN;舊鏈路,即原AR-原AP-MN)。這樣,此后從原AR來的包將根據FBU送到新的AR。
注意在L2切換的步驟15都是由硬件完成的,要使MN能發送IP層信息如F-BU就不能開始L2切換,也即接口硬件在沒有MN的允許下不能開始切換。當整個切換完成,可以看到,這比采用移動IP注冊更有效得節省了切換時間。
1.2算法的改進
從草案建議的切換算法可注意到,無論是L2切換還是L3切換,都是由MN控制的,因此為了保證MN能夠正常的通信,必須在L2切換之前先得到新的COA,然后再等L2主要切換步驟完成再進行綁定更新等,這么一來,L2和L3切換能同時進行的步驟較少。但是,倘若讓L3切換由網絡來控制,情況就不同了:
(1)當切換條件達到時,MN發送一個探詢請求,所有收到這個探詢請求的AP響應一個探詢應答。MN根據應答中的信息選擇合適的新接入AP。
(2)MN同時向兩個AP發送切換觸發,宣告L2切換正式開始,考慮到此后MN在連接到新AP之前無法通信,且網絡如果沒有足夠的信息就不能決定是否進行L3切換,所以該切換觸發中應該含有新、舊兩個AP的MAC地址,原AP收到切換觸發,立即將此信息傳遞到原AR。新AP接到觸發,啟動前面所提到的L2切換,開始和MN通過信息交換達到同步。
(3)原AR收到L2切換觸發,必須能夠識別出另一個AP的子網,這就要求在AR處要保留一個各個子網所含的AP的MAC地址集,并且不同的子網AP的MAC地址是不同的。
(4)如果原AR通過查找發現兩個AP分屬不同的子網(兩個AP與不同路由器相連),就向新AP所屬的AR(即新AR)請求地址,新AR根據動態主機配置協議分配一個COA地址,返回給原AR,原AR把該地址從兩個BSS內發送給MN以確保其能收到,這是考慮到:MN可能與新AP建立了連接(鏈路層切換完成),但也可能仍與原AP連接著。這一步同時進行的是鏈路層切換,這樣MN一進入新的網絡就有了COA地址了。這里需要注意的是原AR實際上是充當了家鄉代理的角色。
(5)之后MN再向原AR(家鄉代理)發送綁定更新,進行注冊,再接收綁定應答,即注冊成功。
必須注意的是,在這個切換方案里新AR并不是外地代理,因為如果是外地代理,在注冊請求時,它要對注冊請求進行一系列的有效性檢查。如果其中有一項檢查失敗,外地代理就向移動節點發送一條注冊應答消息拒絕這次注冊請求。如果檢查成功,外地代理就將包含注冊請求消息的數據包的IP報頭和UDP頭完全剝去,再加上新的報頭后才送給家鄉代理。同樣當外地代理接到來自家鄉代理的注冊應答后,將對消息進行一系列的有效性檢查。外地代理一旦發現應答是無效的,將產生一個包含適當的Code域的注冊應答,并發送給移動節點。而我們這里,新AR僅僅作為一個路由器使用。
從上面的步驟看到,一方面采用了由鏈路層信息發起切換(草案的思想),節省了一部分時間,另一方面由于COA地址的獲得和L2切換同時進行,更是大大節省了時間,特別是對于WLAN,由于其所有控制信號和數據信號都共用一個信道,并且MAC層采用CSMA/CA的策略,如果同一BSS內有幾個MN同時工作,L2切換所花的時間就很長。從仿真的結果看,同時有4個MN工作的時候,L2切換時間大約是2s,充分利用這2s的時間獲取COA將大大減少切換時延。
#p#副標題#e#
2 系統仿真
下面是進行系統仿真和統計分析的內容,圖1、2是網絡架構和結果。
2.1系統仿真
系統仿真的主要內容有:
(1)協議標準采用的是802.11b,同時針對L3切換做了相應的改進。
(2)由AP發送的beacon每秒一次,MN可以同時接收兩個AP的beacon并進行分析。
(3)每個AP的覆蓋范圍是半徑為200m的圓。網絡結構如圖1,采用自由空間信道。
(4)假設每個BSS內只有一個站正在通信則不會產生擁塞和碰撞的情況;再比較每個BSS有多個站在通信,則有可能產生擁塞的情況。
(5)切換條件是:曲線2大于曲線1一定值后切換,即NAP的功率值大于OAP一定門限后切換。
(6)注意的問題:標準里規定的不同的ESS的站只接收某一特定ESSID的信號,這就帶來的問題,AP在跨越ESS漫游時,當切換條件到達時不能很好的搜索到更適合的AP。所以要將這部分協議做修改,即假設它時可以接收其他ESS的信號的。實際中ESS與子網前綴有著特定的關系,便于該站判定是否進行L3切換。
(7)無線信道的一些參數:傳輸速率主要用2Mbps,采用DQPSK的調制方式;后面還會用到其他的速率,1、5.5、11Mbps,這些都是802.11協議建議的數值,1Mbps采用DBPSK調制,5.5和11Mbps都采用CCK調制。
(8)WLAN的數據速率雖然很高,但在小區邊界,實際只達到此速率的10%~50%。原因是邊界的鄰小區干擾嚴重,所以錯誤率高要不斷重傳,降低了速率。
圖2詳細說明如下:站的移動時間是30min(橫軸)。曲線3是OAP與移動站的距離,曲線1是移動站接收到的OAP信號功率值,從虛線處可以看出,距離最小時功率達到最大;曲線4是NAP與移動站的距離,曲線2是移動站接收到的NAP的信號功率值。在點劃線處開始切換,之所以沒有在曲線1和曲線2的交點處開始切換是為了防止乒乓效應。
#p#副標題#e#
2.2統計分析
切換時間結果:在單用戶的情況下,速率為2Mbps時,L2切換0.396s;COA地址獲得1.527s;L3切換完成1.908s,整個切換從16min21.7s開始切換,16min23.6s結束。
單用戶是指每個BSS里只有一個用戶占用無線資源,多用戶指多個用戶競爭接入。在單用戶情況下,各個速率下的L2切換時延是一致的,都是0.396s;但是如果有更多用戶競爭信道的話,L2切換時延隨著數據速率的增加而增加,從1Mbps的1.7s到11Mbps的7.4s,這是因為數據幀和控制幀共用同一個信道,當用戶多的時候,容易發生沖突,接入信道的時間將增加,同時速度增加,錯誤率增加如果超過某一限度勢必引起重傳,這就更增加了時延。從圖中可見,在多用戶情況下,速率越高,切換時延越長;L3切換時延基本上都是在L2切換時延的基礎上加一個數值,這個數值為:獲得轉交地址的時延-L2切換時延+綁定更新所用的時間對不同的環境設置,這個數值是不同,但是在相同的環境設置下對不同WLAN數據傳送速率,該數值是一致的。在單用戶情況下,L3切換時延是1.908s,多用戶情況下,L3切換時延從1Mbps的3.707s到11Mbps的7.939s不等。圖4是通過探針得到的路由器的吞吐量,仿真中沒有給路由器分配業務,唯一的業務來自切換帶來的AP間及AR間的通信。從圖中可看出,大約在16s多的時候,也就是切換開始后才有信號通過。
3 結束語
通過對快速切換進行改進,將第三層的切換決策權交給網絡,實現第二層和第三層的切換并進,從而大大降低了切換時延,該切換算法在OPNET仿真環境下模擬實現。但我們尚未就這種新的路由算法是否會影響網絡的吞吐量,原AR和新AR處新增的控制信令對網絡性能的影響進行討論,這些都有待進一步研究。