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