考点四:介质访问控制方法

考点四:介质访问控制方法

我们已经知道,计算机网络是被很多计算机共享的,但是物理介质就那么一条或几条,当下的计算机(设备)是数以亿计,那么多计算机如果同时发送数据,让谁使用介质呢?介质访问控制(Medium Access Control,MAC)也就是信道访问控制方法,可以简单地理解为如何控制网络节点何时发送数据、如何传输数据及怎样在介质上接收数据,是解决共用信道有竞争时,如何分配信道的使用权问题。介质访问控制分为信道划分介质访问控制、随机访问介质访问控制(争用型介质访问控制)、轮询访问介质访问控制3类。其中,信道划分介质访问控制是静态分配信道的方法,随机访问介质访问控制和轮询访问介质访问控制是动态分配信道的方法。

1.信道划分介质访问控制

当传输介质的带宽超过了传输单个信号所需的带宽时,人们就通过在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率,这就是所谓的多路复用,也是实现信道划分介质访问控制的途径。多路复用技术能把多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,从而提高信道的利用率。多路复用技术示意图如图3-16所示。

图3-16 多路复用技术示意图

信道划分介质访问控制分为以下4种:

(1)频分多路复用(FDMA)。频分多路复用是将一条信道分割成多条不同频率的信道,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分多路复用的所有用户在同样的时间占用不同的带宽资源。例如,我们看电视时,不同的电视台具有不同的频道,如CCTV1综合频道和CCTV5体育频道,它们所占有的频率是不同的。

(2)时分多路复用(TDMA)。时分多路复用是将时间划分为一段段等长的时分复用帧。每个时分复用的用户在每个TDM帧中占用固定序号的时隙。每个用户所占用的时隙周期性地出现(其周期是TDM帧的长度)。时分多路复用类似于分时系统中每个用户分时占有一个时间片。这个类似于公交车专用道,在早高峰和晚高峰只能让公交车使用,其他时间,各类车辆都可以用。

(3)波分多路复用(WDMA)。波分多路复用是光的频分多路复用,在一根光纤中传输多种不同频率(波长)的光信号,由于各路光的频率(波长)不同,因此各路光信号互相不干扰。最后,再用分波器将各路波长不一样的光分解出来。这种方法只能用于光纤通信。

(4)码分多路复用(CDMA)。码分多路复用又称为码分多址(CDMA),它既共享信道的频率又共享时间,是一种真正的动态复用技术。其原理是每个比特时间划分为m个短的间隔,称为码片(Chip)。每个站被指派唯一的m位码片序列。如果发送比特1,那么发送自己的m位码片序列。如果发送比特0,那么发送该码片序列的二进制反码。令向量S表示站S的码片向量,令T表示其他任何站的码片向量。两个不同站的码片序列正交,就是向量S和T的规格化内积都是0(也就是正交)。正交关系的另一个重要特性是,任何一个码片向量和该码片向量自己的规格化内积都是1,一个码片向量和该码片反码的向量的规格化内积都是-1。这种方式除了概念,还有一种考题,参考政哥点拨。

【政哥点拨】

站点A、B、C通过CDMA共享链路,A、B、C的码片序列(Chip Sequence)分别是(1,1,1,1)、(1,-1,1,-1)和(1,1,-1,-1)。若C从链路上收到的序列是(2,0,2,0,0,-2,0,-2,0,2,0,2),则C收到A发送的数据是101。

如何计算是哪个站点发送的数据呢?我们已知站点的码片长度,对于已经收到的数据序列,按照站点的码片长度分割数据,得到不同的分组。要计算哪个站点发送的数据,就让该站点的码片和分割得到的分组进行内积。其内积计算结果有以下两个。

①当内积结果大于0时,发送该组发送的数据是1。

②当内积结果小于0时,发送该组发送的数据是0。

回到我们的例子中,把收到的序列分成每4个数字一组,即为(2,0,2,0)、(0,-2,0,-2)、(0,2,0,2),因为题目求的是A发送的数据,因此把这3组数据与A站的码片序列(1,1,1,1)作内积运算,结果分别是(2,0,2,0)·(1,1,1,1)/4=1、(0,-2,0,-2)·(1,1,1,1)/4=-1、(0,2,0,2)·(1,1,1,1)/4=1,所以C接收到的A发送的数据是101。

