0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何检测丢包?常用这两种方式

亿佰特物联网应用专家 2023-08-25 08:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

丢包重传是数据通信应用里面一项非常重要的功能,特别是在无线通信中是一项决定通信协议先进程度的指标。今天主要着重介绍如何检测丢包,之后再介绍重传机制。

如何检测丢包?

要想丢包重传,首先必须得检测到丢包,没有丢包就没有重传。在无线通信中,对于丢包的检测通常有两种方式:载波监听应答机制

01

载波侦听

载波侦听是一种常见的丢包检测方法,而在载波侦听基础之上又发展出CSMA/CA。CSMA/CA也可以看做一种重传机制,我们经常使用的Wi-FiZigBee就采用了这种机制。通信设备在发送消息前,会打开接收并维持一段很短的时间。在这个很短的时间内,无线单元会检测同频段是否有其它的干扰信号,例如ZigBee设备在做载波侦听时,既要检测是否有Wi-Fi、蓝牙在发射信号,又会检测是否有其它的ZigBee在发射信号。如果干扰信号来自Wi-Fi或者蓝牙,ZigBee设备会测量它的功率有没有自己大,功率没自己大就压过去,功率比自己大就果断丢包;而ZigBee设备在载波侦听时如果遇到其它的ZigBee设备,不管对方功率是否比自己大,都会主动丢包,即让别人先走。

02

应答机制

判断丢包的另一个方法是增加应答机制,通常通信协议都会有OSI七层模型。七层协议中从链路层开始,每一层都可以添加应答机制。层级越低越接近硬件,应答机制的响应就越快。

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

OSI七层模型

我们还是以ZigBee的应答机制为例。ZigBee的OSI模型,具有应答机制的目前仅限MAC层(数据链路层)APS层(传输层)。但是在实际应用中,很多时候还会为应用层添加应答机制。MAC层的应答是响应最快的,也叫做MAC-ACK,通常都在ZigBee的无线收发单元中硬件自动产生。接收端设备收到ZigBee数据帧后120微秒以广播的方式发出来。同时MAC-ACK也是ZigBee中最短的帧,帧长只有5字节,加上帧前导码和同步帧累计11字节。按照ZigBee的250kbps传输速率每个字节需要32微秒,一个MAC-ACK帧的占空时间352微秒。也就意味着发送端在发送一个MAC帧后,会在120+352=472微秒后收到该MAC帧对应的MAC-ACK。同样ZigBee的MAC层也规定发送端如果在540微秒内没有收到对应的MAC-ACK则认为是丢包。

MAC-ACK采用广播发送,首先可以减少MAC-ACK帧中表示地址的字段,减少帧长度,让ACK帧占空时间更短,发送端可以根据MAC-ACK帧中的帧序号来判断是否自己的MAC-ACK;其次MAC-ACK采用广播的方式,也可以提醒其它的ZigBee设备自己正在通信,其它的ZigBee设备如果这个时候也在进行载波侦听,就能主动避让正在通信的设备。在ZigBee的MAC层,载波侦听和MAC-ACK是双管齐下,这样能保证丢包检测的准确性。另外ZigBee的广播消息是不会产生MAC-ACK的。

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

ZigBee参考模型

多元化的丢包检测机制

ZigBee除了MAC层有应答机制,传输层和应用层也有应答机制。ZigBee是一个多跳的Mesh网络,而MAC层的传输只能满足单跳传输,因此ZigBee在传输层也做了应答,也叫做APS-ACK。ZigBee发送端把一个消息传输给ZigBee接收端,中间会经过多个ZigBee路由器节点的转发。接收端收到消息后,会通过相同的路由路径,把APS-ACK发给发送端,发送端收到APS-ACK就认为发送消息到达了接收端。如果发送端在6秒(默认值)后没有收到APS-ACK则会认为数据丢包。

ZigBee的系统中通常都只对应用层开放接口,在应用层开放的接口中最常见的就是一个叫做“AF Data Confirm”的检测接口,它综合了MAC层丢包(含MAC-ACK丢包和载波侦听丢包)、网络层丢包及传输层丢包等底层丢包信息。ZigBee的顶层应用中可以知道当前发送的消息是否丢包。

应用层的应答

