对照无线网络,有线网络的集线器和中继器设计中。採用了CSMA/CD技术。该技术早期是用来解决有线网络中,共享介质下的多路网络接入问题,该技术仍然在当今的10M/100M半双工网络中使用。在更高的带宽情况下,比方千M网络,则採用全双工技术以取代CSMA/CD。

本文主旨是希望能理清CSMA/CD和CSMA/CA的关系与差别。接下来。我们首先会说明最基础的CSMA协议的工作机制,然后我们说明CSMA/CD的工作机制。最后,对照前一份文档,我们分析CSMA/CD和CSMA/CA的差别。

注:本文中有关有线网络的理论非常多參考自《Ethernet:The Definitive Guide》。

CSMA

CSMA的全称是Carrier Sense Multiple Access。在笔者的理解中。其更趋向于一种理论研究的随机接入协议。或者说,基于其思想诞生了比方CSMA/CD与CSMA/CA这种详细协议。

CSMA能够分成下面三种:

1-persistentes CSMA(1坚持-CSMA)
0-persistentes CSMA(0坚持-CSMA)
p-persistentes CSMA(p坚持-CSMA)

从历史上而言,CSMA实际上是源于aloha协议。为了理清协议的设计思路的脉络关系,我们还是有必要对原始的aloha协议做一个说明。Aloha是为无线工作环境设计的一个协议,其最初的思想非常easy:“一个aloha节点仅仅要有数据的话,该节点就能够马上发送。当该节点数据发送完之后。其须要等待接收方反馈的ACK。若成功接收到ACK之后,那么这一次传输成功。假设没有收到ACK的话,那么这一次传输失败。该aloha节点会觉得网络中还存在另外一个aloha节点也在发送数据,所以造成接收方发生了冲突。最后这些冲突的节点会随机选择一个时间进行回退(backoff),以避免下一次冲突。
若冲突节点回退完毕。其才干够又一次进行发送"。

实际上从初始的aloha协议中。我们就能够看到如今CSMA/CA的影子,网络协议的设计都是符合KISS原则的(Keep It Simple and Stupid),所以实际中我们所应用到的网络协议,其思想都不会是特别复杂。基于aloha协议的思想,CSMA协议对其最大的改进即是引入了LBT机制(Listen Before Talk),在CSMA中的CS(Carrier Sense)即是指Listen监听机制。

在LBT机制下CSMA的思想就是:“CSMA节点在每一次发送之前先监听信道是否是空暇的,假设信道不是空暇的话。那么就不发送数据,等待一会再进行尝试。仅仅有确保是空暇的情况下,才干够发送数据,从而避免打断其它节点正在进行的传输过程"。

详细CSMA的工作机制关联着我们之前所叙述的三种CSMA模式,下面我们分别进行叙述:

1-persistentes CSMA:“节点须要持续监听信道。一旦节点发现信道空暇后,则立马发送数据。”。

0-persistentes CSMA:“节点不连续监听信道,若该时刻节点监听信道为busy,那么等待一段时间后。再次进行监听。
若节点该时刻监听信道为空暇,则立马发送数据。”
p-persistentes CSMA:“节点须要持续监听信道,一旦发现信道空暇后,节点以p的概率立马发送数据。以1-p的概率不发送数据。
若节点该时刻不发送数据。那么等待一段时间后。再次进行监听,并以p概率再次发送”。(注:这里所述的p概率能够理解成抛骰子赌大小,假设抛大,那么就发送,反之不发送。当中抛大的概率就是p,而抛小的概率就是1-p)

在以上三种CSMA机制中,若节点传输发送冲突。则类似aloha的基本算法,随机等待一个时间之后,再次进行重试。

以上,我们分析了CSMA的基本工作模式。或者称之为CSMA的基本思想,接下来,我们详细讨论有线网络所应用到的CSMA/CD协议。

CSMA/CD

CSMA/CD的全称是Carrier Sense Multiple Access with Collision Detection,即基于冲突检測的载波监听多路訪问技术。CSMA/CD也是最初802.3中的核心,应用在10M/100M的半双工有线网络中。眼下CSMA/CD的应用场景少了非常多,大部分都直接基于全双工工作。

CSMA/CD从思想上应该是源自于1-坚持CSMA,即1-persistentes CSMA。在其基础上。增加了CD(Collision Detection)的机制。冲突检測。即CD的机制主要是用来发现冲突。并解决冲突的。

我们以下描写叙述CSMA/CD的详细工作机制:

“节点发送数据之前须要持续监听信道。一旦节点发现信道空暇,则立马发送数据。在发送数据的同一时候,节点持续监听信道,“探測” 是否有别的节点也在该时刻发送数据。

若传输过程中没有检測到别的节点的传输,那么成功传输。

