999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于兩路并發傳輸的井下通信*

2016-06-13 08:43:11郭成城楊劍鋒
傳感器與微系統 2016年3期

胡 然, 郭成城, 楊劍鋒

(1.武漢大學 電子信息學院,湖北 武漢 430072;2.63892部隊,河南 洛陽 471003)

?

基于兩路并發傳輸的井下通信*

胡然1,2, 郭成城1, 楊劍鋒1

(1.武漢大學 電子信息學院,湖北 武漢 430072;2.63892部隊,河南 洛陽 471003)

摘要:針對礦井中無線通信存在的低可靠性、高時延問題,引入兩路并發機制來提供井下無線通信的可靠性和實時性保證。詳細介紹了在內核空間實現雙路徑并發傳輸的設計思想和實現過程,通過定義專用數據結構進行重復包的排查和丟棄處理,并利用多協議標記交換技術實現數據包的快速轉發。在礦井內實地環境進行了現場測試,測試結果證明了兩路并發傳輸方式的可靠性高、時延低。

關鍵詞:無線網狀網; 礦井通信; 兩路并發傳輸; 丟包率; 多路徑路由

0引言

近年來,隨著現代通信技術的發展,越來越多現代化新的通信技術融入到礦井通信系統中,如,井下WiFi技術、無線Mesh(wireless mesh networks,WMNs)技術等。與一般的通信技術相比,礦井通信技術對網絡的帶寬、延時、抖動等性能的要求更高。如何提高網絡的可靠性和實時性,已經成為礦井通信發展中必須解決的問題。針對這一問題,國內外進行了一系列研究。文獻[1]提出了全礦井無線Mesh鏈狀骨干網絡的全局優化,并包括對網絡路由節點的部署,通過這種方法優化了網絡節點的布局。文獻[2]對礦井無線Mesh網系統的性能進行了分析,并分析出TCP傳輸的協議是如何影響礦井無線Mesh網的傳輸性能。文獻[3]則引入了一種基于VoIP的無線Mesh通信網網絡,通過設計實時控制協議來降低時延。但文獻[1,2]突出的是對網絡節點的優化布局,沒有考慮到網絡突發中斷的應對方式;文獻[3]則只是考慮了時延的需求,沒有考慮到可靠性方面的需求。而在礦井通信中,尤其是在穿脈內的通信問題,由于井下現場巷道狹窄,而作業設備體積比較龐大,不論是挖掘機還是礦石運輸車輛,作業中經常會占據整個巷道局部空間,對無線通信信號傳輸的影響較大。雖然,有文獻提出用環狀無線Mesh網絡通過路由切換恢復通信功能[1,2],但是由于作業設備移動頻繁,無線Mesh網路由器會經常來回切換路由,每次切換都需幾秒鐘的時間,這嚴重影響了現場的通信質量。文獻[4]采用是多路徑路由的方式,來提高網絡通信的可靠性。

兩路并發機制是多路徑路由中的一種,但是它不是將信息進行分割傳輸,而是將信息復制成兩份,沿兩條不同路徑發送到目標節點,如果一條路徑出現問題,也能保證信息沿另一條路徑順利到達目標節點[5]。所以,兩路并發機制相比多路徑路由而言會有更高的可靠性[6]。因此,本文采用兩路并發的傳輸方式來解決這一問題。

1基本方案

穿脈內的兩路無線傳輸方式如圖1所示。

圖1 兩路并發傳輸示意圖Fig 1 Diagram of dual path concurrent transmission

具體的解決思想是:無線終端仍采用單路無線接入方式將信息發送給無線Mesh路由器節點,該節點路由器再將數據信息通過兩條不同的無線路徑傳入主干網,經主干網傳遞到接收此數據的終端所在的目標節點路由器,目標路由器將數據發送給終端設備,并負責去除后續重復接收的數據。這樣,既可以保證可靠性,也可以保證實時性[7]。為實現上述目標,本文對兩路并發機制進行了研究和實驗。圖2給出了兩路并發傳輸系統的整體框架。

圖2 系統實現框架Fig 2 Implementation framework of system

從圖2看出,將通過修改路由器的內核程序實現兩路并發功能,全部修改工作均在網絡層完成。

