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

        ?

        微型復(fù)合網(wǎng)絡(luò)實時數(shù)據(jù)報交換系統(tǒng)

        2018-04-11 02:48:13宋彥鋒
        自動化儀表 2018年2期
        關(guān)鍵詞:句柄鏈路層網(wǎng)絡(luò)層

        沈 沉,宋彥鋒,楊 芳

        (許繼電氣技術(shù)中心,河南 許昌 461000)

        0 引言

        在工業(yè)領(lǐng)域,聯(lián)網(wǎng)設(shè)備不多、來自不同供應(yīng)商且聯(lián)網(wǎng)接口存在多樣性的微型網(wǎng)絡(luò)較為常用[1-2]。例如,設(shè)備A和設(shè)備B通過專用通道1直接連接,設(shè)備B和設(shè)備C通過專用通道2直接連接,而通道1、2可能是以太網(wǎng)、 RS-485網(wǎng)絡(luò)、CAN總線等相同或不同的物理層[3]。對于這樣的情況,三個設(shè)備的應(yīng)用層如果要進行報文交互,就必須作一些特殊、繁瑣的處理。

        本文設(shè)計的微型復(fù)合網(wǎng)絡(luò)實時數(shù)據(jù)報交換系統(tǒng),可在包含有限網(wǎng)絡(luò)節(jié)點的網(wǎng)絡(luò)上,實現(xiàn)各網(wǎng)絡(luò)節(jié)點上應(yīng)用程序之間透明的、點對點的實時數(shù)據(jù)通信,而無需關(guān)心網(wǎng)絡(luò)節(jié)點間不同的物理層、鏈路層互聯(lián)方式[4]。

        1 交換系統(tǒng)架構(gòu)實現(xiàn)

        該數(shù)據(jù)報交換系統(tǒng)通信層次分為應(yīng)用層、網(wǎng)絡(luò)層、鏈路層、物理層,如圖1所示。

        圖1 系統(tǒng)通信層次示意圖

        物理層是網(wǎng)絡(luò)節(jié)點之間的物理連接,可以是串口、以太網(wǎng)、CAN總線等各種介質(zhì)。鏈路層是工作于不同物理層介質(zhì)的鏈路控制。本文涉及節(jié)點互聯(lián)的物理層和鏈路層被封裝在網(wǎng)絡(luò)層的鏈路層接口中,網(wǎng)絡(luò)層只看到鏈路層接口,卻看不到物理層和鏈路層的具體細節(jié)。

        網(wǎng)絡(luò)層是實現(xiàn)該數(shù)據(jù)報交換系統(tǒng)的核心。該層定義了數(shù)據(jù)報交換模塊、數(shù)據(jù)報管理模塊、鏈路層接口模塊等,并且實現(xiàn)了基于服務(wù)質(zhì)量(quality of service,QoS)[5-8]的數(shù)據(jù)傳輸層,為不同優(yōu)先級的數(shù)據(jù)提供了不同的實時處理性能。

        應(yīng)用層主要完成特定的通信報文處理。網(wǎng)絡(luò)層向應(yīng)用層提供了應(yīng)用程序編程接口(application programming interface,API),使應(yīng)用層可以直接基于網(wǎng)絡(luò)層工作,降低了網(wǎng)絡(luò)通信層次的復(fù)雜度,提高了通信的效率和可靠性。

        2 交換系統(tǒng)協(xié)議簡析

        2.1 網(wǎng)絡(luò)層協(xié)議的實現(xiàn)

        網(wǎng)絡(luò)層定義并實現(xiàn)了以下協(xié)議功能。

        ①數(shù)據(jù)報交換協(xié)議。該協(xié)議是通用協(xié)議,可以映射到以太網(wǎng)、RS-485、CAN等數(shù)據(jù)協(xié)議,在協(xié)議上支持應(yīng)用層數(shù)據(jù)的透明傳輸。數(shù)據(jù)報交換協(xié)議及其在以太網(wǎng)報文上的映射,如圖2所示。

        圖2 數(shù)據(jù)報交換協(xié)議及其映射示意圖

        從應(yīng)用層數(shù)據(jù)報進入網(wǎng)絡(luò)層時,會添加由一個報文交換協(xié)議類型符標(biāo)志(0x9000)和一個報文頭形成的一個新報文進入鏈路層。報文頭包含數(shù)據(jù)報目的節(jié)點ID、源節(jié)點ID、數(shù)據(jù)報的生存周期(time to live,TTL)、報文端口號、應(yīng)用數(shù)據(jù)長度以及數(shù)據(jù)優(yōu)先級等信息。當(dāng)報文從網(wǎng)絡(luò)層進入應(yīng)用層時,該報頭會被剝離,傳遞至應(yīng)用層的僅為應(yīng)用數(shù)據(jù)。

        ②數(shù)據(jù)報交換模塊。該模塊主要負責(zé)完成數(shù)據(jù)報的實時轉(zhuǎn)發(fā)。模塊內(nèi)部定義了一個目標(biāo)節(jié)點ID表,表中的每一個條目依次對應(yīng)一個網(wǎng)絡(luò)節(jié)點ID,且每個條目都存儲了可以訪問到對應(yīng)網(wǎng)絡(luò)節(jié)點的本地鏈路層接口的接口編號。當(dāng)向其他節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)報時,直接以ID為下標(biāo)遍歷訪問表,取得對應(yīng)的鏈路層接口,然后通過對應(yīng)接口將報文轉(zhuǎn)發(fā)出去,以達到快速交換報文的目的。該處理方式采用了以太網(wǎng)交換機根據(jù)MAC地址表進行數(shù)據(jù)報交換的原理[9]。表的條目數(shù)等于通信網(wǎng)絡(luò)內(nèi)除了本地節(jié)點以外的所有節(jié)點數(shù)。系統(tǒng)內(nèi)如果要增加通信節(jié)點,則必須更新所有節(jié)點的ID表配置數(shù)據(jù)。

        ③數(shù)據(jù)報管理模塊。該數(shù)據(jù)報交換系統(tǒng)定義了八個數(shù)據(jù)報緩沖區(qū)。八個實時任務(wù)分別對應(yīng)其中一個緩沖區(qū),并對其進行管理。不同優(yōu)先級的數(shù)據(jù)報進入不同的緩沖區(qū),以實現(xiàn)對不同優(yōu)先級數(shù)據(jù)的分流和隔離。每個任務(wù)的運行優(yōu)先級不同,可以被高優(yōu)先級任務(wù)搶占,或者是搶占低優(yōu)先級的任務(wù)。當(dāng)數(shù)據(jù)報緩沖區(qū)內(nèi)沒有數(shù)據(jù)報時,實時任務(wù)處于掛起狀態(tài);當(dāng)數(shù)據(jù)報進入對應(yīng)緩沖區(qū)后,會喚醒對應(yīng)的實時任務(wù)進行數(shù)據(jù)處理。當(dāng)?shù)蛢?yōu)先級的數(shù)據(jù)報正在被處理時,高優(yōu)先級的數(shù)據(jù)報進入緩沖區(qū),則低優(yōu)先級數(shù)據(jù)報的處理會被中斷,優(yōu)先處理高優(yōu)先級的數(shù)據(jù)報;當(dāng)高優(yōu)先級的處理完成以后,低優(yōu)先級的繼續(xù)處理。根據(jù)以上的功能特點,該數(shù)據(jù)報管理模塊實現(xiàn)了數(shù)據(jù)報的QoS功能[10-12]。如果數(shù)據(jù)報是發(fā)給本地節(jié)點的,調(diào)用本地處理接口進行處理;處理完成以后,該數(shù)據(jù)報的生命期結(jié)束。如果數(shù)據(jù)報是發(fā)給其他節(jié)點的,處理任務(wù)會對報文的TTL減1。如果TTL變成0,則丟棄報文;否則檢索目標(biāo)節(jié)點ID表,通過數(shù)據(jù)報交換模塊,將數(shù)據(jù)報從表項中對應(yīng)的鏈路層接口發(fā)出(數(shù)據(jù)報交換模塊)。該模塊通過TTL的機制,抑制了網(wǎng)絡(luò)風(fēng)暴的形成。

        ④數(shù)據(jù)報流入接口。節(jié)點的鏈路層接口可以通過調(diào)用數(shù)據(jù)報流入接口,將收到的數(shù)據(jù)報傳遞到數(shù)據(jù)報管理模塊對應(yīng)優(yōu)先級的緩沖區(qū)中,激活對應(yīng)的管理任務(wù)后返回。管理任務(wù)被激活后,完成對數(shù)據(jù)報的處理。數(shù)據(jù)報的流入和處理是異步進行的。

        ⑤鏈路層接口。抽象的接口(包括初始化、數(shù)據(jù)報發(fā)送函數(shù)入口),可適應(yīng)基于不同鏈路層、物理層的網(wǎng)絡(luò)接口的互聯(lián),例如以太網(wǎng)、RS-422/485串口網(wǎng)絡(luò)、CAN總線等。接口對網(wǎng)絡(luò)層隱藏了具體互聯(lián)網(wǎng)絡(luò)物理層、鏈路層的實施細節(jié),以實現(xiàn)不同網(wǎng)絡(luò)節(jié)點的網(wǎng)絡(luò)層間的透明通信。初始化接口完成接口的初始化工作;數(shù)據(jù)報發(fā)送接口用于將數(shù)據(jù)報發(fā)送到接口連接的網(wǎng)絡(luò)上。在網(wǎng)絡(luò)層中定義了一個鏈路層接口表,每個表項對應(yīng)節(jié)點和外部網(wǎng)絡(luò)連接的一個接口。節(jié)點初始化時,向節(jié)點的鏈路層接口表注冊所有和外部互聯(lián)的接口。所有注冊的接口按注冊順序編號。

        2.2 應(yīng)用層API協(xié)議的實現(xiàn)

        應(yīng)用層完成特定的通信報文處理。網(wǎng)絡(luò)層提供了應(yīng)用層API,使應(yīng)用層可以直接基于網(wǎng)絡(luò)層工作,降低了網(wǎng)絡(luò)通信層次的復(fù)雜度,提高了通信的效率和可靠性。網(wǎng)絡(luò)層主要提供了以下兩種應(yīng)用層API。

        ①基于回調(diào)模式的應(yīng)用層API。在每個網(wǎng)絡(luò)節(jié)點中,定義一個數(shù)據(jù)報處理函數(shù)表。每個表項包含一個端口號、一個數(shù)據(jù)報處理函數(shù)以及一個函數(shù)參數(shù)。通過向應(yīng)用層提供回調(diào)函數(shù)注冊接口,使應(yīng)用層可以向數(shù)據(jù)報處理函數(shù)表注冊處理函數(shù),以實現(xiàn)數(shù)據(jù)報的直接、快速處理。當(dāng)收到發(fā)送給本地節(jié)點的數(shù)據(jù)報時,數(shù)據(jù)報管理模塊會在函數(shù)表中查找對應(yīng)端口數(shù)據(jù)報的處理函數(shù)。如果找到,即直接調(diào)用處理函數(shù)來完成對數(shù)據(jù)進行處理;否則丟棄。

        ②基于句柄模式的應(yīng)用層API。其包括創(chuàng)建句柄、發(fā)送數(shù)據(jù)和接收數(shù)據(jù)三個接口??梢愿鶕?jù)數(shù)據(jù)報的端口號、數(shù)據(jù)報緩沖區(qū)大小來創(chuàng)建本地的處理句柄。發(fā)送接口可以通過創(chuàng)建的句柄向目標(biāo)節(jié)點發(fā)送指定優(yōu)先級的數(shù)據(jù)報,發(fā)出的數(shù)據(jù)報的端口和句柄的端口號一致。接收接口可以收到別的網(wǎng)絡(luò)節(jié)點發(fā)到本地的句柄對應(yīng)端口的數(shù)據(jù)報。句柄模式的應(yīng)用層API是基于回調(diào)模式的應(yīng)用層API實現(xiàn)的。創(chuàng)建句柄時,在數(shù)據(jù)報處理函數(shù)表中注冊了指定端口的處理函數(shù)。當(dāng)注冊的處理函數(shù)被調(diào)用時,會將收到的數(shù)據(jù)報加入句柄內(nèi)部的緩沖區(qū)中;在通知應(yīng)用層數(shù)據(jù)準(zhǔn)備好后,返回函數(shù)。句柄模式的應(yīng)用層的發(fā)送和接收接口具備阻塞功能,調(diào)用時可以設(shè)定阻塞時間。如果阻塞期間接口響應(yīng)了請求,則返回結(jié)果;否則,返回超時。阻塞時間可以設(shè)置為0,此時數(shù)據(jù)收發(fā)接口工作在非阻塞模式。

        通過以上兩種應(yīng)用層API進行通信,不同網(wǎng)絡(luò)節(jié)點的應(yīng)用層能夠建立透明的點對點會話。會話的兩端使用相同的數(shù)據(jù)報端口,不分別處理源端口和目的端口,簡化了端口處理,提高處理性能。會話隱藏了不同的物理層、鏈路層、網(wǎng)絡(luò)層影響實現(xiàn)細節(jié),使應(yīng)用程序不再受復(fù)雜的網(wǎng)絡(luò)關(guān)系的影響。

        3 交換系統(tǒng)的應(yīng)用示例

        以一個3節(jié)點最小網(wǎng)絡(luò)為例,說明本交換系統(tǒng)的特點和使用方法,如圖3所示。節(jié)點之間可以通過以太網(wǎng)、串口網(wǎng)絡(luò)或者CAN總線連接。不同的網(wǎng)絡(luò)需要在鏈路層接口作抽象處理,因此交換系統(tǒng)的上層接口無需關(guān)心具體的物理連接方式。

        圖3 最小系統(tǒng)示例圖

        (1)整個網(wǎng)絡(luò)需要靜態(tài)分配網(wǎng)絡(luò)節(jié)點ID。交換網(wǎng)絡(luò)具備三個節(jié)點,其節(jié)點連接如圖4所示。對每個節(jié)點靜態(tài)地分配一個節(jié)點ID。每個節(jié)點ID在網(wǎng)絡(luò)中必須是唯一的。

        圖4 節(jié)點連接示意圖

        (2)網(wǎng)絡(luò)中的各個節(jié)點通過硬件接口依次連接。接口編號是節(jié)點自身的通信接口的編號。通信接口物理層可以是以太網(wǎng)口、CAN節(jié)點或者串口。兩個直連的通信接口物理層必須相同,沒有直連的通信接口物理層可以不同。

        ①節(jié)點1的接口1和節(jié)點2的接口0直連,這兩個通信接口必須一致。

        ②節(jié)點2的接口3和節(jié)點3的接口1直連,這兩個通信接口必須一致。

        ③其他沒有直連的通信接口可以不同。

        (3)每個節(jié)點維護一個目標(biāo)節(jié)點ID表。該表用來維護目標(biāo)節(jié)點和本節(jié)點鏈路接口編號的映射。比如圖4中:節(jié)點2的接口3直連到節(jié)點3的接口1,節(jié)點1的數(shù)據(jù)可以通過節(jié)點2傳遞到節(jié)點3的接口1。因此,節(jié)點3的目標(biāo)節(jié)點ID表中目的節(jié)點1和目的節(jié)點2映射的鏈路接口編號都為1。其他節(jié)點的目標(biāo)節(jié)點ID表同理。

        (4)每個節(jié)點還需要維護一個應(yīng)用回調(diào)注冊表,以接收或者丟棄數(shù)據(jù)報的選擇。每個節(jié)點的應(yīng)用回調(diào)注冊表可以有多個條目。

        (5)節(jié)點應(yīng)用層利用本交換系統(tǒng)發(fā)送數(shù)據(jù)時,需要明確以下關(guān)鍵參數(shù)。

        ①目標(biāo)節(jié)點ID:交換系統(tǒng)需要根據(jù)目標(biāo)節(jié)點ID找到鏈路接口編號,然后通過相應(yīng)鏈路接口發(fā)送數(shù)據(jù)。

        ②數(shù)據(jù)報文端口號:接收端需要根據(jù)該端口號選擇應(yīng)用回調(diào)函數(shù)。在應(yīng)用的角度,該端口號具備應(yīng)用數(shù)據(jù)類型的含義。

        ③數(shù)據(jù)報優(yōu)先級:接收端根據(jù)數(shù)據(jù)報的優(yōu)先級作相應(yīng)的處理,實現(xiàn)QoS功能,優(yōu)先處理優(yōu)先級高的數(shù)據(jù)報,保證數(shù)據(jù)實時性。

        4 結(jié)束語

        本文提出了數(shù)據(jù)包優(yōu)先級的概念,并基于該概念實現(xiàn)了微型復(fù)合網(wǎng)絡(luò)實時交換系統(tǒng)的QoS功能,保證了本網(wǎng)絡(luò)交換系統(tǒng)在多種類型數(shù)據(jù)報共網(wǎng)時,能在規(guī)定的時間內(nèi)處理各類數(shù)據(jù)報。交換系統(tǒng)提供的接口對網(wǎng)絡(luò)層隱藏了具體互聯(lián)網(wǎng)絡(luò)的物理層、鏈路層的實施細節(jié),以實現(xiàn)不同網(wǎng)絡(luò)節(jié)點的網(wǎng)絡(luò)層間的透明通信。該系統(tǒng)適用于有限節(jié)點的網(wǎng)絡(luò)互連、對報文實時性要求高的微型網(wǎng)絡(luò)系統(tǒng)。系統(tǒng)中物理層的各個設(shè)備可以通過各種以太網(wǎng)、交換機、現(xiàn)場總線等連接。

        參考文獻:

        [1] 張學(xué)輝.基于以太網(wǎng)和現(xiàn)場總線的工業(yè)控制網(wǎng)絡(luò)實訓(xùn)系統(tǒng)設(shè)計[J].自動化儀表,2017,38(3):41-43.

        [2] 楊曉華,侯巍,王樹新,等.基于CAN總線的分布式控制網(wǎng)絡(luò)設(shè)計[J].低壓電器,2006,38(1):40-42.

        [3] 沈航,徐紅泉,蔡慧,等.工業(yè)以太網(wǎng)和現(xiàn)場總線[J].工業(yè)儀表與自動化裝置,2015,38(1):6-9.

        [4] 曹健,劉瓊,王遠.基于數(shù)據(jù)流轉(zhuǎn)發(fā)的實時數(shù)據(jù)交換系統(tǒng)設(shè)計[J].計算機應(yīng)用,2016,36(3):596-600.

        [5] 王瑾瑤.以太網(wǎng)協(xié)議模型的演進分析[J].機械管理開發(fā),2013,133(3):106-107.

        [6] 劉正藍,朱淼良,姜明,等.QoS協(xié)議及體系結(jié)構(gòu)研究綜述[J].浙江大學(xué)學(xué)報(工業(yè)版),2003,37(3):288-294.

        [7] 鐘川,黃陶明.分層QoS關(guān)鍵技術(shù)分析[J].現(xiàn)代計算機,2009(1):111.

        [8] 林闖,王元卓,任豐原.新一代網(wǎng)絡(luò)QoS研究[J].計算機學(xué)報,2008,31(9):1525-1535.

        [9] 李研,周明輝,李瑞超,等.一種考慮QoS數(shù)據(jù)可信性的服務(wù)選擇方法[J].軟件學(xué)報,2008,19(10):2620-2627.

        [10]王延年,鄭曉慶.基于數(shù)據(jù)優(yōu)先級的Ad hoc網(wǎng)絡(luò)MAC協(xié)議研究[J].鄭州大學(xué)學(xué)報(工業(yè)版),2011,32(2):93-96.

        [11]王春霞.基于數(shù)據(jù)和能量優(yōu)先等級改進WSN中S-MAC協(xié)議的研究[J].河南科技,2015,33(4):569-573.

        [12]楊璽,劉少強,樊曉平,等.實時監(jiān)測的混合式無線傳感器網(wǎng)絡(luò)多路徑路由研究[J].計算機應(yīng)用研究,2008,25(4):1237-1239.

        猜你喜歡
        句柄鏈路層網(wǎng)絡(luò)層
        網(wǎng)絡(luò)傳輸融合及網(wǎng)絡(luò)安全防控技術(shù)研究
        Noise-Tolerant ZNN-Based Data-Driven Iterative Learning Control for Discrete Nonaffine Nonlinear MIMO Repetitive Systems
        基于多空間內(nèi)存共享的數(shù)據(jù)鏈路層網(wǎng)絡(luò)包捕獲方法
        高校圖書館持久標(biāo)識符應(yīng)用研究
        編譯程序語法分析句柄問題分析與探討
        基于WPA的物聯(lián)網(wǎng)網(wǎng)絡(luò)層安全的研究
        數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進
        MFC應(yīng)用程序多線程混合顯示界面方法研究
        IEEE 1394事務(wù)層接口的設(shè)計與實現(xiàn)
        Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair
        久久久久久久极品内射| 肉体裸交137日本大胆摄影| 中国国语毛片免费观看视频| 国产成人国产在线观看入口| 中文亚洲AV片在线观看无码| 开心五月激情五月天天五月五月天 | 亚洲精品中文字幕91| 在线观看一区二区中文字幕| 国产成a人亚洲精品无码樱花| 久久精品人人爽人人爽| 香蕉国产人午夜视频在线观看 | 中文字幕一区二区三区.| 亚洲av色在线播放一区| gg55gg国产成人影院| 亚洲人成人无码www| 亚洲乱亚洲乱妇| 日本五月天婷久久网站| 精品久久免费一区二区三区四区| 亚洲一品道一区二区三区| 蜜桃一区二区三区| 岛国av无码免费无禁网站下载| 国产最新一区二区三区天堂| 综合久久加勒比天然素人| 黄片视频免费在线观看国产| 亚洲国产一区二区a毛片| 亚洲国产精品线观看不卡| 亚洲一区二区日韩精品| 真实的国产乱xxxx在线| 六月丁香婷婷色狠狠久久| 91色婷婷成人精品亚洲| 亚洲国产精品久久婷婷| 私人毛片免费高清影视院| 国产欧美日韩午夜在线观看| 爆乳午夜福利视频精品| 亚洲一区二区三区偷拍视频| 成 人 免费 在线电影| 91视频免费国产成人| 冲田杏梨av天堂一区二区三区| 亚洲va视频一区二区三区| 亚洲国产精品va在线播放| 欧美成人三级一区二区在线观看|