很多人将局域网(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字节,
阅读(920) | 评论(0) | 转发(0) |