0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何檢測丟包?常用這兩種方式

億佰特物聯(lián)網(wǎng)應用專家 ? 2023-08-25 08:22 ? 次閱讀

丟包重傳是數(shù)據(jù)通信應用里面一項非常重要的功能,特別是在無線通信中是一項決定通信協(xié)議先進程度的指標。今天主要著重介紹如何檢測丟包,之后再介紹重傳機制。

如何檢測丟包?

要想丟包重傳,首先必須得檢測到丟包,沒有丟包就沒有重傳。在無線通信中,對于丟包的檢測通常有兩種方式:載波監(jiān)聽應答機制。

01

載波偵聽

載波偵聽是一種常見的丟包檢測方法,而在載波偵聽基礎之上又發(fā)展出CSMA/CA。CSMA/CA也可以看做一種重傳機制,我們經(jīng)常使用的Wi-FiZigBee就采用了這種機制。通信設備在發(fā)送消息前,會打開接收并維持一段很短的時間。在這個很短的時間內(nèi),無線單元會檢測同頻段是否有其它的干擾信號,例如ZigBee設備在做載波偵聽時,既要檢測是否有Wi-Fi、藍牙在發(fā)射信號,又會檢測是否有其它的ZigBee在發(fā)射信號。如果干擾信號來自Wi-Fi或者藍牙,ZigBee設備會測量它的功率有沒有自己大,功率沒自己大就壓過去,功率比自己大就果斷丟包;而ZigBee設備在載波偵聽時如果遇到其它的ZigBee設備,不管對方功率是否比自己大,都會主動丟包,即讓別人先走。

02

應答機制

判斷丟包的另一個方法是增加應答機制,通常通信協(xié)議都會有OSI七層模型。七層協(xié)議中從鏈路層開始,每一層都可以添加應答機制。層級越低越接近硬件,應答機制的響應就越快。

77683972-42dd-11ee-8e12-92fbcf53809c.png

OSI七層模型

我們還是以ZigBee的應答機制為例。ZigBee的OSI模型,具有應答機制的目前僅限MAC層(數(shù)據(jù)鏈路層)APS層(傳輸層)。但是在實際應用中,很多時候還會為應用層添加應答機制。MAC層的應答是響應最快的,也叫做MAC-ACK,通常都在ZigBee的無線收發(fā)單元中硬件自動產(chǎn)生。接收端設備收到ZigBee數(shù)據(jù)幀后120微秒以廣播的方式發(fā)出來。同時MAC-ACK也是ZigBee中最短的幀,幀長只有5字節(jié),加上幀前導碼和同步幀累計11字節(jié)。按照ZigBee的250kbps傳輸速率每個字節(jié)需要32微秒,一個MAC-ACK幀的占空時間352微秒。也就意味著發(fā)送端在發(fā)送一個MAC幀后,會在120+352=472微秒后收到該MAC幀對應的MAC-ACK。同樣ZigBee的MAC層也規(guī)定發(fā)送端如果在540微秒內(nèi)沒有收到對應的MAC-ACK則認為是丟包。

MAC-ACK采用廣播發(fā)送,首先可以減少MAC-ACK幀中表示地址的字段,減少幀長度,讓ACK幀占空時間更短,發(fā)送端可以根據(jù)MAC-ACK幀中的幀序號來判斷是否自己的MAC-ACK;其次MAC-ACK采用廣播的方式,也可以提醒其它的ZigBee設備自己正在通信,其它的ZigBee設備如果這個時候也在進行載波偵聽,就能主動避讓正在通信的設備。在ZigBee的MAC層,載波偵聽和MAC-ACK是雙管齊下,這樣能保證丟包檢測的準確性。另外ZigBee的廣播消息是不會產(chǎn)生MAC-ACK的。

77bdd800-42dd-11ee-8e12-92fbcf53809c.png

ZigBee參考模型

多元化的丟包檢測機制

