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

基于超時重傳和多重校驗的UDP可靠通信設(shè)計

2022-03-25 02:28:12趙晨希
測控技術(shù) 2022年2期
關(guān)鍵詞:機制方法

李 浩, 趙晨希, 關(guān) 冰

(1.中國運載火箭技術(shù)研究院,北京 100076; 2.北京時代民芯科技有限公司,北京 100076)

隨著信息化和自動化技術(shù)的快速發(fā)展,以太網(wǎng)憑借速度快、成本低、支持連接設(shè)備多等特點,被越來越多地應(yīng)用于工業(yè)自動化領(lǐng)域[1-3]。UDP是以太網(wǎng)的傳輸層協(xié)議,與TCP協(xié)議相比具有開銷小、效率高的優(yōu)勢,但是由于其非面向連接的特點,可靠性不高,在數(shù)據(jù)傳輸中容易丟幀、錯幀和亂幀[4-6]。

針對UDP傳輸過程中可能出現(xiàn)的丟幀、錯幀和亂幀問題,本文提出了兩種基于超時重傳和多重校驗的UDP可靠通信方法:一種是基于實時操作系統(tǒng)的方法,另一種是基于高精度定時器的方法。這兩種方法的共同點是都采用多重校驗、鏈路切換、超時重傳等可靠性較高的技術(shù),不同點是前者基于實時操作系統(tǒng)實現(xiàn),邏輯簡單,但實時性不高,后者基于高精度定時器實現(xiàn),實時性較高,但邏輯復(fù)雜。本文提出的方法僅在應(yīng)用層增加32 B冗余信息,且只在鏈路出現(xiàn)問題時進行數(shù)據(jù)重新發(fā)送,相對未采用可靠性措施的UDP通信方案,開銷略有增加,但相對采用了三次握手和擁塞控制等機制的TCP通信,在網(wǎng)絡(luò)開銷和傳輸效率上的優(yōu)勢仍然存在,試驗結(jié)果表明,本文提出的方法既能保證UDP通信的實時性,又能提升UDP通信的可靠性。

1 可靠以太網(wǎng)通信總體方案設(shè)計

對可靠以太網(wǎng)通信總體方案進行設(shè)計,首先設(shè)計了基于四度冗余拓?fù)涞囊蕴W(wǎng)總線結(jié)構(gòu),然后實現(xiàn)了基于多重校驗的以太網(wǎng)通信協(xié)議,最后提出了兩種基于超時重傳和多重校驗的UDP可靠通信方法,通過硬件、軟件、協(xié)議和流程的聯(lián)合優(yōu)化設(shè)計,最終實現(xiàn)了基于超時重傳和多重校驗的可靠以太網(wǎng)通信機制。

以太網(wǎng)總線拓?fù)浣Y(jié)構(gòu)如圖1所示,基于可靠以太網(wǎng)通信機制的軟件設(shè)計稱為服務(wù)端軟件,有主、備兩個網(wǎng)口,與服務(wù)端軟件通信的軟件稱為客戶端軟件,也有主、備兩個網(wǎng)口,服務(wù)端軟件和客戶端軟件通過交換機進行以太網(wǎng)通信。這種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的特點是通過網(wǎng)絡(luò)鏈路的多重冗余,提升通信系統(tǒng)整體的可靠性,且由于以太網(wǎng)總線成本低廉,鏈路冗余帶來的總體方案成本增加并不多。

圖1 以太網(wǎng)通信總線拓?fù)浣Y(jié)構(gòu)

將數(shù)據(jù)進行UDP數(shù)據(jù)報封裝、IP封裝,并最終打包成符合IEEE802.3標(biāo)準(zhǔn)的以太網(wǎng)數(shù)據(jù)幀格式在網(wǎng)絡(luò)上傳輸,UDP數(shù)據(jù)封裝形式如圖2所示。

圖2 UDP數(shù)據(jù)封裝格式

