CSMA/CD和CSMA/CA

CSMA/CD

工作原理

CSMA/CD(Carrier Sense Multiple Access/Collision Detect)即载波监听多路访问/冲突检测机制,它工作在共享式以太网中,应用在 OSI 的第二层数据链路层

它的工作原理是: 发送数据前 先侦听信道是否空闲 ,若空闲,则立即发送数据若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。

下图描述了第一位发生冲突的情况,冲突的双方是站点A和站点C。

CSMA/CD和CSMA/CA_第1张图片

在时刻t1,站点A开始发送帧,从左往右传输,在时刻t2,站点C还没有侦听到A发送的第一个位,站点C开始发送帧,向两边传输,在时刻t2后的某一时刻,冲突发生了,在时刻t3,站点C收到了站点A的第一个位,他检测到了冲突,他放弃了传输,在时刻4,站点A收到了站点C的第一个位,他也放弃了传输。他们都等待一个随机时间后再次重新尝试。


帧的最小长度

为了实现CSMA/CD,需要限定帧的长度,在发送帧的最后一位前,发送站点必须检测冲突,如果有任何冲突要放弃传输。这是因为一旦整个帧被发送了,站点就无法保留帧的副本并无法掌控线路的冲突检测了。因此,帧的传输时间至少是最大传播时间的两倍,即从A传播到D的时间的2倍。

以太网中,帧的最小长度为64个字节。


帧的最大长度

由于信道是所有主机共享的,如果数据帧太长就会出现有的主机长时间不能发送数据,而且有的发送数据可能超出接收端的缓冲区大小,造成缓冲溢出。为避免单一主机占用信道时间过长,规定了以太网帧的最大帧长为1518个字节。


CSMA/CA

工作原理

CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)即载波监听多路访问/冲突避免机制,一般工作在无线网中。
·其工作流程分为一下两个:
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/CA

CSMA/CD的基本理念是一个站点在传输过程中检测到冲突时,要有能力去接受信号,当没有冲突时,站点接受到一种信号:它自身的信号。当冲突发生时,站点接收到两种信号:它自身的信号和第二个站点传输的信号。为了区别以上2中情况,不同情况接收到的信号应该明显不同。换言之,来自第二个站点的信号需要为第一个站点产生的信号增加大量的能量。
在一个有线网络中,接收信号的能量和发送信号的能量基本一样,这就是说在冲突中,被检测到的能量几乎翻倍。但是在一个无线网络中,大量发送信号的能量在传输中丢失。接收信号的能量也很小。因此,一个冲突可能只增加5%~10%的额外能量,这对有效的冲突检测起不了什么作用。所以我们在无线网络中要尽量避免冲突。

你可能感兴趣的:(CSMA/CD和CSMA/CA)