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

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

3天内不再提示

一文详解载波监听技术(CSMA算法分析)

DIri_ALIFPGA 2018-02-02 16:09 次阅读

基本介绍

在CSMA中,由于通道的传播延迟,当两个站点监听到总线上没有存在信号而发送帧时,仍会发生冲突。由于CSMA算法没有冲突检测功能,即使冲突己发生,仍然要将已破坏的帧发送完,使总线的利用率降低。改进方案是使站点在传输时间继续监听媒体,一旦检测到冲突,就立即停止发送,并向总线上发一串短的阻塞报文(Jam),通知总线上各站冲突己发生,可以提高总线的利用率。

载波监听多路访问CSMA的技术,也称做先听后说LBT(Listen Before Talk)。要传输数据的站点首先对媒体上有无载波进行监听,以确定是否有别的站点在传输数据。假如媒体空闲,该站点便可传输数据;否则,该站点将避让一段时间后再做尝试。这就需要有一种退避算法来决定避让的时间,常用的退避算法有非坚持、1-坚持、P-坚持三种。

非坚持算法

算法规则为:⑴假如媒本是空闲的,则可以立即发送。⑵假如媒体是忙的,则等待一个由概率分布决定的随机重发延迟后,再重复前一步骤。采用随机的重发延迟时间可以减少冲突发生的可能性。非坚持算法的缺点是:即使有几个着眼点为都有数据要发送,但由于大家都在延迟等待过程中,致使媒体仍可能处于空闲状态,使用率降低。

1-坚持算法

算法规则:⑴假如媒体空闲的,则可以立即发送。⑵假如媒体是忙的,则继续监听,直至检测到媒体是空闲,立即发送。⑶假如有冲突(在一段时间内未收到肯定的回复),则等待一随机量的时间,重复步骤⑴~⑵。

这种算法的优点是:只要媒体空闲,站点就立即可发送,避免了媒体利用率的损失;其缺点是:假若有两个或两个以上的站点有数据要发送,冲突就不可避免。

P-坚持算法

算法规则:⑴监听总线,假如媒体是空闲的,则以P的概率发送,而以(1-P)的概率延迟一个时间单位。一个时间单位通常等于最大传播时延的2倍。⑵延迟一个时间单位后,再重复步骤⑴。⑶假如媒体是忙的,继续监听直至媒体空闲并重复步骤⑴。

P-坚持算法是一种既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的折中方案。问题在于如何选择P的有值,这要考虑到避免重负载下系统处于的不稳定状态。假如媒体是忙时,有N个站有数据等待发送,一旦当前的发送完成时,将要试图传输的站的总期望数为NP。假如选择P过大,使NP>1,表明有多个站点试图发送,冲突就不可避免。最坏的情况是,随着冲突概率的不断增大,而使吞吐量降低到零。所以必须选择适当P值使NP<1。当然P值选得过小,则媒体利用率又会大大降低。

帧的平均传输时延与吞吐量的关系曲线

载波监听多路访问/冲突检测(CSMA/CD):在CSMA中,由于通道的传播延迟,当两个站点监听到总线上没有存在信号而发送帧时,仍会发生冲突。由于CSMA算法没有冲突检测功能,即使冲突己发生,仍然要将已破坏的帧发送完,使总线的利用率降低。一种CSMA的改进方案是使站点在传输时间继续监听媒体,一旦

网络通信原理图

基本定义

检测到冲突,就立即停止发送,并向总线上发一串短的阻塞报文(Jam),通知总线上各站冲突己发生,这样通道容量不致因白白传送己受损的帧而浪费,可以提高总线的利用率,这就称作载波监听多路访问/冲突检测协议,简写为CSMA/CD,这种协议己广泛应用于以太网和IEEE802.3标准中。

此时,浪费掉的带宽就减少为用检测冲突所花费的时间。那么,怎么来估算所需的冲突检测时间呢?对于基带总线而言,此时用于检测一个冲突的时间等于任意两个站之间最大的传播延迟的两倍,所以对于基带CSMA/CD,要求分组长度应该至少两倍于传播延迟,否则在检测出冲突之前传输已经完成,但实际上分组被冲突所破坏。