UDP傳輸?shù)奶攸c是只提供無連接的服務(wù),沒有確認(rèn)幀、序列號、超時重傳等機制,因此與TCP傳輸相比可靠性低。本文在應(yīng)用層設(shè)計實現(xiàn)了一種基于多重校驗的協(xié)議確認(rèn)機制,確保UDP傳輸?shù)臄?shù)據(jù)內(nèi)容、順序和格式的準(zhǔn)確無誤。

對應(yīng)用層的以太網(wǎng)通信協(xié)議進行重新設(shè)計,除了幀內(nèi)容區(qū)表征傳輸?shù)挠行?shù)據(jù)外,增加了幀頭、幀序號、幀長度、幀校驗和及幀尾等數(shù)據(jù)區(qū)域,主要目的是用于UDP傳輸數(shù)據(jù)的多重校驗,以提升以太網(wǎng)通信的可靠性。具體格式如下。

① 幀頭:固定幀頭為0x55555555,用于判斷幀的開始。

② 幀序號:表示相同類型幀的發(fā)送次數(shù),由于UDP通信有可能出現(xiàn)丟幀,本區(qū)域可以表征傳輸?shù)倪B續(xù)性。

③ 幀長度:表示本幀數(shù)據(jù)的實際長度,由于UDP傳輸數(shù)據(jù)的限制,本區(qū)域最大值不能超過1400。

④ 幀IP:表示網(wǎng)絡(luò)層的地址。

⑤ 幀端口:表示傳輸層的地址。

⑥ 幀類型:表示本幀數(shù)據(jù)的類型。

⑦ 幀內(nèi)容:表示本幀數(shù)據(jù)的具體內(nèi)容。

⑧ 校驗和:對本幀數(shù)據(jù)前N-4個字節(jié)進行CRC校驗,CRC校驗?zāi)軌蛴行ёR別硬件誤碼導(dǎo)致的通信錯誤。

⑨ 幀尾:固定幀尾為0xAAAAAAAA,用于判斷幀的結(jié)束。

2 基于實時操作系統(tǒng)的超時重傳方法

實時操作系統(tǒng)被廣泛應(yīng)用于航空航天、核電能源、醫(yī)療衛(wèi)生、國防電子等諸多安全關(guān)鍵系統(tǒng)中,具有實時性高、安全性強、系統(tǒng)資源占用少等特點,包含任務(wù)調(diào)度、任務(wù)同步、中斷管理、內(nèi)存管理等功能[7],常見的實時操作系統(tǒng)有VxWorks和RTEMS。

利用嵌入式實時操作系統(tǒng)的多線程搶占調(diào)度和多線程信號量同步機制,設(shè)計實現(xiàn)了一種精度達(dá)到10 ms量級的超時重傳方法,本方案的優(yōu)點是邏輯簡單,缺點是精度不高。

設(shè)計3個線程和1個信號量,重傳方法的實現(xiàn)流程如圖3所示,主要功能如下。

圖3 基于實時操作系統(tǒng)的以太網(wǎng)超時重傳方法示例

① 線程1的優(yōu)先級最高,執(zhí)行一次后便不再執(zhí)行,主要用于系統(tǒng)的軟硬件初始化。

② 線程3的優(yōu)先級次高,線程入口處設(shè)計死循環(huán),使得線程3一直處于等待運行的狀態(tài),主要用途是獲取以太網(wǎng)數(shù)據(jù),并對接收方的應(yīng)答數(shù)據(jù)進行解析判讀和多重校驗。

③ 線程2的優(yōu)先級最低,線程入口處設(shè)計死循環(huán),使得線程2一直處于等待運行的狀態(tài),主要用途是利用本文的基于實時操作系統(tǒng)的超時重傳方法,實現(xiàn)基于UDP的可靠數(shù)據(jù)通信。

④ 信號量1主要用于線程3和線程2的數(shù)據(jù)同步,信號量的類型是二值信號量,初始值是0。

本子技術(shù)的核心功能有指令回令機制、多重校驗判斷、多線程同步、超時重傳、鏈路切換,主要技術(shù)點如下。

