很多人将局域网( Local Area Network LAN )和以太网( Ethernet )混为一谈,这个误解大概是因为和其他局域网技术比较起来,以太网技术使用得是如此普遍、发展得是如此地迅速,以至于人们将 " 以太网 " 当作了 " 局域网 " 的代名词。
  本节将讨论 " 局域网 " " 以太网 " 二者之间的关系以及相关的一些基础知识。
  
   1  以太网概述
  
   1973 年,施乐公司( Xerox )开发出了一个设备互连技术并将这项技术命名为 " 以太网( Ethernet " Ethernet 采用了总线竞争式的介质访问方法(起源于夏威夷大学在 60 年代研制的 ALOHA 网络),它的问世是局城网发展史上的一个重要里程碑。
  
   1979 年, Xerox DEC Intel 共同起草了一份 10 Mbps 以太网物理层和数据链路层的规范,称为 DIX Digital Intel Xerox )规范 -DIX 1.0
  
   1980 2 月(美国)电气电子工程师学会( IEEE )成立了专门负责制定局域网络标准的 IEEE 802 委员会。该委员会开始研究一系列局域网( LAN )和城域网( MAN )标准,这些标准统称为 IEEE 802 标准。其中, IEEE 802.3 对于基于总线型的局域网进行了规定(实际上 IEEE 802.3 标准的制定过程中参考、借鉴了很多已经实现的以太网技术)。
  
   1982 年, DIX 修改并发布了自己的以太网新标准: DIX 2.0
   1983 年, Novell 根据初步形成的 IEEE 802.3 规范发布了 Novell 专用的以太网帧格式,常被称为 802.3 原始帧格式( 802.3 raw )。
  
   1984-1985 年, IEEE 802 委员会公布了五项标准 IEEE 802.1 IEEE 802.5 。其中,公布了两种 802.3 帧格式,即 802.3 SAP 802.3 SNAP
  
  后来, IEEE 802 标准被国际标准化组织 ISO 修订并作为国际标准,称为 ISO 8802
  
   2  以太网技术概述
  
  尽管局域网的各种标准在内容上有不少区别,但是,其主要的技术实现方法是相近的。
  
   2.1   Ethernet 地址
  
  为了标识以太网上的每台主机,需要给每台主机上的网络适配器(网络接口卡)分配一个唯一的通信地址,即 Ethernet 地址或称为网卡的物理地址、 MAC 地址。
  
   IEEE 负责为网络适配器制造厂商分配 Ethernet 地址块,各厂商为自己生产的每块网络适配器分配一个唯一的 Ethernet 地址。因为在每块网络适配器出厂时,其 Ethernet 地址就已被烧录到网络适配器中。所以,有时我们也将此地址称为烧录地址( Burned-In-Address BIA )。
  
   Ethernet 地址长度为 48 比特,共 6 个字节,如图 1 所示。其中,前 3 字节为 IEEE 分配给厂商的厂商代码,后 3 字节为网络适配器编号。
  
 
  
1   Ethernet 地址
   2.2   CSMA/CD
  在 ISO OSI 参考模型中,数据链路层的功能相对简单。它只负责将数据从一个节点可靠地传输到相邻节点。但在局域网中,多个节点共享传输介质,必须有某种机制来决定下一个时刻,哪个设备占用传输介质传送数据。因此,局域网的数据链路层要有介质访问控制的功能。为此,一般将数据链路层又划分成两个子层:
  
   逻辑链路控制 LLC Logic Line Control )子层
  
   介质访问控制 MAC Media Access Control )子层
  
 

  
2   LLC MAC 子层  
  如图 2 所示。其中, LLC 子层负责向其上层提供服务; MAC 子层的主要功能包括数据帧的封装 / 卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。 MAC 子层的存在屏蔽了不同物理链路种类的差异性。在 MAC 子层的诸多功能中,非常重要的一项功能是仲裁介质的使用权,即规定站点何时可
以使用通信介质。  
  实际上,局域网技术中是采用具有冲突检测的载波侦听多路访问( Carrier Sense Multiple Access /
Collision Detection CSMA/CD )这种介质访问方法的。  
  在这种介质访问方法中规定:在发送数据之前,一个节点必须首先侦听网线上的载波,如果在 9.6
