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

基于數傳電臺的TCP/IP通信平臺的設計與實現

2017-08-14 01:12:00任艷蕾
現代農村科技 2017年8期

任艷蕾

(涿州市技師學院 河北 涿州 072750)

基于數傳電臺的TCP/IP通信平臺的設計與實現

任艷蕾

(涿州市技師學院 河北 涿州 072750)

本文介紹了一種借鑒虛擬網卡技術設計實現基于數傳電臺的TCP/IP通信平臺的方法,該研究成果的應用進一步拓展了數傳電臺的應用價值與范圍。

數傳電臺;虛擬網絡;TCP/IP

1 引言

通信網絡是制約野外物探作業信息化發展的關鍵與瓶頸。面對公共運營商網絡的不穩定及衛星通信的高昂費用,在現有通信手段的基礎上,自主研發實現一套通用的、支持公網通信協議(TCP/IP)的網絡通信系統顯得尤為重要。

鑒于數傳電臺在石油等行業野外作業中被廣泛使用,本文以無序的數傳電臺間的通信為基礎,在充分借鑒網卡虛擬化的思想和成果的基礎上,設計實現了一個以虛擬網卡為載體的通信網絡平臺系統。該系統一方面通過對底層網絡協議棧的封裝將多個電臺組一個穩定的、可靠地通信網絡,另一方面為上層應用程序提供統一的網絡編程接口,極大地增強系統的通用性,從而減少不必要的重復開發。

2 虛擬網卡概述

虛擬網卡目前多用于網絡安全和構建虛擬網絡等應用領域,在Linux平臺上,虛擬網卡實際上就是一個網卡驅動程序。

2.1 虛擬網卡工作原理。虛擬網卡并不與真實的物理設備進行數據交互,而是提供了一種數據在操作系統內核態和用戶態之間交互的機制。通常情況下虛擬網卡驅動并不是單純的網卡驅動程序,其中還實現了部分字符設備驅動的功能。在此基礎上,通過訪問用戶態字符設備文件,即可實現數據在Linux操作系統兩種運行狀態下的交互。

圖1 虛擬網卡原理

圖2 網絡驅動體系結構

2.2 虛擬網卡體系結構。通用虛擬網卡程序的體系結構如圖2所示,可分為網絡協議接口層、網絡設備接口層、設備驅動功能層及網絡設備與媒介層。

網絡協議接口層為虛擬網卡與內核TCP/IP協議棧之間的接口,通過調用該層提供的dev_queue_xmit函數和netif_rx函數,虛擬網卡主邏輯功能可分別實現IP包的接收與發送。網絡設備接口層提供了統一的用于描述具體網絡設備屬性和操作的結構體net_device。設備驅動功能層是網絡設備接口層net_device結構中各成員函數的實現,是網絡設備屬性和操作功能的體現。網絡設備與媒介層是完成數據包在物理設備上的發送和接收的物理設備接口。虛擬網卡驅動程序最主要的設計工作集中在設備驅動功能層。

3 虛擬網卡設計

本文設計的虛擬網卡由協議預處理層、數據鏈路層及物理接口層組成,系統架構設計如圖3所示。虛擬網卡的設計核心是數據鏈路層,該層在定義了數據幀格式的基礎上,實現了數傳電臺組網、通信鏈路控制等功能。協議預處理層介于內核協議棧與數據鏈路層之間,實現了網絡層數據格式與自定義數據鏈路層間的轉換及數據的雙向傳輸。物理接口層介于數據鏈路層與物理設備(數傳電臺)之間,通過串口讀寫操作,實現了數據幀的收發。

圖3 虛擬網卡架構設計

圖4 數據幀格式定義

3.1 數據鏈路層設計