① 線程2是發(fā)送線程,其發(fā)送的數(shù)據(jù)定義為指令,線程3是接收線程,其接收的數(shù)據(jù)定義為回令,規(guī)定每一條指令都對應(yīng)有一條回令,通過設(shè)計指令回令機制,可以實現(xiàn)對以太網(wǎng)鏈路是否暢通的檢測。

② 線程3在收到回令后,需要按照第1節(jié)描述的協(xié)議格式進行多重校驗,包括幀頭、幀尾、幀序號、幀長度、IP地址、端口、幀類型及幀CRC等8類區(qū)域的校驗,如果多重校驗通過,則認(rèn)為回令符合要求,否則認(rèn)為鏈路故障,通過多重校驗機制可以實現(xiàn)硬件誤碼和軟件丟包錯包的故障檢測。

③ 利用實時操作系統(tǒng)的多線程搶占調(diào)度和信號量同步機制,實現(xiàn)不同的線程之間通過二值信號量的方式進行時序同步。

④ 利用二進制信號量的超時判斷機制,如果在指定的時間內(nèi)軟件收到了客戶端軟件的回令(為達(dá)到可靠性與與實時性的平衡,將超時時間設(shè)置為10 ms),并且通過了多重校驗,則發(fā)布信號量以解除發(fā)送線程的阻塞狀態(tài);如果在指定的時間內(nèi)沒有收到客戶端軟件的回令,或者回令未通過多重校驗,則信號量返回超時信息,進入鏈路切換和超時重傳邏輯分支。

⑤ 基于系統(tǒng)設(shè)計的可靠以太網(wǎng)拓?fù)渫ㄐ沤Y(jié)構(gòu),設(shè)計實現(xiàn)了“主主-主備-備主-備備”的通信鏈路切換機制,能夠在3條通信鏈路出現(xiàn)故障的情況下實現(xiàn)UDP數(shù)據(jù)有效通信,顯著提升了以太網(wǎng)通信的可靠性。

3 基于高精度定時器的超時重傳方法

利用嵌入式系統(tǒng)的高精度定時器和中斷異步處理機制,設(shè)計實現(xiàn)一種精度達(dá)1 ms級別的超時重傳方法,其優(yōu)點是實時性高,不依賴實時操作系統(tǒng)即可實現(xiàn),缺點是流程比較復(fù)雜。

設(shè)計2個中斷、1個主函數(shù)和5個全局變量,重傳方法的實現(xiàn)流程如圖4所示,主要功能如下。

① 中斷1的優(yōu)先級最高,收到回令時觸發(fā),主要功能是獲取以太網(wǎng)數(shù)據(jù),并對接收方的應(yīng)答數(shù)據(jù)進行解析判讀和多重校驗。

圖4 基于高精度定時器的以太網(wǎng)超時重傳方法示例

② 中斷2的優(yōu)先級次高,以1 ms周期性觸發(fā),主要功能是利用本文的基于高精度定時器的超時重傳機制,實現(xiàn)基于UDP的可靠數(shù)據(jù)通信。

③ 主函數(shù)的優(yōu)先級最低,主要用于系統(tǒng)的軟硬件初始化和業(yè)務(wù)流程處理。

④ 超時起判標(biāo)志為全局變量,在啟動超時重傳判斷時置有效,在收到回令時或遍歷所有鏈路時置無效。

⑤ 數(shù)據(jù)接收標(biāo)志為全局變量,在收到回令時置有效,在遍歷所有鏈路時置無效。

⑥ 超時時間為全局變量,是用戶設(shè)定的固定值,該值用于表示從發(fā)送指令到接收回令的最長時間。

⑦ 起始時間為全局變量,該值表示發(fā)送以太網(wǎng)數(shù)據(jù)的時間。

⑧ 當(dāng)前時間為全局變量,該值表示進行超時判斷時的當(dāng)前時間。

