MAC从PCI总线收到IP数据包(或者其他网络层协议的数据包)后,将之拆分并重新打包成最大1518Byte,最小64Byte的帧。这个帧里面包括了目标MAC地址、自己的源MAC地址和数据包里面的协议类型(比如IP数据包的类型用80表示)。最后还有一个DWORD(4Byte)的CRC码。在发送数据的时候,MAC协议可以事先判断是否可以发送数据。如果有数据在传送中就等待,一旦检测到网络空闲,再等待一个随机时间后,将数据以及控制信息以规定的格式发送到物理层。如果两个碰巧同时送出了数据,那样必将造成冲突,这时候PHY就可以检测到冲突,MAC等待一个随机的时间重新发送数据。这个随机时间很有讲究的,并不是一个常数,在不同的时刻计算出来的随机时间都是不同的,而且有多重算法来应付出现概率很低的同两台主机之间的第二次冲突,这样就造成MAC收发数据的不确定性。在接收数据的时候,MAC协议首先判断输入的信息是否发生传输错误,如果没有错误,则去掉控制信息发送至上一层。以太网MAC的格式由IEEE-802.3以太网标准定义,是互联网的基本出具单元。格式如下:
|