MAC帧是
数据帧的一种。而所谓数据帧,就是
数据链路层的
协议数据单元,它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的
控制信息,比如
同步信息、地址信息、差错控制信息等;数据部分则包含
网络层传下来的数据,比如ip
数据包。
在发送端,
数据链路层把网络层传下来得
数据封装成帧,然后发送到链路上去;在接收端,数据链路层把收到的帧中的数据取出并交给网络层。不同的
数据链路层协议对应着不同的帧,所以,帧有多种,比如PPP帧、MAC帧等,其具体格式也不尽相同。
MAC帧的帧头包括三个字段。前两个字段分别为6字节长的目的
地址字段和源地址字段,目的地址字段包含目的
MAC地址信息,源地址字段包含源MAC地址信息。第三个字段为2字节的类型字段,里面包含的信息用来标志上一层使用的是什么协议,以便接收端把收到的MAC帧的数据部分上交给上一层的这个协议。例如,当类型字段的值是0x0800时,就表示上层使用的是
IP数据报;若类型字段的值为0x8137,则表示该帧是由
Novell IPX 发过来的。
MAC帧的数据部分只有一个字段,其长度在46到1500字节之间,包含的信息是
网络层传下来的数据。MAC帧的帧尾也只有一个字段,为4字节长,包含的信息是
帧校验序列FCS(使用
CRC校验)。