WiMinet 評說(shuō)1.3:模擬式UDP中繼技術(shù)缺陷

發(fā)布時(shí)間:2024-2-23 16:20    發(fā)布者:wiminet
關(guān)鍵詞: 無(wú)線(xiàn)通訊
       在《WiMinet 評說(shuō) 1.2:多跳無(wú)線(xiàn)網(wǎng)絡(luò )的現狀》一文中,我們提到:在室外長(cháng)距離的無(wú)線(xiàn)自組織網(wǎng)絡(luò )中,由于節點(diǎn)之間的鏈路損耗較大,其鏈路預算相對不足,其包誤碼率PER會(huì )相應升高,也就是丟包概率 p 會(huì )比較大;而在一個(gè)大規模網(wǎng)絡(luò )中,某些分支節點(diǎn)的通訊鏈路又會(huì )比較深,也就是網(wǎng)絡(luò )跳數n 比較大,在這種情況下其通訊成功率Pn自然也就顯著(zhù)下降了,人們的切身感受就是這個(gè)鏈路不太穩定。

       此時(shí)人們的第一反應自然是上 TCP 算法,在發(fā)送節點(diǎn)啟用 TCP Client 算法,在接收點(diǎn)啟用 TCP Server 算法,實(shí)現端到端的控制,這樣不就可以解決多跳無(wú)線(xiàn)通訊網(wǎng)絡(luò )的可靠性了么?我們今天就來(lái)深入討論一下這個(gè)問(wèn)題。

       很顯然在一個(gè)真實(shí)的無(wú)線(xiàn)通訊系統中,每一個(gè)節點(diǎn)都是具備雙向收發(fā)能力的,但是為了更加清晰的描述數據流向,我們將原始數據的發(fā)出者定義為發(fā)射機,將目標數據的接受者定義為接收機;如下圖所示,我們定義左邊紅色的“鐵塔”為發(fā)射機,右邊藍色的“鍋蓋”為接收機。

       在一個(gè)較大規模的無(wú)線(xiàn)通訊網(wǎng)絡(luò )中,中繼通常有兩種存在形式,一種是獨立的中繼器,通常其硬件配置較高,性能也比較強勁,并安裝有多根天線(xiàn);另外一種是普通的數據節點(diǎn)本身承擔數據轉發(fā)的功能,這種節點(diǎn)成本較低,通常僅僅配置一根天線(xiàn)。無(wú)論其硬件配置和工作原理如何,它們都可以承擔數據轉發(fā)的功能,為了更加直觀(guān)的描述中繼的工作機制,我們以雙天線(xiàn)的中繼器為例。

       在多數情況下,負責參數通訊的還有外部的用戶(hù)系統,比如連接數據庫的上位機應用程序和連接現場(chǎng)工業(yè)傳感器嵌入式設備;通常負責發(fā)起數據請求的是上位機應用程序,二者以RJ45以太網(wǎng)線(xiàn)或者RS232電纜連接。

       負責采集數據并回傳的是嵌入式設備,二者以RS232電纜,TTL電平的串口或者GPIO端口直接相連。

       按照我們之前的約定,我們選定網(wǎng)絡(luò )中一個(gè)具有6跳的(5個(gè)中繼)分支鏈路,在該鏈路上一個(gè)標準的通訊業(yè)務(wù)流程通常如下:

  • 上位機系統發(fā)起數據請求
  • 數據請求通過(guò)有線(xiàn)電纜傳遞給發(fā)射機
  • 發(fā)射機將數據發(fā)送給1號中繼
  • 數據依次在中繼1→2→3→4→5之間傳遞,最后到達接收機
  • 接收機將數據通過(guò)有線(xiàn)電纜傳遞給嵌入式系統
  • 嵌入式系統采集數據


       注意到,這里僅僅是數據的下行請求過(guò)程,在嵌入式系統完成了數據的采集之后,就會(huì )將其作為應答回傳給上位機系統,其上行通訊流程剛好和下行傳輸完全相反:

  • 嵌入式系統送出采集到的數據
  • 數據應答通過(guò)有線(xiàn)電纜傳送給接收機
  • 接收機將數據發(fā)送給5號中繼
  • 數據依次在中繼5→4→3→2→1之間傳遞,最后到達發(fā)射機
  • 發(fā)射機將數據通過(guò)有線(xiàn)電纜傳遞給上位機系統
  • 上位機系統完成數據的存儲,計算和顯示


       我們都知道,有線(xiàn)通訊由于在封閉的通道中運行,其錯誤率通常在10-9~10-12,可靠性是非常高的,我們基本不用考慮丟包的問(wèn)題。這里為了敘述方便,我們將上位機應用程序的功能合并到發(fā)射機中去,將連接工業(yè)傳感器的嵌入式設備的功能合并到接收機中去。

       在該模型中,每一個(gè)角色的基本工作原理如下:

  • 發(fā)射機:產(chǎn)生數據請求,發(fā)送給中繼1,然后轉入接收狀態(tài),等待來(lái)自目標節點(diǎn)(接收機)的應答數據;如果在指定的時(shí)間之內收到了應答數據則代表通訊成功;如果沒(méi)有則重新發(fā)送請求并增加計數器;當計數器到達某個(gè)限定數值則認定通訊失敗。
  • 接收機:平時(shí)處于接收等待狀態(tài),一旦從中繼5接收到了來(lái)自發(fā)射機的請求數據,則立刻生成應答數據,并交給中繼5。
  • 中繼器:按照報文約定的指定的傳輸方向,復制報文并以重新發(fā)送給下一個(gè)接收節點(diǎn),包括中繼,發(fā)射機和接收機。


      上圖是丟包概率p = 10% 的時(shí)候的一種效果模擬圖。這里設定了5次數據重傳,從該圖我們看出來(lái)每一次的通訊丟包情況都不同:

  • 新數據請求,在發(fā)射機到中繼1的下行鏈路上就丟失了
  • 第1次重傳,在中繼2到中繼3的下行鏈路上丟失了
  • 第2次重傳,下行鏈路各跳全部成功,接收機正確的收到了數據,并生成了應答,但是應答數據在中繼5→中繼4的上行鏈路上丟失了
  • 第3次重傳,在中繼3到中繼4的下行鏈路上丟失了
  • 第4次重傳,下行鏈路各跳全部成功,接收機正確的收到了數據,并生成了應答,但是應答數據在中繼2→中繼1的上行鏈路上丟失了
  • 第5次重傳,在在中繼5到接收機的下行鏈路上丟失了
  • 重傳計數器到達極限,應用程序判定當前鏈路不穩定,通訊失!


       當然有的讀者心里會(huì )想,這個(gè)效果模擬圖太過(guò)于極端,上述流程中有好幾次差一點(diǎn)就通訊成功了呢,就差一口氣!如果我們加大嘗試的次數,說(shuō)不定就成功了呢?
      
       事實(shí)上在大多數情況下,加大嘗試次數,通訊成功率的確會(huì )有一定的改善,但無(wú)法從根本上消除問(wèn)題?紤]到有線(xiàn)鏈路的和無(wú)線(xiàn)多跳的通訊延遲,再疊加上目標設備的數據采集行為,下行或者上行鏈路的傳輸時(shí)間可能高達數百毫秒。

       在真實(shí)的環(huán)境中,還要考慮到各種系統延遲和等待操作,比如Windows,Linux等主流桌面操作系統的調度延遲,各級無(wú)線(xiàn)節點(diǎn)的單片機延遲,這個(gè)時(shí)間往往還需要進(jìn)一步加大,最終這個(gè)總的時(shí)間往往高達數秒甚至幾十秒,在一個(gè)有幾百個(gè)節點(diǎn)的數據采集系統中,系統整體掃描一遍,耗時(shí)將會(huì )比較長(cháng)了。

       從上述分析可以看出,端到端的重傳機制在跳數較深的無(wú)線(xiàn)自組織網(wǎng)絡(luò )中難以保證足夠的可靠性,即便犧牲延時(shí),加大重傳次數,效果也不會(huì )有根本性的改善。那么問(wèn)題來(lái)了!我們要怎么做才可以獲得理想的可靠性與實(shí)時(shí)性呢?敬請關(guān)注后續系列文章的深入解讀。
本文地址:http://selenalain.com/thread-851661-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页