《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 基于移動(dòng)網(wǎng)絡(luò)的IPv6網(wǎng)絡(luò)模型

基于移動(dòng)網(wǎng)絡(luò)的IPv6網(wǎng)絡(luò)模型

2008-07-25
作者:張文濤1, 常紅星2

??? 摘 要: 通過移動(dòng)無線網(wǎng)絡(luò)接入Internet的主機(jī)可能會(huì)經(jīng)常變換接入點(diǎn)" title="接入點(diǎn)">接入點(diǎn),本文在構(gòu)建一個(gè)完整IPv6網(wǎng)絡(luò)模型,同時(shí)通過引入軟切換,有效解決了移動(dòng)主機(jī)" title="移動(dòng)主機(jī)">移動(dòng)主機(jī)在切換過程中可能出現(xiàn)的數(shù)據(jù)丟失。
??? 關(guān)鍵詞: IPv6; 切換; 軟切換; 移動(dòng)網(wǎng)絡(luò)

?

1 系統(tǒng)介紹
??? 通過移動(dòng)無線網(wǎng)絡(luò)連接到Internet的主機(jī)可能會(huì)經(jīng)常變換接入點(diǎn),這就需要提供一個(gè)有效機(jī)制用以保證數(shù)據(jù)包到移動(dòng)主機(jī)的有效尋址。在數(shù)據(jù)收發(fā)過程中,接入點(diǎn)的變換通常稱為切換(handoff),在切換過程中或者切換后的極短時(shí)間內(nèi),由于主機(jī)位置信息" title="位置信息">位置信息的延遲數(shù)據(jù)包可能會(huì)丟失。因?yàn)榍袚Q正變得越來越頻繁,有效地降低丟包是確保QoS的前提。蜂窩式IPv6(CIPv6:Cellular IP for IPv6)是一個(gè)支持主機(jī)頻繁切換的協(xié)議,該協(xié)議主要用于本地網(wǎng),同時(shí)也可以與使用于廣域的通用的移動(dòng)IPv6(MIPv6:Mobile IPv6)有效協(xié)同[1],從而共同構(gòu)成廣域的移動(dòng)IPv6網(wǎng)絡(luò)。
1.1 模型實(shí)體
??? (1)CIPv6節(jié)點(diǎn):構(gòu)成CIPv6網(wǎng)絡(luò)的基礎(chǔ)元素,主要功能有兩個(gè):①CIPv6節(jié)點(diǎn)可以在CIPv6網(wǎng)絡(luò)中為數(shù)據(jù)包提供無線訪問路由;②為無線訪問提供接入,所以也稱為基站。
??? (2)CIPv6基站:同CIPv6節(jié)點(diǎn)。
??? (3)CIPv6網(wǎng)關(guān):提供CIPv6網(wǎng)絡(luò)和Internet的互聯(lián)接口。
??? (4)CIPv6主機(jī):應(yīng)用CIPv6協(xié)議的移動(dòng)主機(jī)。
1.2 模型構(gòu)成
??? 圖1是CIPv6網(wǎng)絡(luò)結(jié)構(gòu)和數(shù)據(jù)流向,每個(gè)基站周期性地發(fā)射Beacon信號(hào),移動(dòng)主機(jī)通過這些信號(hào)尋找最近的基站。通常,所有移動(dòng)主機(jī)發(fā)出的數(shù)據(jù)包在基站間通過最短路徑" title="最短路徑">最短路徑的方式實(shí)現(xiàn)路由,并不考慮目標(biāo)IP。CIPv6節(jié)點(diǎn)負(fù)責(zé)維護(hù)一個(gè)路由緩沖區(qū),移動(dòng)主機(jī)發(fā)送的數(shù)據(jù)包在每個(gè)節(jié)點(diǎn)的路由緩沖區(qū)中創(chuàng)建并更新一個(gè)記錄,每個(gè)記錄在映射移動(dòng)主機(jī)IP的同時(shí)還記錄數(shù)據(jù)包來源節(jié)點(diǎn)的IP。在每個(gè)CIPv6節(jié)點(diǎn)緩沖區(qū)中形成的記錄鏈總是對(duì)應(yīng)一個(gè)特定的移動(dòng)主機(jī),下行數(shù)據(jù)也通過這個(gè)記錄鏈到達(dá)移動(dòng)主機(jī)。這個(gè)記錄鏈總是對(duì)應(yīng)主機(jī)的最新位置,因?yàn)楫?dāng)主機(jī)移動(dòng)時(shí),通過上行數(shù)據(jù)包,記錄鏈也會(huì)隨時(shí)被更新。此外,下行數(shù)據(jù)到移動(dòng)主機(jī)的路由也由記錄鏈負(fù)責(zé)。為防止記錄鏈超時(shí),移動(dòng)主機(jī)會(huì)周期地發(fā)送控制數(shù)據(jù)包,控制數(shù)據(jù)包是IPv6協(xié)議的擴(kuò)展,協(xié)議頭實(shí)現(xiàn)了適應(yīng)CIPv6網(wǎng)絡(luò)的最短路徑方式和CIPv6控制信息。當(dāng)移動(dòng)主機(jī)未處于發(fā)送數(shù)據(jù)的激活狀態(tài)時(shí),仍可以接收數(shù)據(jù),這時(shí)CIPv6節(jié)點(diǎn)會(huì)維護(hù)一個(gè)分頁緩沖區(qū),所有的下行數(shù)據(jù)由分頁緩沖區(qū)負(fù)責(zé)提供路由,分頁緩沖區(qū)比路由緩沖區(qū)有更長(zhǎng)的超時(shí)時(shí)間。

