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.

主站蜘蛛池模板: 亚洲成人高清在线观看| 国产草草影院18成年视频| 网友自拍视频精品区| 亚洲日韩每日更新| 中文精品久久久久国产网址| 婷婷激情亚洲| 日韩av电影一区二区三区四区| 国产鲁鲁视频在线观看| 日本黄色a视频| 国产91高跟丝袜| 高清无码一本到东京热| 人妻丝袜无码视频| 国产91麻豆免费观看| 国产菊爆视频在线观看| 婷婷伊人久久| 亚洲v日韩v欧美在线观看| 伊人色综合久久天天| 欧美www在线观看| 97se亚洲综合在线| 亚洲精品无码久久毛片波多野吉| 在线视频精品一区| 成人午夜精品一级毛片 | 中国国产A一级毛片| 免费不卡在线观看av| 国国产a国产片免费麻豆| 911亚洲精品| 欧美国产在线看| 思思热在线视频精品| 亚洲福利视频网址| 亚洲另类国产欧美一区二区| 草草线在成年免费视频2| 人妻少妇久久久久久97人妻| 天天综合色网| 92精品国产自产在线观看| 无码丝袜人妻| 国产日本欧美亚洲精品视| 国产主播喷水| 狠狠亚洲婷婷综合色香| 永久在线精品免费视频观看| 亚洲综合一区国产精品| 日韩小视频在线播放| 少妇精品久久久一区二区三区| 欧美a级完整在线观看| 99ri国产在线| yjizz视频最新网站在线| 久久公开视频| 国产成人精品在线1区| 国产91精品调教在线播放| 亚洲美女视频一区| 欧美一级99在线观看国产| 自拍偷拍欧美日韩| 日韩色图在线观看| 狠狠ⅴ日韩v欧美v天堂| 国产毛片基地| 99在线视频网站| 欧美一级夜夜爽| 亚洲天堂色色人体| 中文一级毛片| 在线观看网站国产| 亚洲首页国产精品丝袜| 成人国产精品网站在线看| 日韩精品免费一线在线观看| 亚洲成人免费看| 国产亚洲现在一区二区中文| 国产精品久久久久久久久kt| 大香网伊人久久综合网2020| 国产第一页免费浮力影院| 精品视频91| 亚洲国产综合第一精品小说| 再看日本中文字幕在线观看| 综合天天色| 欧美爱爱网| 激情综合婷婷丁香五月尤物| 伊人狠狠丁香婷婷综合色| 午夜一区二区三区| 国产91小视频在线观看| 日韩精品欧美国产在线| 久久精品娱乐亚洲领先| 性视频久久| 在线视频一区二区三区不卡| 国内毛片视频| 国产丝袜无码一区二区视频|