以太网采用无连接的工作方式,适配器对发送的数据帧不进行编号,也不要求对方发回确认。以太网提供的是尽最大努力交付,即不可靠的交付。
以太网发送数据使用曼彻斯特(Manchester)编码的信号。
CSMA/CD协议要点:
“多点接入”,总线型网络。
“载波监听”,检测信道。不管在发送前还是发送中,每个站都必须不停的检测信道。
“碰撞检测”,即边发送边监听。当几个站同时在总线上发送数据时,总线上的信号电压变化幅度会增大(互相叠加)。
电磁波在1km电缆的传播时延约为5 μs。
在使用CSMA/CD协议时,一个站不可能同时进行发送和接收(但必须边发送边监听信道)。因此,使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行双向交替通信(半双工通信)。
总线上的单程端到端时延记为τ;端到端的往返时间2τ称为争用期。
以太网使用截断二进制指数退避算法来确定碰撞后重传的时机。
具体如下:
(1)协议规定了基本退避时间为争用期2τ,具体的争用时间是51.2μs。也可使用比特作为争用期的单位。
(2)从离散的整数集合[0,1,...,(2^k-1)]中随机取出一个数,记为r。重传应推后的时间就是r倍的争用期。参数k可用以下的公式计算:
k=Min[重传次数,10]
(3)当重传次数达16仍不成功时,
则丢弃该帧,并向高层报告。
以太网规定最短帧长不小于64字节,即512bit。因此,凡长度小于64字节的帧都是由于冲突而异常终止的无效帧。还规定 帧间最小间隔为9.6μs。
强化碰撞:当发送数据的站一旦发现发生了碰撞时,除了立即停止发送数据外,还要继续发送32比特或48比特的人为干扰信号。
CSMA/CD协议要点归纳如下:
(1)准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太网帧,加入适配器的缓存中。但在发送之前,必须先检测信道。
(2)检测信道:若检测到信道忙,则应不停的检测,一直等待信道转为空闲。若检测到信道空闲,并在96比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧。
(3)在发送过程中仍不断的检测信道,即网络适配器要边发送边监听。
①发送成功:在争用期内一直未检测到碰撞。这个帧肯定能发送成功。发送完毕后什么也不做,回到(1)。
②发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待r倍512比特时间后,返回步骤(2),继续检测信道。若重传达16次仍不成功,则停止重传而向上报错。
以太网每发送完一帧,一定要把已发送的帧暂时保留一下。如果在争用期内检测出发生了碰撞,那么还要在推迟一段时间后再把这个暂时保留的帧重传一次。