?


1.3 位置管理和路由
??? CIPv6使用兩個(gè)并行的緩沖區(qū)來維護(hù)移動(dòng)主機(jī)的位置信息,兩個(gè)緩沖區(qū)的操作方式基本相同。當(dāng)移動(dòng)主機(jī)處于活動(dòng)狀態(tài),CIPv6網(wǎng)絡(luò)必須可以管理移動(dòng)主機(jī)在基站間的移動(dòng),以保證數(shù)據(jù)到達(dá)主機(jī),所以移動(dòng)主機(jī)必須隨時(shí)向網(wǎng)絡(luò)通報(bào)每次切換。對(duì)于睡眠狀態(tài)的主機(jī),位置信息是相對(duì)次要的,最小化通信量以保證電量的節(jié)省具有更高的優(yōu)先級(jí)。所以,兩個(gè)CIPv6緩沖區(qū)分別對(duì)應(yīng)活動(dòng)主機(jī)和睡眠主機(jī)。雙緩沖區(qū)還有性能方面的優(yōu)勢(shì),單緩沖區(qū)用以存儲(chǔ)所有移動(dòng)主機(jī)的位置信息時(shí),下行數(shù)據(jù)就需要在整個(gè)緩沖區(qū)中遍歷一次,這對(duì)于睡眠主機(jī)沒意義。
2? CIPv6的功能
2.1位置管理
??? CIPv6允許睡眠模式的移動(dòng)主機(jī)在不進(jìn)行位置信息更新的情況下跨基站邊界漫游,網(wǎng)絡(luò)運(yùn)營(yíng)商可以將基站集群組織成分頁區(qū),分頁區(qū)可以由任意數(shù)量的基站構(gòu)成,每個(gè)分頁區(qū)擁有CIPv6網(wǎng)絡(luò)中唯一的ID。每個(gè)基站通過Beacon信號(hào)周期性地發(fā)送分頁區(qū)的ID,從而使移動(dòng)主機(jī)在跨分頁區(qū)時(shí)得到必要的數(shù)據(jù)包。睡眠移動(dòng)主機(jī)在跨越分頁區(qū)時(shí)必須發(fā)送一個(gè)分頁更新數(shù)據(jù)包,分頁更新數(shù)據(jù)包會(huì)采用最短路徑方式上行,最終到達(dá)CIPv6網(wǎng)關(guān)。其間經(jīng)過的節(jié)點(diǎn)形成分頁緩沖區(qū),分頁緩沖區(qū)中形成一個(gè)記錄對(duì)應(yīng)每個(gè)睡眠移動(dòng)主機(jī)。當(dāng)數(shù)據(jù)包下行到CIPv6節(jié)點(diǎn)時(shí),由分頁緩沖負(fù)責(zé)其路由。如果所到節(jié)點(diǎn)沒有分頁緩沖區(qū),則數(shù)據(jù)包會(huì)繼續(xù)下行到相鄰節(jié)點(diǎn);如果仍然沒有分頁緩沖區(qū)或者分頁緩沖區(qū)沒有對(duì)應(yīng)移動(dòng)主機(jī)的記錄,則數(shù)據(jù)包被丟棄。在整個(gè)下行路徑上的節(jié)點(diǎn)可能有分頁緩沖區(qū),也可能沒有,這取決于最后一次分頁更新數(shù)據(jù)包的上行路徑。當(dāng)移動(dòng)主機(jī)接收到下行數(shù)據(jù)包后,便由睡眠狀態(tài)轉(zhuǎn)為激活狀態(tài),同時(shí)通過發(fā)送路由更新數(shù)據(jù)包建立其路由緩沖區(qū),后續(xù)的下行數(shù)據(jù)由路由緩沖區(qū)負(fù)責(zé)其路由。
2.2 路由
??? 分頁緩沖區(qū)和路由緩沖區(qū)都可以為CIPv6網(wǎng)絡(luò)中的數(shù)據(jù)包提供路由,表1列出了兩者的差異。