秒的时间之内没有检测到载波(说明通信介质空闲),节点才可以发送一帧数据。  
  如果两个节点同时检测到介质空闲并同时发送出一帧数据,则会导致数据帧的冲突,双方的数据帧均被破坏。一方面,检测到冲突的节点会发送 " 冲突增强 " 信号( 32 比特的 "1" )通知介质上的每个节点发生了冲突。另一方面,发生冲突的节点在再次发送自己的数据帧之前会各自等待一段随机的时间。随着以太
网上节点数量的增加,冲突的数量也随之增加,而整个网段的有效带宽将随之减少。  
  在后面的章节中,我们将学习如何利用网桥、交换机等设备将一个网段划分成多个独立的冲突域,进而增加每个网段的可用带宽。
  
   3  以太网帧格式
  
  目前,有四种不同格式的以太网帧在使用,它们分别是:
  
   ●Ethernet II DIX 2.0 Xerox DEC Intel 1982 年制定的以太网标准帧格式。 Cisco 名称为: ARPA
  
   ●Ethernet 802.3 raw Novell 1983 年公布的专用以太网标准帧格式。 Cisco 名称为: Novell-Ether
  
   ●Ethernet 802.3 SAP IEEE 1985 年公布的 Ethernet 802.3 SAP 版本以太网帧格式。 Cisco 名称为: SAP
  
   ●Ethernet 802.3 SNAP IEEE 1985 年公布的 Ethernet 802.3 SNAP 版本以太网帧格式。 Cisco 名称为: SNAP
  
  在每种格式的以太网帧的开始处都有 64 比特( 8 字节)的前导字符,如图 3 所示。其中,前 7 个字节称为前同步码( Preamble ),内容是 16 进制数 0xAA ,最后 1 字节为帧起始标志符 0xAB ,它标识着以太网帧的开始。前导字符的作用是使接收节点进行同步并做好接收数据帧的准备。
  
 

  
3   以太网帧前导字符

  
  除此之外,不同格式的以太网帧的各字段定义都不相同,彼此也不兼容。
  
   3.1   Ethernet II 帧格式
  
  如图 4 所示,是 Ethernet II 类型以太网帧格式。
  
 

  
4   Ethernet II 帧格式
   Ethernet II 类型以太网帧的最小长度为 64 字节( 6 6 2 46 4 ),最大长度为 1518 字节( 6 6
2 1500 4 )。其中前 12 字节分别标识出发送数据帧的源节点 MAC 地址和接收数据帧的目标节点 MAC
址。  
  接下来的 2 个字节标识出以太网帧所携带的上层数据类型,如 16 进制数 0x0800 代表 IP 协议数据, 16 进制数 0x809B 代表 AppleTalk 协议数据, 16 进制数 0x8138 代表 Novell 类型协议数据等。
  在不定长的数据字段后是 4 个字节的帧校验序列( Frame Check Sequence FCS ),采用 32 CRC 循环冗余校验对从 " 目标 MAC 地址 " 字段到 " 数据 " 字段的数据进行校验。
  
   3.2   Ethernet 802.3 raw 帧格式
  如图 5 所示,是 Ethernet 802.3 raw 类型以太网帧格式。
  
 

  
5   Ethernet 802.3 raw 帧格式  
  在 Ethernet 802.3 raw 类型以太网帧中,原来 Ethernet II 类型以太网帧中的类型字段被 " 总长度 "
字段所取代,它指明其后数据域的长度,其取值范围为: 46-1500
  接下来的 2 个字节是固定不变的 16 进制数 0xFFFF ,它标识此帧为 Novell 以太类型数据帧。
 
   3.3   Ethernet 802.3 SAP 帧格式
  
  如图 6 所示,是 Ethernet 802. 3 SAP 类型以太网帧格式。
  
 

  