在成功传输后,节点须要等待帧间间隔IFG(interframe gap)时间后。能够进行下一次传输。

若在传输过程中,探測到别的节点也在传输,那么则检測到冲突。发生冲突后,节点立马停止当前的传输。而且发送特定的干扰序列(JAM序列),用以加强该次冲突(用以保证其余全部节点都检測到该次冲突),在JAM序列发送完之后,节点随机选择一个时间倒数进行backoff。当backoff完毕之后。节点能够尝试再次重传”。

在上述的描写叙述中,我们能够发现,CSMA/CD和1-坚持CSMA是很相近的,与传统的aloha相比,CSMA/CD不只加入了LBT的机制。还引入了冲突检測(Collision Detection)机制,用以在传输中立马发现冲突。而不是依靠ACK的反馈来推断是否有冲突发生,从而提高网络效率。

在CSMA中。我们还须要描写叙述一些细节内容:

载波检測(CS:carrier sense):在有线网络中,载波检測实际上即是接收信道上的信息,并加以解析。用这种方式推断共享信道上有没有节点正在传输信息。从而达到监听(listen)的作用。当中载波检測这个名字实际上是从AM/FM接收中来的。即载波就是携带调制信息的模拟信号,从而载波监听就是对是不是有AM/FM信号进行侦听。
冲突检測(CD:collision detection):在一些理论中,介绍冲突检測为“发送的同一时候,接收同一个信道上的数据,并比較发送数据Tx与接收数据Rx”。若Tx=Rx,则没有冲突发生,若Tx≠Rx。则识别到一个冲突。在一些project介绍中。介绍检測冲突的方法是“介质依赖法”。连接段介质(实际上是电缆)拥有传输和接受数据的独立路径(双绞线中有单独的发送和接受回路)。冲突检測是在同一个接收段收发器中,借助同一时候发生在传输和接收数据路径上的活动来完毕的。
在同轴电缆介质上,收发器通过检測同轴电缆的DC(即直流信号)信号等级来检測冲突。当两个或者多个基站同一时候传输时,同轴上的平均DC电压可达到触发同轴收发器中的冲突检測电压等级。同轴收发器连续检測同轴电缆上的平均电压等级,若平均电压等级表明。有多个基站同一时候传输内容后。其会发送JAM信号到以太网接口处。

发送JAM信号的这个过程比冲突检測时间较长,多出的时间包括了依据10Mbps以太网上总信号延迟算出的时间(即包括了JAM信号的传输时间)。

时隙与捕获效应:在有线网络中,捕获效应被定义为1个时隙长度内没有冲突发生。同一时候时隙被定义为512bit在10Mbps或100Mbps网络的发送时间。在有线网络中选择为512bit作为一个时隙的參考值。是考量了为发送信号到对端的最大往返时间。该最大往返时间包括了电磁波通过物理层的往返时间以及传输JAM信号所花费的时间。(JAM信号是加强冲突的一个通知信号)。若节点已捕获信道,即已发送512bit。那么对方不一定会来打断你当前的传输,1.即确保对方能检測到你,2.而且反馈的JAM信号也能通知到你。同一时候。若从电磁波传输的角度而言,512bit在10M中传输的时间换算成电磁波可以传播的距离大约是2800米,512bit在100M中传输的时间换算成电磁波传播的距离大约是200米,对照有线网络的双绞线长度(大约100米)而言,这些參数还是可以接受的。
在1000Mbps网络以及其上,都是默认物理层採用全双工模式的。若还是採用CSMA/CD的模式。那么这里的时隙长度会被定义为512byte的长度,只是眼下这个可能是学术上的使用方法。而非协议的定稿。

重传机制(Backoff与BEB机制):若节点检測到冲突发生在前512个字节,即一个时隙内。那么节点首先进行backoff,然后进行重传。这里backoff是採用BEB(二进制指数回退算法),即在一个随机窗体内。选择一个随机数并乘以时隙(time slot)进行回退。在第0~10次回退过程中。每回退一次,随机窗体放大一倍,在第11次到第16次过程中。依旧进行回退,并尝试又一次发送数据包。可是不放大窗体大小。第17次若失败,则丢包。依照普通情况下,冲突不会发生在512字节以后的部分,即已经发生了捕获效应,即节点已经捕获到了信道。
只是比方时间不同步这种一些情况出现。导致冲突发生在512字节之后。貌似是不进行重传,直接丢包的。

CSMA/CD与CSMA/CA

在综述完CSMA/CD后。对照我们前一次叙述的CSMA/CA,我们总结这两者之间的联系和差别。

联系:CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心就是LBT机制。换言之,两个在接入信道之前都须要进行监听。当发现信道空暇后,其才干够进行接入。