?


2.3 切換
??? 切換的初始化由移動(dòng)主機(jī)完成。當(dāng)活動(dòng)主機(jī)靠近一個(gè)新的基站時(shí),它會(huì)發(fā)送一個(gè)路由更新數(shù)據(jù)包,并將后續(xù)的數(shù)據(jù)包指向新的基站。路由更新數(shù)據(jù)包會(huì)更新對(duì)應(yīng)的整個(gè)路由緩沖記錄鏈。睡眠主機(jī)僅當(dāng)進(jìn)入新的分頁區(qū)時(shí)才會(huì)發(fā)送分頁更新數(shù)據(jù)包;當(dāng)在同一個(gè)分頁區(qū)中切換基站時(shí),睡眠主機(jī)不發(fā)送數(shù)據(jù),因?yàn)樵谝粋€(gè)分頁區(qū)中的分頁緩沖區(qū)都相同。
2.4 漫游
??? 當(dāng)移動(dòng)主機(jī)在不同的CIPv6網(wǎng)絡(luò)間漫游時(shí),主機(jī)將根據(jù)基站周期發(fā)送的Beacon信號(hào)判斷已經(jīng)進(jìn)入新的CIPv6網(wǎng)絡(luò),Beacon信號(hào)同時(shí)包含新CIPv6網(wǎng)絡(luò)的網(wǎng)關(guān)IP。主機(jī)一旦作出判斷,就自動(dòng)啟用無地址狀態(tài)模式[2],無地址狀態(tài)模式會(huì)自行配置新的IP,并檢驗(yàn)新IP是否與新的CIPv6網(wǎng)絡(luò)IP沖突,如不沖突就以此IP作為在新CIPv6網(wǎng)絡(luò)中的臨時(shí)IP。
3 協(xié)議
3.1協(xié)議參數(shù)

??? 表2為CIPv6網(wǎng)絡(luò)的協(xié)議參數(shù)。

?


3.2 Beacon 結(jié)構(gòu)
??? CIPv6基站必須周期性地發(fā)送Beacon 信號(hào),使得移動(dòng)主機(jī)總可以有一個(gè)可用基站。Beacon 信號(hào)是基于IPv6的廣播,基本形式為:FF02:0:0:0:0:0:0:1,具體結(jié)構(gòu)如表3。

?


3.3包格式
3.3.1路由更新數(shù)據(jù)包

??? 路由更新數(shù)據(jù)包是一個(gè)基于IPv6的包含最短路徑擴(kuò)充的協(xié)議。具體結(jié)構(gòu)如表4。

?


