我们再来看一看以太网的帧结构。


要讲帧结构,就要说一说OSI七层参考模型。七层参考模型大家很熟悉,以前我们看书的时候会觉得不知所云,我刚学的时候就是这感觉,其实我们只要掌握两点就行了。
一个是访问服务点,每一层都对上层提供访问服务点(SAP),或者我们可以说,每一层的头里面都有一个字段来区分上层协议。
比如说传输层对应上层的访问服务点就是端口号,比如说23端口是telnet,80端口是http。IP层的SAP是什么?(同学们没说话)
其实就是protocol字段,17表示上层是UDP,6是TCP,89是OSPF,88是EGIRP,1是ICMP等等。
以太网对应上层的SAP是什么呢?就是这个type或length。比如 0800表示上层是IP,0806表示上层是ARP。我后面还会将各种以太网的帧类型。
第二个要了解的就是对等层通讯,对等层通讯比较好理解,发送端某一层的封装,接收端要同一层才能解封装。
我们再来看看帧结构,以太网发送方式是一个帧一个帧发送的,帧与帧之间需要间隙。这个叫帧间隙IFG—InterFrame Gap
IFG长度是96bit。当然还可能有Idle时间。
以太网的帧是从目的MAC地址到FCS,事实上以太网帧的前面还有preamble,我们把它叫做先导字段。作用是用来同步的,当接受端收到preamble,就知道以太网帧就要来了。preamble有8个字节前面7个字节是10101010也就是16进制的AA,最后一个字节是10101011,也就是AB,当接受端接受到连续的两个高点平,就知道接着来的就是D_mac。所以最后一个字节AB我们也叫他SFD(帧开始标示符)。
所以在以太网传输过程中,即使没有idle,也就是连续传输,也有20个字节的间隔。对于大量64字节数据来说,效率也就显得不高。