3.1.1 數據幀格式定義。數據幀保障了數據在鏈路層上傳輸的完整性和有序性,其格式定義如圖4所示。其中,Type字段占一個字節,其中bit0表示該數據幀的類型,“0”代表普通數據幀,“1”代表網絡管理數據幀;bit1用于區分原幀與應答幀,“0”代表原幀,“1”代表應答幀;bit2用于標識該數據幀的本次傳輸是否由主節點發起,“0”代表由從節點發起,“1”代表由主節點發起;bit3-7暫未定義。To字段占一個字節,標識該數據幀的目的地址;From字段占一個字節,標識該數據幀的源地址;Seq.字段占一個字節,用于標識該原幀在發送隊列中的序號,接收方正確接收數據后,在應答幀中沿用原幀Seq.值。Data字段占0~64個字節,為實際發送的數據。Resd.字段為保留字段,占一個字節,用于今后協議的擴展。Checksum字段占一個字節,為該數據幀的校驗和。

3.1.2 自組網協議設計。自組網協議由組網策略、入網策略、出網策略組成。該協議通過組網策略將多個網絡設備(數傳電臺)以主從模式組成穩定、有序的數據通信網絡,對網絡成員進行統一管理。具體有以下三個功能:

組網策略:利用最小ID分簇算法(LID),選出中心節點,中心節點負責維護網絡成員列表。

圖5 入網流程

圖6 鏈路控制流程

圖7 數據發送流程

入網策略:中心節點收到子節點入網請求后,中心節點將該節點加入網絡成員列表并告知該節點(子節點入網過程如圖5所示)。

出網策略:中心節點對網絡成員進行超時監控,發現節點處于覆蓋范圍外(通信超時),則從成員列表中刪除該成員。

3.1.3 數據鏈路控制模塊設計。數據鏈路控制模塊負責解析網絡管理幀緩存區中的管理命令,并通過改變功能模塊標志位來通知對應功能模塊進行工作。以信道使用權為例,當數據接收模塊將帶有信道使用權的管理幀放入網絡管理幀緩沖區。數據鏈路模塊開始遍歷該緩沖區,解析到獲取信道使用權的命令后,將數據發送模塊的標志位置1,通知數據發送模塊開始工作。圖6所示為數據鏈路控制流程。

3.1.4 數據發送模塊設計。數據發送模塊負責將虛擬網卡產生的數據幀發送到網絡中。有數據要發送時,數據發送模塊先判斷是否具有信道使用權限,如果當前節點具有信道使用權,數據發送模塊將緩存區的數據幀取出,調用串口操作接口將數據發送到網絡中。然后向主節點發送釋放信道使用權的控制幀。數據發送流程如圖7所示。

3.1.5 數據接收模塊設計。數據接收模塊負責接收網絡數據,首先判斷數據目的地是否為自己,如果是將接收的數據按數據幀和控制幀分別存到接收數據緩存區和接收控制命令緩沖區。反之不做任何操作。

3.2 IP包預處理模塊設計。IP包預處理模塊主要有兩個功能:一是將協議棧下發的IP數據包按數據傳輸幀格式進行分割和組幀如圖8所示,然后存入發送緩沖區;二是接收緩存區的傳輸幀按IP包的幀格式解包和組幀,然后傳入內核協議棧中。通過IP包預處理模塊實現了IP數據與傳輸幀的轉換,完成內核協議棧和數據鏈路層數據的交換。

3.3 串口讀寫模塊設計。物理接口層兼容網絡設備基本操作,為數據鏈路層的數據收發模塊提供操作接口,使數據鏈路層無需關系底層網絡設備,實現數據鏈路層的數據在物理網絡設備上的傳輸。

圖8 數據幀封包流程

4 虛擬網卡

4.1 測試環境。本測試利用兩臺計算機通過數傳電臺進行網絡通信,來驗證虛擬網卡的工作情況。

主機A:虛擬網卡IP為192.168.0.1,操作系統是Linux(內核版本 2.6.32);主機B:虛擬網卡 IP為192.168.0.2,操作系統是Linux(內核版本2.6.32)。

