將嵌入式IPv6協議棧模塊化
手機大家都不陌生,其中,它的芯片并不是真正的計算機芯片,但是卻是可以理解為是一種計算機芯片的裁剪版。這也就是嵌入式思想的簡單認識。那么加入IPv6協議棧的技術,將兩者有效結合起來的設計就是我們幾天討論的話題。
嵌入式IPv6協議棧的設計思想
嵌入式系統的IPv6微型協議棧,直接面對硬件,沒有一個多任務操作系統平臺;MCU中的程序結構一般是順序執行和硬件中斷相配合的方式,與高級操作系統中多線程并發執行的方式截然不同。因為單片機上系統的各種資源是有限的,例如CPU的處理速度、字長,RAM、ROM存儲器的容量以及接口的數量等與通用計算機相比有很大差距,所以如何使協議棧做到精細、通信可靠、功能相對完善,而且又能發揮單片機的特點成為IPv6微型協議棧設計的關鍵問題。“微型化”思想主要體現在設計方案核心應著眼于設計體積小,但又不影響運行的協議棧,所以要對協議棧的裁剪方面進行深入研究,去掉不必要的組件、傳統的復雜調度機制和額外的擴展功能,甚至可以去除操作系統等。
綜合研究以上多方面因素,提出了能夠適用于無線傳感器網絡的嵌入式IPv6微型協議棧的設計要求。
①協議棧運行于單片機系統上,具有較強的兼容性。可以在以太網上正確運行,同時在此基礎上可以借助IEEE802.15.4 MAC的無線數據傳輸功能來傳送數據包。
②實現IPv6基本協議棧核心協議的最基本功能、包括IPv6基本描述協議、ND(鄰居發現)協議、ICMPv6(因特網控制報文)協議和IPv6地址的自動配置協議等。
IPv6基本描述協議:IPv6數據包的發送、接收、處理等基本功能。
ND(鄰居發現)協議:鄰居發現的地址解析功能,實現鄰居請求和鄰居通告。
ICMPv6(因特網控制報文)協議:主要實現控制報文的消息處理,以及對網絡診斷功能的回應請求和回應答復。
IPv6地址自動配置協議:根據IPv6地址格式的要求,主要實現IPv6鏈路本地地址的配置和請求節點多播地址的配置。
③利用對校驗和字段的汁算與處理來提高ICMPv6、TCP等協議運行的正確性。
④實現簡單的應用層協議(如TELNET/SNMP協議),利用遠程終端可以登錄到運行嵌入式IPv6協議棧的單片機系統,以及進行簡單的控制和管理操作。#p#
嵌入式IPv6協議棧的分層與模塊化設計
嵌入式IPv6協議棧采用分層結構進行沒計,將整個協議棧(包括TCP及上層應用)分為4個層次:事件觸發接口層、TCP/IP網絡協議層、NIC網絡接口核心層和網絡設備驅動接口層。
各層的功能簡述如下:
①事件觸發接口層。該層對應于TCP/IP模型的應用層協議(OSI模型的高層協議),主要功能是定義網絡數據的格式以及網絡的應用。
②TCP/IP網絡協議層。該層對應于TCP/IP模型的傳輸層協議和網絡層協議(OSI模型的3、4兩層),主要功能是定義數據如何傳輸到目的地的。使用TCP協議在兩臺主機之間建立端到端的連接,保證可靠的傳輸;IP協議進行路由選擇和基于IP的尋址。
③NIC網絡接口核心層。該層是整個網絡接口的關鍵部位,其上層是具體的網絡協議,下層是驅動程序。它為上層提供統一的發送接口,屏蔽各種各樣的物理介質;同時負責把來自下層的包向合適的協議發送。
④網絡設備驅動接口層。該層是分層結構的最底層,其主要功能是控制具體物理介質,從物理介質接收和發送數據,并對物理介質進行諸如最大數據包之類的各種設置。
結合對嵌入式IPv6協議棧設計要求和分層結構的全面分析,將設計實現劃分為4個模塊。
各模塊的功能簡述如下:
①網絡接口核心模塊。該模塊為網絡協議提供統一的發送接口,屏蔽各種各樣的物理介質;同時負責把來自下層的包向合適的協議配送。
②事件接口模塊。嵌入式IPv6協議棧沒有采用BSD套接口,而是采用了事件驅動接口。當特定TCP/IP事件發生時,將調用應用程序;而當應用程序產生輸出數據時,也通過此接口發送出去。
③SNMP網管模塊。該模塊負責獲取IPv6無線傳感器網絡節點的相關MIB信息。
④配置最示調試命令模塊。該模塊用于提供用戶配置和調試的界面,包括配置IP地址、子網掩碼、默認網關和MAC地址等。在程序正常運行前,由超級終端進入配置模式,由用戶進行配置管理。
基于IPv6 over IEEE802.15.4的無線傳感器網絡是一門新興的網絡技術,人們對它的研究尚處于起步階段。本文針對基于IPv6 over IEEE802.15.4無線傳感器網絡自身特點,對其關鍵技術嵌入式IPv6協議棧進行了分析。筆者認為,現有的IPv6協議棧雖然在功能、性能等方面具有很大優勢,但由于代碼體積較大(幾MB~幾百MB),而無線傳感器網絡節點的存儲資源只有不到200KB,因而無法運行在計算能力和存儲資源受限的無線傳感器網絡節點中。所以在設計適合傳感器節點的嵌入式IPv6協議棧時,應充分分析和研究無線傳感器網絡對IPv6提出的新要求,考慮在性能和資源之間尋找一個折中的方案,充分運用協議工程學理論和軟件工程的方法,設計一種合理、高效的嵌入式IPv6微型協議棧。這對推動無線傳感器網絡和IPv6的發展,以及改變人們的生活和上作方式,具有十分重要的意義。