??? S標(biāo)志含義:1為軟切換,默認(rèn)值為0,不支持軟切換的基站忽略此標(biāo)志。I標(biāo)志的含義為:指示間接軟切換。
3.3.2 分頁更新數(shù)據(jù)包
??? 與路由更新數(shù)據(jù)包類似,分頁更新數(shù)據(jù)包也是一個(gè)基于IPv6的包含最短路徑擴(kuò)充的協(xié)議。源地址為IPv6主機(jī)IP,目標(biāo)地址為IPv6網(wǎng)關(guān)IP,S標(biāo)志和I標(biāo)志均為0。
3.4 路由
??? IPv6網(wǎng)絡(luò)的路由算法具有特殊性,它并不需要通常IP網(wǎng)絡(luò)的路由能力,IP網(wǎng)絡(luò)的路由能力完全由CIPv6網(wǎng)關(guān)實(shí)現(xiàn)。
3.4.1 路由器的拓補(bǔ)
??? 在上行方向,數(shù)據(jù)包基于最短路徑方式到達(dá)CIPv6網(wǎng)關(guān),每個(gè)節(jié)點(diǎn)都將數(shù)據(jù)包發(fā)往與其連接到IPv6網(wǎng)關(guān)的相鄰節(jié)點(diǎn),相鄰節(jié)點(diǎn)的上行選擇由網(wǎng)絡(luò)管理員事先設(shè)定,或者通過簡(jiǎn)單的最短路徑算法選擇最短路徑從而替代手工設(shè)定。當(dāng)網(wǎng)絡(luò)復(fù)雜度較高時(shí),通過計(jì)算后的手工設(shè)定會(huì)有更高的效率。
3.4.2 上行路由
??? 當(dāng)數(shù)據(jù)包到達(dá)一個(gè)節(jié)點(diǎn)后,該數(shù)據(jù)包首先被用以更新到達(dá)節(jié)點(diǎn)的路由緩沖區(qū)和分頁緩沖區(qū),然后被發(fā)送到上行相鄰節(jié)點(diǎn)。為了更新緩沖區(qū),節(jié)點(diǎn)會(huì)讀取數(shù)據(jù)包類型、端口號(hào)、源IP地址。分頁更新數(shù)據(jù)包更新分頁緩沖區(qū),路由更新數(shù)據(jù)包同時(shí)更新分頁緩沖區(qū)和路由緩沖區(qū),數(shù)據(jù)包則會(huì)刷新所有緩沖區(qū)的狀態(tài),但不會(huì)改變分頁緩沖區(qū)和路由緩沖區(qū)。兩個(gè)緩沖區(qū)都包含IPv6地址、接口、MAC地址、呼出時(shí)間和時(shí)間戳。接口和MAC地址用作下行數(shù)據(jù)的路由,時(shí)間戳用于存放控制數(shù)據(jù)包發(fā)來的時(shí)間,以便明確映射時(shí)間。
??? 當(dāng)一個(gè)數(shù)據(jù)包由下行連接相鄰節(jié)點(diǎn)發(fā)來時(shí),節(jié)點(diǎn)首先在路由緩沖區(qū)中查找源IP,如果路由沒有變化就刷新記錄:呼出時(shí)間被刷新為當(dāng)前時(shí)間+路由超時(shí),如果該節(jié)點(diǎn)有分頁緩沖區(qū),分頁緩沖區(qū)也作相同處理。如果路由發(fā)生變化,數(shù)據(jù)包就被丟棄。當(dāng)更新數(shù)據(jù)包到達(dá)一個(gè)節(jié)點(diǎn)時(shí),節(jié)點(diǎn)首先檢驗(yàn)數(shù)據(jù)包的合法性,如果不能通過合法性檢測(cè),則更新數(shù)據(jù)包就被丟棄[3],并在系統(tǒng)日志中記錄該事件。如果數(shù)據(jù)包合法,節(jié)點(diǎn)就在緩沖區(qū)中建立新的路由記錄" title="路由記錄">路由記錄:新數(shù)據(jù)包IPv6地址、接口、MAC地址、呼出時(shí)間(當(dāng)前時(shí)間+路由超時(shí))、時(shí)間戳。如果緩沖區(qū)中對(duì)應(yīng)IP已經(jīng)存在,根據(jù)時(shí)間戳進(jìn)行判斷,到來數(shù)據(jù)包時(shí)間戳更新時(shí),則更新對(duì)應(yīng)記錄,否則丟棄數(shù)據(jù)包。
3.4.3 下行路由
??? 當(dāng)一個(gè)節(jié)點(diǎn)從其上行連接節(jié)點(diǎn)收到一個(gè)數(shù)據(jù)包時(shí),節(jié)點(diǎn)首先檢驗(yàn)路由緩沖區(qū)中是否包含該目標(biāo)IP,如果存在則繼續(xù)向下行方向發(fā)送。如果不存在對(duì)應(yīng)記錄,該數(shù)據(jù)包將以廣播的形式向所有相鄰節(jié)點(diǎn)發(fā)送。如果該節(jié)點(diǎn)有分頁緩沖區(qū),且分頁緩沖區(qū)中包含對(duì)應(yīng)IP的記錄,數(shù)據(jù)包會(huì)繼續(xù)下行,如果分頁緩沖區(qū)中沒有對(duì)應(yīng)記錄,數(shù)據(jù)包就被丟棄。
4 CIPv6的擴(kuò)充
4.1 切換擴(kuò)充
4.1.1 軟切換