MAC层和传输层的丢包检测,都属于系统层的丢包。还有一种丢包就是应用层的丢包,比如一个调光开关给一个空调设备发了一条“把亮度调到50%”的指令。这条指令如果不丢包,会有什么结果?肯定是空调会去执行“把亮度调到50%”,但是空调只有温度没有亮度,也就是说这条指令发给了不该发的目标。这个时候就需要应用层的应答来解决这个问题。比如空调收到了“把亮度调到50%”后,可以向发送端回复应用层应答“看清楚我不是灯泡”。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 无线
    +关注

    关注

    31

    文章

    5761

    浏览量

    179532
  • 检测
    +关注

    关注

    5

    文章

    4985

    浏览量

    94440
  • 数据通信
    +关注

    关注

    2

    文章

    559

    浏览量

    35245
  • CSMA
    +关注

    关注

    0

    文章

    28

    浏览量

    13533
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于蓝牙信标的率分析

    造成“”(即接收不到部分广播)的原因是多方面的,主要可以从以下几个层面来解释:一、核心原因:蓝牙扫描的“被动监听”机制手机上的标准蓝牙扫描(特别是在App层面)是被动、非连续的。它不是像收音机
    的头像 发表于 03-26 10:56 343次阅读
    关于蓝牙信标的<b class='flag-5'>丢</b><b class='flag-5'>包</b>率分析

    虹科一体化车载测试实现多协议数据零

    在智能网联汽车开发中,CAN FD与车载以太网多协议并发的测试场景日益普遍,但传统分散式测试设备常因系统集成复杂、数据处理能力不足导致数据、延迟波动,影响测试准确性。面对这一挑战,虹科车辆
    的头像 发表于 02-05 17:00 688次阅读
    虹科一体化车载测试实现多协议数据零<b class='flag-5'>丢</b><b class='flag-5'>包</b>

    详解网络故障排查过程

    干运维这么多年,见过各种各样的故障,但有些问题真的是让人抓狂。前段时间遇到的一个MTU问题,差点让我怀疑人生。表面上看是简单的,实际上折腾了整整天才定位到根因。今天就把这个案例完整地记录下来,顺便把MTU相关的知识点系统地
    的头像 发表于 01-26 15:21 1203次阅读

    两种电流检测电路设计方案 高侧 低侧 最高耐压90V

    常用的电流检测电路有两种,一是低压侧电流检测,另一是高压侧电流
    的头像 发表于 11-24 16:16 1471次阅读
    <b class='flag-5'>两种</b>电流<b class='flag-5'>检测</b>电路设计方案 高侧 低侧 最高耐压90V

    以太网设备高温流量测试问题案例(晶振篇)

    测试人员发现一个奇怪的现象,设备在白天的测试中,均无现象,夜间设备继续运行,但是第二天一早就会发现已发生。该设备的用户接口是百兆以太网接口,利用5类非屏蔽双绞线与SmartBi
    的头像 发表于 11-21 15:37 4124次阅读
    以太网设备高温流量测试<b class='flag-5'>丢</b><b class='flag-5'>包</b>问题案例(晶振篇)

    用PLC实现卷径计算的两种算法

    卷径计算,是动态计算如钢卷,纸卷等存料量的一方法,它是实现张力控制和自动充放料、以及甩尾控制的重要前提。卷径计算目前主流的方法有两种,一是根据机列速度(产线速度)和和被测卷的转动角速度求得;另一
    的头像 发表于 11-14 16:54 2877次阅读
    用PLC实现卷径计算的<b class='flag-5'>两种</b>算法

    负压法 vs 正压法:手机外壳气密性检测仪的两种核心技术

    的手机外壳气密性检测仪主要采用两种核心技术:负压法和正压法。二者各有优劣,适用于不同的生产需求和检测场景。正压法是通过向手机外壳内部充入一定压力的气体(通常为洁净空
    的头像 发表于 11-05 16:19 710次阅读
    负压法 vs 正压法:手机外壳气密性<b class='flag-5'>检测</b>仪的<b class='flag-5'>两种</b>核心技术

    ADI GMSL技术两种视频数据传输模式的区别

    本文深入介绍GMSL技术,重点说明用于视频数据传输的像素模式和隧道模式之间的差异。文章将阐明这两种模式之间的主要区别,并探讨成功实施需要注意的具体事项。
    的头像 发表于 10-10 13:49 2865次阅读
    ADI GMSL技术<b class='flag-5'>两种</b>视频数据传输模式的区别

    GD32F470+LWIP TCP偶尔怎么解决?

    的重发机制。 因此认为是校验和之类的原因校验失败。 开启了交换机端口镜像,监听tcp到交换机后的数据流量,发现次上位机发送给板子出问题的tcp数据的校验和都是0x0000。
    发表于 09-29 06:43

    新能源电池气密性检测仪的核心工作原理

    气密性检测仪主要采用压差法和流量法两种核心原理来进行检测。压差法的工作过程是,首先将被测电池与一个已知容积的标准容器同时与检测仪相连,向
    的头像 发表于 09-27 15:22 764次阅读
    新能源电池<b class='flag-5'>包</b>气密性<b class='flag-5'>检测</b>仪的核心工作原理

    这两种TVS有啥不同?

    当我们查看TVS二极管的规格书,常会看到有以下两种种引脚功能标识图:对于初学者,看到感到疑惑,他们一样吗?他们有啥区别?为啥有的个尖头往外,阳极连在一起,有的个尖头往里,阴极连在一起?一连三问。EMC小哥根据自己经验略作分析
    的头像 发表于 09-15 20:27 1080次阅读
    <b class='flag-5'>这两种</b>TVS有啥不同?

    两种散热路径的工艺与应用解析

    背景:两种常见的散热设计思路 在大电流或高功率器件应用中,散热和载流能力是PCB设计中必须解决的难题。常见的两种思路分别是: 厚铜板方案:通过整体增加铜箔厚度(如3oz、6oz甚至更高),增强导热
    的头像 发表于 09-15 14:50 1059次阅读

    信宜宽厚检测为何多用光电测宽激光测厚的组合式测量方法?

    在板带材的工业检测中,宽厚参数(宽度与厚度)是衡量工件规格是否达标的关键指标,而检测这两种指标的方法确很多,为何工厂更常用光电测宽激光测厚的组合方式
    发表于 08-07 14:44

    两种驱动方式下永磁直线开关磁链电机的研究

    摘要:永磁开关磁链电机数学模型可以等效为永磁无刷电机,普遍采用方波驱动方式。在有限元基础上分析6/7极直线式磁链电机反电势波形,采用方波和正弦波驱动方式,比较两种方式下的电流、电压、平
    发表于 06-09 16:18

    两种感应电机磁链观测器的参数敏感性研究

    模式和发电模式下对闭环电压电流模型磁链观测器和滑模磁链观测器参数敏感性进行了研究,通过仿真和实验比较了这两种观测器对定、转子电阻及励磁电感的敏感性。同时还研究了基于这两种观测器的模型参考自适应系统
    发表于 06-09 16:16