通信工程师考试互联网技术培训CSMA/CD

互联网技术 责任编辑:zhuliuhui 2013-04-11

摘要:4.3.2CSMA/CDCSMA/CD协议是对ALOHA协议(一种基于地面无线广播通信而创建,适用于无协调关系的多用户竞争单信道使用权的系统)的改进,适用于总线型拓扑结构网络。在总线型结构中,所有的设备都直接连到同一条物理信道上,该信道负责任何两个设备之间的数据传送。节点以帧的形式发送数据,帧的头部含有目的和源节点的地址。帧在信

4.3.2 CSMA/CD

CSMA/CD协议是对ALOHA协议(一种基于地面无线广播通信而创建,适用于无协调关系的多用户竞争单信道使用权的系统)的改进,适用于总线型拓扑结构网络。在总线型结构中,所有的设备都直接连到同一条物理信道上,该信道负责任何两个设备之间的数据传送。节点以帧的形式发送数据,帧的头部含有目的和源节点的地址。帧在信道上是以广播方式传输的,所有连接在信道上的设备随时都能检测到该帧。当目的节点检测到目的地址为本节点地址的帧时,就接收帧中所携带的数据,并按规定的链路协议给源节点返回一个响应。

采用这种操作方法时,可能会有两个或更多的设备同时发送帧,这样就会在信道上发生冲突。为减少冲突的发生,源节点在发送帧之前,首先要监听信道上是否有其他节点发送的载波信号。若监听到载波信号,则推迟发送,直到信道恢复到空闲为止。此外,开始发送数据之后,还要采用边发送边监听的技术,若监听到干扰信号,就表示出现了冲突,需要立即停止发送。

下面首先介绍以太网时间槽的概念,然后介绍几种载波监听多路访问技术,最后介绍CSMA/CD中所使用的冲突检测和退避算法。

1.以太网时间槽

在以太网规则中,若两个节点发生了冲突,就必须让网络上每台主机都检测到这个冲突。但信号传播到整个网络中需要一定的时间。假设主机发送的帧很小,而两台发生冲突的主机相距又很远,在主机A发送的帧传播到主机D的前一刻,主机D开始发送帧,则主机A的帧到达主机D时,主机D能立即检测到冲突,发送阻塞信号。但在主机D的阻塞信号还没有传输到主机A之前,主机A的帧己发送完了。这样主机A就检测不到冲突,会误认为帧发送成功,而不再发送了。由于信号的传播时延,检测到冲突需要一定的时间,所以发送的帧必须有一定的长度。这就是时间梢需要解决的问题。

下面对最坏情况下检测到冲突所需的时间进行估算。

假设A和D是网络上相距最远的两台主机,信号在两者之间的传播时延为r,假定主机A在f时刻开始发送一帧,帧会在f+r时刻到达主机D.假设主机D在f+r-ε时刻开始发送一帧,则主机D会在f+r时刻检测到冲突,并发出阻塞信号。阻塞信号会在时刻到达主机A.如果在时刻,主机A的帧己经发送完毕了,它就无法检测到冲突。所以主机A发送帧的时间应该大于2r在10Mbit/s以太网中,一帧的最小发送时间必须为51.2s,即512位数据在10Mbit/s以太网速率下的传播时间,因此以太网帧的最小长度为512bit=64Byte。为了保证达到最小帧长度,必须在不足的空间插入填充(pad)字节。

2.载波监听多路访问CSMA

载波监听多路访问技术也称为先听后说(Listen Before Talk,LBT)技术。在监听和访问的过程中,节点可以根据不同的情况采取不同的策略。如果发送数据之前先对信道进行监听,信道空闲则立即发送数据;信道忙,则退避一段时间再作尝试等。根据节点可采取策略的不同,可以将监听算法分为以下3类。

(1)非坚持CSMA。

①若信道空闲,则可以立即发送。

