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