4.2 數傳電臺PING命令測試。①insmod vnic.ko加載驅動程序。②ifconfig vnic 192.168.0.1 up啟動A主機虛擬網卡;ifconfig vnic 192.168.0.2 up啟動B主機虛擬網卡;③A主機向B主機發送ping命令。

4.3 測試結果。主機B接收到A的ping包后經過差錯控制,寫入虛擬網卡,并讀出虛擬網卡的恢復包。然后發向主機A,B接收到84字節的ping包,并以16進制的形式打印出來,其中“c0 a8 00 02和c0 a8 00 01”分別表示源地址和目的地址。第21個字節“08”表示此ping的請求包。Ping包的回復內容也類似,第21個字節“00”表示數據包時ping的回復包。

[1]韋東山.嵌入式Linux應用開發完全手冊 [M].北京:人民郵電出版社,2008.

[2]JONATHANCORBET,ALESSANDRORUBINI& GREG KROAH-HARTMAN.Linux設備驅動程序 (第三版) [M].北京:中國電力出版社,2006.

[3]Douglas E.Comer,David L.Stevens著,張衛、王能譯.TCP/IP網絡互聯技術卷3客戶-服務器編程與應用windows套接字版 [M].北京:清華大學出版社,2004.

[4]Klaus Wehrle Frank Pahlke,Hartmut Ritter著,汪青青,盧祖英譯.Linux網絡體系結構 [M].北京:清華學出版社,2006.

主站蜘蛛池模板: 国产幂在线无码精品| 婷婷六月在线| 国产精品刺激对白在线| 国产成人无码播放| 成年人国产视频| 亚洲欧美日韩动漫| 一级不卡毛片| 性色生活片在线观看| 欧美yw精品日本国产精品| 在线观看欧美精品二区| 91麻豆久久久| 国产精品粉嫩| 亚洲第一成年人网站| 久久中文字幕2021精品| 国产一国产一有一级毛片视频| 福利小视频在线播放| 蜜桃视频一区二区三区| 青青操视频在线| 亚洲国产成人久久精品软件| 无码内射在线| 久久99热这里只有精品免费看| 亚洲国产成人精品一二区| 精品一区二区三区自慰喷水| 免费在线成人网| 激情网址在线观看| 国产波多野结衣中文在线播放 | 国产99免费视频| 欧美日韩综合网| AV片亚洲国产男人的天堂| 亚洲精品波多野结衣| 中文一级毛片| 欧美一级片在线| 国内精品久久人妻无码大片高| 国产手机在线观看| 99这里只有精品6| 黄色成年视频| 东京热一区二区三区无码视频| 五月婷婷综合色| 亚洲人在线| 成年看免费观看视频拍拍| 波多野结衣AV无码久久一区| 亚洲va精品中文字幕| 亚洲精品无码日韩国产不卡| 久久国产精品电影| 亚洲日韩久久综合中文字幕| 野花国产精品入口| 亚洲免费播放| 国产幂在线无码精品| 中文字幕日韩视频欧美一区| 亚洲日本精品一区二区| 免费看的一级毛片| 伊人久久婷婷| 丝袜高跟美脚国产1区| 午夜色综合| 日韩123欧美字幕| 成人在线观看不卡| 国产一级毛片yw| 国产精品网拍在线| 免费Aⅴ片在线观看蜜芽Tⅴ| 永久免费av网站可以直接看的| 欧美日韩成人在线观看| 一区二区午夜| 毛片免费高清免费| 亚洲欧洲免费视频| 美女一级毛片无遮挡内谢| 国产18在线| 综合网久久| 香蕉网久久| 无码日韩人妻精品久久蜜桃| 国产精品人成在线播放| 无码免费的亚洲视频| 国产v精品成人免费视频71pao| 无码粉嫩虎白一线天在线观看| 国产精品吹潮在线观看中文| 亚洲av色吊丝无码| 高清视频一区| 亚洲香蕉在线| 亚洲日韩国产精品无码专区| 91小视频版在线观看www| 国产成人做受免费视频| 91网红精品在线观看| 国产免费福利网站|