摘要: 分析了移動(dòng)IP 技術(shù)的工作原理和移動(dòng)IP 在藍(lán)牙系統(tǒng)中的工作機(jī)制, 提出了其中的一些技術(shù)問(wèn)題和解決方案, 如三邊路由優(yōu)化、越區(qū)切換、注冊(cè)優(yōu)化等, 并分析了移動(dòng)IPv6 在藍(lán)牙中的應(yīng)用和藍(lán)牙移動(dòng)IP網(wǎng)絡(luò)的組網(wǎng)方式, 為無(wú)線藍(lán)牙數(shù)據(jù)通信業(yè)務(wù)產(chǎn)生巨大的促進(jìn)作用。
關(guān)鍵詞: 藍(lán)牙技術(shù); 移動(dòng)IP 技術(shù); 移動(dòng)節(jié)點(diǎn)
引言
隨著In ternet 的迅速普及, 筆記本計(jì)算機(jī)的大量使用以及藍(lán)牙無(wú)線通信設(shè)備的發(fā)展, 藍(lán)牙用戶產(chǎn)生了對(duì)藍(lán)牙設(shè)備移動(dòng)性的需求, 即希望接入Internet 的藍(lán)牙設(shè)備能夠在所處的位置不斷變化的情況下, 保持已有的通信聯(lián)接。傳統(tǒng)IP 技術(shù)的主機(jī)使用固定的IP 地址和TCP (傳輸控制協(xié)議) 端口進(jìn)行相互通信。在通信期間, 它們的IP 地址和ICP 端口號(hào)必須保持不變, 否則IP 主機(jī)之間的通信將無(wú)法繼續(xù)。因移動(dòng)藍(lán)牙節(jié)點(diǎn)在通信期間可能需要在網(wǎng)絡(luò)上移動(dòng), 它的IP 地址也許會(huì)經(jīng)常發(fā)生變化。若采用傳統(tǒng)通信方式, IP 地址的變化會(huì)導(dǎo)致通信中斷。本文主要探討了基于藍(lán)牙的移動(dòng)IP 技術(shù)。
移動(dòng)IP 技術(shù)
移動(dòng)IP 的網(wǎng)絡(luò)結(jié)構(gòu)
移動(dòng)IP 的3 個(gè)基本功能: ①代理搜索, 移動(dòng)節(jié)點(diǎn)通過(guò)代理搜索確定它當(dāng)前位置并獲得一個(gè)轉(zhuǎn)交地址; ②注冊(cè), 通過(guò)注冊(cè)過(guò)程, 移動(dòng)節(jié)點(diǎn)向外地代理發(fā)送請(qǐng)求服務(wù)消息, 并把它的轉(zhuǎn)交地址通知給本地代理; ③數(shù)據(jù)轉(zhuǎn)發(fā), 當(dāng)移動(dòng)節(jié)點(diǎn)與外地網(wǎng)絡(luò)聯(lián)接時(shí), 為它發(fā)出的數(shù)據(jù)包或發(fā)往它的數(shù)據(jù)包進(jìn)行路由選擇。
移動(dòng)IP 協(xié)議將IP 地址標(biāo)識(shí)與尋址功能分開(kāi),利用2 個(gè)IP 地址來(lái)分別表示: 即用于標(biāo)識(shí)移動(dòng)主機(jī)的IP 地址為本地代理地址; 用于標(biāo)識(shí)主機(jī)當(dāng)前所在位置和選路的IP 地址為轉(zhuǎn)交地址(CoA: care of address)。在移動(dòng)IP 技術(shù)下, 移動(dòng)用戶可以使用一個(gè)固定的IP 地址在任何地點(diǎn)采用任何方式聯(lián)接到因特網(wǎng)上, 當(dāng)移動(dòng)用戶移動(dòng)到另外一個(gè)網(wǎng)絡(luò)或者子網(wǎng)時(shí), 移動(dòng)用戶可以在不改變IP 地址的情況下仍保持通信。移動(dòng)IP 的網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
移動(dòng)IP 的工作原理
移動(dòng)IP 工作原理的步驟如下。①本地代理和外地代理不停地向各自網(wǎng)內(nèi)發(fā)送代理通告(agen t advert isem en t) 消息, 以表明自己的存在, 移動(dòng)節(jié)點(diǎn)接收并根據(jù)這些消息判斷自己是在本地網(wǎng)還是在外地網(wǎng)上。②如果移動(dòng)節(jié)點(diǎn)發(fā)現(xiàn)自己仍在本地網(wǎng)上, 則不啟動(dòng)移動(dòng)功能, 如果是從外地重新返回的, 則向本地代理發(fā)出注冊(cè)取消的功能消息, 聲明自己已回到本地網(wǎng)中; 如果移動(dòng)節(jié)點(diǎn)檢測(cè)到已移到外地網(wǎng), 則獲得一個(gè)轉(zhuǎn)交地址(有2 種類型, 即外地代理的IP 地址和通過(guò)某種機(jī)制與移動(dòng)節(jié)點(diǎn)暫時(shí)對(duì)應(yīng)起來(lái)的網(wǎng)絡(luò)地址) , 也是移動(dòng)節(jié)點(diǎn)在外地暫時(shí)獲得的新的IP 地址,然后移動(dòng)節(jié)點(diǎn)向本地代理注冊(cè), 表明自己已離開(kāi)本地網(wǎng), 把獲得的轉(zhuǎn)交地址通知本地代理。③注冊(cè)以后, 發(fā)往移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包經(jīng)過(guò)本地代理使用“IP隧道”發(fā)給外地代理后再轉(zhuǎn)交給移動(dòng)節(jié)點(diǎn)(如使用前面1 種轉(zhuǎn)交地址) 或直接交給移動(dòng)節(jié)點(diǎn)本身(如使用后面1 種轉(zhuǎn)交地址)。這樣, 即使移動(dòng)節(jié)點(diǎn)已由一個(gè)子網(wǎng)移到另一個(gè)子網(wǎng), 移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)傳輸仍能繼續(xù)進(jìn)行。④移動(dòng)節(jié)點(diǎn)發(fā)往外地的數(shù)據(jù)包使用一般的IP 選路方法發(fā)送, 不必通過(guò)本地代理。
基于藍(lán)牙的移動(dòng)IP
利用藍(lán)牙技術(shù)可以實(shí)現(xiàn)移動(dòng)用戶的無(wú)線接入,將移動(dòng)藍(lán)牙用戶接入因特網(wǎng)有2 種方式: 蜂窩IP 技術(shù)和移動(dòng)IP 技術(shù)。
藍(lán)牙系統(tǒng)中蜂窩IP 的工作原理
蜂窩IP 技術(shù)主要是利用藍(lán)牙獨(dú)特的組網(wǎng)方式,可以使得7 個(gè)移動(dòng)藍(lán)牙用戶同時(shí)通過(guò)一個(gè)固定網(wǎng)絡(luò)節(jié)點(diǎn)與因特網(wǎng)相聯(lián)。在藍(lán)牙系統(tǒng)中應(yīng)用蜂窩IP 的工作原理如下。
移動(dòng)藍(lán)牙用戶需要無(wú)線接入時(shí), 它將發(fā)出查詢命令, 當(dāng)基站能夠接受新用戶時(shí), 聯(lián)接就建立起來(lái)了, 這時(shí)移動(dòng)藍(lán)牙用戶將通過(guò)基站向藍(lán)牙代理發(fā)送登記請(qǐng)求, 藍(lán)牙代理經(jīng)過(guò)驗(yàn)證返回一個(gè)包含分配給移動(dòng)藍(lán)牙用戶的臨時(shí)的IP 地址、代理服務(wù)器端口地址以及DN S 地址的分組, 移動(dòng)藍(lán)牙用戶收到這個(gè)分組后, 就可以采用該IP 地址向因特網(wǎng)收發(fā)數(shù)據(jù), 也可以與本局域網(wǎng)內(nèi)其它的移動(dòng)藍(lán)牙用戶通信。
當(dāng)移動(dòng)藍(lán)牙用戶移動(dòng)位置時(shí), 并且如果移動(dòng)藍(lán)牙用戶的接收信號(hào)強(qiáng)度(RSSI) 小于某個(gè)門(mén)限值時(shí),它將發(fā)出查詢命令, 查找是否有更近的基站存在, 如果有, 將與新的基站建立聯(lián)接, 這時(shí)移動(dòng)藍(lán)牙用戶將通過(guò)新的基站向藍(lán)牙代理發(fā)送登記請(qǐng)求, 藍(lán)牙代理獲得一個(gè)包含臨時(shí)IP 的新地址、代理服務(wù)器端口地址以及DN S 地址的分組, 移動(dòng)藍(lán)牙用戶通過(guò)該IP地址向因特網(wǎng)收發(fā)數(shù)據(jù)。但是, 由于可供接入的固定節(jié)點(diǎn)并不是隨時(shí)隨地都存在, 因而蜂窩IP 不能實(shí)現(xiàn)移動(dòng)藍(lán)牙用戶隨時(shí)隨地都能接入因特網(wǎng)。
藍(lán)牙系統(tǒng)中移動(dòng)IP 的工作原理
本地代理(移動(dòng)藍(lán)牙用戶所在的本地網(wǎng)上的路由器) 和外地代理(移動(dòng)藍(lán)牙用戶當(dāng)前所在網(wǎng)絡(luò)上的路由器) 不停地向網(wǎng)上發(fā)送代理消息, 以證明自己的存在。移動(dòng)藍(lán)牙用戶接收到這些消息后, 確定自己是在本地網(wǎng)還是在外地網(wǎng)。
如果移動(dòng)藍(lán)牙用戶發(fā)現(xiàn)自己是在本地網(wǎng), 并且收到的是本地代理發(fā)來(lái)的消息, 則不啟動(dòng)移動(dòng)功能;如果仍然收到外地代理發(fā)來(lái)的消息, 則向本地代理發(fā)送注消原位置(外地網(wǎng)) 命令, 聲明自己已經(jīng)回到本地網(wǎng)。如果一個(gè)移動(dòng)主機(jī)進(jìn)入外部網(wǎng)點(diǎn)時(shí), 它與所在地的外地代理聯(lián)系, 并進(jìn)行登記, 外地代理再與用戶的本地代理聯(lián)系, 并把轉(zhuǎn)交地址傳送給本地代理。一個(gè)發(fā)往移動(dòng)用戶的數(shù)據(jù)包到本地代理局域網(wǎng)時(shí),本地代理截獲該數(shù)據(jù)包, 然后本地代理將數(shù)據(jù)包進(jìn)行IP 封裝, 通過(guò)隧道把它發(fā)往具有轉(zhuǎn)交地址的外地代理。外地代理接收后, 進(jìn)行解封, 取出其中的數(shù)據(jù)再發(fā)往藍(lán)牙移動(dòng)用戶。這樣即使移動(dòng)藍(lán)牙用戶已經(jīng)從一個(gè)子網(wǎng)移動(dòng)到另一個(gè)子網(wǎng), 移動(dòng)藍(lán)牙用戶的數(shù)據(jù)通信仍然能夠繼續(xù)。移動(dòng)藍(lán)牙用戶發(fā)往外地的數(shù)據(jù)包則不必通過(guò)本地代理, 而是按照通常的選路方法發(fā)送。
存在的幾個(gè)技術(shù)問(wèn)題
藍(lán)牙系統(tǒng)中移動(dòng)IP 中的路由優(yōu)化問(wèn)題
移動(dòng)IP 中經(jīng)常遇到三邊路由問(wèn)題, 如圖2 所示。通信對(duì)端發(fā)送數(shù)據(jù)包到移動(dòng)節(jié)點(diǎn)時(shí), 首先要到達(dá)本地代理, 而后由本地代理通過(guò)隧道轉(zhuǎn)發(fā)給移動(dòng)節(jié)點(diǎn), 而移動(dòng)節(jié)點(diǎn)可以直接向通信對(duì)端發(fā)送數(shù)據(jù)包。三邊路由問(wèn)題會(huì)增加數(shù)據(jù)包傳輸?shù)臅r(shí)延, 路由的選擇也不是最佳的, 占用網(wǎng)絡(luò)資源并且加重本地代理的處理負(fù)擔(dān)?梢圆捎寐酚蓛(yōu)化技術(shù)來(lái)解決三邊路由問(wèn)題, 即通信對(duì)端在向移動(dòng)藍(lán)牙用戶發(fā)送數(shù)據(jù)之前首先向本地代理注冊(cè), 從而獲得移動(dòng)藍(lán)牙用戶的轉(zhuǎn)交地址, 再根據(jù)其中的地址信息, 直接傳送給移動(dòng)藍(lán)牙用戶。
這種路由優(yōu)化方法需要移動(dòng)節(jié)點(diǎn)和通信對(duì)端間相互認(rèn)證, 從而加強(qiáng)安全性能。當(dāng)移動(dòng)節(jié)點(diǎn)和通信對(duì)端數(shù)目較多時(shí), 為每一個(gè)移動(dòng)節(jié)點(diǎn)和通信對(duì)端分配一對(duì)密鑰的方法是不可行的, 而為每個(gè)移動(dòng)節(jié)點(diǎn)和其本地代理配置一對(duì)密鑰的方法是可行的。只有當(dāng)移動(dòng)節(jié)點(diǎn)與本地代理比較遠(yuǎn), 而與通信對(duì)端較近時(shí)采用該路由優(yōu)化才有較大意義。在移動(dòng)藍(lán)牙用戶頻繁越區(qū)移動(dòng)時(shí), 若本地代理來(lái)不及刷新轉(zhuǎn)交地址信息, 將容易造成數(shù)據(jù)包的丟失, 因此, 應(yīng)根據(jù)實(shí)際的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)并在考慮安全性的前提下來(lái)決定是否采用路由優(yōu)化。
藍(lán)牙系統(tǒng)中移動(dòng)IP 中越區(qū)切換問(wèn)題
為了實(shí)現(xiàn)移動(dòng)藍(lán)牙用戶的無(wú)縫接入, 關(guān)鍵問(wèn)題就是越區(qū)切換。為了提高切換性能, 可以采用在外地代理加緩沖區(qū)的辦法來(lái)減少數(shù)據(jù)包的丟失率。具體實(shí)現(xiàn)如下: 當(dāng)移動(dòng)藍(lán)牙用戶移動(dòng)位置時(shí), 如果移動(dòng)藍(lán)牙用戶的RSSI 小于某個(gè)門(mén)限值時(shí), 它將發(fā)出查詢命令, 查找是否有更近的外地代理存在, 同時(shí)它也向原來(lái)的外地代理發(fā)出聲明, 告之它將切換到新的外地代理。移動(dòng)藍(lán)牙用戶移動(dòng)到新的外地代理的登記請(qǐng)求沒(méi)有被本地代理確認(rèn)前, 原先的外地代理將通信對(duì)端發(fā)送來(lái)的數(shù)據(jù)包存儲(chǔ)在緩沖區(qū)里。登記請(qǐng)求確認(rèn)后, 本地代理通過(guò)新的外地代理給移動(dòng)藍(lán)牙用戶發(fā)出確認(rèn)消息, 同時(shí)刷新通信對(duì)端的轉(zhuǎn)交地址, 使通信對(duì)端獲得移動(dòng)藍(lán)牙用戶的新的轉(zhuǎn)交地址, 將以后的數(shù)據(jù)包發(fā)送到新的外地代理, 再轉(zhuǎn)發(fā)給移動(dòng)藍(lán)牙用戶。移動(dòng)藍(lán)牙用戶收到登記確認(rèn)消息后, 解除其在舊的外地代理的登記, 并且通知它新的轉(zhuǎn)交地址,使它釋放緩沖區(qū)的數(shù)據(jù)包到新的外地代理, 再轉(zhuǎn)發(fā)給移動(dòng)藍(lán)牙用戶, 這樣就避免了切換時(shí)的數(shù)據(jù)丟失。
藍(lán)牙系統(tǒng)中移動(dòng)IP 中的注冊(cè)優(yōu)化問(wèn)題
由于移動(dòng)藍(lán)牙用戶多次跨區(qū)移動(dòng), 導(dǎo)致移動(dòng)藍(lán)牙用戶頻繁注冊(cè), 大大加重了網(wǎng)絡(luò)的負(fù)擔(dān)。因而需要對(duì)注冊(cè)進(jìn)行優(yōu)化。該方案將一個(gè)區(qū)域內(nèi)的外地代理(FA: fo reign agen t) 采用分層的結(jié)構(gòu)進(jìn)行組織, 如圖3 所示。分層結(jié)構(gòu)最頂端的FA 稱為根FA。從根FA到移動(dòng)藍(lán)牙用戶的路徑上的所有FA 的地址被包含在一個(gè)CoA 向量中, 并由最底層的FA 周期性地在它的覆蓋范圍內(nèi)廣播。移動(dòng)藍(lán)牙用戶(BT ) 根據(jù)收到的廣播信息獲得到達(dá)根FA 的路徑。移動(dòng)藍(lán)牙用戶的注冊(cè)請(qǐng)求消息沿路徑依次到達(dá)上一級(jí)的FA 處,最終到達(dá)根FA , 根FA 將注冊(cè)請(qǐng)求中的CoA 寫(xiě)為它的IP 地址, 轉(zhuǎn)發(fā)給本地代理(HA: hom e agen t )。移動(dòng)藍(lán)牙用戶越區(qū)切換后, 比較收到的新的CoA 向量和原來(lái)的CoA 向量, 選擇2 個(gè)向量中的相同的FA 中最低一級(jí)的FA , 然后向它發(fā)送注冊(cè)請(qǐng)求。任何高一級(jí)的FA 不需要知道移動(dòng)藍(lán)牙用戶的切換動(dòng)作。
圖3 中, CH 代表通信對(duì)端。當(dāng)BT 到達(dá)FA 5時(shí), 注冊(cè)請(qǐng)求消息通過(guò)FA5, FA2, FA1 到達(dá)HA , 注冊(cè)應(yīng)答消息的路徑反向。越區(qū)切換時(shí),BT 從FA5 移動(dòng)到FA4, FA2 是本地注冊(cè)的目標(biāo)點(diǎn), FA1不需要任何修改, 仍然可以將數(shù)據(jù)包移動(dòng)到FA2。在移動(dòng)的過(guò)程中, HA 不知道本地用戶的移動(dòng), 注冊(cè)消息也沒(méi)有到達(dá)HA , 因而減少了注冊(cè)的開(kāi)銷。
移動(dòng)IPv6 在藍(lán)牙中的應(yīng)用
IPv6 巨大的地址空間使得地址的自動(dòng)配置變得非常簡(jiǎn)單, 藍(lán)牙移動(dòng)節(jié)點(diǎn)可以通過(guò)它容易地得到一個(gè)配置轉(zhuǎn)交地址, 所以移動(dòng)IPv6 不再需要FA , 但其他高層功能與移動(dòng)IPv4 相似, IPv6 本身集成了對(duì)路由優(yōu)化的支持, 通過(guò)交換綁定更新和綁定應(yīng)答消息, 通信對(duì)端能夠及時(shí)獲得移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址,并可利用IPv6 選路報(bào)頭通過(guò)源路由直接將數(shù)據(jù)包發(fā)送給藍(lán)牙移動(dòng)節(jié)點(diǎn)來(lái)實(shí)現(xiàn)路由優(yōu)化。因?yàn)镮Pv6 中地址為128 位, 源路由比隧道技術(shù)減少處理開(kāi)銷,因此移動(dòng)IPv6 中采用源路由而不使用隧道技術(shù)。
藍(lán)牙技術(shù)下移動(dòng)IP 網(wǎng)的組網(wǎng)方式
在藍(lán)牙無(wú)線接入系統(tǒng)中, 移動(dòng)設(shè)備在IP 適配層完成移動(dòng)切換功能。藍(lán)牙無(wú)線接入通常采用以下3種方式完成藍(lán)牙設(shè)備無(wú)線接入基站。第1 種方式是藍(lán)牙設(shè)備作為主動(dòng)設(shè)備向藍(lán)牙基站發(fā)送接入請(qǐng)求, 基站根據(jù)接收到的請(qǐng)求, 確定藍(lán)牙設(shè)備的硬件地址, 并向設(shè)備發(fā)送必要的接入信息。在這種方式下,藍(lán)牙基站必須時(shí)刻處于待命狀態(tài), 確保藍(lán)牙設(shè)備能夠及時(shí)地接入網(wǎng)絡(luò)。
這種方式的缺點(diǎn)是: 當(dāng)基站為不同子網(wǎng)的多個(gè)藍(lán)牙設(shè)備所復(fù)用時(shí), 基站必須采用時(shí)分復(fù)用的方式在不同的子網(wǎng)之間切換。這大大浪費(fèi)了系統(tǒng)的資源, 降低了接入效率。第2 種方式是藍(lán)牙接入設(shè)備作為從屬設(shè)備, 而基站作為主動(dòng)設(shè)備, 藍(lán)牙設(shè)備所有的通信請(qǐng)求都必須在基站的控制下完成,基站的接入算法決定了藍(lán)牙設(shè)備在網(wǎng)絡(luò)中的工作效率。這種方式的缺點(diǎn)是基站成為了藍(lán)牙設(shè)備通信的瓶頸, 基站不斷地對(duì)網(wǎng)絡(luò)中的藍(lán)牙設(shè)備發(fā)送輪詢信息, 如果設(shè)備增多將導(dǎo)致輪詢時(shí)間增大, 從而造成需要進(jìn)行通信的設(shè)備不能及時(shí)接入網(wǎng)絡(luò)。
第3 種方式是主從切換方式。為了使藍(lán)牙設(shè)備更有效地接入BLU EPAC 網(wǎng)絡(luò), 可以使上面的兩種接入方式結(jié)合使用。在這種主從切換方式下, 藍(lán)牙基站在輪詢和待命狀態(tài)之間循環(huán)切換。在藍(lán)牙設(shè)備與藍(lán)牙基站建立聯(lián)接之前, 藍(lán)牙基站以主動(dòng)設(shè)備方式工作, 藍(lán)牙設(shè)備向基站發(fā)送請(qǐng)求信息, 當(dāng)?shù)玫交貞?yīng)后, 表明二者的聯(lián)接關(guān)系已經(jīng)建立, 這時(shí), 藍(lán)牙基站轉(zhuǎn)為在從屬設(shè)備方式下工作, 但是此時(shí)對(duì)于網(wǎng)絡(luò)中其他未與基站建立聯(lián)接關(guān)系的設(shè)備來(lái)說(shuō), 基站仍然在主動(dòng)設(shè)備的方式下工作。
結(jié)束語(yǔ)
最近, 無(wú)線藍(lán)牙數(shù)據(jù)通信業(yè)務(wù)的迅速增長(zhǎng)引起了各行業(yè)對(duì)藍(lán)牙技術(shù)的重視, 認(rèn)為它將對(duì)未來(lái)的無(wú)線數(shù)據(jù)通信業(yè)務(wù)產(chǎn)生巨大的促進(jìn)作用。本文就藍(lán)牙系統(tǒng)中的移動(dòng)IP 技術(shù)進(jìn)行了淺析, 藍(lán)牙技術(shù)是無(wú)線數(shù)據(jù)通信最為重大的進(jìn)展之一, 對(duì)藍(lán)牙普及具有重要的意義。