差别:
在思想上:
CSMA/CD是源自于1-坚持CSMA,而CSMA/CA是源自于p-坚持CSMA。即CSMA/CD是持续监听信道,一旦发现信道空暇,则立马传输。
CSMA/CA是边进行backoff回退过程边进行监听。若信道空暇则进行backoff。否则挂起随机倒数计数器。
仅仅有当backoff counter(即随机倒数计数器)回退至0时,其才可发送数据。

在冲突检測上:
CSMA/CD中是採用冲突检測+JAM机制。即边发送边监听实时信道状态,能够在传输过程中,实时推断信道中是否有冲突发生,一旦发现了冲突。则发送JAM信号以加强冲突,其余节点也因识别到该JAM信号,从而停止当前传输。
若整个过程中,节点都没有发现冲突以及JAM反馈。那么该次传输成功。

CSMA/CA是源自于aloha的ACK反馈机制,若接收到对方反馈的ACK后。那么这一次传输成功。否则失败。
在监听机制上:
因为CSMA/CD是有线网络,故其监听是直接解调有线介质上的信息。若没有信息,则信道空暇,若存在信息,则信道繁忙。
在CSMA/CA中,不仅引入了物理载波监听与虚拟载波监听这两种技术,同一时候在物理载波监听中,还分为能量检測(Energy Detection)和载波感知(Carrier sense)。
同一时候该载波感知所指是利用无线帧物理层头部中的固定序列(即preamble),利用已知序列和其做相关运算(自相关或者互相关运算)进行识别。具体的一些内容能够參考上一篇有关DCF和CSMA/CA的文章。

在回退(backoff)机制上:
在CSMA/CD中,回退仅仅有在冲突之后才会发生,节点选择选择一个随机时间进行回退,该随机事件详细是时隙乘以回退窗体内的一个随机数。当中为了避免多次冲突的问题,在每一次冲突后。节点的回退窗体也会运行BEB算法,即将回退窗体进行翻倍。
在CSMA/CD中,回退一共能够进行16次。当中。第19次存在会对回退窗体进行翻倍。在第1016次中,窗体大小不变(窗体最大1024),再次重试。

第16次若失败,则进行丢包处理。

在CSMA/CA中,节点的每一次传输之前都须要进行backoff过程。在CSMA/CA的backoff过程中,节点会在每个slot中对信道进行监听(这里包括物理载波监听和虚拟载波监听)。若信道监听为空暇,那么进行backoff,即随机倒数计数器减1。若信道监听为信道忙,则挂起该计数器,仅仅有当该计数值为0时,节点才干够发送数据。
在CSMA/CA中,若发生冲突后,对竞争窗体(Contention Window)进行BEB操作,在1~6次中,窗体大小翻倍,第6次时。窗体大小不变(窗体最大也是1024)。再次重试。若第7次传输失败,则进行丢包处理。

在时隙的定义上:
在CSMA/CD中,时隙被定义在一个固定数据片大小在固定速率的媒介上传输的时间,比方在10M/100M网络中。时隙为512位在10M/100M网络下相应传输的延迟。
在CSMA/CA中。时隙中包括三个方面的内容,即传播延迟。信道检測(CCA)以及收发天线转换。时隙时间详细与其相应的802.11协议版本号有关,比方802.11b中。时隙即是20us。
在捕获效应的定义上:
在CSMA/CD中,捕获效应被定义为节点成功传输1个时隙的数据,从而节点能够确保自己已经捕获了信道。其余节点也都已感知到了这点。从而确保不会有冲突发生。
在CSMA/CA中,捕获效应是指因为信号功率的不同。比方有两个节点同一时候向接收方发送数据。当中一者信号强度大(即SNR大)。一者信号强度小(即SNR小)。
在这样的情况下。若信号较好的SNR能够达到解调其数据所需最低的SNR阈值的话。那么其是能够解调,即这次传输能够是成功的。直观的理解。我们能够觉得一个大嗓门和一个小嗓门同一时候说话,那么我们是能够听清楚大嗓门的。

以上是总结的一些笔者理解CSMA/CA和CSMA/CD的差别。其它还存在的一些差别,比方在802.11DCF模式中所採用的RTS/CTS机制,在有线网中就不存在或者相应存在差别,在此就不再一一赘述了。

转自博客园

