CSMA/CA与CSMA/CD比较

CSMA/CA

 

CSMA/CA

  无线局域网标准802.11的MAC和802.3协议的MAC非常相似,都是在一个共享媒体之上支持多个用户共享资源,由发送者在发送数据前先进行网络的可用性。在802.3协议中,是由一种称为CSMA/CD(Carrier Sense Multiple Access with Collision Detection)的协议来完成调节,这个协议解决了在Ethernet上的各个工作站如何在线缆上进行传输的问题,利用它检测和避免当两个或两个以上的网络设备需要进行数据传送时网络上的冲突。在802.11无线局域网协议中,冲突的检测存在一定的问题,这个问题称为"Near/Far"现象,这是由于要检测冲突,设备必须能够一边接受数据信号一边传送数据信号,而这在无线系统中是无法办到的。
  鉴于这个差异,在802.11中对CSMA/CD进行了一些调整,采用了新的协议CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)或者DCF(Distributed Coordination Function)。  CSMA/CA利用ACK信号来避免冲突的发生,也就是说, 只有当客户端收到网络上返回的ACK信号后才确认送出的数据已经正确到达目的。
  CSMA/CA协议的工作流程分为两个分别是:
  1. 送出数据前,监听媒体状态,等没有人使用媒体, 维持一段时间后,再等待一段随机的时间后依然没有人使用,才送出数据。由於每个设备采用的随机时间不同,所以可以减少冲突的机会。 
  2.送出数据前,先送一段小小的请求传送报文(RTS : Request to Send)给目标端,等待目标端回应 CTS: Clear to Send 报文后,才开始传送。 利用RTS-CTS握手(handshake)程序,确保接下来传送资料时,不会被碰撞。 同时由於RTS-CTS封包都很小,让传送的无效开销变小。
  CSMA/CA通过这两种方式来提供无线的共享访问,这种显式的ACK机制在处理无线问题时非常有效。然而不管是对于802.11还是802.3来说,这种方式都增加了额外的负担,所以802.11网络和类似的Ethernet网比较总是在性能上稍逊一筹。