ZigBee除了MAC層有應答機制,傳輸層和應用層也有應答機制。ZigBee是一個多跳的Mesh網(wǎng)絡,而MAC層的傳輸只能滿足單跳傳輸,因此ZigBee在傳輸層也做了應答,也叫做APS-ACK。ZigBee發(fā)送端把一個消息傳輸給ZigBee接收端,中間會經(jīng)過多個ZigBee路由器節(jié)點的轉(zhuǎn)發(fā)。接收端收到消息后,會通過相同的路由路徑,把APS-ACK發(fā)給發(fā)送端,發(fā)送端收到APS-ACK就認為發(fā)送消息到達了接收端。如果發(fā)送端在6秒(默認值)后沒有收到APS-ACK則會認為數(shù)據(jù)丟包。

ZigBee的系統(tǒng)中通常都只對應用層開放接口,在應用層開放的接口中最常見的就是一個叫做“AF Data Confirm”的檢測接口,它綜合了MAC層丟包(含MAC-ACK丟包和載波偵聽丟包)、網(wǎng)絡層丟包及傳輸層丟包等底層丟包信息。ZigBee的頂層應用中可以知道當前發(fā)送的消息是否丟包。

應用層的應答

MAC層和傳輸層的丟包檢測,都屬于系統(tǒng)層的丟包。還有一種丟包就是應用層的丟包,比如一個調(diào)光開關給一個空調(diào)設備發(fā)了一條“把亮度調(diào)到50%”的指令。這條指令如果不丟包,會有什么結(jié)果?肯定是空調(diào)會去執(zhí)行“把亮度調(diào)到50%”,但是空調(diào)只有溫度沒有亮度,也就是說這條指令發(fā)給了不該發(fā)的目標。這個時候就需要應用層的應答來解決這個問題。比如空調(diào)收到了“把亮度調(diào)到50%”后,可以向發(fā)送端回復應用層應答“看清楚我不是燈泡”。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 無線
    +關注

    關注

    31

    文章

    5468

    瀏覽量

    173634
  • 檢測
    +關注

    關注

    5

    文章

    4509

    瀏覽量

    91640
  • 數(shù)據(jù)通信

    關注

    2

    文章

    432

    瀏覽量

    33816
  • CSMA
    +關注

    關注

    0

    文章

    28

    瀏覽量

    13004
