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