CSMA/CD

  CSMA/CD(Carrier Sense Multiple Access/Collision Detect)
  即载波监听多路访问/冲突检测方法
   在以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。
  一、基础篇:
  是一种争用型的介质访问控制协议。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。另一个改进是,对于每一个站而言,一旦它检测到有冲突,它就放弃它当前的传送任务。换句话说,如果两个站都检测到信道是空闲的,并且同时开始传送数据,则它们几乎立刻就会检测到有冲突发生。它们不应该再继续传送它们的帧,因为这样只会产生垃圾而已;相反一旦检测到冲突之后,它们应该立即停止传送数据。快速地终止被损坏的帧可以节省时间和带宽。 
  CSMA/CD控制方式的优点是:
  原理比较简单,技术上易实现,网络中各工作站处于平等地位 ,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。
  CSMA/CD应用在 ISO7层里的数据链路层
  它的工作原理是: 发送数据前 先监听信道是否空闲 ,若空闲 则立即发送数据.在发送数据时,边发送边继续监听.若监听到冲突,则立即停止发送数据.等待一段随机时间,再重新尝试. 
  二、进阶篇:
  CSMA/CD控制规程:
  控制规程的核心问题:解决在公共通道上以广播方式传送数据中可能出现的问题(主要是数据碰撞问题)
  控制过程包含四个处理内容:侦听、发送、检测、冲突处理
  (1) 侦听:
  通过专门的检测机构,在站点准备发送前先侦听一下总线上是否有数据正在传送(线路是否忙)?
  若“忙”则进入后述的“退避”处理程序,进而进一步反复进行侦听工作。
  若“闲”,则一定算法原则(“X坚持”算法)决定如何发送。
  (2) 发送:
  当确定要发送后,通过发送机构,向总线发送数据。
  (3) 检测:
  数据发送后,也可能发生数据碰撞。因此,要对数据边发送,边接收,以判断是否冲突了。(参5P127图)
  (4)冲突处理:
  当确认发生冲突后,进入冲突处理程序。有两种冲突情况:
  ① 侦听中发现线路忙
  ② 发送过程中发现数据碰撞
  ① 若在侦听中发现线路忙,则等待一个延时后再次侦听,若仍然忙,则继续延迟等待,一直到可以发送为止。每次延时的时间不一致,由退避算法确定延时值。
  ② 若发送过程中发现数据碰撞,先发送阻塞信息,强化冲突,再进行侦听工作,以待下次重新发送(方法同①)
  几个概念:
  上述两种冲突情况都会涉及一个共同算法——退避算法。
  ① 退避算法:当出现线路冲突时,如果冲突的各站点都采用同样的退避间隔时间,则很容易产生二次、三次的碰撞。因此,要求各个站点的退避间隔时间具有差异性。这要求通过退避算法来实现。
  截断的二进制指数退避算法(退避算法之一):
  当一个站点发现线路忙时,要等待一个延时时间M,然后再进行侦听工作。延时时间M以以下算法决定:
  M = 2 min{n,16} ms
  其中,n表示连续侦听的次数(记数值)。该表达式的含义是:第一次延迟2ms,再冲突则延迟22ms,以后每次连续的冲突次数记数都比前一次增加一倍的延迟时间,但最长的延迟时间不超过216ms。(即:超过16次做特殊处理)
  ② 特殊阻塞信息:是一组特殊数据信息。在发送数据后发现冲突时,立即发送特殊阻塞信息(连续几个字节的全1),以强化冲突信号,使线路上站点可以尽早探测得到冲突的信号,从而减少造成新冲突的可能性。
  ③ 冲突检测时间>=2α: α表示网络中最远两个站点的传输线路延迟时间。该式表示检测时间必须保证最远站点发出数据产生冲突后被对方感知的最短时间。在2α时间里没有感知冲突,则保证发出的数据没有产生冲突。(只要保证检测2α时间,没有必要整个发送过程都进行检测)
  ④ X-坚持的CSMA算法:当在侦听中发现线路空闲时,不一定马上发送数据,而采用X-坚持的CSMA算法决定如何进行数据发送:
   三种算法及特点:
  - 非坚持的CSMA:线路忙,等待一段时间,再侦听;不忙时,立即发送;减少冲突,信道利用率降低:
  - 1坚持的CSMA:线路忙,继续侦听;不忙时,立即发送;提高信道利用率,增大冲突:
  - p坚持的CSMA:线路忙,继续侦听;不忙时,根据p概率进行发送,另外的1-p概率为继续侦听(p是一个指定概率值);有效平衡,但复杂:
  (5)控制流程图(右上角图):
  (6)CSMA控制规程的特征
  ① 简单
  ② 具有广播功能
  ③ 平均带宽: f = F / n
  ④ 绝对平等,无优先级
  ⑤ 低负荷高效,高负荷低效
  ⑥ 延时时间不可预测
  ⑦ 传输速率与传输距离为一定值
  

CSMA/CD工作原理


   CSMA/CD是带有冲突检测的CSMA,其基本思想是:当一个节点要发送数据时,首先监听信道;如果信道空闲就发送数据,并继续监听;如果在数据发送过程中监听到了冲突,则立刻停止数据发送,等待一段随机的时间后,重新开始尝试发送数据。

 
  CSMA/CD和CSMA/CA的主要差别对比如下:
   CSMA/CD:带有冲突 检测的载波监听多路访问, 可以检测冲突,但无法“避免”
   CSMA/CA:带有冲突 避免的载波侦听多路访问, 发送包的同时不能检测到信道上有无冲突,只能尽量‘避免’;
  1.两者的传输介质不同,CSMA/CD用于总线式以太网,而CSMA/CA则用于无线局域网802.11a/b/g/n等等;
  2.检测方式不同, CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而 CSMA/CA采用能量检测(ED)载波检测(CS)能量载波混合检测三种检测信道空闲的方式;
  3.WLAN中,对某个节点来说,其刚刚发出的信号强度要远高于来自其他节点的信号强度,也就是说它自己的信号会把其他的信号给覆盖掉;
  4.本节点处有冲突并不意味着在接收节点处就有冲突; 
  综上,在WLAN中实现CSMA/CD是比较困难的。