6   Ethernet 802. 3 SAP 帧格式
  

  从图中可以看出,在 Ethernet 802.3 SAP 帧中,将原 Ethernet 802.3 raw 帧中 2 个字节的 0xFFFF 变为各 1 个字节的 DSAP SSAP ,同时增加了 1 个字节的 " 控制 " 字段,构成了 802.2 逻辑链路控制( LLC )的首部。 LLC 提供了无连接( LLC 类型 1 )和面向连接( LLC 类型 2 )的网络服务。 LLC1 是应用于以太网中,而 LLC2 应用在 IBM SNA 网络环境中。
  
  新增的 802.2 LLC 首部包括两个服务访问点:源服务访问点( SSAP )和目标服务访问点( DSAP )。它们用于标识以太网帧所携带的上层数据类型,如 16 进制数 0x06 代表 IP 协议数据, 16 进制数 0xE0 代表 Novell 类型协议数据, 16 进制数 0xF0 代表 IBM NetBIOS 类型协议数据等。
  
  至于 1 个字节的 " 控制 " 字段,则基本不使用(一般被设为 0x03 ,指明采用无连接服务的 802.2 无编号数据格式)。
   3.4   Ethernet 802.3 SNAP 帧格式
  
  如图 7 所示,是 Ethernet 802. 3 SNAP 类型以太网帧格式。
  

  
7   Ethernet 802. 3 SNAP 帧格式

  
   Ethernet 802. 3 SNAP 类型以太网帧格式和 Ethernet 802. 3 SAP 类型以太网帧格式的主要区别在于:
   ●2 个字节的 DSAP SSAP 字段内容被固定下来,其值为 16 进制数 0xAA
   ●1 个字节的 " 控制 " 字段内容被固定下来,其值为 16 进制数 0x03
   增加了 SNAP 字段,由下面两项组成:
  
   新增了 3 个字节的组织唯一标识符( Organizationally Unique Identifier OUI ID )字段,其值通常等于 MAC 地址的前 3 字节,即网络适配器厂商代码。
   2 个字节的 " 类型 " 字段用来标识以太网帧所携带的上层数据类型。
  
   4   IEEE 802 标准系列
  
  随着时间的推移,除了最早的 10Base2 10Base5 10BaseT IEEE 802 还推出了一系列其他局域网标准。下面,我们简单介绍其中一些较为常用的以太网标准。
  
   4.1   100BaseT
  
   1995 6 月,传输速率为 100Mbps 的以太网由 IEEE 802.3u 标准所定义。即我们通常所说的快速以太网( Fast Ethernet )。
  根据所用传输介质不同,还定义了以下三种不同的物理层标准:
   ●100Base-TX :使用 2 UTP 5 类线或 STP ,其中一对用于发送,另一对用于接收。
   ●100Base-F :使用 2 对光纤,其中一对用于发送,另一对用于接收。
   ●100Base-T4 :使用 4 UTP 3 类线或 5 类线,它使用 3 对线同时传送数据,用 1 对线用作冲突检测的接收信道。
  以上三种不同的标准中,因为 100Base-TX 10BaseT 兼容,所以使用得更广泛。
  
   4.2   1000BaseT
  
   1996 3 月成立的 IEEE 802.3z 工作组,专门负责千兆位以太网的研究, 98 年制定了相应标准。
  
  千兆以太网的物理层协议包括 1000Base-SX 1000Base-LX 1000Base-CX 1000Base-T 等标准。
  
   ●1000Base-SX :使用芯径为 50μm 62.5μm ,工作波长为 850nm 1300nm 的多模光纤,采用 8B/10B 编码方式,传输距离分别为 260m 525m ,适用于同一建筑物中同一层的短距离主干网。
   ●1000Base-LX :使用芯径为 9μm 50μm 62.5μm ,工作波长为 1300nm 的多模、单模光纤,采用 8B/10B 编码方式,传输距离分别为 550m 3km 10km ,主要用于校园主干网。
   ●1000Base-CX :使用 150 欧姆平衡屏蔽双绞线( STP ),采用 8B/10B 编码方式,传输速率为 1.25Gbps ,传输距离为 25m ,主要用于集群设备的连接,如一个交换机房内的设备互连。
   ●1000Base-T :使用 4 5 类非平衡屏蔽双绞线( UTP ),传输距离为 100m ,主要用于结构化布线中同一层建筑中的设备通信,从而可以利用以太网或快速以太网已铺设的 UTP 电缆。
  
   4.3  万兆以太网
  
   2000 3 月, IEEE 专门成立了 IEEE 802.3ae 特别工作组,负责制定 10G 以太网,即万兆以太网标准。
  
   2002 7 月,万兆以太网标准最终发布。万兆标准内容包括 10GBase-X 10GBase-R 10GBase-W 三种类型。万兆以太网标准不仅将以太网的带宽提高到 10Gbps (在使用万兆以太网信道的情况下可以达到 40Gbps 甚至更高的速率),同时也将通信距离提高到数十公里甚至上百公里。