发展应用

CSMA/CD是用争用的方法来决定对介质的访问权。而这种争用协议一般用于总线网。载波监听多路访问(CSMA) 发展情况及存在问题:

CSMA/CD总线网络中的一个关键技术问题是冲突控制或冲突分解问题,即由于发送冲突而遭碰撞的报文要经过一段随机延时后重发,典型的冲突控制算法,亦即后退算法有以下五种:二进制指数后退算法BEB、多项式后退算法PB、线性增值后退算法LIB、固定平均后退算法FMB、顺序后退算法OB。

冲突检测协议

在CSMA中,由于信道传播时延的存在,即使总线上两个站点没有监听到载波信号而发送帧时,仍可能会发生冲突。由于CSMA算法没有冲突检测功能,即使冲突已发生,仍然将已破坏的帧发送完,使总线的利用率降低。

一种CSMA的改进方案是使发送站点传输过程中仍继续监听媒体,以检测是否存在冲突。假如发生冲突,信道上可以检测到超过发送站点本身发送的载波信号的幅度,由此判定出冲突的存在。一于检测到冲突,就立即停止发送,并向总线上发一串阻塞信号,用以通知总线上其它各有关站点。这样,通道容量就不致因白白传送已受损的帧而浪费,可以提高总线的利用率。这种方案称做载波监听多路访问/冲突检测协议,简写为CSMA/CD,这种协议已广泛应用于局域网中。

CSMA/CD的代价是用于检测冲突所花费的时间。对于基带总线而言,最坏情况下用于检测一个冲突的时间等于任意两个站之间传播时延的两倍。从一个站点开始发送数据到另一个站点开始接收数据,也即载波信号从一端传播到另一端所需的时间,称为信号传播时延。信号传播时延(μs)=两站点的距离(m)/信号传播速度(200m/μs)。假定A、B两个站点位于总线两端,两站点之间的最大传播时延为tp。当A站点发送数据后,经过接近于最大传播时延tp时,B站点正好也发送数据,此时冲突便发生。发生冲突后,B 站点立即可检测到该冲突,而A站点需再经过一份最大传播时延tp后,才能检测出冲突。也即最坏情况下,对于基带CSMA/CD来说,检测出一个冲突的时间等于任意两个站之间最大传播时延的两倍(2tp)。

数据帧从一个站点开始发送,到该数据帧发送完毕所需的时间和为数据传输时延;同理,数据传输时延也表示一个接收站点开始接收数据帧,到该数据帧接收完毕所需的时间。数据传输时延(s)=数据帧长度(bit)/数据传输速率(bps)。若不考虑中继器引入的延迟,数据帧从一个站点开始发送,到该数据帧被另一个站点全部接收所需的总时间,等于数据传输时延与信号传播时延之和。

由上述分析可知,为了确保发送数据站点在传输时能检测到可能存在的冲突,数据帧的传输时延至少要两倍于传播时延。换句话说,要求分组的长度不短于某个值,否则在检测出冲突之前传输已经结束,但实际上分组已被冲突所破坏。

由于单向传输的原因,对于宽带总线而言,冲突检测时间等于任意两个站之间最大传播时延的4倍。所以,

对于宽带CSMA/CD来说,要求数据帧的传输时延至少4倍于传播时延。

在CSMA/CD算法中,一旦检测到冲突并发完阻塞信号后,为了降低再次冲突的概率,需要等待一个随机时间,然后再使用CSMA方法试图传输。为了保证这种退避操作维持稳定采用了一种称为二进制指数退避和算法,其规则如下:⑴对每个数据帧,当第一次发生冲突时,设置一个参量L=2;⑵退避间隔取1到L个时间片中的一个随机数,1个小时片等于两站之间的最大传播时延的两倍;⑶当数据帧再次发生冲突,由将参量L加倍;⑷设置一个最大重传次数,超过该次数,则不再重传,并报告出错。

二进制指数退避算法是按后进先出LIFO(List In First Out)的次序控制的,即未发生冲突或很少发生冲突的数据帧,具有优先发送的概率;而发生过多次冲突的数据帧,发送成功的概率就更少。

