很多人将局域网(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甚至更高的速率),同时也将通信距离提高到数十公里甚至上百公里。