新聞中心

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

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

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

  0引言

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

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

  1協(xié)議簡述

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

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

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

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

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

  2移動漫游的設(shè)計

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

       

  2.1移動與代理的設(shè)計

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

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

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

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

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

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

  2.3注冊與隧道建立

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

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

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

  2.4移動的工作過程

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

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

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

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

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

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

  1)使用軟件

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

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

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

  2)使用ping方式

  通過從通信對端ping MN的家鄉(xiāng)地址來驗證隧道路由,以及MN是否能夠用家鄉(xiāng)地址與通信對端進(jìn)行通信。發(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)絡(luò)的連接暢通。

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



關(guān)鍵詞: WIAN 移動IP IxChariot

評論


技術(shù)專區(qū)

關(guān)閉