IEEE 802.3就是采用二进制指数退避和1-坚持算法的CSMA/CD媒体访问控制方法。这种方法在低负荷时,如媒体空闲时,要发送数据帧的站点能立即发送;在重负荷时,仍能保证系统的稳定性。由于在媒体上传播的信号会衰减,为确保能检测出冲突信号,CSMA/CD总线网限制一段无分支电缆的最大长度为500米。

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

    关注

    0

    文章

    28

    浏览量

    12990

原文标题:载波监听

文章出处:【微信号:ALIFPGA,微信公众号:FPGA极客空间】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于空子载波的信噪比估计算法

    通信系统会插入些空子载波进行频谱成型.这些载波不携带任何有用信息,能量为0.在经过信道后,空子载波的能量均值即为噪声方差.本文正是基于上述分析
    发表于 04-23 11:51

    基于小波包变换多载波调制通信系统的均衡算法

    :JSJY.0.2010-04-007【正文快照】:0引言基于小波包变换的多载波调制是采用小波包函数作为子载波种新型多载波调制技术,以小
    发表于 05-06 09:03

    CSMA算法

    亲们,有非坚持CSMA算法公式的推导过程吗?
    发表于 06-01 11:11

    关于RFID的载波监听问题

    使用nRF24LE1制作RFID有源射频,但是载波监听这块不是很了解,有没有高人帮帮我,谢谢了
    发表于 08-22 08:58

    网络监听技术研究与分析

    系统地阐述了网络监听和包过滤技术的实施方法和步骤,,并对基于Libpcap/Winpcap 和NDIS 的网络监听技术进行了深入的剖析,,对其
    发表于 08-13 09:45 9次下载

    WLAN中OFDM系统载波频率同步算法研究

    针对OFDM技术中的载波频率同步问题,分析载波频率偏差对OFDM系统造成的影响,总结了基于IEEE802.11标准的三种常见的频偏估计算法
    发表于 10-08 16:32 18次下载

    什么是CSMA/CD ?

    什么是CSMA/CD ?CSMA/CD是“载波侦听多路访问/冲突检测”(Carrier Sense Multiple Access with Collision Detect)的缩写。利用CS
    发表于 10-27 13:07 1.2w次阅读

    什么是CSMA/CD (CSMA with Collisio

    什么是CSMA/CD (CSMA with Collision Detection)  英文缩写: CSMA/CD (CSMA with Collision Detect
    发表于 02-22 17:27 1131次阅读

    什么是CSMA (Carrier Sense Multipl

    什么是CSMA (Carrier Sense Multiple Access)  英文缩写: CSMA (Carrier Sense Multiple Access) 中文译名: 载波侦听多路访问 分  
    发表于 02-22 17:28 1444次阅读

    什么是载波侦听多路访问/冲突避免(CSMA/CA)协议

    什么是载波侦听多路访问/冲突避免(CSMA/CA)协议 发展背景(出因): 在总线和环形拓扑中,网络上的设备必须共享传输线路,为解决同
    发表于 04-09 11:31 1.4w次阅读

    CSMA/CA工作流程 CSMA/CA与CSMA/CD的区别

    数据传输冲突的算法,其特点是发送包的同时不能检测到信道上有无冲突,只能尽量“避免”。 CSMA/CA工作流程: CSMA/CA协议的工作流程分为两个 第个是。送出数据前,
    的头像 发表于 08-24 10:49 1.4w次阅读

    详解CSMA/CA协议

    。如果个站点没有侦听到持续时间的信息,例如,当监听载波时,这帧的持续时间字段已经传送过,则站点只能依靠物理层检测。
    的头像 发表于 09-14 16:03 7321次阅读

    详解精密封装技术

    详解精密封装技术
    的头像 发表于 12-30 15:41 1654次阅读

    详解pcb不良分析

    详解pcb不良分析
    的头像 发表于 11-29 17:12 1158次阅读

    详解pcb的msl等级

    详解pcb的msl等级
    的头像 发表于 12-13 16:52 9552次阅读