一種基于IEEE802.11s的多網(wǎng)關(guān)無線Mesh網(wǎng)實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于IEEE802.1ls的多網(wǎng)關(guān)無線Mesh網(wǎng)實(shí)現(xiàn)方法,屬于無線Mesh網(wǎng)通信技術(shù)。
【背景技術(shù)】
[0002]無線Mesh網(wǎng)(WMN)在世界范圍內(nèi)的應(yīng)用越來越廣泛,而標(biāo)準(zhǔn)化是大規(guī)模應(yīng)用的重要條件。目前WMN的標(biāo)準(zhǔn)化,主要集中在802.lls、802.15、802.16等草案中。其中基于IEEE802.1Is協(xié)議的WMN架構(gòu)中BSS不需要直接連到有線網(wǎng)絡(luò),可以通過多跳連接到網(wǎng)關(guān)節(jié)點(diǎn)從而接入到有線網(wǎng)。
[0003]大部分WMN只有一個(gè)網(wǎng)關(guān)節(jié)點(diǎn),而網(wǎng)關(guān)節(jié)點(diǎn)作為連接WMN與外部網(wǎng)絡(luò)的關(guān)鍵節(jié)點(diǎn),網(wǎng)絡(luò)中大量向外網(wǎng)傳輸?shù)臉I(yè)務(wù)都在此匯聚,因此網(wǎng)關(guān)節(jié)點(diǎn)很容易成為WMN與外界網(wǎng)絡(luò)通信的瓶頸節(jié)點(diǎn),即使存在多個(gè)網(wǎng)關(guān),由于節(jié)點(diǎn)分布和流量分布的隨機(jī)性,通過各個(gè)網(wǎng)關(guān)向外網(wǎng)傳輸?shù)牧髁恳矔?huì)有很大差異,由此造成信道資源浪費(fèi)。所以多網(wǎng)關(guān)和網(wǎng)關(guān)負(fù)載均衡的實(shí)現(xiàn)能極大的提高WMN的網(wǎng)絡(luò)性能。
【發(fā)明內(nèi)容】
[0004]發(fā)明目的:為了克服現(xiàn)有技術(shù)中存在的不足,本發(fā)明提供一種基于IEEE802.1ls的多網(wǎng)關(guān)無線Mesh網(wǎng)實(shí)現(xiàn)方法,基于IEEE802.1ls實(shí)現(xiàn)多網(wǎng)關(guān)無線Mesh網(wǎng)和網(wǎng)關(guān)負(fù)載均衡從而提尚網(wǎng)絡(luò)性能。
[0005]技術(shù)方案:為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為:
[0006]一種基于IEEE802.1ls的多網(wǎng)關(guān)無線Mesh網(wǎng)實(shí)現(xiàn)方法,基于ffiEE802.1ls協(xié)議,通過破壞STP (生成樹協(xié)議)和解決破壞STP帶來的廣播風(fēng)暴問題實(shí)現(xiàn)多網(wǎng)關(guān)無線Mesh網(wǎng);無線Mesh網(wǎng)中包括多個(gè)網(wǎng)關(guān)節(jié)點(diǎn)和若干個(gè)普通節(jié)點(diǎn),各節(jié)點(diǎn)之間以無線方式相互連接,網(wǎng)關(guān)節(jié)點(diǎn)以有線方式與外部網(wǎng)絡(luò)連接,多個(gè)網(wǎng)關(guān)節(jié)點(diǎn)連接在一臺(tái)交換機(jī)下;無線Mesh網(wǎng)中的終端向外部網(wǎng)絡(luò)發(fā)送數(shù)據(jù)時(shí)綜合考慮該終端到各網(wǎng)關(guān)節(jié)點(diǎn)的Metric (路徑空時(shí)鏈路度量)和添加在RANN(根宣告消息)幀中的網(wǎng)關(guān)負(fù)載指數(shù)來選擇合適的網(wǎng)關(guān)節(jié)點(diǎn)以實(shí)現(xiàn)網(wǎng)關(guān)負(fù)載均衡。
[0007]上述方法具體包括如下步驟:
[0008](I)破壞STP實(shí)現(xiàn)多網(wǎng)關(guān)無線Mesh網(wǎng)絡(luò)
[0009]在現(xiàn)有的無線Mesh網(wǎng)中,多個(gè)網(wǎng)關(guān)節(jié)點(diǎn)連接在同一交換機(jī)下,交換機(jī)的STP通過向網(wǎng)關(guān)節(jié)點(diǎn)發(fā)送用來確定網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)的BPDU(網(wǎng)橋協(xié)議數(shù)據(jù)單元)幀的方式檢測網(wǎng)關(guān)節(jié)點(diǎn)和交換機(jī)組成的網(wǎng)絡(luò)是否出現(xiàn)網(wǎng)絡(luò)環(huán)路,若出現(xiàn)網(wǎng)絡(luò)環(huán)路,便會(huì)堵塞非指定端口,非指定端口的判斷依據(jù)是網(wǎng)關(guān)節(jié)點(diǎn)的配置信息是否更新過,即:若網(wǎng)關(guān)節(jié)點(diǎn)更新過配置信息,則判斷該網(wǎng)關(guān)節(jié)點(diǎn)為非指定端口,出現(xiàn)網(wǎng)絡(luò)環(huán)路時(shí)需要堵塞該網(wǎng)關(guān)節(jié)點(diǎn);若網(wǎng)關(guān)節(jié)點(diǎn)沒有更新過配置信息,則判斷該網(wǎng)關(guān)節(jié)點(diǎn)為指定端口,出現(xiàn)網(wǎng)絡(luò)環(huán)路時(shí)不需要堵塞該網(wǎng)關(guān)節(jié)點(diǎn);交換機(jī)的這種避免網(wǎng)絡(luò)環(huán)路的方式往往會(huì)導(dǎo)致無線Mesh網(wǎng)中僅存在一個(gè)網(wǎng)關(guān)節(jié)點(diǎn),為了避免這種情況的發(fā)生,本發(fā)明對(duì)交換機(jī)的STP向網(wǎng)關(guān)節(jié)點(diǎn)發(fā)送BPDU幀進(jìn)行選擇性丟棄,即:非指定端口將來自STP的BPDU幀全部丟棄,避免接收到新的BPDU幀而導(dǎo)致的更新配置信息;
[0010](2)解決廣播風(fēng)暴
[0011]選擇性丟棄BPDU幀解決了交換機(jī)阻塞網(wǎng)關(guān)端口問題,但破壞了 STP,使網(wǎng)絡(luò)中出現(xiàn)網(wǎng)絡(luò)環(huán)路,無線Mesh網(wǎng)中的廣播幀會(huì)在網(wǎng)絡(luò)環(huán)路中不斷循環(huán)最終產(chǎn)生廣播風(fēng)暴,本發(fā)明通過在廣播幀中添加標(biāo)識(shí)位和丟棄的策略解決廣播風(fēng)暴,即:網(wǎng)關(guān)節(jié)點(diǎn)對(duì)來自外部網(wǎng)絡(luò)的廣播幀添加標(biāo)識(shí)位,該廣播幀攜帶標(biāo)識(shí)位在無線Mesh網(wǎng)中傳播,當(dāng)該廣播幀到達(dá)其他網(wǎng)關(guān)節(jié)點(diǎn)并向外部網(wǎng)絡(luò)傳播時(shí),丟棄該廣播幀;
[0012](3)網(wǎng)關(guān)節(jié)點(diǎn)選擇策略
[0013]無線Mesh網(wǎng)的終端向外部網(wǎng)絡(luò)發(fā)送數(shù)據(jù)時(shí),首先通過分析業(yè)務(wù)特點(diǎn)確定業(yè)務(wù)的QoS需求,然后針對(duì)該QoS需求,結(jié)合IEEE802.1ls的Metric與延遲的關(guān)系確定該業(yè)務(wù)的Metric閾值,在Metric閾值范圍內(nèi)(即滿足QoS需求的情況下)選擇負(fù)載指數(shù)最小的網(wǎng)關(guān)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸,以實(shí)現(xiàn)網(wǎng)關(guān)負(fù)載均衡;所述負(fù)載指數(shù)是網(wǎng)關(guān)節(jié)點(diǎn)連續(xù)兩次發(fā)送網(wǎng)關(guān)通告的時(shí)間間隔內(nèi)有線網(wǎng)卡向外部網(wǎng)絡(luò)發(fā)送的字節(jié)數(shù),負(fù)載指數(shù)添加在RANN幀中進(jìn)行廣播。
[0014]有益效果:本發(fā)明提供的基于IEEE802.1ls的多網(wǎng)關(guān)無線Mesh網(wǎng)實(shí)現(xiàn)方法,具有如下優(yōu)勢:1、提升網(wǎng)絡(luò)容量:多網(wǎng)關(guān)負(fù)載均衡的實(shí)現(xiàn),網(wǎng)絡(luò)中節(jié)點(diǎn)與外部網(wǎng)絡(luò)交換數(shù)據(jù)時(shí)能夠選擇負(fù)載更小的網(wǎng)關(guān)從而提升整個(gè)網(wǎng)絡(luò)的容量;2、簡單:整個(gè)網(wǎng)絡(luò)只需要對(duì)802.1ls協(xié)議棧進(jìn)行簡單修改而不要添加特別的硬件;3、平臺(tái)移植性好:本發(fā)明在Linux系統(tǒng)下進(jìn)行開發(fā),可以在PC、嵌入式等平臺(tái)自由移植;4、可擴(kuò)展性強(qiáng):本發(fā)明的多網(wǎng)關(guān)無線Mesh網(wǎng)絡(luò)可以結(jié)合IEEE802.11、IEEE802.16、3G移動(dòng)通信等多種無線接入技術(shù),組成一個(gè)異構(gòu)的多跳無線網(wǎng)狀網(wǎng)絡(luò),大幅擴(kuò)展無線系統(tǒng)的覆蓋范圍。
【附圖說明】
[0015]圖1為本發(fā)明中多網(wǎng)關(guān)無線Mesh網(wǎng)示例圖;
[0016]圖2為在RANN幀中添加網(wǎng)關(guān)負(fù)載指數(shù)示意圖;
[0017]圖3為生成樹協(xié)議與廣播風(fēng)暴問題解決方法示意圖;
[0018]圖4為為解決廣播風(fēng)暴問題在廣播幀中添加標(biāo)識(shí)位示意圖;
[0019]圖5為網(wǎng)關(guān)節(jié)點(diǎn)選擇算法流程圖。
【具體實(shí)施方式】
[0020]下面結(jié)合附圖對(duì)本發(fā)明作更進(jìn)一步的說明。
[0021]如圖1所示為一種基于IEEE802.1ls的多網(wǎng)關(guān)無線Mesh網(wǎng),包括多個(gè)網(wǎng)關(guān)節(jié)點(diǎn)MPP和若干個(gè)普通節(jié)點(diǎn)(MP,MAP),各節(jié)點(diǎn)之間以無線方式相互連接,網(wǎng)關(guān)節(jié)點(diǎn)以有線方式與外部網(wǎng)絡(luò)連接,多個(gè)網(wǎng)關(guān)節(jié)點(diǎn)連接在一臺(tái)交換機(jī)下。
[0022]如圖1所示,網(wǎng)關(guān)節(jié)點(diǎn)MPP主要實(shí)現(xiàn)負(fù)載指數(shù)的獲取與傳播:
[0023]①負(fù)載指數(shù)的獲取:無線Mesh網(wǎng)與外部網(wǎng)絡(luò)通過網(wǎng)關(guān)節(jié)點(diǎn)的有線網(wǎng)卡以有線方式相連,大量的數(shù)據(jù)流在網(wǎng)關(guān)節(jié)點(diǎn)處匯聚然后發(fā)往控制中心;本案對(duì)網(wǎng)關(guān)節(jié)點(diǎn)連續(xù)兩次發(fā)送網(wǎng)關(guān)通告的時(shí)間間隔內(nèi)有線網(wǎng)卡向外部網(wǎng)絡(luò)發(fā)送的字節(jié)數(shù)進(jìn)行統(tǒng)計(jì),將統(tǒng)計(jì)結(jié)果作為負(fù)載指數(shù)。
[0024]②負(fù)載指數(shù)的傳播:網(wǎng)關(guān)節(jié)點(diǎn)為了向全網(wǎng)周期性地廣播自己的存在以及負(fù)載情況,需要周期性地向全網(wǎng)發(fā)送網(wǎng)關(guān)通告,本案中選擇RANN幀攜帶負(fù)載指數(shù)進(jìn)行網(wǎng)關(guān)通告。如圖2所示,RANN幀主要包括MAC首部和HffMP路徑選擇幀兩部分,本案對(duì)HffMP路徑選擇幀中的RANN幀體進(jìn)行修改,現(xiàn)有的RANN幀體并沒有負(fù)載指數(shù)數(shù)字段,為了實(shí)現(xiàn)廣播負(fù)載指數(shù)的功能,本案在RANN幀體中添加了 Load字段,通過Load字段反映網(wǎng)關(guān)節(jié)點(diǎn)的負(fù)載情況。
[0025]如圖1所示,普通節(jié)點(diǎn)(ΜΡ,ΜΑΡ)的功能包括對(duì)RANN幀的接收處理、多網(wǎng)關(guān)路由信息的存儲(chǔ)、添加多網(wǎng)關(guān)后對(duì)路由表中路由信息的增/刪/查/改:
[0026]①對(duì)RANN幀的接收處理:在多網(wǎng)關(guān)無線Mesh網(wǎng)中,多個(gè)網(wǎng)關(guān)節(jié)點(diǎn)周期性地廣播RANN幀,普通節(jié)點(diǎn)收到RANN幀后,首先查看自己當(dāng)前的路由表,檢查是否已經(jīng)建立了到該網(wǎng)關(guān)節(jié)點(diǎn)的路徑:如果已經(jīng)建立了到該網(wǎng)關(guān)節(jié)點(diǎn)的路徑,則檢查序列號(hào)是否更新,如果序列號(hào)更新或者序列號(hào)一樣但Metric更好,則更新自己到網(wǎng)關(guān)節(jié)點(diǎn)的Metric,否則直接將該包丟棄;如果沒有建立到該網(wǎng)關(guān)節(jié)點(diǎn)的路徑信息,則發(fā)起到該網(wǎng)關(guān)節(jié)點(diǎn)的路由查找,網(wǎng)關(guān)節(jié)點(diǎn)收到來自該普通節(jié)點(diǎn)的PREQ幀后,檢查其中的PREP位是否被置1,如果被置1,則向該普通節(jié)點(diǎn)發(fā)送PREP,這樣該普通節(jié)點(diǎn)到網(wǎng)關(guān)節(jié)點(diǎn)的路徑就建立好了。
[0027]②多網(wǎng)關(guān)路由信息的存儲(chǔ):在現(xiàn)有技術(shù)中,節(jié)點(diǎn)的路由表包含目的地址、下一跳地址、序列號(hào)、到目的節(jié)點(diǎn)的Metric、跳數(shù)等字段,但這些字段并不足以保存多個(gè)到網(wǎng)關(guān)節(jié)點(diǎn)的路由信息;為了存儲(chǔ)多網(wǎng)關(guān)信息,本案還在路由表中添加了到網(wǎng)關(guān)節(jié)點(diǎn)的MAC地址、到網(wǎng)關(guān)節(jié)點(diǎn)的度量值和網(wǎng)關(guān)節(jié)點(diǎn)當(dāng)前的負(fù)載信息,以及當(dāng)前節(jié)點(diǎn)是否為網(wǎng)關(guān)節(jié)點(diǎn)的標(biāo)識(shí)字段;IEEE802.1ls默認(rèn)路由協(xié)議HffMP協(xié)議路由表中每一條路由表項(xiàng)僅僅有一個(gè)根節(jié)點(diǎn),為了實(shí)現(xiàn)多個(gè)網(wǎng)關(guān),需