2兩路并發傳輸的設計與實現

2.1方案設計

本文的實驗中,采用選擇兩條節點不相交路徑的并發方式,并采用分配不同信道的方式避免無線Mesh網絡中無線鏈路間的同頻干擾[8]。由于井下穿脈內布設的路由器節點很少,且實際應用中布點的位置基本固定,所以,本文的實驗均采用手工配置方式完成路由選擇。

正常情況下,數據包到達路由器后,通過查找路由表,從某一個網絡接口轉發出去。而本文需要將同一份數據從路由器的兩個接口同時發送出去,即實現數據的并發傳輸,這就需要對Linux內核中的網絡協議代碼進行適當的修改[9]。當然,并不是所有的路由器都必須有數據并發功能,只需要在靠近終端設備的路由器上做數據并發處理,中間的路由器只需做正常的轉發。數據并發傳輸模塊的實現流程如圖3所示。

圖3 路由器上并發傳輸流程圖Fig 3 Concurrent transmission flowchart on router

1)數據包的接收過程

當數據到達Linux路由器時,路由器會調用網卡的驅動程序,將幀封裝成sk_buff結構,通過netif_rx( )函數將數據存放在系統的接受隊列中。系統通過軟中斷net_rx_action()函數從隊列中取數據傳給ip_rcv( )函數(IP層的接收函數)作進一步處理。

ip_rcv( )函數會統計收到包的總數,按照RFC1122的要求檢查數據包的IP首部長度、IP協議版本、檢驗和、總長度是否正確,丟棄那些錯誤的數據包。接著數據包流向ip_rcv_finish( )。

ip_rcv_finish()函數調用ip_route_input()來查找路由信息,判斷需要進行IP轉發還是直接傳給本機的上層協議。如果數據包需要轉發dst_input()函數指針指向ip_forward()。

2)數據包的轉發過程

ip_forward()函數把TTL值減1,更新檢驗和,接著是ip_forward_finish()進行相關處理,然后調用ip_output()函數。

ip_output()函數對IP層發送申請數進行統計,把需要通過的網絡接口存放在skb→dev中,并將skb→protocol初始化為ETH_P_IP,即為以太網上的IP包。接著調用ip_finish_output()根據需要進行IP分片,然后ip_finish_output2()函數調用neigh_resolve_output()進行ARP解析將MAC地址拷貝到數據包中,最后調用dev_queue_xmit()函數到達硬件層[10]。

3)數據包的并發

上層的協議調用dev_queue_xmit( )以套接字緩沖區(struct sk_buff *skb)的形式來發送數據包。網絡設備由skb→dev指定。dev_queue_xmit( )首先將skb加入Qdisc隊列(q→enqueue(skb,q)),本文根據從用戶空間傳入的規則,在出隊的時候將從網卡1發出去的數據skb克隆(skb_clone( ))一份skb2,把skb2發送到網卡2上,然后修改skb2的目的MAC地址和源MAC地址,再調用網卡2的驅動程序就可以把數據發送到下一跳路由器了[11]。這樣,帶有相同數據部分的skb和skb2同時發送到了兩個不同的下一跳,即實現了數據沿著多條路徑并發傳出去。

2.2具體實現

無線Mesh網中鏈路失效只是偶爾發生,大部分時間幾條路徑都能正常傳輸數據,這樣接收端可能收到較多的重復數據包,不但增加了接收端的處理負擔,而且可能重復對設備進行同樣的操作,引發錯誤[12]。因此,必須在接收端進行重復包的處理。

由于接收設備的網絡協議不能修改,本文對重復數據包的處理是在靠近接收端的Linux路由器上實現的。Linux路由器將需要轉發到相同目的地、之前已經轉發過的數據包丟棄,目的節點就不會收到重復的數據包。這就需要對經過路由器的數據包做唯一的標識[13]。

為了區分收到的數據包是否重復,必須對每個數據包做唯一的標識。IP首部中16位的標識字段(identification,ID),是一個計數器,用來產生數據包的標識,每發送一個IP數據包,IP層都要把計數器加1,這樣IP數據包的標識是按次序增加的[14]。本文就是采用IP包的ID作為唯一標識。