注意:根据运算的结果,如果内积的结果是正数,表示发送1;如果内积的结果是负数,表示发送0;如果内积的结果是0,表示不发送数据。

静态分配信道的方法是不会出现冲突的。在考试中,频分多路复用(FDMA)、时分多路复用(TDMA)、波分多路复用(WDMA)、码分多路复用(CDMA)的名词缩写很重要。

2.随机访问介质访问控制

静态分配信道的方法一定不会出现冲突,但是其信道利用率相对比较低,如TDMA,可能早晚高峰时,即使公交车专用道没有公交车在行驶,其他车辆依然不能使用。这个问题在计算机网络的实际应用中是不可以接受的,所以需要设计更好的介质访问控制方法。随机接入的意思是当几台计算机都使用一条信道发送数据时,所有用户都可以根据自己的意愿随机地发送信息,这样就会产生冲突(或者称为碰撞),从而导致所有冲突用户发送数据失败。

随机访问介质访问控制协议有4种,即ALOHA协议、CSMA协议、CSMA/CD协议和CSMA/CA协议。设计思想是通过争用,胜利者才可以获得信道,从而获得信息的发送权(物竞天择,适者生存,看来这个规则,在计算机界也是适用的)。

(1)ALOHA协议。ALOHA协议的基本思想比较简单:当网络中的任何一个节点需要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内没有收到确认,该节点就认为传输过程中发生了冲突。发生冲突的节点需要等待一段随机时间后再发送数据,直至发送成功。核心总结就是:在我们的世界中,只有自己,不关心他人是否存在,我行我素。

(2)CSMA协议。载波侦听多路访问(CSMA)协议是在ALOHA协议的基础上改进而来的访问控制协议。在CSMA中,每个节点发送数据之前都使用载波侦听技术来判定通信信道是否空闲(毕竟网络介质是大家共享的,不能我行我素,在发送数据之前,先看一下别的计算机是否正在发送数据)。常用的CSMA有以下3种策略:

①1-坚持CSMA:当发送节点监听到信道空闲时立即发送数据,如果信道忙,将继续监听。这种方法减小了信道空闲时间,但是增大了冲突的概率,一般适合负载小的网络。

②非坚持CSMA:当发送节点一旦监听到信道空闲时,立即发送数据,否则延迟一段随机的时间再重新监听。这种方法减小了冲突概率,但是增大了信道空闲时间。

③p-坚持CSMA:属于分时信道,当发送节点监听到信道空闲时,以概率p发送数据,以概率1-p不发送数据,延迟一段时间并重新监听。这种方法是1-坚持CSMA和非坚持CSMA的折中。3种策略的对比分析如表3-6所示。

表3-6 3种策略的对比分析

(3)CSMA/CD协议。在CSMA机制中,每个节点发送数据之前都使用载波侦听技术来判定通信信道是否空闲,如图3-17所示,主机A发送了数据,由于存在发送时延和传播时延等因素,主机B检测到信道空闲,主机B认为信道空闲,开始发送数据,这样主机A和主机B发送的数据就会发生碰撞,出现错误。

图3-17 CSMA机制示意

因此仅仅在发送数据时,进行信道空闲检测,显然是不够的,需要引入新的机制,使主机能够在发送数据的过程中检测是否有冲突(请大家注意,冲突也是碰撞,在本书中,两者意义一样),这就是CSMA/CD协议,其工作过程可概括为“先听后发,边听边发,冲突停发,随机重发”。

①先听后发:每个站点在发送数据之前要先检测一下总线上是否有其他计算机在发送数据,若有,则暂时不发送数据,以免发生冲突;若没有,则发送数据。

②边听边发:因为存在信号的传播时延,当某个站点监听到总线是空闲时,可能总线并非真正空闲。如图3-17所示,主机A向主机B发送的信息,要经过一定的时间后才能传送到主机B。所以在发送的过程中需要监听是否有碰撞。

③冲突停发:由于信号的传播时延的影响,主机A和主机B分别在什么时候能检测到冲突呢?如图3-18所示,两台计算机A、B,假设两者之间的距离为1km,考虑两种极端场景,如果A、B同时发送数据,就会在线路中间发生碰撞,那么A、B检测到碰撞的时间为图3-18中单程端到端的传播时延τ,此时A、B同时检测到冲突;如果A先发送数据,当主机A发送的数据刚好达到主机B时,主机B正好发送数据,那么主机A检测到碰撞的时间为2τ,B检测到碰撞的时间是0。

