CSMA/CD:带有冲突检测的载波监听多路访问,可以检测冲突,但无法“避免”
CSMA/CA:带有冲突避免的载波侦听多路访问,发送包的同时不能检测到信道上有无冲突,只能尽量‘避免’;
1.两者的传输介质不同,CSMA/CD用于总线式以太网,而CSMA/CA则用于无线局域网802.11a/b/g/n等等;
2.检测方式不同,CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式; 3.WLAN中,对某个节点来说,其刚刚发出的信号强度要远高于来自其他节点的信号强度,也就是说它自己的信号会把其他的信号给覆盖掉;
4.本节点处有冲突并不意味着在接收节点处就有冲突;
主要区别就是CD可以一边检测冲突,一边收发数据,一旦检测到冲突,立刻停止数据收发。CA则是必须先检测是否有冲突,得到对端确认后,再发送数据,而不能同时进行,是根据无线网络的特点设计出来的.
4.CSMA/CA与CSMA/CD的区别
(1)载波检测方式:因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不同。CSMA/CD通过电缆
中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。
(2)信道利用率比较CSMA/CA协议信道利用率低于CSMA/CD协议信道利用率。但是由于无线传输的特性,在无线局域网不能采用有线局域网的CSMA/CD办议。信道利用率受传输距离和空旷程度的影响,当距离远或者有障碍物影响时会存在隐藏终端问题,降低信道利用率。
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/CA
(2)CSMA/CA技术
这种协议实际上就是在发送数据帧之前先对信道进行预约。下面为了方便解释这种技术的主要原理请大家先看图5-36。
图5-35 CSMA/CA协议中的RTS和CTS帧
① 在图5-35中,
● 站B、站C、站E在站A 的无线信号覆盖的范围内。而站D不在其内。
● 站A、站E、站D在站B 的无线信号覆盖的范围内,但站C不在其内。
② 如果站A要向站B发送数据,那么,站A在发送数据帧之前,要先向站B发送一个请求发送帧RTS(Request To Send)。在RTS帧中已说明将要发送的数据帧的长度。站B收到RTS帧后就向站A回应一个允许发送帧CTS(Clear To Send)。在CTS帧中也附上A欲发送的数据帧的长度(从RTS帧中将此数据
复制到CTS帧中)。站A收到CTS帧后就可发送其数据帧了。现在讨论在A和B两个站附近的一些站将做出什么反应。
● 对于站C,站C处于站A的无线传输范围内,但不在站B的无线传输范围内。因此站C能够收听到站A发送的RTS帧,但经过一小段时间后,站C收听不到站B发送的CTS帧。这样,在站A向站B发送数据的同时,站C也可以发送自己的数据而不会干扰站B接收数据(注意:站C收听不到站B的信号表明,站B也收不听到站C的信号)。
● 对于站D,站D收听不到站A发送的RTS帧,但能收听到站B发送的CTS帧。因此,站D在收到站B发送的CTS帧后,应在站B随后接收数据帧的时间内关闭数据发送操作,以避免干扰站B接收自A站发来的数据。
● 对于站E,它能收到RTS帧和CTS帧,因此,站E在站A发送数据帧的整个过程中不能发送数据。
③ 虽然使用RTS和CTS帧会使整个
网络的效率有所下降。但这两种控制帧都很短,它们的长度分别为20和14字节。而数据帧则最长可达2346字节,相比之下的开销并不算大。相反,若不使用这种控制帧,则一旦发生冲突而导致数据帧重发,则浪费的时间就更大。虽然如此,但协议还是设有三种情况供用户选择:
● 使用RTS和CTS帧;
● 当数据帧的长度超过某一数值时才使用RTS和CTS帧;
● 不使用RTS和CTS帧。
④ 尽管协议经过了精心设计,但冲突仍然会发生。
例如:站B和站C同时向站A发送BTS帧。这两个RTS帧发生冲突后,使得站A收不到正确的RTS帧因而站A就不会发送后续的CTS帧。这时,站B和站C像以太网发生冲突那样,各自随机地推迟一段时间后重新发送其RTS帧。推迟时间的算法也是使用二进制指数退避。
⑤ 为了尽量减少冲突,802.11标准设计了独特的MAC子层,这里不具体说明。
CSMA/CD包括:
1.使用载波侦听方案。
2.发送数据的客户端在传输一个帧时如果检测到其他信号则停止传输该帧,并发送一个拥塞信号(jam signal),然后等待一段随机的时间段,等待时间结束后尝试再次发送。
CSMA/CD是对完全CSMA的修改,通过检测到冲突时取消发送改进了CSMA的性能,因此减少了再次尝试发送时冲突的概率。
CSMA/CD的主要过程如下:
1.准备发送一个帧。
2.媒质空闲吗?如果不空闲,等待直到媒质空闲。
3.开始传输。
4.有冲突吗?如果有冲突,则进入检测冲突过程。
5.复位重传计数器,帧发送结束。
检测冲突过程如下:
1.继续发送,直到达到最小分组时间以确保所有接收节点检测到冲突。
2.重传计数器增1。
3.达到尝试发送的最大次数?如果是,取消发送。
4.根据冲突次数,计算并等待随机的退避时间段。
5.再次进入主要过程。
这很类似于一个宴会情景:很多客人通过共同的媒质(空气)相互交谈。在说话前,每个客人礼貌地等待当前发言者结束发言。如果两个客人在同一时刻开始发言,都停下并等待一小段随机的时间(在Ethernet中,这个时间为us量级)。希望通过选择一段随机的时间段,两个客人不会在同一时刻再次尝试发言,因此避免了再次冲突。
冲突检测的方法是与媒质相关的。然而在电线上,如10BASE-5或10BASE-2,可以通过比较发送数据与接收数据或通过识别比普通信号幅度更高的信号幅度来检测冲突。
CSMA/CD用于总线拓扑的Ethernet和早期双绞线Ethernet中。现代Ethernet建立在交换机和全双工连接上,不再使用CSMA/CD。IEEE 802.3标准定义了所有的Ethernet类型,由于历史原因仍然保持CSMA/CD的名称。
CSMA/CA,在计算机网络中,是一种无线网络的
多接入方法,其中包括:
1.使用载波侦听方案。
2.想要发送数据的节点必须首先侦听信道一段预定的时间,以确定是否其他节点在信道上发送。如果检测到信道空闲,则允许节点开始发送过程。如果检测到信道忙,则节点推迟发送一段随机的时间段。一旦发送过程开始,仍有可能不会实际发送数据。
CSMA/CA是对CSMA的修改。CA——冲突避免通过其他节点发送时不允许邻居节点发送改进了CSMA的性能,而且使用一种截短的随机的二进制指数退避时间算法,减少了冲突的概率。
可选择地,大部分实现的协议需要RTS/CTS交换,以更好的处理如无线组网中的隐终端问题。
冲突避免试图将无线信道平均地分配给冲突区域内的所有发送节点,改进了CSMA的性能。CSMA/CA不同于CSMA/CD,因为媒质的特性、射频频谱不同。发送节点无法检测冲突,因此实现CSMA/CA或其他接入方法是很重要的。CSMA/CA用在基于IEEE 802.11的WLAN和其他有线、无线通信系统中。无线数据通信的问题之一是,不可能在发送时侦听,因此冲突检测是不可能的。另一个原因是隐终端问题。
CSMA/CA的性能很大程度上基于传输数据的调制技术。研究表明,在理想传输条件下(仿真),在结合CSMA/CA和RTS/CTS交换时,在轻荷载条件下DSSS为所有节点提供了最高的吞吐量。FHSS远不及DSSS,而在网络负载特高时,吞吐量会有所增加。但在实际条件下,由于射频传播因素的影响吞吐量一般是相同的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论