CSMA/CD与CSMA/CA相关推荐

  1. 【学习笔记】数据链路层——随机访问介质访问控制(ALOHA、CSMA、CSMA/CD、CSMA/CA),截断二进制指数规避算法

    文章目录 小前言 一. ALOHA协议 纯ALOHA协议 时隙ALOHA协议 ALOHA对比 CSMA协议 定义与分类 ① 1-坚持CSMA ② 非坚持CSMA ③ p-坚持CSMA 总结 CSMA/ ...

  2. 简单叙述tcp/ip的工作原理和主要的协议_802.11协议精读3:CSMA/CD与CSMA/CA

    序言 在前一份文档中,我们详细记录了有关802.11中DCF模式以及其核心CSMA/CA的一些内容与细节.对比无线网络,有线网络的集线器和中继器设计中,采用了CSMA/CD技术.该技术早期是用来解决有 ...

  3. CSMA/CD和CSMD/CA

    即载波监听多路访问/冲突检测方法 在以太网中,所有的节点共享传输介质.如何保证传输介质有序.高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题. 一.基础篇: 是一种争用型的介质访 ...

  4. CSMA/CD与CSMA/CA区别

    CSMA/CD与CSMA/CA区别 CSMA/CD可以检测冲突,但无法避免:CSMA/CA发送包的同时不能检测到信道上有无冲突,本结点处没有冲突并不意味着在接收结点就没有冲突,只能尽量避免. 传输介质 ...

  5. 计算机网络学习笔记(五)——介质访问控制子层、ALOHA、CSMA/CD、CSMA/CA、有限竞争协议、非竞争式协议、网桥、交换机、以太网

    文章目录 前言 概念 一.介质访问控制子层和广播式信道 二.多路信道分配 三.竞争式访问协议 (一)ALOHA及时隙ALOHA(S-ALOHA)协议 (二)CSMA协议 (三)CSMA/CD协议 (四 ...

  6. CSMA/CD 与 CSMA/CA概述

    第一部分 一.CSMA/CD 概述 CSMA/CD协议(Carrier Sense Multiple Access with Collision Detection)即载波帧听,多路访问/冲突检测载波 ...

  7. CSMA/CD和CSMA/CA的区别(最全知识点总结)

    在最后有总结,中间对CSMA/CD和CSMA/CA的描述也很详尽 一.CSMA/CD(载波监听多点接入/碰撞检测) 为什么要使用CSMA/CD: 因为总线上只要有数据,传输资源时就会被占用,又因为传统 ...

  8. CSMA、CSMA/CD与CSMA/CA协议

    载波监听多路访问(CSMA)协议 若每个站点在发送数据之前都先侦听一下公用信道,如果信道空闲后再发送,则就会大大降低冲突的可能性,从而提高信道的利用率 . CS:载波侦听/监听,每一个站在发送数据之前 ...

  9. 随机访问MAC协议 知识梳理(ALOHA,CSMA,CSMA/CD,CSMA/CA)

    0.随机访问MAC的协议 数据链路层动态随机分配信道时对随机访问MAC协议:ALOHA,CSMA,CSMA/CD,CSMA/CA ALOHA,CSMA,CSMA/CD的区别仅在于是否对信道进行监听和是 ...

最新文章

  1. Android 自定义View之3D骰子旋转
  2. C++ 对象的内存布局(上)
  3. vue 报错./lib/html5-entities.js, this relative module was not found
  4. 文件目录管理与显示c语言,Centos 7 文件和目录管理
  5. _用WSL,MobaXterm,Cmder配置linux开发环境
  6. 插入排序算法 ,递归实现_C程序实现递归插入排序
  7. 【转】嵌入式软件:C语言编码规范
  8. 【论文笔记】Learning Deep Face Representation
  9. 【bug解决】No OpKernel was registered to support Op 'CudnnRNN' with these attrs.
  10. 科密考勤机对比和参考价
  11. 显示upnp服务器 sonos,Kodi启用UPnP/DLNA及AirPlay 串流投屏设置教程
  12. 怎么把ipad中超大文件传输到电脑
  13. python 3维正态分布图_三维正态分布图
  14. HBase 性能与可用性在滴滴的探索与实践
  15. Android 的媒体路由功能应用与框架解析 MediaRouter
  16. Java腐烂的橘子leetcode
  17. android手机功能创新,盘点最让人心动的五大手机差异化创新趋势
  18. 1490_TC275_UART_shell例程测试
  19. 使用Bcrypt进行密码加密
  20. 资源受限的移动边缘计算系统中计算卸载问题研究

热门文章

  1. 多级分销模块 java_java B2B2C 源码 多级分销Springcloud多租户电子商城系统-hystrix的工作原理...
  2. calendar前推n天_把日期往前或者往后推一天
  3. 龙兵智能名片装修版v1.5.30 装饰装修 装饰 装饰小程序
  4. JAVA 向带有公式的excel写入数据,获取公式计算结果
  5. java使用while循环来计算1+2+3+…+100的值
  6. NX10实例教程——草图初识
  7. Adobe Photoshop CC 国际认证考试学习指南(一)
  8. k86跟mysql_FriendFeed如何用MySQL储存K-V数据
  9. 移动OA助力企业提高合同管理水平
  10. POJ简单题3094 Quicksum