多平臺(tái)可植入Mobile IPv6結(jié)構(gòu)設(shè)計(jì)
關(guān)于Mobile IPv6的協(xié)議是很好理解的。隨著網(wǎng)絡(luò)的V6化,手機(jī)網(wǎng)絡(luò)的協(xié)議必然也需要兼容這種形式,這也就催生了多平臺(tái)可植入Mobile IPv6的研究,現(xiàn)在我們在這方面進(jìn)行一個(gè)具體深入的討論。希望從中能夠幫助大家理解這方面的知識。
多平臺(tái)可移植Mobile IPv6協(xié)議棧(Multi Plat Mobile IPv6)協(xié)議棧設(shè)計(jì)的主要目標(biāo)是無論操作系統(tǒng)平臺(tái)如何變化,Multi Plat Mobile IPv6協(xié)議棧盡可能少地修改代碼,并且采用模塊化替換方式簡化平臺(tái)移植過程。
為此,需要區(qū)分開Multi Plat Mobile IPv6協(xié)議棧所包含的平臺(tái)相關(guān)與平臺(tái)無關(guān)兩類代碼:平臺(tái)相關(guān)代碼與具體的操作系統(tǒng)或硬件相關(guān)聯(lián),不能脫離操作系統(tǒng)具體特性;平臺(tái)無關(guān)代碼不直接與操作系統(tǒng)或硬件相關(guān)聯(lián),不依賴于具體的操作系統(tǒng)。
區(qū)分出這兩部分代碼才能在設(shè)計(jì)中確定不同平臺(tái)下保持通用的代碼(平臺(tái)無關(guān)代碼),和必須重新編寫的代碼(平臺(tái)相關(guān)代碼);Multi Plat Mobile IPv6協(xié)議中哪些功能可用平臺(tái)無關(guān)代碼實(shí)現(xiàn),哪些功能必須采用平臺(tái)相關(guān)代碼實(shí)現(xiàn)是設(shè)計(jì)的重點(diǎn)工作,需要根據(jù)操作系統(tǒng)以及Mobile IPv6相關(guān)特點(diǎn)綜合考慮。
與Mobile IPv6協(xié)議的功能相對應(yīng),Multi Plat Mobile IPv6協(xié)議棧包括兩個(gè)主要的功能模塊:
1) 移動(dòng)相關(guān)功能模塊識別MN當(dāng)前所在網(wǎng)絡(luò),完成網(wǎng)絡(luò)切換,通知HA、CN,MN的當(dāng)前位置,建立MN和CN之間的路由優(yōu)化關(guān)系以及維護(hù)移動(dòng)相關(guān)狀態(tài)信息,它是一些邏輯過程的集合,與操作系統(tǒng)以及硬件無直接聯(lián)系,通過合適的設(shè)計(jì)方法,可作為平臺(tái)無關(guān)部分在用戶態(tài)以服務(wù)程序的方式實(shí)現(xiàn);
2) 數(shù)據(jù)接收和發(fā)送功能模塊分別處理路由優(yōu)化前后的數(shù)據(jù)接收與發(fā)送,由于這部分直接相聯(lián)系的網(wǎng)絡(luò)協(xié)議程序是在操作系統(tǒng)內(nèi)核運(yùn)行,并需要和硬件驅(qū)動(dòng)程序相關(guān)接口通信,因此這部分必須運(yùn)行在內(nèi)核態(tài)必定是平臺(tái)相關(guān)的。
根據(jù)對以上分析我們將MultiPlat Mobile IPv6協(xié)議棧設(shè)計(jì)成為3個(gè)主要的結(jié)構(gòu)部分:
移動(dòng)相關(guān)功能模塊與平臺(tái)無關(guān)稱之為通用功能體工作在用戶態(tài);數(shù)據(jù)接收和發(fā)送功能模塊與平臺(tái)相關(guān)稱之為內(nèi)核功能體工作在內(nèi)核態(tài);另外需要在內(nèi)核態(tài)與用戶態(tài)程序之間建立一個(gè)中間層,該層與移動(dòng)協(xié)議規(guī)定的功能沒有直接的關(guān)系,但包括一系列內(nèi)核態(tài)和用戶態(tài)之間通信接口函數(shù)、通用線程管理函數(shù)、定時(shí)函數(shù)。
這些函數(shù)為通用功能體對不同操作系統(tǒng)函數(shù)的調(diào)用保持統(tǒng)一函數(shù)名和參數(shù)格式,用以屏蔽平臺(tái)差異,稱之為適配層。
通用功能體在不同的操作系統(tǒng)下保持了通用性(源代碼通用性),其他兩部分需要根據(jù)操作系統(tǒng)的不同而做適應(yīng)性修改。該體系結(jié)構(gòu)劃分出通用代碼和不通用代碼,并將其模塊化,操作系統(tǒng)平臺(tái)間移植過程被簡化為部分模塊替換。這是MultiPlat Mobile IPv6的主要特點(diǎn)。