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