PRELOADER

当前文章 : 《CSMA/CD协议和CSMA/CA协议》

10/8/2019 —— 

IEEE 802.3和IEEE 802.11标准的引入

网络通讯,必须依靠介质来传递数据,将数据调制到模拟信号上,再把此信号通过介质传递到远方。根据介质的不同,分为有线网络和无线网络。为了让世界上各种各样的网络设备生产商生产的设备互联互通,他们必须遵循一定的“通讯语言“,就像一个中国人和美国人在一起,假如他们生产的设备只能够说“本国语言”,那碰在一起,就是驴头不对马嘴,根本无法沟通。为了解决这个问题,IEEE组织推出了两种协议,一种适用于有线网络的IEEE 802.3标准和另一种适用于无线网络的IEEE 802.11标准

为什么要使用CSMA/CD?

CSMA/CD(Carrier Sense Multiple Access with Collision Detection)即带冲突检测的载波监听多路访问技术(载波监听多点接入/碰撞检测),位于OSI的第二层:数据链路层。在传统的共享以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。

CSMA/CD工作原理

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

形象的比喻 假设很多人在一间黑屋子中举行讨论会,参加会议的人都是只能听到其他人的声音。每个人在说话前必须先倾听,只有等会场安静下来后,他才能够发言。人们将发言前监听以确定是否已有人在发言的动作称为”载波监听”;将在会场安静的情况下每人都有平等机会讲话成为“多路访问”;如果有两人或两人以上同时说话,大家就无法听清其中任何一人的发言,这种情况称为发生“冲突”。发言人在发言过程中要及时发现是否发生冲突,这个动作称为“冲突检测”。如果发言人发现冲突已经发生,这时他需要停止讲话,然后随机后退延迟,再次重复上述过程,直至讲话成功。如果失败次数太多,他也许就放弃这次发言的想法。通常尝试16次后放弃。

CSMA/CD工作步骤

(1)传输前监听
(2)如果忙则等待
(3)如果空闲则传输并检测冲突
(4)如果冲突发生,重传前等待
(5)重传或夭折

CSMA/CD控制方式特点

CSMA/CD对工作站个数不是很敏感,对实际的输入负载比较敏感,对传播时延比较敏感,且冲突不可避免。其介质利用率随a的上升下降较快,适合通信量不大,交互频繁的场合。CSMA/CD帧越长,吞吐量越大,要求帧具有最小长度,当有许多短消息时,带宽浪费严重。在轻负载时提供最短延迟,但对重负载敏感。

CSMA/CD的不足及CSMA/CA的引入

提供寻址和媒体存取的控制方式,使得不同设备或网络上的节点可以在多点的网络上通信而不相互冲突。实际上该控制方式并没有完全解决数据冲突问题,这也是CSMA/CA出现的原因。CSMA/CA也是CSMA/CD的升级版。
CSMA/CD解决了在Ethernet上的各个工作站如何在线缆上进行传输的问题,利用它检测和避免当两个或两个以上的网络设备需要进行数据传送时网络上的冲突。在802.11无线局域网协议中,无线传输信号的性质决定了无线信道接收与发送信号时,无法采用CSMA/CD通过电压变化检测冲突的方法(Near/Far现象),同时无线网络中存在隐蔽站与暴露站的问题,因此设计了CSMA/CA来完成无线局域网下的冲突检测和避免。

CSMA/CA简介

CSMA/CA利用ACK信号来避免冲突的发生,也就是说,只有当客户端收到网络上返回的ACK信号后才确认送出的数据已经正确到达目的地址。

CSMA/CA工作原理及流程

CSMA/CA实际上就是在发送数据帧之前先对信道进行预约
1.送出数据前,监听媒体状态,等没有人使用媒体,维持一段时间后,才送出数据。由于每个设备采用的随机时间不同,所以可以减少冲突的机会。
2.送出数据前,先发送一段小小的请求传送报文(RTS : Request to Send)给目标端,等待目标端回应 CTS: Clear to Send 报文。
3.收到目标端回应后,开始传送。 利用RTS-CTS握手(handshake)程序,确保接下来传送资料时,不会被碰撞。 同时由於RTS-CTS封包都很小,让传送的无效开销变小。

CSMA/CD和CSMA/CA的差别

1.CSMA/CD:带有冲突检测的载波监听多路访问,可以检测冲突,但无法“避免”
CSMA/CA:带有冲突避免的载波监听多路访问,发送包的同时不能检测到信道上有无冲突,只能尽量“避免”;
2.两者的传输介质不同,CSMA/CD用于总线式以太网,而CSMA/CA则用于无线局域网802.11a/b/g/n等等;
3.检测方式不同,CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式;