吳義三咸寧職業技術學院 (咸寧437100)
?
基于NDIS的無線Mesh網絡協議的研究和實現
吳義三
咸寧職業技術學院(咸寧437100)
摘要隨機網絡通信快速發展,對于無線電的研究越來越深入,建立起無線電通信平臺也迫在眉睫。NDIS基礎上提出NMP網絡協議,對于Mesh無線電網絡推廣具有積極意義。本文針對NDIS架構進行分析,針對Mesh無線電網絡特點進行分析,對NMP協議進行了實際應用研究,并搭建起NMP網絡實現性能測試,進而表明Mshe協議的優越性。
關鍵詞無線Mesh網絡協議;實現;NDIS中圖分類號:TN915.03
文獻標識碼:A
文章編號:1003-3319(2016)01-00030-02
無線電Mesh網絡作為當前比較先進有效的通信技術,其具有優秀的結構特征可以直接作為無線網絡接口。無線Mesh隨著時代的發展其被廣泛應用于各個方面甚至一些網絡公司正在積極研制無線網絡通信平臺,逐漸適應當前流行的Windows網絡平臺應用。以往很多都不是在Windows網絡平臺上應用,但是實現Windows平臺無線網絡的需求也越來越大。本文基于NDIS的無線Mesh網絡協議進行研究,從基礎概念性問題進行分析再到無線網絡實現,為相關研究同仁提供借鑒。
1.1NDIS介紹
NDIS即網絡驅動接口規范,其主要目的時為NIC制定出標準的AP接口。介質訪問的時候通過NIC來實現編程接口互訪,由于NIC驅動封裝了所有硬件,而NDIS可以提供函數庫供應高層協議驅動調用和MAC驅動調用。采用NDIS規范接口可以為驅動提供更加便利的調用流程和安全。NDIS目前可以支持主流的三種驅動網絡程序:(1)網卡驅動程序;(2)中間驅動程序;(3)協議驅動程序。NDIS可以實現網絡驅動程序運行開發環境創建,然偶通過調用NDIS中的函數來實現接口數據交換,進而使得網絡驅動與操作系統分平,進而實現無線通信。這種工作模式有利于提升程序編寫人員的效率,還可以通過封裝開發來減少軟件設計開發的工作量,為實現輕松開發提供可靠性保障[1]。
1.2Mesh協議介紹
Mesh網絡即無線網格網絡,屬于一種多跳網絡同時也是解決無線互聯問題的關鍵性技術。Mesh網絡對于下一代網絡的發展和演進具有非常重要的作用,同時也是Mesh和其他網絡建立起通信的重要紐帶。Mesh網絡在現代化的礦井中應用相當廣泛,并且在國內各個公司之間實現無線通信。如煤礦井下的無線通信應用,由于井下環境非常復雜,常規的通信技術已經無法滿足要求,且不利于安全施工若遇到斷電或者塌方問題則很容易出現通訊中斷,井上將無法聯系到井下人員,對于井下狀況不甚了解也不利于救援工作開展[2]。
NDIS架構與外界和上下層的接口為TDI,TDI作為API核心組成,其根據網絡傳輸接口來規范Windows程序接口請求包,并將其發給協議驅動層。針對TDI進行傳輸層接口進行劃分,其可以將網絡API的實現與協議分開,以此來實現API不同協議功能。NDIS作為協議驅動最高協議,可實現與微端驅動數據交互,協議驅動程序主要用于關注NDIS包收發請求。每個NDIS包都會對應相應數據包,協議驅動程序主要實現數據包處理、接收、發送以及緩沖等功能。中間程序可實現簡單的數據過濾處理,因此很多程序開發商還將其用于防火墻開發。值得一提的是NDIS下端微端口需要遵循NDIS框架的網卡驅動,并且由網卡廠商提供主要功能,進而實現網卡接收和發送處理[3]。
2.1NDIS接收函數和以太網幀對應性
NDIS函數讓自己的開發協議程序,開發過程中必須構建自己的協議字,并通過函數端口注冊協議字。協議字中包含很多可自動觸發回調的函數,這些函數則需要自己實現。最為基本的回調函數主要分為ReceiveHandler和ReceivePackageHandler以及其他類型的函數,這些函數之間通過網卡接收數據包。ReceiveHandler作為必要函數,同底層的網卡驅動調用的函數相對應,每次收到的數據包必須立即處理。如圖1所示DIX為常見的以太網幀的接收情況,通過NDIS作為工作數據需要以太網幀的幀校驗序列和前導碼。將以太網幀頭函數放入到HeaderBuffer中,然后通過LooKAheadBuffer接收和存放這些數據。
NMP協議作為本次基于NDIS無線Mesh協議,其屬于一個完整的協議包含了數據管理、認證、鏈路維護、路由、握手以及流控等多個方面,其實現了查詢統計、動態配置以及ping等API接口。NMP作為無線Mesh網絡協議,NMP支持著多個無線多跳的網狀組網方式。NMP可以通過以太網代理來實現組網,使得用戶在不做任何修改的前提之下通過NMP網絡實現任何網絡數據傳輸。
無線Mesh協議通過在線鏈路層實現通信路由功能,同時也將路由網絡分為了兩種模式,其一為兩層模式;其二為三層模式,而NMP則被設置為二層協議模式。為了進一步實現二層協議和NMP協議之間最大兼容可能,將NMP協議封裝入以太網幀之中,然后選取二層協議未曾使用的類型值作為識別NMP幀。無線Mesh協議中控制報文的時候,必須要根據實際載體信息,然后攜帶各種信息在CU中進行分類。報文通過上層外部數據進行封裝,然后通過NMP網絡進行數據傳輸,但是這類型的數據包必須要具備標識能力,否則將難以在網絡中流經暢通。
基于NDIS的無線Mesh協議實現的時候,主要以Windows系統作為開發和性能測試環境。性能測試的時候將INF文件配置好,然后將SYS文件在可控面板中進行選項卡安裝和改進。NMP協議可支持各種NDIS規范網卡,因此在選擇網卡的時候既可以選擇TP-Link,也可以選擇D-Link作為試驗網卡。NMP協議的性能測試將采用NMP協議的黑名單機制,首先使用命令將未被測試的網絡節點放入黑名單之中;其次黑名單中的節點不能夠作為相鄰節點,且節點運行過程中不能夠單跳互訪。
針對NMP協議進行性能測試的時候,選用6臺PC作為測試儀器;測試的主要內容為:測試網絡的吞吐量、測試環境部署、測試網絡通信情況,最后以此來排除功率的衰減影響。選取的6臺電腦部署均要部署得相當近,多跳的拓撲結構則是利用黑名單機制模式所建立,無線網卡均被設置為Adhoc模式,并且一同連入無線網絡之中。
NDIS將網絡協議實現和下層網絡分開,因此網絡協議開發過程中將會得到極大限制。本次試驗采用NDIS無線Mesh網絡協議實現作為研究重點,分析了網絡運行過程中的狀況以及網絡環境架設情況。為了架設完整的網絡協議,必須要具有網絡協議的基本功能之外,還應該支持網絡動態配置和查詢。經過研究NMP協議可以在Windows平臺下做無線Mesh網絡應用功能支持,必須在今后的工作中不斷改善和優化網絡協議。本文通過NDIS的無線Mesh協議的基本概念和實現研究,以期與參與無線網絡研究同仁共同交流。
參考文獻
[1]謝宗思.淺議基于WLAN的無線Mesh網絡協議研究與實現[J].信息通信,2015,06:211-212.
[2]張翔,汪文勇,黃鸝聲,黃外流.動態源路由協議DSR在NDIS架構中的設計與實現[J].計算機應用研究,2009,06:2220-2223.
[3]楊孟珂,楊亞濤,白中英.基于HWMP協議的無線Mesh網絡多網關路由協議研究[J].微電子學與計算機,2009,12:4-8
(責任編輯:文婷)