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

        ?

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

        2022-03-25 02:28:12趙晨希
        測控技術(shù) 2022年2期
        關(guān)鍵詞:信號量重傳線程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        ② 中斷2的優(yōu)先級次高,以1 ms周期性觸發(fā),主要功能是利用本文的基于高精度定時器的超時重傳機(jī)制,實(shí)現(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)前時間為全局變量,該值表示進(jìn)行超時判斷時的當(dāng)前時間。

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

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

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

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

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

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

        4 實(shí)驗(yàn)結(jié)果及建模分析

        在實(shí)驗(yàn)室環(huán)境下對本文進(jìn)行測試驗(yà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)一度、二度和三度故障時,基于本方法實(shí)現(xiàn)的軟件仍可進(jìn)行有效通信。

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

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

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

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

        采取了并聯(lián)硬件冗余的方式實(shí)現(xiàn)可靠以太網(wǎng)通信,根據(jù)并聯(lián)冗余的功能定義,可以按照下述的可靠性建模公式進(jì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)通信總體方案進(jìn)行設(shè)計,設(shè)計了基于四度冗余的以太網(wǎng)總線拓?fù)浣Y(jié)構(gòu),然后實(shí)現(xiàn)了基于多重校驗(yàn)的以太網(wǎng)通信協(xié)議,最后提出了兩種基于超時重傳和多重校驗(yàn)的可靠通信方法:一種是基于實(shí)時操作系統(tǒng)的超時重傳方法,為UDP可靠傳輸提供了一種流程簡單、精度達(dá)10 ms的解決方案;另一種是高精度定時器的超時重傳方法,為UDP可靠傳輸提供了精度達(dá)1 ms、不依賴操作系統(tǒng)的解決方案。

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

        猜你喜歡
        信號量重傳線程
        基于STM32的mbedOS信號量調(diào)度機(jī)制剖析
        Nucleus PLUS操作系統(tǒng)信號量機(jī)制的研究與測試
        面向異構(gòu)網(wǎng)絡(luò)的多路徑數(shù)據(jù)重傳研究?
        淺談linux多線程協(xié)作
        數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進(jìn)
        μC/OS- -III對信號量的改進(jìn)
        Linux操作系統(tǒng)信號量機(jī)制的實(shí)時化改造
        MPTCP中一種減緩緩存阻塞的重傳策略
        Linux線程實(shí)現(xiàn)技術(shù)研究
        選擇性重傳法在IPTV中的應(yīng)用
        色婷婷亚洲十月十月色天| 2021国产最新无码视频| 精品国产福利久久久| 亚洲欧洲日产国码久在线| 亚洲天堂中文字幕君一二三四| 日本一区二区不卡二区| 丝袜美腿av免费在线观看| 白白色发布视频在线播放| 久久久人妻一区二区三区蜜桃d| 亚洲国产精品成人精品无码区在线| 三年片免费观看大全有| 少妇人妻偷人精品免费视频| 3344永久在线观看视频| 四虎精品成人免费观看| 91亚洲精品福利在线播放| 少妇人妻精品一区二区三区视 | 2021最新久久久视精品爱| 蜜臀久久久精品国产亚洲av| 精品一区二区三区亚洲综合| 91伦理片视频国产精品久久久| 女人18毛片a级毛片| 亚洲国产精品毛片av不卡在线| 国产一区二区三区影院| 丝袜国产高跟亚洲精品91| av资源在线永久免费观看| 国产婷婷成人久久av免费| 久久精品成人一区二区三区| yw尤物av无码国产在线观看| 亚洲欧美日本| 亚洲色欲Aⅴ无码一区二区| 白白色发布永久免费观看视频 | 亚洲综合精品成人| www.av在线.com| 蜜桃视频永久免费在线观看| 午夜精品久久久久久久| 国产无遮挡又黄又爽在线观看| 国产精品99久久免费| 白丝美女被狂躁免费视频网站| 少妇隔壁人妻中文字幕| 国产大屁股视频免费区| 无码福利写真片视频在线播放|