亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于數(shù)傳電臺的TCP/IP通信平臺的設(shè)計與實現(xiàn)

        2017-08-14 01:12:00任艷蕾
        現(xiàn)代農(nóng)村科技 2017年8期
        關(guān)鍵詞:鏈路層數(shù)傳網(wǎng)絡(luò)設(shè)備

        任艷蕾

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

        基于數(shù)傳電臺的TCP/IP通信平臺的設(shè)計與實現(xiàn)

        任艷蕾

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

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

        數(shù)傳電臺;虛擬網(wǎng)絡(luò);TCP/IP

        1 引言

        通信網(wǎng)絡(luò)是制約野外物探作業(yè)信息化發(fā)展的關(guān)鍵與瓶頸。面對公共運營商網(wǎng)絡(luò)的不穩(wěn)定及衛(wèi)星通信的高昂費用,在現(xiàn)有通信手段的基礎(chǔ)上,自主研發(fā)實現(xiàn)一套通用的、支持公網(wǎng)通信協(xié)議(TCP/IP)的網(wǎng)絡(luò)通信系統(tǒng)顯得尤為重要。

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

        2 虛擬網(wǎng)卡概述

        虛擬網(wǎng)卡目前多用于網(wǎng)絡(luò)安全和構(gòu)建虛擬網(wǎng)絡(luò)等應(yīng)用領(lǐng)域,在Linux平臺上,虛擬網(wǎng)卡實際上就是一個網(wǎng)卡驅(qū)動程序。

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

        圖1 虛擬網(wǎng)卡原理

        圖2 網(wǎng)絡(luò)驅(qū)動體系結(jié)構(gòu)

        2.2 虛擬網(wǎng)卡體系結(jié)構(gòu)。通用虛擬網(wǎng)卡程序的體系結(jié)構(gòu)如圖2所示,可分為網(wǎng)絡(luò)協(xié)議接口層、網(wǎng)絡(luò)設(shè)備接口層、設(shè)備驅(qū)動功能層及網(wǎng)絡(luò)設(shè)備與媒介層。

        網(wǎng)絡(luò)協(xié)議接口層為虛擬網(wǎng)卡與內(nèi)核TCP/IP協(xié)議棧之間的接口,通過調(diào)用該層提供的dev_queue_xmit函數(shù)和netif_rx函數(shù),虛擬網(wǎng)卡主邏輯功能可分別實現(xiàn)IP包的接收與發(fā)送。網(wǎng)絡(luò)設(shè)備接口層提供了統(tǒng)一的用于描述具體網(wǎng)絡(luò)設(shè)備屬性和操作的結(jié)構(gòu)體net_device。設(shè)備驅(qū)動功能層是網(wǎng)絡(luò)設(shè)備接口層net_device結(jié)構(gòu)中各成員函數(shù)的實現(xiàn),是網(wǎng)絡(luò)設(shè)備屬性和操作功能的體現(xiàn)。網(wǎng)絡(luò)設(shè)備與媒介層是完成數(shù)據(jù)包在物理設(shè)備上的發(fā)送和接收的物理設(shè)備接口。虛擬網(wǎng)卡驅(qū)動程序最主要的設(shè)計工作集中在設(shè)備驅(qū)動功能層。

        3 虛擬網(wǎng)卡設(shè)計

        本文設(shè)計的虛擬網(wǎng)卡由協(xié)議預(yù)處理層、數(shù)據(jù)鏈路層及物理接口層組成,系統(tǒng)架構(gòu)設(shè)計如圖3所示。虛擬網(wǎng)卡的設(shè)計核心是數(shù)據(jù)鏈路層,該層在定義了數(shù)據(jù)幀格式的基礎(chǔ)上,實現(xiàn)了數(shù)傳電臺組網(wǎng)、通信鏈路控制等功能。協(xié)議預(yù)處理層介于內(nèi)核協(xié)議棧與數(shù)據(jù)鏈路層之間,實現(xiàn)了網(wǎng)絡(luò)層數(shù)據(jù)格式與自定義數(shù)據(jù)鏈路層間的轉(zhuǎn)換及數(shù)據(jù)的雙向傳輸。物理接口層介于數(shù)據(jù)鏈路層與物理設(shè)備(數(shù)傳電臺)之間,通過串口讀寫操作,實現(xiàn)了數(shù)據(jù)幀的收發(fā)。

        圖3 虛擬網(wǎng)卡架構(gòu)設(shè)計

        圖4 數(shù)據(jù)幀格式定義

        3.1 數(shù)據(jù)鏈路層設(shè)計

        3.1.1 數(shù)據(jù)幀格式定義。數(shù)據(jù)幀保障了數(shù)據(jù)在鏈路層上傳輸?shù)耐暾院陀行蛐裕涓袷蕉x如圖4所示。其中,Type字段占一個字節(jié),其中bit0表示該數(shù)據(jù)幀的類型,“0”代表普通數(shù)據(jù)幀,“1”代表網(wǎng)絡(luò)管理數(shù)據(jù)幀;bit1用于區(qū)分原幀與應(yīng)答幀,“0”代表原幀,“1”代表應(yīng)答幀;bit2用于標(biāo)識該數(shù)據(jù)幀的本次傳輸是否由主節(jié)點發(fā)起,“0”代表由從節(jié)點發(fā)起,“1”代表由主節(jié)點發(fā)起;bit3-7暫未定義。To字段占一個字節(jié),標(biāo)識該數(shù)據(jù)幀的目的地址;From字段占一個字節(jié),標(biāo)識該數(shù)據(jù)幀的源地址;Seq.字段占一個字節(jié),用于標(biāo)識該原幀在發(fā)送隊列中的序號,接收方正確接收數(shù)據(jù)后,在應(yīng)答幀中沿用原幀Seq.值。Data字段占0~64個字節(jié),為實際發(fā)送的數(shù)據(jù)。Resd.字段為保留字段,占一個字節(jié),用于今后協(xié)議的擴展。Checksum字段占一個字節(jié),為該數(shù)據(jù)幀的校驗和。

        3.1.2 自組網(wǎng)協(xié)議設(shè)計。自組網(wǎng)協(xié)議由組網(wǎng)策略、入網(wǎng)策略、出網(wǎng)策略組成。該協(xié)議通過組網(wǎng)策略將多個網(wǎng)絡(luò)設(shè)備(數(shù)傳電臺)以主從模式組成穩(wěn)定、有序的數(shù)據(jù)通信網(wǎng)絡(luò),對網(wǎng)絡(luò)成員進行統(tǒng)一管理。具體有以下三個功能:

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

        圖5 入網(wǎng)流程

        圖6 鏈路控制流程

        圖7 數(shù)據(jù)發(fā)送流程

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

        出網(wǎng)策略:中心節(jié)點對網(wǎng)絡(luò)成員進行超時監(jiān)控,發(fā)現(xiàn)節(jié)點處于覆蓋范圍外(通信超時),則從成員列表中刪除該成員。

        3.1.3 數(shù)據(jù)鏈路控制模塊設(shè)計。數(shù)據(jù)鏈路控制模塊負責(zé)解析網(wǎng)絡(luò)管理幀緩存區(qū)中的管理命令,并通過改變功能模塊標(biāo)志位來通知對應(yīng)功能模塊進行工作。以信道使用權(quán)為例,當(dāng)數(shù)據(jù)接收模塊將帶有信道使用權(quán)的管理幀放入網(wǎng)絡(luò)管理幀緩沖區(qū)。數(shù)據(jù)鏈路模塊開始遍歷該緩沖區(qū),解析到獲取信道使用權(quán)的命令后,將數(shù)據(jù)發(fā)送模塊的標(biāo)志位置1,通知數(shù)據(jù)發(fā)送模塊開始工作。圖6所示為數(shù)據(jù)鏈路控制流程。

        3.1.4 數(shù)據(jù)發(fā)送模塊設(shè)計。數(shù)據(jù)發(fā)送模塊負責(zé)將虛擬網(wǎng)卡產(chǎn)生的數(shù)據(jù)幀發(fā)送到網(wǎng)絡(luò)中。有數(shù)據(jù)要發(fā)送時,數(shù)據(jù)發(fā)送模塊先判斷是否具有信道使用權(quán)限,如果當(dāng)前節(jié)點具有信道使用權(quán),數(shù)據(jù)發(fā)送模塊將緩存區(qū)的數(shù)據(jù)幀取出,調(diào)用串口操作接口將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)中。然后向主節(jié)點發(fā)送釋放信道使用權(quán)的控制幀。數(shù)據(jù)發(fā)送流程如圖7所示。

        3.1.5 數(shù)據(jù)接收模塊設(shè)計。數(shù)據(jù)接收模塊負責(zé)接收網(wǎng)絡(luò)數(shù)據(jù),首先判斷數(shù)據(jù)目的地是否為自己,如果是將接收的數(shù)據(jù)按數(shù)據(jù)幀和控制幀分別存到接收數(shù)據(jù)緩存區(qū)和接收控制命令緩沖區(qū)。反之不做任何操作。

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

        3.3 串口讀寫模塊設(shè)計。物理接口層兼容網(wǎng)絡(luò)設(shè)備基本操作,為數(shù)據(jù)鏈路層的數(shù)據(jù)收發(fā)模塊提供操作接口,使數(shù)據(jù)鏈路層無需關(guān)系底層網(wǎng)絡(luò)設(shè)備,實現(xiàn)數(shù)據(jù)鏈路層的數(shù)據(jù)在物理網(wǎng)絡(luò)設(shè)備上的傳輸。

        圖8 數(shù)據(jù)幀封包流程

        4 虛擬網(wǎng)卡

        4.1 測試環(huán)境。本測試?yán)脙膳_計算機通過數(shù)傳電臺進行網(wǎng)絡(luò)通信,來驗證虛擬網(wǎng)卡的工作情況。

        主機A:虛擬網(wǎng)卡IP為192.168.0.1,操作系統(tǒng)是Linux(內(nèi)核版本 2.6.32);主機B:虛擬網(wǎng)卡 IP為192.168.0.2,操作系統(tǒng)是Linux(內(nèi)核版本2.6.32)。

        4.2 數(shù)傳電臺PING命令測試。①insmod vnic.ko加載驅(qū)動程序。②ifconfig vnic 192.168.0.1 up啟動A主機虛擬網(wǎng)卡;ifconfig vnic 192.168.0.2 up啟動B主機虛擬網(wǎng)卡;③A主機向B主機發(fā)送ping命令。

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

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

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

        [3]Douglas E.Comer,David L.Stevens著,張衛(wèi)、王能譯.TCP/IP網(wǎng)絡(luò)互聯(lián)技術(shù)卷3客戶-服務(wù)器編程與應(yīng)用windows套接字版 [M].北京:清華大學(xué)出版社,2004.

        [4]Klaus Wehrle Frank Pahlke,Hartmut Ritter著,汪青青,盧祖英譯.Linux網(wǎng)絡(luò)體系結(jié)構(gòu) [M].北京:清華學(xué)出版社,2006.

        猜你喜歡
        鏈路層數(shù)傳網(wǎng)絡(luò)設(shè)備
        網(wǎng)絡(luò)傳輸融合及網(wǎng)絡(luò)安全防控技術(shù)研究
        基于多空間內(nèi)存共享的數(shù)據(jù)鏈路層網(wǎng)絡(luò)包捕獲方法
        基于數(shù)傳電臺的靶彈測控系統(tǒng)設(shè)計
        一種基于C# 的網(wǎng)絡(luò)設(shè)備自動化登錄工具的研制
        嫦娥衛(wèi)星數(shù)傳副瓣信號的干涉測量研究與精度驗證
        載人航天(2019年1期)2019-03-07 01:41:02
        數(shù)據(jù)中心唯“快”不破
        高速數(shù)傳電纜散射參數(shù)的測試及半實物仿真的分析與研究
        電子器件(2015年5期)2015-12-29 08:43:30
        數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進
        IEEE 1394事務(wù)層接口的設(shè)計與實現(xiàn)
        頻率偏置對Ka頻段圓極化頻率復(fù)用數(shù)傳鏈路的影響
        航天器工程(2014年5期)2014-03-11 16:35:56
        少妇内射高潮福利炮| 国产精品国产自产拍高清| 国产av无码专区亚洲av男同| 色妞ww精品视频7777| 五月天综合网站| 亚洲av乱码国产精品色| 在线观看午夜视频国产| 亚洲中文字幕无码av| 在线观看免费午夜大片| 无码人妻丰满熟妇区五十路| 亚洲经典三级| 狠狠躁夜夜躁人人爽天天不卡 | 国产 中文 制服丝袜 另类| 日韩精品高清不卡一区二区三区| 极品粉嫩小仙女高潮喷水网站 | 亚洲色欲久久久综合网| 国产精品九九热| 国产成人美涵人妖视频在线观看| 在线精品亚洲一区二区动态图| 中国丰满熟妇av| 96精品免费视频大全| 高清国产国产精品三级国产av| 国产七十六+老熟妇| 玖玖资源站无码专区| 丝袜美腿爆炒国产在线观看| 丰满人妻猛进入中文字幕| 午夜内射中出视频| 午夜短无码| 亚洲一区二区三区色偷偷| 天堂а在线中文在线新版| 男女真实有遮挡xx00动态图| 一本久久综合亚洲鲁鲁五月夫| 偷拍综合在线视频二区| 亚洲人成色777777老人头| 国产丝袜免费精品一区二区| 麻豆精品一区二区三区| 97在线观看视频| 久久精品—区二区三区无码伊人色| 久久99国产精品久久99密桃| 伊人大杳焦在线| 福利视频黄|