新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 地鐵環(huán)境下支持移動IP無線接入點的研究與設計

地鐵環(huán)境下支持移動IP無線接入點的研究與設計

作者:袁 剛,陶 昱 時間:2008-05-07 來源:《電子工程師》 收藏

  0引言

本文引用地址:http://m.butianyuan.cn/article/82233.htm

  隨著技術的不斷進步,地鐵運行環(huán)境中的控制信息、通信信息將越來越趨向于無線技術,(無線局域網(wǎng))由于其開放的標準、良好的接入、具有足夠的固有容量,以及在不影響列車控制應用性能的同時還可以提供軌道與列車間的額外應用如視頻、語音等,目前正越來越受到各大廠商的關注,包括西門子、阿爾斯通等。作為無線網(wǎng)絡中的重要組成之一的無線AP(接入點),開發(fā)遵守IEEE 802.11、IEEE 802.1d以及IEEE 802.3等協(xié)議,主要包含橋接與移動管理的功能,目前市場上成熟的產(chǎn)品大部分是實現(xiàn)了網(wǎng)橋的功能,并不上升到網(wǎng)絡層,因此,移動主機的散步只能在同一個ESS(擴展服務集)內(nèi)。而地鐵長度從十幾公里到幾十公里不等,列車作為一個移動節(jié)點與各AP的通信不可能只是在一個ESS內(nèi),因此,移動中的通信依靠現(xiàn)有的AP是無法充分滿足要求的,同時,列車的高速移動以及無線接人的頻繁切換,也將是無線接入設計的制約因素之一。

  1協(xié)議簡述

  協(xié)議定義了MN(移動節(jié)點)、HA(家鄉(xiāng)代理)和FA(外區(qū)代理)3個實體。HA是MN家鄉(xiāng)網(wǎng)絡中的路由器,維持MN家鄉(xiāng)地址到轉(zhuǎn)交地址的映射;FA是MN訪問的外區(qū)網(wǎng)絡中的路由器,它將數(shù)據(jù)包轉(zhuǎn)發(fā)給MN點;MN采用一個固定不變的IP地址為家鄉(xiāng)地址(Home Address)來標識自己,一次登錄后就可實現(xiàn)在任何位置上保持與主機的通信,實現(xiàn)網(wǎng)絡漫游。當MN離開家鄉(xiāng)網(wǎng)絡后,為了進行數(shù)據(jù)包的轉(zhuǎn)發(fā),它會獲得一個臨時地址,稱為CoA(轉(zhuǎn)交地址),用來作為路由。

  當MN在網(wǎng)絡中移動時,實現(xiàn)的基本過程是:

  a)代理發(fā)現(xiàn):判定MN當前是連在家鄉(xiāng)網(wǎng)絡上還是外地網(wǎng)絡上,檢測它是否切換了鏈路。當連在外地網(wǎng)絡上時,MN會得到一個CoA。

  b)注冊:MN根據(jù)當前所在的位置,如果它當前在外地網(wǎng)絡,它要得到外地代理的路由服務,將得到的CoA通知HA,可以使一個注冊生效。當它回到家鄉(xiāng)網(wǎng)絡時要進行注銷。

  c)移動時的通信:當MN完成注冊后,就可以利用自己的家鄉(xiāng)地址在外區(qū)網(wǎng)絡上通信,這種通信對MN和與之通信的對方主機來說是透明的,發(fā)往MN的數(shù)據(jù)報經(jīng)由HA用隧道方式發(fā)送到MN的CoA。

  2移動漫游的設計

  在設計的方案中,繼承了移動IP的原理,不僅要求移動的STA(站適配器)以及AP本身對移動性進行支持,也就是要延伸到網(wǎng)絡層,提供基于IP的轉(zhuǎn)發(fā),而且要求在網(wǎng)絡中引入移動代理這樣的實體。結(jié)合實際的硬件平臺情況,在網(wǎng)絡層借鑒移動IP協(xié)議的設計思想,設計了特定于地鐵環(huán)境下網(wǎng)絡層移動漫游方式,將移動代理功能與AP進行分離,由PC機來實現(xiàn),網(wǎng)絡結(jié)構(gòu)的設計如圖1所示,其中A網(wǎng)段為家鄉(xiāng)網(wǎng)絡,B、C網(wǎng)段為外地網(wǎng)絡。

       

  2.1移動與代理的設計

  HA和FA的代理功能是由PC機實現(xiàn)。AP和MNSTA功能及性能由專用ARM嵌入式芯片、無線收發(fā)芯片以及Linuxdrv.o驅(qū)動程序提供保障。其中,驅(qū)動程序Linuxdrv.o工作在各個開發(fā)板AP和STA的底層。

  在實際工程中,同一外地子網(wǎng)內(nèi)一般存在多個AP,若移動代理由AP實現(xiàn),也就是存在多個FA,由于移動節(jié)點STA的高速移動,將導致與之連接的AP頻繁切換,F(xiàn)A頻繁變更,對于系統(tǒng)而言開銷會很大,有效的通信時間非常短。同時,受硬件性能的影響,如果在上面承載移動代理的管理功能,增加了AP的處理負荷,對AP自身的性能也有影響。因此,考慮移動代理功能由PC機提供,在一個子網(wǎng)中只存在一個移動代理。同時,AP需要與MN STA建立連接,建立到STA的路由信息,并且經(jīng)過一定的判斷,然后發(fā)送注冊請求給其所在網(wǎng)絡的代理。

  由于代理功能與AP分開,網(wǎng)絡的組建需要付出一定的代價,層次比較多,路由器的負擔和網(wǎng)絡的復雜度有一定的增加,但是保證了注冊過程和隧道技術的實現(xiàn),而AP的功能也就較為單純可靠。

  對于移動性問題的解決,我們基于Linux的Redhat9.0操作系統(tǒng)的開放內(nèi)核,使用標準C語言,編寫完成移動IP通信程序,所有程序經(jīng)過Linux內(nèi)置gcc編譯器編譯通過,然后移植到AP、STA和代理服務器(包含HA和FA)上,可以保證STA在家鄉(xiāng)區(qū)域和外地區(qū)域的網(wǎng)內(nèi)網(wǎng)間切換的正常性。在Linux平臺上實現(xiàn)了代理協(xié)議功能,該協(xié)議采用socket編程實現(xiàn),以進程方式運行在后臺,隨時接收或截獲數(shù)據(jù),并完成相應的功能。

  2.2代理發(fā)現(xiàn)

  STA移動過程中,首先要了解自己現(xiàn)在的位置,即它當前正在與哪一個AP連接,正處在哪個網(wǎng)絡中。在移動過程中要實現(xiàn)這個功能,STA必須實時地監(jiān)控移動途中的AP,并且能夠找到所在范圍內(nèi)信號最強的AP。所以,在STA運行后,開啟了一個守護進程Dae-mon,實時掃描所移動的范圍內(nèi)的AP信號強度,并且能與合適的AP建立連接,通過監(jiān)測MN STA與AP的連接狀態(tài),提供相應信息給STA上的進程,確定自身的位置。

  為了在STA與AP建立連接后AP第一時間得到該STA的信息,在STA上開發(fā)了進程模塊stabc和stagw,在AP上開發(fā)了進程模塊apconn。STA系統(tǒng)啟動,在無線驅(qū)動加載之后就啟動進程stabc,不停地發(fā)送廣播包,AP在收到STA發(fā)送的廣播包后,啟動進程模塊apconn,分析廣播包的內(nèi)容,確定該廣播包是STA發(fā)送的廣播包后,會給STA上的另一個進程stagw發(fā)送應答數(shù)據(jù)包消息,然后STA無線口要通過這個進程stagw經(jīng)過一些判斷后,知道自己在哪個網(wǎng)絡中,決定設置網(wǎng)關,或者不設置,或者刪除原有網(wǎng)關、設置新網(wǎng)關。同時,AP上的apconn進程還要建立到STA的路由信息,并把所得到的STA相關情況告知本網(wǎng)絡的代理PC機。

  2.3注冊與隧道建立

  AP上的進程apconn收到STA的連接請求后通過有線網(wǎng)絡發(fā)送通知給MN STA目前所在區(qū)域的FA或HA,代理將設置到STA的特定主機路由。此外,如果STA是在外區(qū),HA上的進程將收到來自FA上進程發(fā)來的注冊信息,由HA上的進程建立隧道,實現(xiàn)到STA的通信鏈路的建立。注冊與隧道流程如圖2所示。

        
 
  FA通過運行agent和toproxy這2個進程來完成自身的功能,其中agent進程接收AP上進程apconn發(fā)來的注冊信息,判斷注冊信息的內(nèi)容,設置到STA特定主機路由,然后激發(fā)toproxy進程,由此進程將注冊請求信息發(fā)送給HA。 

  HA通過開啟proxy和mobileip這2個進程來完成自身的功能。其中:proxy進程用來接收STA在家鄉(xiāng)網(wǎng)絡時,家鄉(xiāng)網(wǎng)絡的AP發(fā)來的注冊信息,設置到STA特定主機路由;mobileip進程主要用來接收從外區(qū)網(wǎng)絡的FA發(fā)來的注冊請求,收到注冊請求后,建立到相應FA的隧道,隧道技術采用的是由RFC2003定義的IP in IP封裝技術。這樣,當MN漫游在外區(qū)網(wǎng)絡時,HA代替它在家鄉(xiāng)網(wǎng)絡上接收發(fā)往MN的數(shù)據(jù)包,然后通過隧道進行轉(zhuǎn)發(fā),使得通信不會因為MN的移動而中斷。

  2.4移動的工作過程

  因為在組網(wǎng)上的層次設計上有一定的特殊性,所以進程的設計不僅要考慮完成傳統(tǒng)移動IP方案中的注冊和隧道建立過程,還要考慮路由的建立、更新或刪除等問題,工作過程也就有一定的特殊性。

  如果MN只在家鄉(xiāng)網(wǎng)絡中移動,則不用建立隧道,只要進行正常通信的方式實現(xiàn)通信對端與移動主機的通信。在家鄉(xiāng)網(wǎng)絡中進行切換時,如STA由AP1切換到AP2,STA更新自己的網(wǎng)關指向AP2,AP2通過進程apconn通知HA上的進程proxy,proxy收到控制信息后,更新指向STA的特定主機路由。

  如果MN STA移動到外區(qū)網(wǎng)絡中去,就要啟動FA的功能,如從AP2切換到AP3時,STA通過進程stagw更新自己的新網(wǎng)關為AP3,AP3上的apconn進程模塊觸發(fā)FA模塊中的agent進程,由它更新指向STA的特定主機路由,然后觸發(fā)toproxy進程向HA發(fā)送注冊請求消息,HA收到后由mobile IP進程處理,先搜索舊隧道,如果存在時刪除舊隧道,建立HA到FA的隧道,如果不存在舊隧道就直接建立隧道,同時,刪除原來指向STA的特定主機路由。

  如果STA是從外區(qū)網(wǎng)絡回到家鄉(xiāng)網(wǎng)絡,如從AP3切換到AP2,在proxy得到這一信息后,在更新完STA的特定主機路由后要觸發(fā)HA進程mobile IP,由它搜索與外區(qū)網(wǎng)絡代理服務器之間的舊隧道,找到后刪除舊隧道,并發(fā)送刪除隧道的信息給對應的FA,F(xiàn)A通過進程agent來刪除舊的指向STA的特定主機路由。

  3結(jié)果與結(jié)論

  采用以下兩種方法對此移動漫游方案的性能進行測試:

  1)使用軟件

  軟件能夠統(tǒng)計漫游過程中數(shù)據(jù)傳輸?shù)母鞣N參數(shù),如最高速率、最低速率、平均速率和速率分布等,并能直觀觀察傳輸速率的實時變化情況。其參數(shù)設置為UDP(用戶數(shù)據(jù)報協(xié)議)的窗口為1 200字節(jié),重傳超時為500 ms,重傳嘗試50次。測試腳本中file_size=4096,packet size=1024。

  先在同一網(wǎng)絡內(nèi)進行移動測試,如圖1中在AP1與AP2間來回移動,STA的移動速度分別為10 km/h、30 km/h和50 km/h,觀察近10 min,結(jié)果記錄如表1所示。

        
 
  在不同網(wǎng)絡間進行移動測試,如在圖1中的家鄉(xiāng)網(wǎng)絡和外區(qū)網(wǎng)絡間來回移動,用同樣的方法測試,記錄結(jié)果如表2所示。
 
           

  2)使用ping方式

  通過從通信對端ping MN的家鄉(xiāng)地址來驗證隧道路由,以及MN是否能夠用家鄉(xiāng)地址與通信對端進行通信。發(fā)送100個數(shù)據(jù)包,測丟包率。MN的移動速度分別為10 km/h、30 km/h和50 km/h,結(jié)果如表3~表6所示。

      

        
 
  實驗測試結(jié)果驗證了所開發(fā)的移動漫游軟件的功能,能夠完成控制MN STA在無線接入點AP之間快速正確的切換,在不同的網(wǎng)段中移動時實現(xiàn)了漫游功能,并且保持與有線網(wǎng)絡的連接暢通。

  本設計利用Linux內(nèi)核的開放性,利用軟件在網(wǎng)絡層上實現(xiàn)了移動漫游功能,使得這種漫游相對于網(wǎng)絡層以下的層次是透明的,與網(wǎng)絡底層設備無關。它繼承了移動IP的思想,但又進行了一定的修改,使得代理的主要工作與AP分離,保證了漫游通信的性能。在符合嵌入式開發(fā)板系統(tǒng)配置的參數(shù)條件下,軟件系統(tǒng)運行是穩(wěn)定可靠的。由于受到硬件條件與資源配置的限制,在傳輸速率及切換的高速性方面仍然有許多工作要完善。



關鍵詞: WIAN 移動IP IxChariot

評論


技術專區(qū)

關閉