??? 為了防止敏感數(shù)據(jù)的丟失,可以采用軟切換方式。在軟切換時(shí),移動(dòng)主機(jī)會(huì)與兩個(gè)基站同時(shí)通信,這樣下行數(shù)據(jù)仍然可以同時(shí)到達(dá)兩個(gè)基站,從而防止數(shù)據(jù)通信的中斷。為了實(shí)現(xiàn)軟切換,移動(dòng)主機(jī)需要在新基站建立對(duì)應(yīng)的路由記錄,同時(shí)繼續(xù)監(jiān)聽舊主機(jī)的下行數(shù)據(jù)。移動(dòng)主機(jī)通過設(shè)置S標(biāo)志來實(shí)現(xiàn)軟切換,節(jié)點(diǎn)通過識(shí)別S標(biāo)志,在數(shù)據(jù)下行時(shí)會(huì)同時(shí)向新基站和舊基站發(fā)送數(shù)據(jù)包,直到移動(dòng)主機(jī)向新基站發(fā)送路由更新數(shù)據(jù)包。一旦移動(dòng)主機(jī)向新基站發(fā)送路由更新數(shù)據(jù)包,S標(biāo)志將被清除,舊主機(jī)路由緩沖區(qū)中的對(duì)應(yīng)記錄也會(huì)被清除,從而完成整個(gè)軟切換過程。
??? 如果新基站的訪問路徑大于舊基站,下行數(shù)據(jù)可能無法到達(dá)移動(dòng)主機(jī)。為了防止類似問題,在軟切換時(shí)到達(dá)新基站的數(shù)據(jù)包會(huì)有一定的延時(shí),這可能導(dǎo)致移動(dòng)主機(jī)收到兩次相同數(shù)據(jù)包,但不會(huì)出現(xiàn)數(shù)據(jù)包丟失。
4.1.2? 間接軟切換
??? 不是所有無線技術(shù)都支持同步多連接,如:有些設(shè)備無法實(shí)現(xiàn)在監(jiān)聽舊基站的同時(shí)向新基站發(fā)送路由更新數(shù)據(jù)包,在這種情況下可以采用間接軟切換。當(dāng)需要切換時(shí),主機(jī)不向新基站發(fā)送路由更新數(shù)據(jù)包(因?yàn)樵O(shè)備無法實(shí)現(xiàn)),路由更新數(shù)據(jù)包仍被發(fā)送到當(dāng)前基站,但這個(gè)數(shù)據(jù)包的目標(biāo)IP(下行時(shí)的目標(biāo)IP)就是新基站的IP,這時(shí)將I標(biāo)志設(shè)定為1,表示開始間接軟切換過程。這樣,下行的數(shù)據(jù)就會(huì)根據(jù)新的基站地址到達(dá)新基站,當(dāng)基站收到該數(shù)據(jù)包時(shí)即可建立新的主機(jī)路由記錄鏈。
4.2 多網(wǎng)關(guān)網(wǎng)絡(luò)
??? 當(dāng)CIPv6網(wǎng)絡(luò)只有一個(gè)網(wǎng)關(guān)時(shí),這個(gè)網(wǎng)關(guān)必須負(fù)責(zé)上行和下行數(shù)據(jù)。IPv6網(wǎng)絡(luò)可以采用多網(wǎng)關(guān),這樣可以提高網(wǎng)絡(luò)的效率,但移動(dòng)主機(jī)和相關(guān)節(jié)點(diǎn)必須可以判斷使用哪個(gè)網(wǎng)關(guān),例如:通過地理位置或IP空間進(jìn)行網(wǎng)關(guān)分配。
??? 蜂窩式IPv6是一個(gè)支持主機(jī)頻繁切換的協(xié)議,通過對(duì)該協(xié)議的擴(kuò)充引入軟切換后,不僅可以實(shí)現(xiàn)基于移動(dòng)網(wǎng)絡(luò)的IPv6網(wǎng)絡(luò),還可以很好地解決切換過程中的數(shù)據(jù)丟失。軟切換根據(jù)設(shè)備的功能性,可以通過直接軟切換和間接軟切換兩種方式實(shí)現(xiàn)。
參考文獻(xiàn)
[1] ?Internet Protocol version 6(IPv6) specification. IETF RFC 2460, December 1998.
[2] ?THOMSON S, NARTEN T. IPv6 stateless address autoconfiguration. IETF RFC 2462, December 1998.
[3] ?METZGER P, SIMPSON W. IP authentication using keyed ?MD5. IETF RFC 1828, August 1995.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。