本方法的核心功能有指令回令機制、多重校驗判斷、高精度定時器中斷,主要技術(shù)點如下。

① 主函數(shù)和中斷2是發(fā)送線程,指令回令機制與第2節(jié)相同。

② 中斷1在收到回令后,需要按照第1節(jié)描述的協(xié)議格式進行多重校驗,多重校驗的機制與第2節(jié)相同。

③ 利用嵌入式系統(tǒng)的高精度定時器和中斷異步處理機制,實現(xiàn)主循環(huán)與中斷之間通過共享全局變量的方式進行數(shù)據(jù)交互,能夠?qū)崿F(xiàn)精度為1 ms級別的超時判斷。

④ 利用基于高精度定時器的超時判斷機制,如果在指定的時間內(nèi)收到了客戶端軟件的回令,并且通過了多重校驗,則置數(shù)據(jù)接收標(biāo)志有效以通知軟件解除超時判斷;如果在指定的時間內(nèi)沒有收到客戶端軟件的回令,或者回令未通過多重校驗,則判斷為已經(jīng)超時。

⑤ 利用系統(tǒng)設(shè)計的主備以太網(wǎng)通路,實現(xiàn)“主主-主備-備主-備備”四條鏈路的故障切換,鏈路切換機制與第2節(jié)相同。

4 實驗結(jié)果及建模分析

在實驗室環(huán)境下對本文進行測試驗證,服務(wù)端軟件的硬件架構(gòu)是“TMS320C6678+Kintex-7”,TMS320C6678是TI公司的一款多核處理器芯片,片內(nèi)集成8個C66X內(nèi)核[8],掛接一路網(wǎng)口,作為主通信鏈路,地址設(shè)置為192.168.0.109;Kintex-7是Xilinx公司的一款高性能FPGA芯片,擁有478 KB的可編程邏輯資源[9],掛接一路網(wǎng)口,作為備通信鏈路,地址設(shè)置為192.168.0.19??蛻舳塑浖挠布軜?gòu)與服務(wù)端軟件相同,也是“TMS320C6678+Kintex-7”,主地址設(shè)置為192.168.102,備地址設(shè)置為192.168.0.12。

在上述環(huán)境中設(shè)置故障測試用例,測試本文設(shè)計的可靠以太網(wǎng)通信方法是否有效。其中,圖5為主主鏈路正常通信示意圖,圖6為主主鏈路斷開時鏈路切換后正常通信示意圖,圖7為主主、主備鏈路斷開時鏈路切換后正常通信示意圖,圖8為主主、主備、備主鏈路斷開時鏈路切換后正常通信示意圖。結(jié)果表明,在通信鏈路出現(xiàn)一度、二度和三度故障時,基于本方法實現(xiàn)的軟件仍可進行有效通信。

圖5 主主鏈路正常通信示意圖

圖6 主主鏈路斷開時鏈路切換后正常通信示意圖

圖7 主主、主備鏈路斷開時鏈路切換后正常通信示意圖

圖8 主主、主備、備主鏈路斷開時鏈路切換后正常通信示意圖

采取了并聯(lián)硬件冗余的方式實現(xiàn)可靠以太網(wǎng)通信,根據(jù)并聯(lián)冗余的功能定義,可以按照下述的可靠性建模公式進行可靠性計算[10]。

Rs==1-(1-R0)n

式中:R0為單通道UDP通信的可靠度;n為并聯(lián)冗余的部件個數(shù);Rs為根據(jù)模型公式計算后的系統(tǒng)可靠度。本文假設(shè)R0值為0.9,n在本文中取值為4,經(jīng)過計算,系統(tǒng)可靠度Rs為0.9999,相對單通道UDP通信的可靠度有較大提升。

5 結(jié)束語