如果要让两个主机都能检测到冲突,冲突的检测有一个临界窗口,即最先发送数据帧的主机,在发送数据帧后最多经过时间(两倍的端到端往返时延)就可知道发送的数据帧是否遭受碰撞。以太网的端到端往返时延2τ,称为争用期或碰撞窗口。

碰撞窗口就是冲突的检测有一个临界窗口,只有经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。反之,凡是争用期这段时间检测到碰撞,肯定有碰撞发生。

在这里有个重要的考点,最先发送数据帧的站,在发送数据帧后至多经过时间2τ(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞,这个时间称为争用期或碰撞窗口;但是在此期间,主机并不知道是否发生了碰撞,还一直发送数据,那么当检测到冲突时,就会有一个发送的数据量,这个数据量多大呢?与定义碰撞窗口类似,我们定义最短有效帧长=争用期×发送速度=2×(介质长度/传播速度×发送速度。于是凡是发送帧的长度小于最短有效帧长都是发生了碰撞后的数据;凡是发送帧的长度大于最短有效帧长都是没有发生碰撞的数据。所以,检测有无碰撞,可以从碰撞窗口和最短有效帧长两个方面描述(事实上他们是一样的,只是从不同的角度看待这个问题)。

图3-18 争用期的长度

④随机重发:发生碰撞的站点在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。那么这个推迟时间怎么去界定呢?这个时间需要考虑碰撞次数,考虑冲突检测的时间,也要体现网络的繁忙程度。

我们选择基本退避时间为争用期2τ,从整数集合[0,1,…,2k-1]中随机地取出一个数,记为r。重传所需等待的时延就是r×2τ。参数k与重传次数有关,按下面的公式计算。

例如:

第1次冲突重传时,k=1,r为{0,1}集合中的任何一个数。

第2次冲突重传时,k=2,r为{0,1,2,3}集合中的任何一个数。

第3次冲突重传时,k=3,r为{0,1,2,3,4,5,6,7}集合中的任何一个数。

注意:当重传达16次仍不能成功时即丢弃该帧,并向高层报告。因此CSMA/CD也是不可靠的协议。

【政哥点拨】

1.长度为10km,数据传输率为10Mb/s的CSMA/CD以太网,信号传输速度为200m/µs。那么该网络的最小帧长为( )。

A.20bit B.200bit C.100bit D.1000bit

解析 D 最短有效帧长=争用期×发送速度=2×(介质长度/传播速度)×发送速度。直接代入公式计算,但是注意,单位需要化为统一,最短有效帧长=2×[(10×1000m)/(200m×10-6)]×10M=1000bit。

2.以太网中,当数据传输率提高时,帧的发送时间就会相应缩短,这样可能会影响冲突的检测。为了能有效地检测冲突,可以使用的解决方案有( )。

A.减少电缆介质的长度或减少最短帧长

B.减少电缆介质的长度或增加最短帧长

C.增加电缆介质的长度或减少最短帧长

D.增加电缆介质的长度或增加最短帧长

解析 B 最短有效帧长=争用期×发送速度=2×(介质长度/传播速度)×发送速度;显然,当数据传输率提高时,为了能有效地检测冲突,可以使用的解决方案有:①如果要保证最短有效帧长不变,需要将介质长度降低;②要保证介质长度不变,需要将最短有效帧长变长。

3.A、B两站位于长2km的基带总线局域网的两端,C站位于A、B站之间,数据传输率为10Mb/s,信号传播速度为200m/µs,B站接收完毕A站发来的一帧数据所需的时间是80µs,求数据帧的长度;若A、C两站同时向对方发送了一帧数据,4µs后两站发现冲突,求A、C两站的距离(要求写出计算过程)。

解析 若两个站点同时发送数据,冲突检测时间(µs)=两个站点间的距离(m)÷信号传播速度(m/µs),即两个站点间的距离(m)=冲突检测时间(µs)×信号传播速度(m/µs)。

传播时延(µs)=2km÷200m/µs=10µs。

B接收完毕该帧所需的时间=传输时延(µs)+传播时延(µs)=80(µs)。可知,传输时延=80µs-10µs=70µs。

数据帧长(bit)=传输时延(µs)×数据传输率(Mb/s)=70µs×10Mb/s=700bit。当A、C两个站点向对方发送一帧数据,4µs能检测到冲突,说明单程的时延为4µs。两个站点间的距离(m)= 4µs×200m/s=800m。

(4)CSMA/CA协议。CSMA/CD广泛应用在有线局域网中,但是当遇到无线局域网时,CSMA/CD很难起作用(具体原因,我们不多说了,与考研的要求无关)。于是引入了CSMA/CA,即载波侦听多路访问/冲突避免。发送数据前,先检测信道状态,若信道空闲,等待一段时间后,再次检测信道是否空闲,如果还是空闲,那么立刻发送数据,否则,随机等待一定时间后,再次发送检测。

要点一:CSMA/CA有3种信道空闲的检测方法。

①能量检测。对接收信号的能量大小进行判断,当功率大于某一确定值时,就认为信道被占用。

②载波检测。对接收信号与本地的伪随机码(PN码)进行运算比较,如果其值超过某一极限,就认为信道被占用。

③能量和载波混合检测。发送真实数据前,先向目标端发送请求传送报文(RTS),等接收到目标端响应报文(CTS),发送端才开始传送真正的数据。也就是说,CSMA/CA使用RTS和CTS来进行信道预约,采用这种RTS-CTS机制,可以确保接下来传送数据时,不会发生碰撞。由于RTS-CTS的封包都很小,因此不会增大整体传输开销。

要点二:CSMA/CA为了避免发送时冲突,采用了带确认的发送机制,如果发送方收到了接收方对其发送数据的ACK确认,就表明接收方收到了发送方发送的数据。但是若发送方在规定时间内没有收到确认帧ACK,则必须重传此帧,直到收到确认为止,或者经过若干次的重传失败后放弃发送。

注意:静态划分,TDMA、CDMA、FDMA和CDMA。争用方式,ALOHA、CSMA、CSMA/CD、CSMA/CA。

3.轮询访问介质访问控制

轮询访问介质访问控制主要用在令牌环局域网中。典型的轮询访问介质访问控制协议就是令牌传递协议。令牌环局域网把多个设备安排成一个物理或逻辑连接环。为了确定哪个设备可以发送数据,让一个令牌(特殊格式的帧)沿着环形总线在计算机之间依次传递。当计算机都不需要发送数据时,令牌就在环形网上空转,而需要发送数据的计算机只有拿到该令牌才能发送数据帧。令牌传递协议可以形象地理解为一条环形公交线路,公交车是令牌,在没有乘客乘车时,公交车在环形线路上空转,当有市民需要乘坐公交车时,需要在公交站牌等待公交车到达才能乘坐,公交车载客到达目的站。

在令牌环网中,节点通过环接口连接成物理环形。令牌是一种特殊的MAC控制帧,帧中有一位标志令牌忙或闲。令牌总是沿着物理环单向逐站传送,传送顺序与节点在环中排列顺序相同。令牌环网中令牌和数据的传递过程如下:

(1)当网络空闲时,环路中只有令牌在网络中循环传递。

(2)令牌传递到有数据要发送的节点处,该节点就修改令牌中的一个标志位,然后在令牌中附加自己需要传输的数据,这样就将令牌改换成了一个数据帧,源节点将这个数据帧发送出去。

(3)数据帧沿着环路传递,接收到的节点一边转发数据,一边查看帧的目的地址。如果目的地址和自己的地址相同,接收节点就复制该数据帧以便进行下一步处理。

(4)数据帧沿着环路传输,直到到达该帧的源节点,源节点接收到自己发出去的数据帧便不再转发。同时,该源节点可以通过校验返回的数据帧,查看数据传输过程中是否有错,若有错,则重传该帧。

(5)源节点传送完数据以后,重新产生一个令牌,并将令牌传递给下一个站点,以交出发送数据帧的权限。

政哥应试提醒:本考点内容相对比较综合,熟悉CDMA、CSMA、TDMA、FDMA的概念,重点掌握好CSMA、CSMA/CD、CSMA/CA的工作原理和过程,以及由此引出的碰撞域,最短有效帧长的计算。延迟等时间计算可能存在解答题,此时可能会融合多讲考点出题,大家需要具有综合分析的能力。

难度系数:★★

牛刀小试

1.在( )协议中,一个站点有数据要发送时,首先侦听信道:若信道为空,则可以发送;若信道为忙,则等待一个随机时间,重新开始侦听。

A.1-坚持CSMA B.非坚持CSMA C.p-坚持CSMA D.传递轮询

2.将一条物理信道按时间分成若干时间片轮换地给多个信号使用,每个时间片由复用的一个信号占用,这可以在一条物理信道上传输多个数字信号,这就是( )。

A.频分多路复用  B.时分多路复用

C.空分多路复用 D.频分与时分混合多路复用

3.以太网媒体访问控制技术CSMA/CD的机制是( )。

A.争用带宽 B.预约带宽 C.循环使用带宽 D.按优先级分配带宽

4.对于基带CSMA/CD而言,为了确保发送站点在传输时能检测到可能存在的冲突,数据帧的传输时延至少要等于信号传播时延的( )。

A.1倍 B.2倍 C.4倍 D.2.5倍

5.以太网采用二进制指数退避算法,如果发生了12次碰撞,站点会在0~( )范围内选择一个随机数。

A.10 B.12 C.1023 D.向上层报告错误

6.CSMA/CD协议在站点发送数据时,( )。

A.一直侦听总线活动 B.仅发送数据,然后等待确认

C.不侦听总线活动  D.当数据长度超过1518字节时侦听总线活动

7.在CSMA/CD介质访问控制方式中,若发送节点检测信道被占用,则按一定的概率推迟一段时间,对这个概率时间的计算应考虑的因素是( )。

A.站点的发送时间  B.冲突检测所需的时间

C.阻塞信号的传送时间 D.以上时间都考虑

8.下列关于CSMA/CD的描述,正确的是( )。

A.CSMA/CD说明站点在发送完帧之后再对冲突进行检测

B.CSMA/CD说明站点在发送帧期间,同时对冲突进行检测

C.CSMA/CD说明站点发送帧和检测冲突并不是在同一个站上进行

D.CSMA/CD说明在一个站上发送的帧,只有当另一个站没有收到时,才对冲突进行检测

9.下列协议中,不会发生碰撞的是( )。

A.TDMA B.ALOHA C.CSMA D.CSMA/CD

10.以太网中“阻塞”信号的功能是( )。

A.发现冲突时由CSMA/CA发送,检测到该信号的站点立即停止发送尝试

B.发现冲突时由CSMA/CD发送,检测到该信号的站点立即停止发送尝试

C.发现冲突时由CSMA/CA发送,检测到该信号的站点立即开始竞争访问介质

D.发现冲突时由CSMA/CD发送,检测到该信号的站点立即开始竞争访问介质

11.根据CSMA/CD协议的工作原理,需要提高最短帧长度的是( )。

A.网络传输速率不变,冲突域的最大距离变短

B.冲突域的最大距离不变,网络传输速率提高

C.上层协议使用TCP的概率增加

D.在冲突域不变的情况下减少线路中的中继器数量

12.令牌环网中某个站点能发送帧是因为( )。

A.最先提出申请 B.优先级最高 C.令牌到达 D.可随机发送

牛刀小试解析

1.B 解析 本题考查1-坚持CSMA协议的特点。CSMA的主要类型有3种:1-坚持CSMA、非坚持CSMA和p-坚持CSMA。

对于1-坚持CSMA:

①站点有数据发送,先侦听信道;

②若站点发现信道空闲,则发送;

③若信道忙,则继续侦听直至发现信道空闲,然后完成发送;

④若产生冲突,则等待一个随机时间,然后重新开始发送过程(回到①)。

优点:减少了信道空闲时间。

缺点:增加了发生冲突的概率;广播延迟越大,发生冲突的可能性越大,协议性能越差。

对于非坚持CSMA:

①若站点有数据发送,先侦听信道;

②若站点发现信道空闲,则发送;

③若信道忙,则等待一个随机时间,然后重新开始发送过程(回到①);

④若产生冲突,则等待一个随机时间,然后重新开始发送过程(回到①)。

优点:减少了冲突的概率,信道效率比1-坚持CSMA高。

缺点:增加了信道空闲时间,数据发送延迟增大;传输延迟比1-坚持CSMA大。

对于p-坚持CSMA:

①若站点有数据发送,则先侦听信道;

②若站点发现信道空闲,则以概率p发送数据,以概率q=1-p延迟至下一个时间槽发送;若下一个时间槽仍空闲,重复此过程,直至数据发出或时间槽被其他站点所占用;

③若信道忙,则等待下一个时间槽,重新开始发送;

④若产生冲突,则等待一个随机时间,重新开始发送。

p-坚持CSMA是一种折中方案,既能像非坚持CSMA那样减少冲突,又能像1-坚持CSMA 那样减少媒体空闲时间,适用于分槽信道。

2.B 解析 本题考查时分多路复用的基本概念。常见的多路复用技术有频分多路复用、时分多路复用、波分多路复用和码分多路复用。对于这几种多路复用技术,我们来仔细讲解如下:

(1)频分多路复用(FDMA):按照频率的不同来区分多路信号的方法。在频分多路复用中,传输信道的频带被分成若干个相互不重叠的频段,每个频段构成一个子信道,每路信号占用其中一个频段,因而在接收端可以采用适当的带通滤波器将多路信号分开,从而恢复出所需要的信号。

(2)时分多路复用(TDMA):是把信道用于传输的时间划分为许多时间片,各路信号依次轮流占用一个时间片进行传输。

(3)波分多路复用(WDMA):是光的频分多路复用,是指在一根光纤中传输多种不同波长的光信号,因为波长不同,所以各路光信号互不干扰,最后再用波分器将各路波长分解出来。所选器件应具有灵敏度高、稳定性好、抗电磁干扰、功耗小、体积小、质量轻、器件可替换性强等优点。光源输出的光信号带宽为40nm,在此宽带基础上可实现多个通道传感器的大规模复用。

(4)码分多路复用(CDMA):是一种真正的动态复用技术。码分复用的特点是:采用扩频通信技术,各个低速信道可以在同一个地方同时使用相同的频率进行通信,不同的低速信道通过采用不同的地址码复用整个频段。

3.A 解析 CSMA/CD媒体访问控制方法是以太网争用带宽的机制,它的工作原理可以概括如下:先听后发,边发边听,冲突停发,随机延迟后重发。

在发送数据前,先监听总线是否空闲。若总线忙,则不发送。若总线空闲,则把准备好的数据发送到总线上。在发送数据的过程中,工作站边发送边检测总线,自己发送的数据是否冲突。若无冲突,则继续发送直至发完全部数据。若有冲突,则立即停止发送数据,并发送一个加强冲突的阻塞(JAM)信号,以便网络上所有工作站都知道网上发生了冲突,然后等待一个随机时间,在总线为空闲时再重新发送未发完的数据。

补充:什么是CSMA/CD?

CSMA/CD ( Carrier Sense Multiple Access with Collision Detection):载波侦听多路访问/冲突检测协议。

多点接入表示许多计算机以多点接入的方式连接在一根总线上。

载波监听是指每个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,若有,则暂时不要发送数据,以免发生碰撞。

碰撞检测就是计算机边发送数据边检测信道上的信号电压大小。所谓“碰撞”,就是发生了冲突。因此,“碰撞检测”也称为“冲突检测”。

4.B 解析 假设不同的时间里面发生碰撞,如图3-19所示。

τ为A和B的单程传播时延。在t=0时,A检测到信道空闲,开始发送数据;在τ-δ时,A发送的数据尚未到达B,B检测到的信道是空闲的,所以B也开始发送数据。

在t=τ时发生了碰撞,并在t=τ时B检测到了冲突,并且停止发送数据。在t=2τ-δ时,B发送的数据刚好到达A端,A检测到了冲突。

故而,可知A发送帧之后最多经过2τ的时间能够检测到冲突。事实上,我们可以得到下面的知识:

最先发送数据帧的站,在发送数据帧后最多经过时间2τ(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。以太网的端到端往返时延2τ称为争用期或碰撞窗口;经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

图3-19 数据发生碰撞过程

补充:使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信。

5.C 解析 本题考查二进制指数退避算法。

在CSMA/CD协议中,一旦检测到冲突,为降低再冲突的概率,需要等待一个随机时间,然后使用CSMA/CD方法试图传输。为了保证这种退避维持稳定,采用了二进制指数退避算法的技术,其算法过程如下:

①确定基本退避时间,一般取2倍的总线端到端传播时延2τ。

②定义参数k=重传次数,但是k不超过10,即k=min[重传次数,10]。当重传次数≤10时,k等于重传次数;10≤k≤15时,k仍然等于10。

③从离散的整数集合[0,1,…,2k-1]中随机选择一个数r,重传所需要退避的时间为2rτ。

④当重传次数到了16次还是没有成功,则认为该帧永远无法到达,抛弃此帧,并向高层报错。

根据第6题的二进制指数退避算法,当重传次数k≤10时,k等于重传次数。因为12>10,所以从离散的整数集合[0,1,…,210-1]即0~1023中随机选择一个数r,重传所需要退避的时间为2rτ。故选择C项。

注意:若是我们再出一个题,问重传次数达到了16次之后,并给出和本题一样的4个选项,记得别再选择C项了,就应该选择D项了。

6.A 解析 CSMA/CD媒体访问控制方法是以太网争用带宽的机制,它的工作原理可以概括如下:先听后发,边发边听,冲突停发,随机(延迟后)重发。

在发送数据前,先监听总线是否空闲。若总线忙,则不发送。若总线空闲,则把准备好的数据发送到总线上。在发送数据的过程中,工作站边发送边检测总线自己发送的数据是否冲突。若无冲突,则继续发送直至发完全部数据。若有冲突,则立即停止发送数据,并发送一个加强冲突的阻塞(JAM)信号,以便网络上所有工作站都知道网上发生了冲突。然后,等待一个帧间隙时间和一个随机时间,在总线为空闲时再重新发送未发完的数据。

故而,CSMA/CD协议在站点发送数据时,一直监听总线活动,选择A项。

7.B 解析 对于1-坚持CSMA,在监听到信道忙时,仍然继续监听下去,直到信道空闲为止。对于非坚持CSMA,一旦监听到信道忙,不再监听下去,而是延迟一段随机时间后重新再监听。对于p-坚持CSMA,则是以概率1-p延迟一段时间。对于后两种CSMA方式,延迟的概率时间计算考虑因素是冲突检测所需要的时间。

8.B 解析 本题考查CSMA/CD协议对冲突进行检测的合理时机。使用CSMA/CD协议,若站点在发送帧期间,检测到冲突,则停止发送数据,等待时机再发;若没有检测到冲突,则将该帧传输完毕。

9.A 解析 TDMA(时分多路复用)属于静态划分信道的方式,各节点分时使用信道,不会发生碰撞,而ALOHA、CSMA、CSMA/CD均属于动态的随机访问协议,都可能会发生碰撞。

10.B 解析 本题考查以太网“阻塞”信号的功能。以太网发生冲突时,阻塞信号由CSMA/CD发送,检测到该信号的站点立即停止发送尝试。

阻塞信号的作用是,发现冲突时CSMA/CD发送一个阻塞信号,当所有的站都检测到阻塞信号时,它们立即停止发送尝试。然后在该设备再次尝试发送数据之前,使用一个二进制数后退例行程序,等待一个时间间隔,再次检测。

关于CSMA/CD我们已经讲很多了,再说一下CSMA/CA,全称Carrier Sense Multiple Access with Collision Avoidance(带冲突避免的载波侦听多路访问)。

CSMA/CA的基本过程:

①送出数据前,监听媒体状态,看看有没有站点在使用媒体。这种监听维持一段随机的时间后,若发现依然没有站点使用媒体,则送出数据。

②送出数据前,先送一段小小的请求传送报文(RTS)给目标端,等待目标端回应CTS报文后,才开始传送。

CSMA/CD与CSMA/CA的区别:

①二进制退避算法不同。在CSMA/CD协议中第n次重发尝试以前,延迟的时间应该是rτ,r是均匀分布的随机整数,在[0,2k]中选取,其中k=min(n,10)。当n=16(极限值),即连续发生15次重发碰撞仍未成功发送时,则作为差错向上层报告发送失败。

在CSMA/CA中退避时间由Nb(Number of back,后退次数)、CW(Content Window length, 碰撞窗口的长度)、BE( Back off Exponent,后退指数)这3个参数共同决定。

②采用退避算法的时机不同。CSMA/CD可以通过电压变化知道是否发生冲突,而CSMA/CA 则是监听到介质空闲后,等待一个JFG(帧间隙)的时间,再等待另一个随机时间后发送,尽量避免发生冲突,发送的时候用定时器检测确认信息,如果出错,再采用避让算法。

③载波检测方式不同。因传输介质不同,CSMA/CD与CSMA/CA 的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化。而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测3种检测信道空闲的方式。

④传输介质不同。CSMA/CD用于总线型以太网,而CSMA/CA 则用于无线局域网802.11a/b/g/n等。

11.B 解析 本题考查CSMA/CD协议的工作原理和最短帧长的计算。

如果网络传输速率不变(网络传输速率是指发送速率,不是指在信道的传播速率),冲突域的最大距离变短,说明来回往返时延小,也就是说发送比特的时间也缩短。而且,发送速率不变,最短帧必定要变短,故排除A项。如果冲突域的最大距离不变,网络传输速率提高,也就是说发送比特的时间不变,但发送速率提高了,此时最短帧肯定变长了,故选择B项。选项C和D是迷惑选项,没有任何关系。

最短有效帧长=2τ×C,式中,τ为单程端到端传播时延;C为带宽。

最短有效帧长=争用周期×发送速率=(2×端到端距离/传播速率)×发送速率。

若帧太短,发送端在2τ内帧已经发送完毕,则冲突无法检测。

对于A项,网络传输速率不变,冲突域的最大距离也即端到端距离变短,最短有效帧长变短。

对于B项,冲突域的最大距离不变,传播速率提高,最短帧长应该变长。

C和D项与本题无关。

12.C 解析 本题考查令牌环网络中站点发送帧的原因。在前面考点中,我们也讲到了令牌环网络的主要原理,令牌环网络使用一个称为“令牌”的控制标志(令牌是一个二进制数的字节,它用“空闲”与“忙”两种编码标志来实现,既无目的地址,也无源地址),当无信息在环上传送时,令牌处于“空闲”状态,它沿环从一个工作站到另一个工作站不停地进行传递。

当某一工作站准备发送信息时,就必须等待,直到检测并捕获到经过该站的令牌为止。然后,将令牌的控制标志从“空闲”状态改变为“忙”状态,并发送出一帧信息。其他的工作站随时检测经过本站的帧,当发送的帧目的地址与本站地址相符时,就接收该帧,待复制完毕再转发此帧,直到该帧沿环一周返回发送站,并收到接收站指向发送站的肯定应答信息时,才将发送的帧信息进行清除,并使令牌标志处于“空闲”状态,继续插入环中。

当另一个新的工作站需要发送数据时,按前述过程,检测到令牌,修改状态,把信息装配成帧,进行新一轮的发送。故而,某个站点能发送帧,是因为它等到了令牌而且有数据要发送。故而,选择C项。

大显身手

1.长2km、数据传输率为10Mb/s的基带总线LAN,信号传播速度为200m/µs,试计算:

(1)1000bit的帧从发送开始到接收结束的最大时间是多少?

(2)若两个距离最远的站点在同一时刻发送数据,则经过多长时间两站发现冲突?

2.若10Mb/s的CSMA/CD局域网的节点最大距离为2.5km,信号在媒体中的传播速度为2×108m/s。求该网的最短帧长。

3.传统的总线型以太网将端到端的往返时延称为争用期,也称为碰撞窗口。在碰撞窗口时间内能发送的帧的最大长度定义为最短有效帧长。假定1km长的CSMA/CD网络的数据传输率为1Gb/s,设信号在网络上的传播速度为200000km/s。求能够使用此协议的最短帧长。

大显身手解析

1.解析 LAN的基带总线长度2000m,数据传输率为10Mb/s,信号传播速度为200m/µs。

(1)1000bit的帧从发送开始到接收结束,是发送时间和传播时间的总和。故而,所求得最大时间=1000bit÷10Mb/s+2000m÷200m/µs=100µs+10µs=110µs。

(2)两个距离最远的站点在同一时刻发送数据,当对方的信号到来时,接收了该信号,发现不是自己发送的,则检测到冲突,故而经过的时间为2000m÷200m/µs=10µs。

2.解析 网络中两站点最大的往返传播时间2t=2×2.5×1000÷(2×108)=25(µs)。故而,最短帧长=2.5×10-5s×10×106b/s=250bit。

3.解析 对于1km电缆,单程传播时延为1km÷200000km/s=5×10-6s,即5µs,则往返时延为10µs。为了能够按照CSMA/CD工作,最小帧的长度为109×10×10-6s=10000bit,因此最小帧长是10000bit(或1250字节)。