收藏 人收藏

    評論

    相關推薦

    ADC12D1600和ADC12D1600RF這兩種型號之間有什么區(qū)別?

    您好,板子之前采用的是ADC12D1600,現(xiàn)在想換ADC12D1600RF; 請問: 1.這兩種型號之間有什么區(qū)別?(一個高速采樣,一個射頻采樣) 2.ADC12D1600RF是pin compatible的,能否在不改變已有的PCB上直接進行替換?
    發(fā)表于 01-10 06:10

    華納云如何解讀WinMTR的率數(shù)據(jù)?

    WinMTR顯示的率數(shù)據(jù)是指在網(wǎng)絡路徑上,從你的計算機到目標主機之間,數(shù)據(jù)丟失的百分比。率是網(wǎng)絡穩(wěn)定性的一個重要指標,它可以幫助識
    的頭像 發(fā)表于 12-30 16:51 ?141次閱讀

    什么是電流保護的接線方式?有哪兩種接線方式?

    方式。下面將對這兩種接線方式進行介紹。 一、完全星形接線方式 完全星形接線方式,也稱為三相三繼電器接線
    的頭像 發(fā)表于 10-06 17:37 ?1796次閱讀
    什么是電流保護的接線<b class='flag-5'>方式</b>?有哪<b class='flag-5'>兩種</b>接線<b class='flag-5'>方式</b>?

    Linux應用層控制外設的兩種不同的方式

    眾所周知,linux下一切皆文件,那么應用層如何控制硬件層,同樣是通過 文件I/O的方式來實現(xiàn)的,那么應用層控制硬件層通常有兩種方式。
    的頭像 發(fā)表于 10-05 19:03 ?646次閱讀
    Linux應用層控制外設的<b class='flag-5'>兩種</b>不同的<b class='flag-5'>方式</b>

    接地保護分為哪兩種方式

    接地保護是電氣工程中非常重要的一安全措施,其目的是確保電氣設備和系統(tǒng)在發(fā)生故障時能夠安全地將電流導向地面,從而保護人身安全和設備安全。接地保護主要分為兩種方式:工作接地和保護接地。以下是對
    的頭像 發(fā)表于 08-05 10:24 ?1266次閱讀

    渦流檢測常用檢測方式

    渦流檢測是一非破壞性檢測技術,廣泛應用于金屬構(gòu)件的無損檢測。它利用電磁感應原理,通過在被檢測物體中產(chǎn)生渦流,
    的頭像 發(fā)表于 07-26 15:26 ?1054次閱讀

    plc與傳感器的兩種連接方式

    在工業(yè)自動化領域,PLC(可編程邏輯控制器)與傳感器的連接是實現(xiàn)自動化控制的關鍵環(huán)節(jié)。本文將詳細介紹PLC與傳感器的兩種主要連接方式:模擬量連接和數(shù)字量連接。這兩種連接方式各有優(yōu)缺點,
    的頭像 發(fā)表于 07-25 09:36 ?1606次閱讀

    wdm設備的兩種傳輸方式

    系統(tǒng)中,有多種傳輸方式,其中最常見的兩種是密集波分復用(DWDM)和粗波分復用(CWDM)。 1. 密集波分復用(DWDM) 1.1 DWDM技術原理 密集波分復用(Dense Wavelength Division Multiplexing,簡稱DWDM)是一
    的頭像 發(fā)表于 07-18 09:45 ?528次閱讀

    三相負載的連接方式有哪兩種

    三相負載的連接方式主要有星形連接(Y連接)和三角形連接(Δ連接)兩種。這兩種連接方式在電氣工程中非常常見,它們各自具有不同的特性和應用場景。下面將介紹
    的頭像 發(fā)表于 07-17 10:33 ?5185次閱讀

    控制器有哪兩種實現(xiàn)方式?各有何優(yōu)缺點?

    介紹這兩種實現(xiàn)方式的優(yōu)缺點。 硬件控制器 硬件控制器是一使用專用硬件電路來實現(xiàn)控制功能的控制器。它通常由一組邏輯電路、寄存器、計數(shù)器等組成,用于實現(xiàn)特定的控制邏輯。 優(yōu)點: 性能高 :由于硬件控制器使用專用電路
    的頭像 發(fā)表于 06-30 10:33 ?1431次閱讀

    PCBA加工中常見的兩種焊接方式詳解

    ,在PCBA行業(yè)中經(jīng)常被使用。接下來深圳PCBA加工廠家為大家詳細介紹PCBA加工手工焊接的兩種方式,為您揭秘行業(yè)內(nèi)的技術細節(jié)。 PCBA加工過程中常用焊接方式 第一
    的頭像 發(fā)表于 06-14 09:18 ?596次閱讀

    電動汽車的充電方式有哪兩種

    隨著電動汽車(EVs)的普及,充電站的建設也在全球范圍內(nèi)迅速擴展。電動汽車充電站主要分為大類:交流充電站和直流充電站。這兩種充電站各有特點,為不同類型的電動車輛提供充電服務。 交流充電站 交流
    的頭像 發(fā)表于 05-16 17:19 ?840次閱讀

    變頻器的兩種無速度傳感器矢量控制模式有什么區(qū)別?

    在變頻器控制模式中,有無速度矢量傳感器模式,該模式又分為兩種,無感矢量0和無感矢量1,這兩種模式的本質(zhì)原理是什么?對變頻器的控制電機性能和系統(tǒng)穩(wěn)定性響應什么的有什么影響?具體應用上哪種方式更好一點,或者而言
    發(fā)表于 02-22 21:45

    異或門兩種常見的實現(xiàn)方式

    這兩種實現(xiàn)方式都能夠?qū)崿F(xiàn)異或門的功能,具體的選擇取決于設計需求和邏輯門的可用性。實際構(gòu)建異或門時,可以使用離散電子元件(如晶體管、二極管等)或整合電路芯片(如 TTL、CMOS 等)來實現(xiàn)。
    的頭像 發(fā)表于 02-04 17:30 ?1.3w次閱讀
    異或門<b class='flag-5'>兩種</b>常見的實現(xiàn)<b class='flag-5'>方式</b>

    外部中斷有哪兩種觸發(fā)方式?如何選擇和設定?

    外部中斷有兩種觸發(fā)方式:電平觸發(fā)和邊沿觸發(fā)** 。
    的頭像 發(fā)表于 01-28 17:31 ?6563次閱讀
    外部中斷有哪<b class='flag-5'>兩種</b>觸發(fā)<b class='flag-5'>方式</b>?如何選擇和設定?