②若信道忙,则不再继续监听信道,而是等待一个随机的时间后,再重复上述过程。采用随机的重发延迟时间可以减少冲突的概率:然而,可能出现的问题是因为后退而使信道闲置一段时间,这使信道的利用率降低,而且增加了发送时延。

(2)1-坚持CSMA。

①若信道空闲,则立即发送。

②若信道忙,则继续监听,直至检测到信道空闲时,立即发送。

③如果有冲突(在一段时间内未收到肯定的回复),则等待一段随机的时间,重复前两个步骤。

此协议被称为1-坚持CSMA,是因为站点一旦发现信道空闲,其发送数据的概率为K这种算法的优点是:只要介质空闲。站点就立即可发送,有利于抢占信道,避免了信道利用率的损失:但是多个站点同时都在监听信道时必然会发生冲突。

(3)P-坚持CSMA。

①若信道空闲,则以概率p发送,以概率g=lp把该次发送推迟到下一时间单位。一个时间单位通常等于最大传播时延的2倍。

②延迟一个时间单位后,重复步骤①。

③若信道忙。则继续监听,直至检测到信道空闲时,执行步骤0XP-坚持算法既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少信道空闲时间,是吸取了两者优点的一种折中方案。问题在于概率值的选取。在选取P值时要考虑到在重负载下需要防止系统处于不稳定状态。假如信道忙时,有一个站有数据要发送,当前一个节点的数据发送完毕时,就会有nP个站点需要发送。如果P值选取的过大,使则说明会有多个节点同时发送数据,势必会引起冲突。在最坏的情况下,随着冲突概率的不断增大,会使吞吐童降低到零。因此必须选取适当的尸值使。但如果值选取的过小,发送节点则要等待较长的时间,信道的利用率会大大降低。

3.具有冲突检测的载波监听多路访问CSMA/CD

在CSMA中,由于信道存在传播时延,可能出现两个节点在没有监听到载波信号的情况下都开始发送帧的情况,这样仍可能会发生冲突。而CSMA算法中没有冲突检测的功能,即使发生了冲突,它仍然会继续发送帧,这样会造成网络带宽的浪费,如果帧比较长,对带宽的浪费就会较大。为了进一步提髙带宽的利用率,需要对CSMA方案进行改进。

一种改进方案是边发送边监听,如下所述。

   发送过程中继续监听信道,没有冲突发生,则继续发送。

若发生了冲突,就立即停止发送,并向总线上发送一串干扰信号(Jamming),通知其他相关站点,停止发送。

发送jamming信号后,等待一段随机长的时间,重新监听,再尝试发送。

当重送失败次数达到16次时,MAC子层就会用异常终止的状态来通知LLC子层。采用这种方式就不会因为传送已受损的帧而造成带宽的浪费,可以提髙总线的利用率。这种方案称为具有冲突检测的载波监听多路访问技术(CSMA/CD),广泛应用于局域网中。


在CSMA/CD中,检测到冲突,发送完干扰信号之后,要随机等待一段时间,再重新监听,尝试发送。后退时间的长短对网络的稳定工作有很大影响,特别是在负载很重的情况下,为了避免很多站发生连续冲突,设计了一种被称为二进制指数退避的算法:

二进制指数退避算法是按后进先出(Last In First Out,LIFO)的次序来控制的,即未发生冲突或很少发生冲突的数据帧,具有优先发送权;而发生过多次冲突的数据帧,发送成功的概率就更少。

IEEE802.3就是采用二进制指数退避和1-坚持算法的CSMA/CD介质访问控制方法。采用这种方法,在低负荷时要发送数据帧的节点能立即发送:在高负荷时,仍能保证系统的稳定性。

返回目录:互联网技术考试局域网和城域网汇总

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

通信工程师备考资料免费领取

去领取

距离2024 通信工程师考试

还有
  • 1
  • 5
  • 0
专注在线职业教育23年

项目管理

信息系统项目管理师

厂商认证

信息系统项目管理师

信息系统项目管理师