CSMA/CD协议
以太网MAC层采用带冲突检测的载波监听多址接人协议(CSMA/CD协议)这是一种典型的共享信道随机多址接人技术前面已指出传统以太网的总线是多站点的公共传输信道当多个站点共享同一个信道时由于各站点随机地要求使用信道发送数据所以每次数据的传输都有可能要与其他的站点争用信道的使用权即存在竞争和冲突问题为了减小发生冲突的概率协议规定数据以帧为单位进行传输且帧长度受限每个站点在发送数据前先检测信道的忙闲状况只有在信道空闲时才发送佴由于不同站点之间存在信号传播时延当两个或两个以上的站点同时或接近同时检测到信道空闲时仍有可能发生碰撞所以协议又规定在数据帧发送之后仍继续监听信道若发现冲突还要进行冲突处理
因此CSMA/CD协议的具体操作步骤如下
)每个站点在发送MAC帧前首先监测信道是否空闲如果发现信道空闲就立即发送否则继续监测信道
)MAC帧发送后继续监测信道并进行冲突检测若在特定的时间(称为冲突窗口或争用期)内没有发现冲突就继续发送直至将该帧发送完若在冲突窗口内发现冲突立即停止帧的发送并转至步骤()
)发送一个短(比特~比特)的干扰信号以强化冲突让网内所有的站点都知道发生了冲突并停止发送然后退避一段随机的时间后重复步骤()
对于CSMA/CD协议还需要说明两个重要的概念这就是冲突窗口和二进制指数退避算法
冲突窗口它定义为可能发生冲突的最大时间区间其值略大于tt是总线端到端的单向传播时延图示出可能发生冲突的一种极端情况让我们考虑位于总线两端的站点A和B设A站在时刻检测到信道空闲并发出一个MAC帧该帧将在+T到达B站又设B站在t+r时刻发现信道空闲并发出一个MAC帧(这里是一个任意小的正数)该帧经过时间t后将到达A站由此可见总线上的任何站点在发出其MAC帧之后的t时间内如果没有发现冲突就肯定不会再发生冲突


由于在冲突窗口内一定可以发现冲突而且一旦检测到冲突就中止帧的发送故已经发送出去的部分肯定小于宇节这些因冲突而中止发送的不完整的帧称为冲突碎片它们的长度小于字节所以以太网的协议规定最短的有效帧长度为宇节凡是长度小于字节的帧都作为冲突碎片处理
以上讨论了帧的发送协议总线上的每个站点还要随时进行帧的接收操作具体的帧接收操作如下
地址识别识别所有到达帧的目的地址只接收目的地址(单地址或组地址)与本站地址相符的帧
差错检测对接收的帧进行CRC校验和帧格式的检査冲突碎片处理删除任何小于字节的帧
上传信息MAC层将接收数据帧的内容及状态信息传送给上一层
另外还需要指出上述协议中的载波监听冲突检测都是在物理层实现的冲突检测之所以能实现是因为站点通过分接头能够实现双工工作即每个站点在将信号发送到总线的同时又可以从总线上接收信号对于无线单载波的广播式网络(如无线局域网)每个站点在发射信号的同时是不可能接收的因此CSMA/CD协议是不适用的