OSI参考模型的数据链路层的介质访问控制子层对传输介质的访问。不同的网络有不同的介质访问控制协议。在令牌环网中,所有数据是通过一个在网络中沿着一定方向高速旋转的令牌实现的,这个令牌可以看作是“发言权”。在以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。
以太网的介质访问协议采用的是CSMA/CD(Carrier Sense Multiple Access/Collision Detection)即载波侦听多点访问/冲突监测技术,符合美国电子电气工程师学会的IEEE 802.3标准。其主要特点如下:
(1)计算机在发送信息之前,始终在监听网络传输介质上的状态。若线路空闲,可发出信息;若线路被占用,则等待。
(2)在发送信息过程中,若检测到碰撞,即有计算机要发送信息,则立即停止发送,冲突各方退避一个随机时间(微秒级)后再发。
(3)网络上每个站点都在收听信息,一旦数据包接收地址是自己的,立即接收到自己计算机中储存起来,并向发送站回答正确到达,若出错,则要求重发。
这个过程和许多人坐在一个圆形桌子周围开讨论会有些相似,与会者彼此平等,谁都可以先发言,相当于抢占线路。如果有两个或两个以上的人同时发言,相当于网络上发生了碰撞,大家都要先停顿一下,互相让一让,然后其中一个人再发言。当一个人想发言时,如果有人正在发言,就只好等他讲完了再说。一个人发言与会者都可以听到(广播式),没听清时可要求发言人再讲一遍。
CSMA/CD的工作过程如图1.23所示。在状态1,某节点要进行网络传输,那么进入状态2,进行判断,看是否有其他的节点在进行通信,占用了传输介质。如果传输介质被占用,就返回状态1;否则,进入状态3,整和数据帧,然后转到状态4,开始传输数据。在传输的同时,侦听网络是否有冲突,在状态5中进行判断。如果没有检测到冲突,那么继续传输,进入状态6;然后进入7,判断需要传输的数据是否完成,如果没有完成,返回状态6;如果完成,进入状态8,传输结束。如果在状态5中检测到了冲突,则进入状态9,向整个网络广播阻塞信号。然后进入状态10,传输尝试次数累加1。然后在11中进行判断,传输尝试次数是否大于某个限度。如果大于,则说明网络冲突太多,放弃传输;否则,通过退让算法,计算随机等待时间t。然后进入状态14,等待t时间后,转到状态4,再次开始传输。这就是CSMA/CD的工作过程。

图1.23 CSMA/CD的工作过程
CSMA/CD保证网络上各台计算机有平等的权力共享传输介质。其优点是线路利用率高,传输速率高,容易实现,成本低。其缺点是当网络上计算机数量增多时,碰撞次数呈指数方式增长,所以一个以太网络上的计算机数目不宜太多。此外由于各站平等,无优先级区别,对碰撞的处理方式是随机的,因而不适于实时控制。随着局域网交换技术的发展,使用交换机减少网络中冲突的次数,所以CSMA/CD仍是局域网中广泛应用的介质访问 协议。
前面介绍了局域网中的介质访问控制协议,了解了底层的网络通信是如何发生的,接下来再介绍一个高层的通信协议——NetBEUI协议。