一、以太网概述
以太网(Ethernet)指的是由 Xerox公司创建并由Xerox、Intel和 DEC公司联合开发的基带局域网规范,通用的以太网标准于1980年9月30日出台,是当今现有局域网采用的最通用的通信协议标准(是局域网的一种)。
以太网是一种计算机局域网技术。以太网有两类:第一类是经典以太网,第二类是交换式以太网,使用了一种称为交换机的设备连接不同的计算机。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是目前应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和ARCNET。以太网实现了网络上无线电系统多个节点发送信息的想法,每个节点必须获取电缆或者信道的才能传送信息,有时也叫作以太(Ether)。 每一个节点有全球唯一的48位地址也就是制造商分配给网卡的MAC地址,以保证以太网上所有节点能互相鉴别。由于以太网十分普遍,许多制造商把以太网卡直接集成进计算机主板。
以太网协议采用星形拓扑或线性总线,这是 IEEE 802.3 标准的基础。在 OSI 网络结构中,该协议同时工作于物理层和数据链路层,即前两层。以太网将数据连接层分为两个不同的层:逻辑链路控制层和媒体访问控制 (MAC) 层。
网络系统中的数据连接层主要负责将数据包从一个节点传输到另一个节点。以太网采用一种称为 CSMA/CD(载波侦听多路访问/冲突检测)的访问机制,使每台计算机能够在通过网络传输数据之前侦听连接。
以太网还使用两个组件传输数据:数据包和帧。该帧包含发送的数据有效负载以及以下内容:
- 发件人和收件人的 MAC 和物理地址
- 用于识别传输故障的纠错数据
- 有关虚拟 LAN (VLAN) 标记以及服务质量 (QoS)的信息
每个帧都封装在包含许多数据字节的数据包中,以建立连接并识别帧的开始点。
二、以太网物理帧格式
常用的以太网MAC帧格式有两种标准 :
- DIX Ethernet V2 标准
- IEEE 的 802.3 标准
最常用的 MAC 帧是以太网 V2 的格式。
这里我们着重介绍 Ethernet V2 标准的MAC帧格式(这里我们暂时不考虑VLAN的情况):
1、前导码
图中的黄色部分,简单说就是用来同步用的,这里不是我们考虑的重点。
2、MAC帧
(1)目的地址
IPv4下共占据6个Byte,即48个bit,目的MAC地址,该字段确定帧的接收者。
(2)源地址
IPv4下共占据6个Byte,即48个bit,源MAC地址,该字段标识帧的发送者。
(3)类型
协议类型,长度为2个Byte,用来标识数据字段内的高层协议,我们举两个最最常用的例子:
- 0x0800:IP报文
- 0x0806:ARP报文
(4)数据
数据字段,其长度在46~1500字节(46字节是这样得出的:最小长度64字节减去18字节的首部和尾部就得出数据字段的最小长度)。当数据字段的长度小于46字节时,MAC子层就会在数据字段的后面加入一个整数字节的填充字段,以保证以太网的MAC帧长不小于64字节。
(5)FCS
最后一个字段是4个Byte的帧检验序列FCS(使用CRC检验)
三、帧间最小间隔
帧间最小间隔为 9.6 us,相当于 96 bit 的发送时间。一个站在检测到总线开始空闲后,还要等待 9.6 us 才能再次发送数据。以太网不需要使用帧结束定界符,也不需要使用字节填充或比特填充技术来保证透明传输。帧间间隔用于接收方检测一个帧的结束,同时也使得所有其它站点都能有机会平等竞争信道并发送数据。
四、CSMA/CD
带冲突检测的载波侦听多路访问(CSMA/CD)技术规定了多台计算机共享一个通道的方法。这项技术最早出现在1960年代由夏威夷大学开发的AHLOAnet,它使用无线电波为载体。这个方法要比令牌环网或者主控制网简单。当某台计算机要发送信息时,在以下行动与状态之间进行转换:
-
开始- 如果线路空闲,则启动传输,否则跳转到第4步。
-
发送- 如果检测到冲突,继续发送数据直到达到最小回报时间(min echo receive interval)以确保所有其他转发器和终端检测到冲突,而后跳转到第4步。
-
成功传输- 向更高层的网络协议报告发送成功,退出传输模式。
-
线路繁忙- 持续等待直到线路空闲。
-
线路空闲- 在尚未达到最大尝试次数之前,每隔一段随机时间转到第1步重新尝试。
-
超过最大尝试传输次数- 向更高层的网络协议报告发送失败,退出传输模式。