### 回答1: CSMA/CDCSMA/CA都是用于网络中的访问控制协议,它们的主要区别在于: 1. CSMA/CD是一种基于冲突检测的协议,它在发送数据前会先检测信道上是否有其他节点正在发送数据,如果有冲突就会停止发送并等待一段时间后再重新发送。而CSMA/CA是一种基于冲突避免的协议,它在发送数据前会先发送一个RTS(请求发送)信号,等待接收方回复CTS(清除发送)信号后再发送数据,从而避免了冲突的发生。 2. CSMA/CD适用于有线网络,如以太网,因为有线网络的信道是共享的,节点之间可以直接检测到冲突。而CSMA/CA适用于无线网络,因为无线信道是广播的,节点之间无法直接检测到冲突,需要通过发送和接收信号来避免冲突的发生。 3. CSMA/CD的效率较低,因为它需要等待一段时间后才能重新发送数据,而且在高负载情况下容易出现冲突,导致网络性能下降。而CSMA/CA的效率较高,因为它通过冲突避免的方式来减少冲突的发生,从而提高了网络的性能。 总之,CSMA/CDCSMA/CA都是用于网络中的访问控制协议,它们的主要区别在于基于冲突检测和基于冲突避免的方式,适用于有线网络和无线网络,以及效率的高低。 ### 回答2: CSMA/CDCSMA/CA是两种网络协议。CSMA/CD是一个传输和期待碰撞检测的协议,优先考虑先输送数据,如果偶然的冲突发生,察觉之后停止传输,经过一个传输延时后重新发送。CSMA/CA也是一个传输和期待协作冲突避免的协议,但是它通过在传输之前,等待网络空闲来减少冲突的机会。 在相似之处方面,两个协议都是通过监听媒介来避免冲突的。在传输之前,设备需要侦听媒介上是否已存在正在传输的数据。如果是这样的话,设备就需要延迟发送它的数据,或者停止发送数据并等待网络空闲。 然而,在实现中,这两种协议有一些重要的差别。首先,CSMA/CD协议期望设备能够检测到冲突并停止传输数据,而CSMA/CA协议依赖于协作机制来避免冲突。其次,CSMA/CD协议将传输延迟作为衡量网站性能的指标,因为当设备检测到冲突时,传输将中断并需要等待重新发送;而CSMA/CA协议更注重网络吞吐量,并通过等待网络空闲来减少冲突的机会。 在实际应用中,选择哪种协议取决于性能和安全需求。CSMA/CD适合对时延敏感的应用场景,例如VoIP,因为它将最小化传输延迟视为优先事项。CSMA/CA协议适用于无线网络,因为它可以更好地减少因无线信道中掉包导致的冲突,并保证更大的网络吞吐量,因此更适合数据流量较大的网络应用。 ### 回答3: CSMA/CDCSMA/CA是两种常见的以太网协议。它们都采用了CSMACarrier Sense Multiple Access)协议,但是它们在冲突检测和处理方面有所不同。 首先,CSMA/CDCarrier Sense Multiple Access with Collision Detection)使用冲突检测技术,即在发送数据之前,先监听信道,如果没有发现信号,就发送数据。如果在发送数据的同时,检测到其他设备也在发送数据,就说明发生了冲突,设备会停止发送数据,并且随机等待一段时间后重新开始发送。CSMA/CD适用于半双工通信方式,可以快速检测和处理冲突,适用于高速数据传输。 其次,CSMA/CACarrier Sense Multiple Access with Collision Avoidance)采用了冲突避免技术。在发送数据之前,先监听信道,如果没有发现信号,就发送数据。但是在发送数据之前,还需要等待一段时间,称为DIFS(Distributed Inter-frame Space),以确保其他设备不会在这段时间内发送数据。如果其他设备在DIFS后又开始发送数据,设备会认为信道已经被占用,并且等待下一轮发送。如果没有检测到其他设备在DIFS后发送数据,设备会发送数据。但是在发送数据的过程中,如果检测到信道有其他设备发送数据,设备会停止发送数据,并且等待一段时间后重新开始发送。CSMA/CA适用于无线局域网等带宽较低的场景。 综上所述,CSMA/CDCSMA/CA都使用了CSMA协议,但是在冲突检测和处理方式上有所不同CSMA/CD采用了冲突检测技术,适用于半双工通信方式,可以快速检测和处理冲突;而CSMA/CA采用了冲突避免技术,适用于无线局域网等带宽较低的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值