為了檢測是否出現重復數據包,本文在Linux內核中定義了一種新的數據結構,如圖4所示,將數據包的標識緩存起來。

圖4 緩存數據包標識的結構Fig 4 Structure of cache data packet identity

在socket_s{}結構中,為了便于查找和管理將來自于同一個套接字(socket)的ID緩存在一個Hash鏈表中。不同的socket通過next指針(struct socket_s *next)鏈接在一起。上圖中src_ip為源IP地址,src_port為源端口,id[]為指針數組,指向多個存儲ID的鏈表,node_link_len[]為各條鏈表的長度。flag標志反映當前socket是否活躍,timer為定時器。

當數據包到達靠近接收端的路由器時,路由器就開始判斷以前是否收到過這個數據包,接著進行相關處理,其流程如圖5。

圖5 重復包處理流程Fig 5 Flow chart of repeat data packet processing

由于工業環境中對數據傳輸的實時性有較高的要求,必須采取一些措施來減小端到端的時延。本次實驗對象井下穿脈語音通信,在生產作業期間,經常會因現場的特殊情況,需要井下、地面進行協調聯絡,因此,保證語音數據包的快速轉發,使通信信號傳輸暢通是十分必要的。

本文在Linux路由器上采用多協議標記交換(multi-protocol label switching,MPLS)技術來減小時延,實現數據包的快速轉發[15]。

Linux系統內核沒有提供對MPLS的支持,本文給內核打MPLS相關的補丁,然后重新編譯內核,選上MPLS的有關項目[16]。新的內核啟動后加載MPLS模塊即可支持MPLS。還要擴展用戶空間的工具Iproute,增加"mpls"命令,將加標簽、標記交換、去除標簽等參數傳入內核中。

3實驗測試與結果分析

3.1快速轉發實驗

實驗采用的網絡拓撲如圖6所示。

圖6 MPLS轉發實驗網絡拓撲圖Fig 6 Topological graph of MPLS forwarding experiment network

圖中,R1,R2,R3,R4為具有MPLS功能的Linux路由器,R1和R4為邊緣路由器負責添加標記和去除標記;R2和R3進行標記交換。PC1和PC2為普通臺式機。

分別測量IP轉發和采用MPLS轉發時,PC1到PC2的往返時延(RTT)。使用ICMP ping包各測量50次得到以下數據,如表1所示。

表1 往返時延統計

從表1中的數據可以看出,采用MPLS技術進行數據包轉發可以在一定程度上減少轉發所花費的時間。

3.2雙路徑并發傳輸實驗

實驗采用的組網拓撲結構和配置的參數信息如圖7所示。

圖7 實驗網拓撲與參數Fig 7 Experimental network topology and parameters

整個實驗分別對三項內容進行測試:

1)測試數據并行發送和重復包處理功能

只開啟R1的數據并發功能,操作命令如下:

從PC1向PC2發ICMP ping包,得到數據,如圖8所示。

圖8 PC1 ping PC2結果Fig 8 Result of PC1 ping PC2

同時,在路由器R3上用tcpdump抓到以下數據,見圖9所示。

圖9 R3的抓包結果Fig 9 Packet capturing result of R3

開啟R3的重復處理功能一段時間,然后,再關閉重復處理功能,PC2上得到以下數據,見圖10所示。

圖10 PC1 ping PC2開關重復處理功能結果Fig 10 Result of switch repeatedly processing on PC1 ping PC2

從上面的數據可以看出:R3的兩個接口(eth0,eth1)均收到PC1向PC2發的、相同的ping請求包,并且都轉發給PC2,PC2發回了ping響應,PC1上收到重復包(有DUP標記);當開啟R3的重復處理功能,PC1沒有收到PC2的重復響應包。由此可知,R1實現了數據并發,R3完成了重復處理。

2)測試網絡的可靠性和實時性

本次的可靠性和實時性測試主要針對語音通信質量進行,直接在兩臺筆記本上運行Windows的NetMeeting程序,通過觀察收發效果來檢驗網絡的可靠性和實時性。

具體測試時,分別采用切斷路由器2或者路由器4的電源,以及在機車運行通過復雜環境時持續通話的方式進行實驗。測試結果表明,收發包始終都能正常進行,并且丟包率較低。

