更新时间:2024-09-29 14:54
CSMA/CD(Carrier Sense Multiple Access/collision detection,带有冲突检测的载波侦听多路存取)是IEEE 802.3使用的一种媒体访问控制方法。从逻辑上可以划分为两大部分:数据链路层的媒体访问控制子层(MAC)和物理层。它严格对应于OSI开放系统互连模式的最低两层。LLC子层和MAC子层在一起完成OSI模式的数据链路层的功能。
CSMA/CD(Carrier Sense Multiple Access/Collision Detection),在以太网中使用随机争用型的介质访问控制方法,即冲突检测的载波监听多路访问的方法。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。
CSMA/CD的基本原理是:每个节点都共享网络传输信道,在每个站要发送数据之前,都会检测信道是否空闲,如果空闲则发送,否则就等待;在发送出信息后,则对冲突进行检测,当发现冲突时,则取消发送。
CSMA/CD是一种争用型的介质访问控制协议。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。主要应用于现场总线Ethernet中。另一个改进是,对于每一个站而言,一旦它检测到有冲突,它就放弃它当前的传送任务。换句话说,如果两个站都检测到信道是空闲的,并且同时开始传送数据,则它们几乎立刻就会检测到有冲突发生。它们不应该再继续传送它们的帧,因为这样只会产生垃圾而已;相反一旦检测到冲突之后,它们应该立即停止传送数据。快速地终止被损坏的帧可以节省时间和带宽。
CSMA/CD控制方式的优点是:
原理比较简单,技术上易实现,网络中各工作站处于平等地位 ,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。
CSMA/CD采用IEEE 802.3标准。
它的主要目的是:提供寻址和媒体存取的控制方式,使得不同设备或网络上的节点可以在多点的网络上通信而不相互冲突。
1. 在物理层中把依赖于媒体的特性分离出来,使得LLC子层和MAC子层能适用于一系列媒体。在物理层内定义了两个重要的兼容接口,即依赖于媒体的媒体相关接口MDI和访问单元接口AUI。MDI是一个同轴电缆接口,所有站都必须严格遵守IEEE 802.3定义的物理媒体信号的确切技术规范,严格遵守站点正确动作的规程,要求这个物理媒体接口完全兼容;AUI为第二兼容接口,大多数站点都设在离开同轴电缆的连接处有一段距离的地方,在与同轴电缆靠近的MAC中只有少量电路,而大部分硬件和全部软件都在站点中,对于确保通信来说,符合这个接口并不是绝对必要的,但是由于它允许在MAC和站配合使用时有极大的灵活性,所以推荐这个接口。
MAC子层和LLC子层之伺的接口,包括发送和接收帧的设施,并提供每个操作的状态信息,以供高一层差错恢复规程之用, MAC子层和物理层之间的接口,包括成帧、载波监听、启动传输和解决争用(冲突控制)的信号,在两层间传送一对串行比特流(发送、接收)的设施和用于定时等待的功能。
2.MAC的帧结构
MAC帧是在MAC子层实体间交换的协议数据。帧的8个字段为:前导码、帧起始定界符、目的地址、源地址、表示信息字段长度的长度字段、要发送的以LLC数据、需要进行填充的字段和帧校验序列字段。这8个字段除LLC数据和填充字段外,长度都是固定的。
前导码字段包含7个字节,它用于使PLS(物理收发信号)电路和收到的帧达到稳态同步。帧起始定界符(SFD)字段是10101011序列,它紧跟在前导码后,表示一帧的开始。地址字段包括目的地址字段和源地址字段。目的地址字段规定该帧发往的目的地。源地址字段用于标识起始发送该帧的站。MAC子层有两类地址:即单个地址和成组地址,单个地址说明该地址与网络上一个特定站有关,成组地址说明是多目的地的地址,它与给定网络上的一个或多个站有关。也可以是广播地址,即表示网络上所有站的一组地址。
长度字段是两个字节字段,其值表示数据字段中LLC数据的字节数量,数据字段包含数据序列,为了CSMA/CD协议的正常操作需要一个最小帧长度,必要时可在LLC数据字段之后,FCS之前以字节为单位加以填充。帧校验序列(FCS)字段是发送和接收都要使用循环冗余校验码(CRC)算法所产生的FCS字段的CRC码,帧的长度为64个字节到1518字节之间。
3.MAC子层的功能
IEEE 802.3标准提供了MAC子层的功能说明,主要有数据封装和媒体访问管理两个方面。数据封装(发送和接收数据封装)包括成帧(帧定界和帧同步)、编址(源地址及目的地址的处理)和差错检测等。媒体访问管理包括媒体分配和竞争处理。
(1)发送数据封装部分的功能
当LLC子层请求发送一帧时,MAC子层的发送数据封装部分用LLC子层所提供的数据结构组帧,它将一个前导码P和一个帧起始定界符SFD附加到帧的开头部分,还将PAD附加到结尾部分,以确保传送帧的长度满足最小帧长的要求,它还要附加目的地址和源地址,长度计数字段和帧校验序列,然后把组成的帧交给MAC子层的发送媒体访问管理部分以供发送。
(2)发送媒体访问管理部分的功能
借助于监视物理层收发信号(PLS)部分提供的载波监听信号,发送媒体访问管理设法避免发送信号与媒体上其它信息发生冲突。在媒体空闲时,经短暂的帧间延迟(提供给媒体恢复时间)之后,就启动帧发送,然后,MAC子层将串行位流送给PLS接口以供发送,PLS完成产生媒体上电信号的任务。同时,监视媒体和产生冲突检测信号。在没有争用的情况下,即完成发送。完成发送后,MAC子层通过LLC与MAC间的接口通知LLC子层,等待下一个发送请求。假如产生冲突,PLS接通冲突检测信号,接着发送媒体访问管理开始处理冲突。首先,它发送一个称为阻塞(Jam)的位序列来强制冲突,这就保证了有足够的冲突持续时间,以使其它与冲突有关的发送站都得到通知,在阻塞信号结束时,发送媒体访问管理就停止发送。
发送媒体访问管理在随机选择的时间间隔后再进行重发尝试,在重复的冲突面前反复进行重发尝试,发送媒体访问管理用二进制指数退避算法调整媒体负载。然后,或者重发成功,或者媒体故障或过载的情况下,放弃重发尝试。
(3)接收媒体访问管理部分的功能
首先由PLS检测到达帧,使接收与前导码同步,并接通载波监听信号。接收媒体访问管理部件要检测到达的帧是否错误,帧长是否超过最大长度,是否为8位的整倍数,还要过滤冲突的信号,即把小于最小长度的帧过滤掉。
(4)接收数据解封部分的功能
这一部分检验帧的目的地址字段,决定本站是否应该接收该帧,如地址符合,将送到LLC子层,并进行差错检验。
下面列出IEEE 802.3 MAC协议的10Mbps实现方案的参数值。
参数 数值
Slot Time(时间片) 512比特时间
Inter Frame Gap(帧问间隔) 9.6微秒
attempt limit(尝试极限) 16
Back off limit(退避极限) 10
Jam size(人为干扰长) 32比特
max Frame size(最大帧长) 1518字节
min Frame size(最小帧长) 64字节
address size(地址字段长) 48比特
冲突检测的方法很多,通常以硬件技术实现。一种方法是比较接收到的信号的电压大小。只要接收到的信号的电压摆动值超过某一门限值,就可以认为发生了冲突。另一种方法是在发送帧的同时进行接收,将收到的信号逐比特地与发送的信号相比较,如果有不符合的,就说明出现了冲突。