带冲突检测的CSMA:CSMA/CD

带冲突检测的CSMA:CSMA/CD
http://blog.chinaunix.net/uid-22966290-id-107305.html
  CSMA在发送数据之前进行载波监听,所以减少了冲突机会,但由于传播时延的存在,仍然可能冲突。考虑2个站点的模型,其中一个先发送信息,由于传送时延使另-个站点也发现倍道是空闲的,于是也发送信息,结果2个站点的信息在途中冲突,但2个站均不知道,一直要将数据帧余下部分发完,等到有错再重发送。这样明显造成了信道的浪费,加大了通信开销。能否在发送时检测到冲突并在冲突后立即停发?这就是CSMA/CD(Carrior Sense Multiple Access With Collision Detection)的思想。

  通俗地讲,CSMA/CD就是"先听后讲,边讲边听",这种边发边监听的功能称为冲突检测。

  源站点在发送数据帧之前,首先监听信道是否忙,如监听到信道上有载波信号,则推迟发送,直到空闲为止,这就是CSMA。对传播时延小的网络,CSMA可降低冲突次数,减少冲突时间,但对传播时延大的网络,CSMA无多大价值。源站点监听到信道空闲后.就发送数据,并边发边监听,若监听到干扰信号,则表示检测到冲突,于是立即停止发送,并发一串阻塞信号增加冲突,以便网中其他站点均可知道冲突,然后准备重发冲突受损的帧。

  如何估算所需的冲突检测时间呢?对基带总线而言,此时用于检测冲突的时间不会超过任意2站之间的最大传输延迟的2倍。在CSMA/CD中,通过检测总线上是否存在信号以实现。

  载波监听,发送站的收发器同时检测冲突,如果收发器电缆上的信号 超过收发器本身发送信号的幅度(应该是根据发送和接收的电平判断是否一样)就判断出冲突。
在CSMA/CD算法中,一旦检测到冲突,需要等待一段随机时间,然后再次使用CSMA方法传输。延迟时间采用一种称为二进制指数的退避算法实现。其算法过程如下:
  对每个帧,当第一次发生冲突时,设置参数L=2。
  退避重发时间在1~L个时隙中随机抽取。
  当帧再次冲突时,L加倍,即L=2L。
 ④ 退避重发时间仍在1~L个时隙中随机抽取。
 ⑤ 当冲突n次,L=2 n
 ⑥ 设置一个最大重传次数,超过此值,不再重发,并报告出错。

  此算法的效果是,不冲突或少冲突的帧重发的机会大,冲突多的帧重发的机会小。
 
 
----------------------------------------------------------------------------------
 
在有交换机的基础上就不再是总线结构了,所以没有冲突。这时如果网卡和交换机都采取全双工,交换机就不会把网卡发送出去的数据再发回去;采用半双工就发回去。(如果网卡或交换器其中一个是全双工另一个是半双工呢?)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答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是两种常见的以太网协议。它们都采用了CSMA(Carrier Sense Multiple Access)协议,但是它们在冲突检测和处理方面有所不同。 首先,CSMA/CD(Carrier Sense Multiple Access with Collision Detection)使用冲突检测技术,即在发送数据之前,先监听信道,如果没有发现信号,就发送数据。如果在发送数据的同时,检测到其他设备也在发送数据,就说明发生了冲突,设备会停止发送数据,并且随机等待一段时间后重新开始发送。CSMA/CD适用于半双工通信方式,可以快速检测和处理冲突,适用于高速数据传输。 其次,CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)采用了冲突避免技术。在发送数据之前,先监听信道,如果没有发现信号,就发送数据。但是在发送数据之前,还需要等待一段时间,称为DIFS(Distributed Inter-frame Space),以确保其他设备不会在这段时间内发送数据。如果其他设备在DIFS后又开始发送数据,设备会认为信道已经被占用,并且等待下一轮发送。如果没有检测到其他设备在DIFS后发送数据,设备会发送数据。但是在发送数据的过程中,如果检测到信道有其他设备发送数据,设备会停止发送数据,并且等待一段时间后重新开始发送。CSMA/CA适用于无线局域网等宽较低的场景。 综上所述,CSMA/CDCSMA/CA都使用了CSMA协议,但是在冲突检测和处理方式上有所不同。CSMA/CD采用了冲突检测技术,适用于半双工通信方式,可以快速检测和处理冲突;而CSMA/CA采用了冲突避免技术,适用于无线局域网等宽较低的场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值