3)單路與兩路并發傳輸成功率

分別統計單路和兩路并發的傳輸成功率:每次PC1向PC2發100個ICMP ping包,兩種情況各測3次。結果如圖11所示。

圖11 數據傳輸成功率Fig 11 Success rate of data transmission

很明顯,雙路并發的成功率明顯高于單路傳輸,與設計目標一致。

從以上三個實驗結果來看,將兩路并發機制引入到礦井通信系統中能夠有效減小路由切換帶來的延遲影響,快速轉發機制,能夠保證通信系統的實時性要求,通過重復包處理流程,減小了冗余信息。在實際傳輸過程中,雙路并發的數據傳輸成功率也明顯高于單路傳輸,這就說明將雙路并發機制引入到礦井通信系統是可行的,能夠有效地提高整個系統的可靠性和實時性。

4結束語

本文研究了井下通信系統中的無線傳輸的特點,在其基礎上引入了雙路并發機制。整篇文章詳細給出了實驗過程和結果,在實現過程中,采用了兩條不相交路徑同時發送的傳輸方式,通過定義專用數據結構進行重復包的排查和丟棄處理,并利用多協議標記交換技術實現數據包的快速轉發過程。最后在礦井內實地環境進行了現場測試,測試結果證明了兩路并發傳輸方式的可行性和時效性。本文只是考慮了路由切換時的延遲問題,沒有考慮路由節點的損壞和通信鏈路的中斷時的解決方法,在后續研究工作中,將進一步研究通過多拓撲路由切換來提高井下通信系統安全性和容災能力。

參考文獻:

[1]Domenico Sicignno,Danilo Tardioli.Real-time wireless multi-hop protocol in underground voice communication[J].Ad Hoc Networks,2011(1):1-13.

[2]Chakchouk N,Hamdaoui B.Traffic and interference aware sche-duling for multiradio multichannel wireless mesh networks[J].IEEE Transactions on Vehicular Technology,2011,60(2):555-565.

[3]Israel Cidon,Raphael Rom.Analysis of multi-path routing[J].IEEE/ACM Transactions on Networding,1999,7(6):885-896.

[4]郝志強.井下無線通信網絡的設計與實踐[D].武漢:武漢大學,2013.

[5]伍鵬飛.無線Mesh網快速可靠傳輸機制的設計與實現[D].武漢:武漢大學,2010.

[6]張洋.無線Mesh網絡管理系統的設計與實現[D].武漢:武漢大學,2011.

[7]Kodialam M,Nandagopal T.The effect of interference on the capacity of multihop wireless networks[C]∥2004 Proceedings of International Symposium on Information Theory,ISIT 2004,IEEE,2004:472.

[8]Liu T,Liao W.Interference-aware QoS routing for multi-rate multi-radio multi-channel IEEE 802.11 wireless mesh network-s[J].IEEE Transactions on Wireless Communications,2009,8(1):166-175.

[9]Balachandran K,Kadaba S R,Nanda S.Channel quality estimation and rate adaption for cellular mobile radio[J].IEEE J Sel Areas Commun,1999,17(7): 1244-1256.

[10] Goldsmith A,Chua S G.Adaptive coded modulation for fading channels[J].IEEE Transactions on Communications,1998,46(5):595-602.

[11] Pham P P,Perreau S.Performance analysis of reactive shortest path and multipath routing mechanism with load balance[C]∥Twenty-Second Annual Joint Conference of the IEEE Computer and Communications,IINFOCOM 2003,IEEE Societies,2003: 251-259.

[12] Tao M,Lu D,Yang J.An adaptive energy-aware multi-path routing protocol with load balance for wireless sensor networks[J].Wireless Personal Communications,2012,63(4):823-846.

[13] 張小強.基于多信道多接口無線Mesh網絡研究[D].西安: 西安電子科技大學,2012.

[14] 時超.Mesh網絡中的多信道協議研究[D].西安: 西安電子科技大學,2011.

[15] Chakchouk N,Hamdaoui B.Traffic and interference aware sche-duling for multiradio multichannel wireless mesh networks[J].IEEE Transactions on Vehicular Technology,2011,60(2):555-565.