針對UDP傳輸過程中可能出現(xiàn)的丟幀、錯幀和亂幀問題,首先對可靠以太網(wǎng)通信總體方案進行設(shè)計,設(shè)計了基于四度冗余的以太網(wǎng)總線拓?fù)浣Y(jié)構(gòu),然后實現(xiàn)了基于多重校驗的以太網(wǎng)通信協(xié)議,最后提出了兩種基于超時重傳和多重校驗的可靠通信方法:一種是基于實時操作系統(tǒng)的超時重傳方法,為UDP可靠傳輸提供了一種流程簡單、精度達(dá)10 ms的解決方案;另一種是高精度定時器的超時重傳方法,為UDP可靠傳輸提供了精度達(dá)1 ms、不依賴操作系統(tǒng)的解決方案。

對本文的方法進行建模分析,本文所提出的方案相較傳統(tǒng)單通道UDP通信方案可靠度由0.9提升到0.9999,通信的可靠度有較大提升。利用“TMS320C6678+ Kintex-7”開發(fā)板進行測試驗證,結(jié)果表明基于本方法實現(xiàn)的軟件功能實現(xiàn)正確,可以實現(xiàn)在通信鏈路出現(xiàn)一度、二度和三度故障時有效完成UDP通信。

猜你喜歡
機制方法
構(gòu)建“不敢腐、不能腐、不想腐”機制的思考
學(xué)習(xí)方法
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
定向培養(yǎng) 還需完善安置機制
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
破除舊機制要分步推進
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
注重機制的相互配合
主站蜘蛛池模板: 日韩精品欧美国产在线| 国产区网址| 亚洲一区精品视频在线| 亚洲人成网址| 亚洲品质国产精品无码| 国产精品视频导航| 国产成人你懂的在线观看| 久青草免费在线视频| 欧美激情综合| 99性视频| 国产一级裸网站| 污视频日本| 亚洲欧美日韩成人在线| 波多野结衣一区二区三区四区视频| 免费一级毛片| 成人韩免费网站| 香蕉视频国产精品人| 欧美午夜在线观看| 国产在线观看第二页| 国产精品视频第一专区| 免费国产不卡午夜福在线观看| 国产美女自慰在线观看| 91精品久久久无码中文字幕vr| 免费观看国产小粉嫩喷水| 免费黄色国产视频| 国产成人毛片| 欧美日韩中文国产| 国产综合另类小说色区色噜噜| 色综合天天综合中文网| 动漫精品中文字幕无码| 欧美日韩成人| 青青青国产在线播放| 国产精品开放后亚洲| 亚洲午夜18| 中国黄色一级视频| 亚洲最猛黑人xxxx黑人猛交| 一级香蕉人体视频| 中文字幕有乳无码| 日本中文字幕久久网站| 第一区免费在线观看| 国产欧美在线视频免费| 国产成人免费观看在线视频| www.91中文字幕| 国产成人亚洲精品蜜芽影院| 一级毛片在线免费视频| 久久久久久久久亚洲精品| 日韩精品免费一线在线观看| 无码国内精品人妻少妇蜜桃视频| 成人夜夜嗨| 欧美黄色a| 国产成人无码Av在线播放无广告 | 午夜欧美理论2019理论| 日韩专区欧美| 欧美色视频日本| 996免费视频国产在线播放| 欧美自拍另类欧美综合图区| 91精品情国产情侣高潮对白蜜| 欧美一级视频免费| 亚洲精品动漫在线观看| 国产福利影院在线观看| 国产91视频免费观看| 欧美在线视频不卡第一页| 免费毛片视频| 一级高清毛片免费a级高清毛片| 中文精品久久久久国产网址| 久久久久无码精品| 亚洲人成网址| 日本一区二区三区精品国产| 全免费a级毛片免费看不卡| 欧洲一区二区三区无码| 国产一区二区三区精品欧美日韩| 亚洲国产日韩欧美在线| 狠狠五月天中文字幕| 人人澡人人爽欧美一区| www欧美在线观看| 国产日本视频91| 久久精品人妻中文视频| 国产在线视频导航| 国产麻豆精品手机在线观看| 欧美成人区| 日本在线国产| 亚洲Aⅴ无码专区在线观看q|