[16] 張文安.網絡化控制系統的時延與丟包問題研究[D].杭州: 浙江工業大學,2010.

Underground communication based on dual path concurrent transmission*

HU Ran1,2, GUO Cheng-cheng1, YANG Jian-feng1

(1.School of Electronic Information,Wuhan University,Wuhan 430072,China;2.No.63892 Forces of PLA,Luoyang 471003,China)

Abstract:Aiming at problems of low reliability and high delay of wireless communication exists in coalmine,introduce a dual path concurrent transmission mechanism to realize real time and reliability of communication.Introduce design idea and realization process of double path concurrent transmission in kernel space in detail,by defining special data structure for investigation and discard of repeated packets,and use MPLS technology to realize fast forwarding of data packets.Field environmental test is carried out in mine,and the test results prove the dual path concurrent transmission mode has high reliability and low time delay.

Key words:wireless mesh networks(WSNs); communication in mine; dual path concurrent transmission; packet loss rate; multipath routing

DOI:10.13873/J.1000—9787(2016)03—0032—05

收稿日期:2015—06—08

*基金項目:國家高技術研究發展“863”計劃資助項目(2012AA010904);四川省科技計劃資助項目(2013GZ0016);成都大學項目(20804)

中圖分類號:TP 393

文獻標識碼:A

文章編號:1000—9787(2016)03—0032—05

作者簡介:

胡然(1986-),男,湖北鐘祥人,碩士,工程師,主要研究方向為Mesh網絡與無線工業控制網絡。

主站蜘蛛池模板: 亚洲成a人片| 欧美成人手机在线观看网址| 日本黄色a视频| 国产精品永久免费嫩草研究院| 午夜不卡福利| 亚洲热线99精品视频| 久久国产高清视频| 国产欧美日韩va另类在线播放| 日韩高清中文字幕| 丁香六月综合网| 亚洲V日韩V无码一区二区| 思思99热精品在线| 国产内射一区亚洲| 99久久国产自偷自偷免费一区| 亚洲综合经典在线一区二区| 国产人在线成免费视频| A级毛片高清免费视频就| 亚洲区视频在线观看| 99爱视频精品免视看| 国产在线小视频| 欧美97欧美综合色伦图| 色婷婷在线影院| 在线精品自拍| 99视频全部免费| 国产美女视频黄a视频全免费网站| 日本不卡在线播放| 女人18毛片一级毛片在线 | 午夜成人在线视频| 中文无码影院| 精品午夜国产福利观看| 国产麻豆福利av在线播放| 午夜毛片福利| 国产视频a| 东京热av无码电影一区二区| 精品久久蜜桃| 欧美精品亚洲精品日韩专区va| 免费观看国产小粉嫩喷水| 亚洲一区二区成人| 亚洲a级毛片| 99一级毛片| 青青青视频免费一区二区| 毛片久久网站小视频| 国产手机在线ΑⅤ片无码观看| 国产 日韩 欧美 第二页| a毛片免费观看| 亚洲h视频在线| 亚洲有无码中文网| 久久久久久久97| 欧美日韩一区二区在线播放| 麻豆精品在线| 国产日本视频91| 欧美成人第一页| 午夜成人在线视频| 国产精品专区第1页| 日韩国产一区二区三区无码| 婷婷综合缴情亚洲五月伊| 97精品久久久大香线焦| 亚洲欧洲日韩综合色天使| 国产永久免费视频m3u8| 国产在线自乱拍播放| 黄色网址免费在线| 国产亚洲精品97AA片在线播放| 国产91丝袜在线播放动漫| 国产在线自乱拍播放| 永久在线精品免费视频观看| 欧美国产菊爆免费观看| 99视频国产精品| 日韩在线2020专区| 亚洲婷婷丁香| 国产91视频免费观看| 久久久久久尹人网香蕉| 亚洲大学生视频在线播放| 麻豆精品在线播放| 中文无码精品a∨在线观看| 日韩在线网址| 91无码网站| 国产精品熟女亚洲AV麻豆| 精品国产www| 国产在线观看99| 99热这里只有成人精品国产| 狠狠综合久久| 99色亚洲国产精品11p|