以太网技术

更新时间:2023-12-27 05:48:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

维护岗位认证教材(IP专业)

以太网技术

中国电信维护岗位认证教材编写小组编制

以太网技术

目录

第1章 以太网概述 ......................................................................................................................... 3

1.1 以太网起源 ........................................................................................................................ 3 1.2 以太网发展及标准协议 ............................................................................................... 3

1.2.1 以太网发展简史 ..................................................................................................... 3 1.2.2 共享式以太网传输介质 ......................................................................................... 4 1.2.3 标准以太网 ............................................................................................................. 4 1.2.4 快速以太网 ............................................................................................................. 5 1.2.5 千兆以太网 ............................................................................................................. 6 1.2.6 万兆以太网 ............................................................................................................. 7

第2章 LAN原理 ........................................................................................................................... 8

2.1 以太网基本技术 ................................................................................................................ 8

2.1.1 半双工 CSMA/CD ................................................................................................. 8 2.1.2 以太网的物理介质 ................................................................................................. 8 2.1.3 全双工以太网和以太网交换机 ............................................................................. 9 2.1.4 自动协商 ................................................................................................................. 9 2.1.5 1000M 以太网和 10G 以太网 ............................................................................. 9 2.1.6 以太网的应用 ....................................................................................................... 10 2.2 以太网物理层及相关设备 .............................................................................................. 10

2.2.1 物理层系列标准 ................................................................................................... 10 2.2.2 100BASE-TX物理层 ............................................................................................ 11 2.2.3 自动协商 ............................................................................................................... 12 2.2.4 集线器 ................................................................................................................... 13 2.3 数据链路层 ...................................................................................................................... 14

2.3.1 数据链路层特点 ................................................................................................... 14 2.3.2 以太网链路层的分层结构 ................................................................................... 14 2.3.3 MAC 子层 ............................................................................................................. 14 2.3.4 LLC子层 ............................................................................................................... 16

第3章 VLAN原理....................................................................................................................... 18

3.1 VLAN的概念 ................................................................................................................... 18 3.2 VLAN 的划分方式 .......................................................................................................... 18

3.2.1 基于端口的VLAN ............................................................................................... 18 3.2.2 基于MAC地址的VLAN .................................................................................... 19 3.2.3 基于第三层协议的VLAN ................................................................................... 19 3.2.4 基于组播组的VLAN ........................................................................................... 20 3.2.5 基于IP地址影射的VLAN ................................................................................. 20 3.2.6 基于策略的VLAN ............................................................................................... 20 3.3 交换机间链路 .................................................................................................................. 20

3.3.1 802.1Q帧格式 ....................................................................................................... 21 3.3.2 数据帧在不同类型端口之间的转发 ................................................................... 22 3.3.3 VLAN的配置 ........................................................................................................ 22

1

以太网技术

3.4 Isolate-user-VLAN技术 ................................................................................................... 23 第4章 LAN组网介绍 ................................................................................................................. 24

4.1 IP网络结构 ...................................................................................................................... 24 4.2 数据网络的分层结构-组网模型 .................................................................................. 24 4.3 宽带接入组网结构 .......................................................................................................... 25 4.4 LAN典型组网应用 ......................................................................................................... 25 第5章三层交换基本原理 ............................................................................................................. 26

5.1三层交换原理概述 ........................................................................................................... 26 5.2三层交换的特点 ............................................................................................................... 26 5.3三层交换的应用 ............................................................................................................... 27 5.4三层交换的转发机制及结构 ........................................................................................... 27 第6章STP&RSTP原理 ............................................................................................................... 29

6.1概述 ................................................................................................................................... 29

6.1.1 冲突域和广播域 ................................................................................................... 29 6.1.2 广播风暴 ............................................................................................................... 29 6.1.3 生成树协议基本概念 ........................................................................................... 30 6.1.4 生成树协议的运行过程 ....................................................................................... 31 6.2 STP简介 ........................................................................................................................... 33

6.2.1 STP的用途 ............................................................................................................ 33 6.2.2 STP的实现方法 .................................................................................................... 33 6.2.3 STP在以太网交换机中的实现 ............................................................................ 38 6.3 RSTP简介 ........................................................................................................................ 38

6.3.1RSTP算法产生由来 .............................................................................................. 38 6.3.2 RSTP与STP比较 ................................................................................................ 39 6.3.3 RSTP的性能 ......................................................................................................... 40

第7章VRRP技术基本原理 ........................................................................................................ 41

7.1 VRRP概述 ....................................................................................................................... 41 7.2 VRRP协议报文和状态机 ............................................................................................... 41

7.2.1 VRRP协议报文 .................................................................................................... 41 7.2.2VRRP状态机 ......................................................................................................... 43

第8章HSRP的工作原理 ............................................................................................................. 45

2

以太网技术

第1章 以太网概述

1.1 以太网起源

以太网最初是由Xerox公司开发的一种基带局域网技术,使用同轴电缆作为网络媒体,采用载波多路访问和冲突检测(CSMA/CD)机制,数据传输速率达到10Mbps。

以太网被设计用来满足非持续性网络数据传输的需要,而IEEE 802.3规范则是基于最初的以太网技术于1980年制定。以太网版本2.0由Digital Equipment Corporation、Intel和Xerox三家公司联合开发,与IEEE 802.3规范相互兼容。

1.2 以太网发展及标准协议 1.2.1 以太网发展简史

以太网发展简史:

? 1973年, Xerox公司提出以太网技术并实现之,最初以太网数率只有2.94Mbps ? 1980年, Digital Equipment Corporation ,Intel,Xerox,三家联合推出10Mbps DIX

以太网标准

? 1995年,IEEE正式通过了802.3u快速以太网标准 ? 1998年,IEEE802.3z千兆以太网标准正式发布

3

以太网技术

? 1999年,发布IEEE802.3ab标准,即1000BASE-T标准

? 2002年7月18日,IEEE通过了802.3ae,即10Gbit/s以太网,又称为万兆以太网,

它包括了10GBASE-R,10GBASE-W,10GBASE-LX4三种物理接口标准。 ? 2004年3月,IEEE批准铜缆10G以太网标准802.3ak,新标准将作为10GBASE-CX4

实施,提供双轴电缆上的10Gbps的速率

1.2.2 共享式以太网传输介质

在共享式以太网之时,使用一种称为抽头的设备建立与同轴电缆的连接。须用特殊的工具在同轴电缆里挖一个小洞,然后将抽头接入。此项工作存在一定的风险:因为任何疏忽,都有可能使电缆的中心导体与屏蔽层短接,导致这个网络段的崩溃。同轴电缆的致命缺陷是:电缆上的设备是串连的,单点的故障可以导致这个网络的崩溃。

? 10Base5:粗同轴电缆(5代表电缆的字段长度是500米) ? 10Base2:细同轴电缆(2代表电缆的字段长度是200米) 在共享式以太网中,所有的主机都以平等的地位连接到同轴电缆上,但如果以太网中主机数目较多,则存在以下严重问题,其中介质可靠性差是共享式以太网的主要问题。

? 介质可靠性差 ? 冲突严重 ? 广播泛滥 ? 无任何安全性

1.2.3 标准以太网

标准以太网(10Mbit/s)通常只定位在网络的接入层,新一代多媒体、影像和数据库产品很容易将10Mbit/s运行的以太网的带宽吞没。10Mbit/s的以太网可以实现100m距离的连接。

模型分类 接入层 汇聚层 核心层

80年代末期,非屏蔽双绞线(UTP)出现,并迅速得到广泛的应用。UTP的巨大优势在于:

? 价格低廉; ? 制作简单;

? 收发使用不同的线缆;

? 逻辑拓扑依旧是总线的,但物理拓扑变为星形;

4

网络定位 最终用户和接入层交换机之间的连接 通常不使用 通常不使用

以太网技术

IEEE802.3 线缆 名称 10BASE-5 10BASE-2 10BASE-T 10BASE-F

电缆 粗同轴电缆 细同轴电缆 双绞线 光纤 最大区间长度 500m 200m 100m 2000m 1.2.4 快速以太网

数据传输速率为100Mbps的快速以太网是一种高速局域网技术,能够为桌面用户以及服务器或者服务器集群等提供更高的网络带宽。IEEE为快速以太网制订的标准为IEEE802.3u。

对目前已经建好的标准以太网进行升级的最佳方案就是将网络的速度从10Mbit/s增加到100Mbit/s,用户所需付出的升级费用极低,只需将原有的10M集线器或者以太网交换机升级成快速以太网交换机,用户更换一块100Mbit/s的网卡即可。

快速以太网的应用范围较广,可以直接用作接入层设备和汇聚层设备之间的连接链路,连接各个以太网段的数据流总和。快速以太网也可以用来提供汇聚层和核心层之间的连接,在这种应用当中,通常采用端口捆绑(Port aggregation)技术,提供更高的带宽。许多实际运行的网络均存在众多的客户机试图访问同一台服务器的情况,从而在服务器和以太网之间产生瓶颈,为了增强服务器的访问性能,可以通过快速以太网连接以保证快速的访问速度。

快速以太网标准是IEEE802.3u,可以使用现有的UTP或者光缆介质。但比之标准以太网,它的数据传输速率由10Mbit/s提高到100Mbit/s。同时,快速以太网也支持标准以太网10Mbit/s的工作方式,做到了良好的向下兼容性。

快速以太网(100Mbit/s)的网络定位

模型分类 接入层 网络定位 为高性能的PC机和工作站提供100Mbit/s的接入 提供接入层和汇聚层的连接,提供汇聚层到核心层的连接,提供高速服务器的连接 提供交换设备间的连接 汇聚层 核心层

快速以太网传输距离

技术标准 100BaseTX 线缆类型 EIA/TIA 5类(UTP)非屏蔽双绞线2对 传输距离 100m 5

以太网技术 100BaseT4 EIA/TIA 3、4、5类(UTP)非屏蔽双绞线4对 100m 多模光纤(MMF)线缆 单模光纤(SMF)线缆 550m-2km 2km-15km 100BaseFX

1.2.5 千兆以太网

千兆以太网是对IEEE802.3以太网标准的扩展,在基于以太网协议的基础之上,将快速以太网的传输速率100Mbps提高了10倍,达到了1Gbps。标准为IEEE802.3z(光纤与铜缆)和IEEE802.3ab(双绞线)。

许多汇聚层的以太网交换机均提供千兆接口,用于连接其他的交换机,组成更大的网络,许多支持堆叠功能的以太网交换机也是采用千兆接口实现堆叠功能的。所谓堆叠,是指通过软硬件的支持,将一组交换机连接起来作为一个对象加以控制的方式,通常有菊花链模式和星型模式。其最大优点在于可实现简单的本地管理,但由于是一种非标准技术,通常不支持各个厂家交换机的混合堆叠。

某些高性能的UNIX或者视频点播服务器很容易具有上百兆的带宽需求,在这种情况下,采用千兆以太网进行连接是非常好的选择。对于高性能服务器比较集中的场合,通常也会需要使用千兆以太网交换机进行网络互连。

千兆以太网是建立在以太网协议之上的,但它的数据传输速率是快速以太网的10倍,达到1000Mbit/s,由于千兆以太网使用的协议遵从许多原始的以太网规范,所以,客户可以应用现有的知识和技术进行安装、管理和维护千兆以太网。

千兆(1000Mbit/s)以太网网络定位

模型分类 接入层 汇聚层 核心层

千兆以太网使用1000BASE-X(8B/10B)编码可支持三种介质: ? 光纤(单模和多模);

? 使用4对线的5类UTP(1000BASE-T);

? 特殊的两对线STP电缆(也称为短铜跳线Short Copper Jumper) 1000BASE-X支持三种光纤: ? 50um多模光纤 ? 62.5um多模光纤 ? 9/10um单模光纤

一般不使用 提供接入层和汇聚层设备间的高速连接 提供汇聚层和高速服务器的高速连接,提供核心设备间的高速互联 网络定位 6

以太网技术

1000BASE-X支持两种用于激光驱动器的光波长: ? 短波(850nm,称为1000BASE-SX) ? 长波(1300nm,称为1000BASE-LX)

千兆以太网传输距离

技术标准 线缆类型 传输距离 1000BaseT 1000BaseCX 1000BaseSX 1000BaseLX

铜质EIA/TIA5类(UTP)非屏蔽双绞线4对 100m 铜质屏蔽双绞线 25m 多模光纤,50/62.5um光纤,使用波长为850nm550m/275m 的激光 单模光纤,9um光纤,使用波长为1300nm的2km-15km 激光 IEEE802.3z的线缆标准如下:

? 1000BaseLX是一种使用长波激光作信号源的网络介质技术,在收发器上配置波长

为1270-1355nm(一般为1300nm)的激光,既可以驱动多模光纤,也可以驱动单模光纤。

? 1000BaseSX是一种使用短波激光作为信号源的网络介质技术,收发器上所配置的

波长为770-860nm(一般为800nm)的激光传输器不支持单模光纤,只能驱动多模光纤。

? 1000BaseCX使用的一种特殊规格的高质量平衡双绞线对的屏蔽铜缆,最长有效距

离为25米,使用9芯D型连接器连接电缆。 IEEE802.3ab的线缆标准如下:

1000BaseT是一种使用5类UTP作为网络传输介质的千兆以太网技术,最长有效距离与100BASETX一样可以达到100米。用户可以采用这种技术在原有的快速以太网系统中实现从100Mbps到1000Mbps的平滑升级。

1.2.6 万兆以太网

已经开始部署,预计未来将有大规模的应用,标准为IEEE802.3ae。其只有全双工模式。万兆以太网创造了一些新的概念,例如光物理媒体相关子层(PDM)。

7

以太网技术

第2章 LAN原理

2.1 以太网基本技术 2.1.1 半双工 CSMA/CD

根据以太网的最初设计目标,计算机和其他数字设备是通过一条共享的物理线路连接起来的。这样被连接的计算机和数字设备必须采用一种半双工的方式来访问该物理线路,而且还必须有一种冲突检测和避免的机制,来避免多个设备在同一时刻抢占线路的情况,这种机制就是所谓的CSMA/CD(带碰撞检测的载波监听多路访问)。

CSMA/CD 的工作过程是这样的:终端设备不停的检测共享线路的状态,只有在空闲的时候才发送数据,如果线路不空闲则一直等待。这时候如果有另外一个设备同时也发送数据,这两个设备发送的数据必然产生碰撞,导致线路上的信号不稳定,终端设备检测到这种不稳定之后,马上停止发送自己的数据,然后再发送一连串干扰脉冲,然后等待一段时间之后再进行发送。

发送干扰脉冲的目的是为了通知其他设备,特别是跟自己在同一个时刻发送数据的设备,线路上已经产生了碰撞。检测到碰撞后等待的时间也是随机的,不过逐渐在增大。

2.1.2 以太网的物理介质

刚开始的时候,以太网是运行在同轴电缆上面的,通过复杂的连接器把计算机和终端连接到该电缆上,然后还必须经过一些相关的电信号处理,才能使用。这样的结构相对复杂,而且效率上不是很理想,只能适合于半双工通信(因为只有一条线路)。到了 1990 年,出现了基于双绞线介质的 10BAST-T以太网,这是以太网历史上一次最重要的革命。

10BAST-T 得以实施,主要归功于多端口中继器和结构化电话布线。多端口中继器就是目前所谓的 HUB,终端设备通过双绞线连接到HUB上,利用HUB 内部的一条共享总线进行互相通信。物理上这种结构是星形的,但实际上还是沿用了 CSMA/CD 的访问机制,因为 HUB 内部是通过一条内部总线把许多终端连接起来的。

10BAST-T 以太网技术使用了四对双绞线来传输数据,一对双绞线用来发送,另外一对用来接收。之所以使用一对双绞线来分别进行收发,主要是电气特性上的考虑,发送数据的时候,在一条线路上发送通常的电信号,而在另外一条线路上发送跟通常电信号极性相反的信号,这样可以消除线路上的电磁干扰。

后来又出现了 100M 的以太网,即所谓的快速以太网。快速以太网在数据链路层上跟 10M 以太网没有区别,不过在物理层上提高了传输的速率,而且引入了更多的物理层介质,比如光纤,同轴电缆等。运行在两对双绞线上的100M以太网称为100BAST-TX,运行在光纤上的100M以太网则为100BASE-FX,还有运行在四对双绞线上的 100BAST-T4 等。所有这些物理介质都是沿用了 CSMA/CD 的访问方式,工作在半双工模式下。

8

以太网技术

2.1.3 全双工以太网和以太网交换机

把双绞线作为以太网的传输介质不但提高了灵活性和降低了成本,而且引入了一种高效的运行模式——全双工模式。所谓全双工,就是数据的发送和接收可以同时进行,互不干扰。传统的网络设备 HUB 是不支持全双工的,因为 HUB 的内部是一条总线,数据接收和发送都是在该总线上进行,没有办法进行全双工通信,因此,要实现全双工通信,必须引入一种新的设备,即现在的交换机。

交换机跟HUB的外观相同,都是一个多端口设备,每个端口可以连接终端设备和其他多端口设备。但在交换机内部就不是一条共享总线了,而是一个数字交叉网络,该数字交叉网络能把各个终端进行暂时的连接,互相独立的传输数据,而且交换机还为每个端口设置了缓冲区,可以暂时缓存终端发送过来的数据,等资源空闲之后再进行交换。正是交换机的出现,使以太网技术由原来的 10M/100M 共享结构转变为 20M/200M 独占带宽的结构,大大提高了效率,而且可以在交换机上施加一些软件策略,来实现附加的服务,比如 VLAN(虚拟局域网),优先级,冗余链路等,这些技术增加了业务的丰富性,是以太网技术的灵魂所在,也是本文的重点内容。

2.1.4 自动协商

从上面的介绍可以看出,在实际中,以太网的运行有许多种组合,比如双工模式可以选择全双工和半双工,速率可以选择10M,100M,物理介质可以选择五类双绞线和三类双绞线等。这样丰富的如果对每个终端设备都进行手工配置,必然是一项繁杂而且不可维护的工作。于是,为了应付这样多种多样的运行模式,自动协商应运而生。

自动协商的主要功能就是使物理链路两端的设备自动通过交互信息,自动选择一种运行模式来运行。自动协商是建立在双绞线以太网的一种低层机制上的,它只对双绞线以太网有效。自动协商的内容主要包括双工模式,运行速率,流量控制等内容,一旦协商通过,链路两端的设备就锁定在这样一种运行模式下,直到重新引导设备或重新插拔电缆。

2.1.5 1000M 以太网和 10G 以太网

随着计算机技术的不断发展,一些新兴的应用逐渐显现,比如大型的分布式数据库和高速的视频图象传输等。这些应用需要大量的带宽,传统的快速以太网(100M)已经不能满足要求,这时候迫切再次提高以太网的运行速度,提高到 1000M 是最直接的,即所谓的千兆以太网。

千兆以太网的数据链路层基本上沿用了传统的以太网的链路层(只在半双工运行模式下,与传统以太网的链路层稍微有不同),这样可以很好的保护了投资。但在物理层上做了改变(为了在物理介质上传送高达 1000M 的数据比特,千兆以太网沿用了光纤通道的技术),对目前来说,千兆以太网只能用光纤作为物理传输介质,但基于同轴电缆和五类双绞线的千兆以太网正在研制当中,估计不久的将来会投入使用。

千兆以太网技术现在已经完全成熟并大量投入使用,主要应用在数据网络的骨干位置,

9

以太网技术

也应用于连接一些高端的数据库服务器。正在研究当中的 10G 以太网也已经初具雏形,到能够商用的地步还有一段时间,但可以预计,在不久的将来,1000M 以太网和 10G 以太网将象现在的 10M 以太网和快速以太网一样普遍。

2.1.6 以太网的应用

以太网设计的初衷,就是把一些计算机联系起来进行文件共享和数据库记录的传输。到目前为止,在计算机互连这个领域,以太网仍然是最活跃的技术,但已经不再局限于这个领域,在其他一些领域,以太网也大显身手,表现不俗。下面是以太网的主要应用领域:

计算机互连:这是以太网技术的主要目标,也是最成熟的应用范围。最开始的时候,许多计算机通过同轴电缆连接起来,互相访问共享的目录,或访问在同一个物理网段上的文件服务器,各个计算机(不论是服务器还是客户机)在网络上的地位相同。随着应用的发展,这种平等的结构逐渐不适应实际的需要,因为网络上的大部分流量都是客户机跟服务器之间的,这种流量模型必然在服务器上形成瓶径。当全双工以太网和以太网交换机引入以太网之后,这种情况有所改变,取代的是把服务器连接到以太网交换机的一个告诉端口(100M)上,把其他客户机连接到以太网交换机的低速端口上,这样就暂缓了瓶径的形成。现代的操作系统提供分布式服务和数据仓库服务,基于这些操作系统的服务器除了跟客户机通信之外,还要跟其他服务器交换大量的信息进行数据的同步,这样传统的 100M 快速以太网就不能满足要求了,于是 1000M 以太网应运而生。

高速网络设备之间互连:随着 INTERNET 的不断发展,一些传统的网络设备,比如路由器,之间的带宽已经不能满足要求,需要更高更有效率的互连技术来连接这些网络设备构成 INTERNET 的骨干,1000M 以太网成了首选的技术。传统的 100M 也可以应用在这些场合,因为这些100M 的快速以太网链路可以经过聚合,形成快速以太网通道,速度可以达到100M——1000M的范围。

城域网中用户接入的手段:用户通过以太网技术接入城域网,实现上网,文件下载,视频点播等业务,已经变得越来越流行。之所以用以太网作为城域网的接入手段,是因为现在的计算机都支持以太网卡,这样对用户来说,不用更改任何软件和硬件配置就可以正常上网。 可以看出,以太网技术已经覆盖了网络的方方面面,从骨干网到接入网,从计算机网络到工业应用,无处不见以太网的影子。

2.2 以太网物理层及相关设备

根据ISO的OSI七层参考模型,物理层规定了两个设之间的物理接口,以及该接口的电气特性,规程特性,机械特性等内容,以太网的物理层也不外部这些内容,它主要的功能是提供一种物理层面的标准,各个厂家只要按照这个标准生产网络设备就可以进行互通。下面从介绍这些物理层标准开始,来分析一下以太网的物理层基础结构。

2.2.1 物理层系列标准

从以太网诞生到目前为止,成熟应用的以太网物理层标准主要有以下几种: ? 10BASE2 ? 10BASE5

10

以太网技术

? 10BASE-T ? 100BASE-TX ? 100BASE-T2 ? 100BASE-T4 ? 100BASE-FX ? 1000BASE-SX ? 1000BASE-LX ? 1000BASE-CX ? 1000BASE-TX

在这些标准中,前面的10,100,1000分别代表运行速率;中间的BASE指传输的信号是基带方式;TX,T2,T4,FX,SX,LX,CX 等应用于双绞线以太网和光纤以太网,含义如下:

? 100BASE-TX:运行在两对五类双绞线上的快速以太网; ? 100BASE-T4:运行在四对三类双绞线上的快速以太网; ? 100BASE-T2:运行在 2 对三类双绞线上的快速以太网;

? 100BASE-FX:运行在光纤上的快速以太网,光纤类型可以是单模也可以是多模; ? 1000BASE-SX:运行在多模光纤上的 1000M 以太网,S 指发出的光信号是长波

长的形式;

? 1000BASE-LX:运行在单模光纤上的 1000M 以太网,L 指发出的光信号是短波

长的形式;

? 1000BASE-CX:运行在同轴电缆上的 1000M 以太网。

在这些标准中,10BASE2,10BASE5 是同轴电缆的物理标准,现在已经基本被淘汰,10BASE-T 和 100BASE-TX 都是运行在五类双绞线上的以太网标准,所不同的是线路上信号的传输速率不同,10BASE-T 只能以 10M 的速度工作,而 100BASE-TX 则以 100M 的速度工作,其他方面没有什么两样。100BASE-T2,100BASE-T4 现在很少用,所以我们这里只选择比较有代表性的 100BASE-TX 进行叙述,其他的比如 1000M 以太网的技术在后边的章节中再进行讲述。

2.2.2 100BASE-TX物理层

100BASE-TX 是运行在两对五类双绞线上的快速以太网物理层技术,它除了规定运行的介质是五类或更高类双绞线外,还规定了设备之间的接口以及电平信号等。该标准规定设备和链路之间的接口采用 RJ-45 水晶头,电瓶采用+5V 和-5V 交替的形式。RJ-45 接口如下:

五类双绞线的 8 跟线压入水晶头的 8 个线槽中,这样可以很容易的插入网络设备的网卡。

11

以太网技术

实际上,在进行数据的传输时仅仅用了五类双绞线的两对(四根)线,其中一对作为数据接收线,一对作为数据发送线,在进行数据接收和发送的时候,在一对线上传输极性相反的信号,这样可以避免互相干扰。需要注意的是,在连接两个相同的网络设备时(比如网卡),需要把线序进行交叉,因为线路两端的设备(比如网卡)的收发顺序是相同的,而两端设备要进行直接连接,其收发必须进行交叉,于是,必须在线路上进行交叉才能达到目的,如 图所示:

但在跟不同类型的网络设备互连,比如终端计算机跟 HUB 或以太网交换机连接时,却不需要这样,因为这些网络设备的接口上已经做了交叉,也就是说,这些设备的网络接口跟普通计算机的收发顺序是不一致的,因而只要把五类双绞线直接按照原来顺序压入水晶头,就可以把两端的设备正常连接。

跟传统的同轴电缆不同的是,100BAST-TX(10BASE-T)的数据发送和数据接收使用了不同的线对,做到了分离,这样就隐含着一种全新的运做方式:全双工方式。在这种方式下,数据可以同时接收和发送而互不干扰,这样可以大大提高效率,不过这需要中间设备的支持,现在的以太网交换机就是这样一种设备。

2.2.3 自动协商

在基于双绞线的以太网上,可以存在许多种不同的运做模式,在速度上有10M,100M 不等,在双工模式上有全双工和半双工等,如果对每个接入网络的设备进行配置,则必然是一项很繁重的工作,而且不容易维护。于是,人们提出了自动协商技术来解决这种矛盾。需要注意的是,自动协商只运行在基于双绞线的以太网上,是一种物理层的概念。

自动协商建立在一种低层的以太网机制上。在双绞线链路上,如果没有数据传输,链路并不是一直在空闲,而是不断的互相发送一种频率相对较低的脉冲信号(称为普通链路脉冲,NLP)(如上图所示),任何具有双绞线接口的以太网卡都应该能识别这种信号。需要注意的是,如果在这些 NLP 之间在插入一些(一般是 16 个)更小的脉冲(这些脉冲称为快速链路脉冲,FLP),两端设备应该也能识别。于是,我们可以使用这些快速链路脉冲来进行少量的数据传输,来达到自动协商的目的。

在设备的网卡中有一个配置寄存器,该寄存器内部保留了该网卡能够支持的工作模式,

12

以太网技术

比如该网卡可以支持 100M 和 10M 模式下运行,则把相应的寄存器内容置位。在网卡加电后,如果允许自动协商,则网卡就把自己的配置寄存器内容读出来,编码后通过 FLP 发送出去(如下图所示)。

发送的同时,可以接收对端发送挂过来的自动协商数据。接收到对方发送的自动协商数据后,跟自己的配置寄存器比较,选择自己支持的且一般情况下最优的组合投入运行。比如自己支持全双工模式和 100M 的速率,对端也支持该配置,则选择的运行模式就是 100M 全双工,如果对端只支持全双工模式和 10M 的能力,则运行模式就定为全双工 10M 模式。如果两端支持的能力集合不相交,则协商不通过,两端设备不能通信。

一旦协商通过,网卡就把该链路置为激活状态,可以传输数据了,如果不能协商通过,则该链路不能使用,不能再进行数据传输。如果两端的设备有一端不支持自动协商,则支持自动协商的一端选择选择一种默认的方式工作,一般情况下是 10M 半双工模式。 注意:

如果链路两端的设备有一端不支持自动协商,则支持自动协商的设备选择一种默认的工作方式,比如 10M 半双工模式运行。这时可能影响了效率,因为不支持自动协商的设备可能支持 100M 全双工。这时,我们可以禁止自动协商,并手工指定两端设备的运行模式,以增强效率。

2.2.4 集线器

当用双绞线把终端设备进行互连时,需要一个中间设备来进行集中,这个设备就是集线器,所谓的 HUB。HUB 的外观就是一个多口的黑盒子,每个接口可以连接一个终端设备。这样多个设备(比如,12 个等)可以通过 HUB连接在一起,组成一个星形的网络。需要注意的是,网络在物理上是星形结构的,但在 HUB 内部还是使用了共享总线的技术,采用 CSMA/CD 技术进行交互。

HUB 可以根据接口的特点进行区分,分为 I 类 HUB 和 II 类 HUB。这两类HUB 在内部工作模式上没有区别,但因为提供的接口不同而使用于不同的场合。I 类 HUB 只提供一种类型的物理接口,比如只提供五类双绞线接口或只提供三类双绞线接口,或者只提供光纤接口等,而 II 类 HUB 则可以提供多种不同类型的接口,可以在一个 II 类 HUB 上集成五类双绞线接口和光纤接口等。实际中应用最多的是 I 类 HUB。

传统的 HUB 都是运行在半双工模式下的,但有一些应用需要在全双工模式下运行,于是人们开发了一种运行在全双工模式下的 HUB,即所谓全双工HUB。这种 HUB 的内部结构还是一条总线,各个终端共享这条总线进行数据交互,所不同的是,全双工 HUB 在每个接口上预增加了一个缓冲区,如果总线繁忙,终端发送的数据可以暂存在缓冲区里面,

13

以太网技术

等总线空闲之后,再进行传输。连接在全双工 HUB 上的终端设备工作在全双工模式下。

2.3 数据链路层 2.3.1 数据链路层特点

按照 ISO 的 OSI 七层参考模型,互连的各个系统把各个网络功能分七个层次实现,各个层次之间相互独立,互不干扰。这样就可以实现最大限度的开放和灵活性,设备厂家只要按照层次之间的接口生产设备,就可以做到互通。因此,这个七层模型是高效权威的,而且目前大多数网络技术都是参照这个模型进行设计和开发的。

但在以太网体系结构中,七层模型中层次之间互相独立的规则就不适用了,因为开始的时候,以太网采用了一种共享介质的方式来进行数据通信,而不是传统的全双工通信,随着设备的发展,以太网中又引入了全双工模式的通信,在这样两种通信模式并存的情况下,在进行层次间的严格划分就不容易了。

在前面讲述的内容中曾经提到,针对不同的双工模式,提供不同的介质访问方法,在半双工模式下采用的是 CSMA/CD 的访问方式,而在全双工模式下则可以直接进行收发,不用预先判断链路的忙闲状态。这里需要注意的是,在以太网中,半双工和全双工是物理层的概念,而针对物理层的双工模式提供不同访问方式则是数据链路层的概念,这样就形成了以太网的一个重要特点:数据链路层和物理层是相关的。

2.3.2 以太网链路层的分层结构

在上面的介绍中知道,以太网的物理层和数据链路层是相关的,针对物理层的不同工作模式(全双工和半双工),需要提供特定的数据链路层来访问。这样导致了数据链路层和物理层有很大的相关性,给设计和应用带来了一些不便。

为了避免这种不便,一些组织和厂家提出了另外一种方式,就是把数据链路层再进行分层,分为逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。这样不同的物理层对应不同的 MAC 子层,LLC 子层则可以完全独立。这样从一定程度上提高了独立性,方便了实现。下面的图示显示了这样的结构:

2.3.3 MAC 子层

MAC 子层是物理层相关的,也就是说,不同的物理层有不同的 MAC 子层来进行访问,比如物理层是工作在半双工模式的双绞线,则相应的 MAC 子层为半双工 MAC,如

14

以太网技术

果物理层是令牌环,则有令牌环 MAC 来进行访问。在以太网中,主要存在两种 MAC:半双工 MAC 和全双工 MAC,分别针对物理层运行模式是半双工和全双工时提供访问。需要注意的,这两种 MAC 都是集成在网卡中的,网卡初始化的时候一般进行自动协商,根据自动协商的结果决定运行模式,然后根据运行模式选择相应的访问 MAC。 1、半双工 MAC 子层

当物理层运行在半双工模式下时,数据链路层使用半双工 MAC 进行访问。半双工 MAC 跟物理层之间至少存在六种信号进行通信,如下图所示:

具体工作过程是这样的:当链路层有数据要发送的时候,首先检查链路空闲信号(物理层通过该信号来报告给数据链路层链路是否空闲),如果链路空闲,则通过指示信号给物理层一个指示,告诉物理层要发送数据,然后把数据一个字节一个字节的送到数据线上(数据线是一组 8 位的信号线)。这时候如果物理层检测到了冲突(即有另外一个终端同时发送数据),则通过冲突检测指示信号给 MAC 子层一个指示,告诉 MAC 子层线路上发生了碰撞。这时候,MAC 子层马上停止数据的发送,并发送一连串干扰信号,达到让网络上所有的设备都知道产生冲突的目的。等待一段时间后,MAC层再次检查链路空闲信号,进行数据发送。

如果物理层接收到了数据,则通过数据接收指示来告诉MAC子层自己接收到了数据,然后把数据放到接收数据线上(跟发送数据线一样,也是8位组信号线),传给 MAC 子层。

从上面的分析中,可以看出这六种信号是: ? 数据发送线,一个 8 位组信号线; ? 数据接收线,一个 8 位组信号线;

? 链路空闲信号:一个指示位,指示链路是否空闲;

? 冲突检测信号:一个指示位,物理层使用该信号向 MAC 子层报告冲突发生; ? 发送数据指示:MAC 子层要传输数据时通过该信号告诉物理层; ? 接收数据指示:物理层接收到数据后通过该信号告诉 MAC 子层。

2、全双工MAC子层

全双工 MAC 子层相对半双工 MAC 子层简单,因为它不需要检测链路的空闲与忙的状态,所以就去除了上面的链路空闲信号和冲突检测信号。其工作过程如下:

当 MAC 子层有数据要发送的时候,通过数据发送指示告诉物理层,然后把数据一个字节一个字节的通过数据发送线发送出去。如果物理层检测到了数据到达,则通过接收指示信号告诉链路层,自己接收到了数据,然后通过接收数据线把数据传到 MAC 子层。 提示:

数据链路层跟物理层之间交换数据的时候(不是控制信号),是按字节进行的,这从接收数据和发送数据的信号线根数可以看出来。

15

以太网技术

3、MAC 地址和数据帧的收发

除了完成物理链路的访问以外,MAC 子层还负责完成下列任务:

? 链路级的站点标识:在数据链路层识别网络上的各个站点。也就是说,在该层次保

留了一个站点地址(就是所谓的 MAC 地址),来标识网络上的唯一一个站点; ? 链路级的数据传输:从上层(LLC 子层)接收数据,附加上MAC地址和控制信

息后把数据发送到物理链路上;在这个过程中搀杂了校验等功能。

为了进行站点标识,在 MAC 子层保留了一个唯一的站点MAC地址,来区分该站点。MAC 地址是一个 48 比特的数字,分为下面几种类别:

? 物理 MAC 地址:这种类型的 MAC 地址唯一的标识了以太网上的一个终端(比

如网卡等),实际上这样的地址是固化在硬件里面的;

? 广播 MAC 地址:这是一个通用的MAC地址,用来表示网络上的所有终端设备; ? 组播 MAC 地址:这是一个逻辑的 MAC 地址,来代表网络上的一组终端。它的

特点是最左边一个字节的第一比特为 1。

上层要发送数据的时候,把数据提交给 MAC 子层,MAC 子层有自己的缓冲区,把上层提交给自己的数据进行缓存,然后增加上目的 MAC 地址和自己的 MAC 地址(源 MAC 地址),计算出数据帧的长度,形成下列格式的数据包:

在这个图中,DMAC 代表目的终端的 MAC 地址,SMAC 代表源 MAC 地址,而 LENGTH/TYPE 字段则根据值的不同有不同的含义:当 LENGHT/TYPE > 1500 时,代表该数据帧的类型(比如上层协议类型),当 LENGTH/TYPE < 1500 时,代表该数据帧的长度。DATA/PAD 则是具体的数据,因为以太网数据帧的最小长度必须大于 64 字节(根据半双工模式下最大距离计算获得的),所以如果数据长度加上帧头不足 64 字节,需要在数据部分增加填充内容。FCS 则是帧校验字段,来判断该数据帧是否出错。

上面介绍了数据的发送过程,下面说一下数据接收过程: 在计算机的网卡中维护一张接收地址列表,每当计算机网卡接收到一个数据帧之后,就把数据帧的目的 MAC 地址提取出来,跟列表中的条目进行比较,只要有一项匹配,则接收该数据帧,若无任何匹配的项目,则丢弃该数据帧。在这张接收地址列表中至少有下面两项:

? 计算机网卡的 MAC 地址:该地址固化在网卡的 ROM 里面; ? 广播 MAC 地址:该地址代表网络上的所有主机。 如果上层应用程序加入一个组播组,则该应用程序会通知网络层,然后网络层通知数据链路层,数据链路层根据应用程序加入的组播组形成一个组播MAC 地址,并把该组播 MAC 地址加入接收地址列表,这样当有针对该组的数据帧的时候,MAC子层就接收该数据帧并向上层发送。

2.3.4 LLC子层

在上面的介绍中提到了MAC子层形成的一个帧结构,其中有一个字段是LENGTH/TYPE。这个字段的长度是 2 字节,根据取值的范围有不同的含义,在小于或等于 1500 的情况下,该值代表数据帧数据部分的长度,但当大于1500 的时候,则代表该

16

以太网技术

帧的数据部分的类型,比如该数据帧是哪个上层协议(比如 IP,IPX,DECNet,NETBEUI 等)的数据单元等。

当LENGTH/TYPE取值大于1500的时候,MAC子层可以根据LENGTY/TYPE的值直接把数据帧提交给上层协议,这时候就没有必要实现LLC子层。这种结构便是目前比较流行的 ETHERNET_II,大部分计算机都支持这种结构。注意,这种结构下数据链路层可以不实现 LLC子层,而仅仅包含一个MAC子层。

根据LENGTH/TYPE字段的取值,来把接收到的数据帧提交给上层协议模块,是这样进行的:每个上层协议都提供了一个回调函数,这个回调函数在数据链路层是可见的而且可以调用的,这样当数据链路层接收到一个数据帧之后,根据数据帧里的LENGTH/TYPE字段的取值来判断相应的协议模块,然后调用相应协议的回调函数(把数据帧的数据部分作为参数),该回调函数执行的结果就是把数据帧的数据部分挂到上层协议的接收队列中,然后给上层协议发送一个消息,告诉上层协议有一个数据包到来,然后返回,其他的事情就有上层协议来做了。

上面介绍的都是ETHERNET_II的内容,就是当LENGTH/TYPE字段大于1500 的时候的情况。现在来讨论一下当LENGTH/TYPE小于或等于1500的情况,这种类型就是所谓的 ETHERNET_SNAP,是802.3委员会制定的标准,虽然目前应用不是很广泛,但是作为一种很有特色的标准,将来必会大行其道。

ETHERNET_SNAP 除了定义传统的链路层服务之外,还增加了一些其他有用的特性,比如定义了下面三种类型的点到点传输服务:

? 无连接的数据包传输服务:目前的以太网实现就是这种服务; ? 面向连接的可靠的数据传输服务:预先建立连接再传输数据,数据在传输过程中可

靠性得到保证;

? 无连接的带确认的数据传输服务:该类型的数据传输服务不需要建立连接,但它在

数据的传输中增加了确认机制,使可靠性大大增加。

这些服务都是在 LLC 子层中实现的,下面是 LLC 子层的帧格式:

可以看出,该数据帧的结构在 MAC 子层上是保持统一的,但 MAC 子层数据帧的 LENGTH/TYPE 字段现在已经完全成了 LENGTH,指示 MAC 数据帧数据部分的长度,然后在数据部分增加了一个LLC头,这个头由DSAP(目的服务访问点),SSAP(源服务访问点)和控制字段组成。上面讲述的三种服务就是通过这三个字段完成的。下面通过一个例子来说明SSAP和DSAP的应用,假设终端系统 A 和终端系统 B 要使用面向连接的可靠的数据传输服务来进行一次数据传输,这时候会发生如下过程:

1、终端系统 A 给终端系统 B 发送一个数据帧,请求建立一个面向连接的可靠连接; 2、终端系统 B 接收到以后,判断自己的资源是否够用(即是否建立了太多的连接),如果够用,则返回一个确认,该确认中包含了识别该连接的SAP 值;

3、终端系统 A 接收到回应后,知道终端系统 B 已经在本地建立了跟自己的连接,于是终端系统 A 也开辟一个 SAP 值,来表示该连接,并发一个确认给终端系统 B,于是该连接建立;

17

以太网技术

4、终端系统 A 的 LLC 子层把自己要传送的数据进行封装(封装成 LLC 子层的帧格式),其中 DSAP 字节填写的是终端 B 返回的 SAP,SSAP字节填写的是自己开辟的 SAP,然后发给 MAC 子层,MAC 子层加上MAC 地址和 LENGTH 字段之后,发送到数据链路上;

5、终端系统 B 的 MAC 子层接收到该数据帧之后,提交给 LLC 子层,LLC子层根据 DSAP 字段判断出该数据帧属于的连接,然后根据该连接的类型(可靠的连接还是无连接,或者带确认的无连接)进行相应的校验和确认,只有通过这些校验和确认后,才向更上层发送; 6、数据传输完毕之后,终端系统 A 给终端系统 B 发送一个数据帧来告诉终端系统 B 拆除连接,于是通信结束。

这些功能都是在 LLC 子层实现的,通过这个例子,读者应该对 LLC 的功能有了一个了解,也应该把 LLC 子层和 MAC 子层的界面分清楚,当然,这些LLC 子层的功能对网络层都是透明的。细心的读者可能已经看出一个问题:就是 LLC 子层根据什么内容来把数据帧提交给网络层?在 ETHERNET_II中,是通过 LENGTH/TYPE 字段来区分上层协议的,其实,在 LLC 子层的帧结构的数据部分中,也包含一个 TYPE 字段,该字段在上面的图中没有画出来,LLC 子层就是根据这个字段来把数据帧发送给上层协议的。

第3章 VLAN原理

3.1 VLAN的概念

以太网交换机一般有十几个或几十个端口,默认情况下,连接到这些端口的计算机能够无阻隔的进行二层通信。但有些情况下,人们希望某些端口上的计算机不能被其他端口上的计算机访问,这时候采用这种默认的工作方式就不行了,我们需要引入这样一种功能:可以把交换机上任意数目的端口进行组合,这些组合的端口成为一个封闭的系统,连接到该封闭系统的计算机可以通信,但跟不在该端口集合内的其他端口上的计算机,则无法进行二层通信。这个组合的概念便是 VLAN(虚拟局域网)。

3.2 VLAN 的划分方式

按照上面的概念,VLAN 是交换机上的一个集合,该集合的元素就是端口。我们用一个整数来表示该集合,这样当在交换机上创建一个集合后,就面临一个问题:怎样为该集合确定其中的元素(端口)?下面是确定元素的最重要的几种方式。

3.2.1 基于端口的VLAN

最简单,也是最直接的方式就是手工指定,也就是说,一旦在交换机上创建一个 VLAN,我们可以手工指定该 VLAN 包含哪些端口。在该方式下,我们只要在交换机上进行一些简单的配置就可以了。这种方式是最直接的,也是最容易理解的。

18

以太网技术

3.2.2 基于MAC地址的VLAN

在基于端口的 VLAN 方式下,我们在交换机上进行了设置,来决定 VLAN包含那些端口。但有些情况下,我们希望把终端系统进行分类,使它们属于指定的 VLAN。这时候,我们可以手工建立终端系统的标识跟 VLAN之间的关系。在以太网上,MAC地址可以唯一的标识一个终端系统,于是,我们就建立 MAC地址跟VLAN之间的对应关系。

交换机仅仅根据这个 MAC 地址跟 VLAN 之间的对应关系,不能创建VLAN跟端口的对应关系,我们于是联想到交换机内部的另外一个关系:MAC地址跟端口之间的关系(也就是 CAM 表,交换机根据该表格进行数据帧的转发)。根据这样两个关系,交换机可以创建 VLAN 跟端口号之间的对应关系了,具体过程如下:

1、交换机把手工创建的 MAC 地址跟 VLAN 号之间的对应关系下载到本地;

2、从该对应关系中读出一行,如果该行对应的VLAN不存在,则创建该VLAN,然后以 MAC 地址为索引依据,到 CAM 表中查找对应的端口号,把找到的端口号加入刚刚创建的 VLAN;

3、若读出的该行所包含的VLAN已经存在,则仅仅依据MAC地址查询CAM 表,把找到的端口号加入已经存在的 VLAN 里面;

4、重复这个过程,直到该对应关系扫描完毕。

上面的过程存在一个问题:交换机的CAM表是通过学习获得的,如果交换机在根据 MAC地址查找相应的CAM表时,该MAC地址不存在怎么办?这并不说明该MAC地址对应的计算机不存在,有可能交换机还没有学习到该计算机的MAC地址。这种情况下,我们可以采用下面的步骤:

1、在交换机上做配置,告诉交换机哪些端口是基于 MAC地址的VLAN的。也就是说,这些交换机端口上如果连接了一个终端,这个终端的MAC地址出现在手工创建的MAC地址跟VLAN对应关系表里,则该端口就加入相应的VLAN。其他没有配置的端口即使连接了满足条件的终端(也就是说,该终端的MAC地址出现在手工创建的那张表里),也不会被加入相应的VLAN。这样做,主要是效率上的考虑。

2、交换机每学习到一个MAC地址,就用该MAC地址为索引到MAC地址跟VLAN对应关系里查找相应的VLAN号,找到相应的VLAN后,创建相应的VLAN,把学习到该MAC 地址的端口加入刚刚创建的VLAN。这样的过程一直延续,最终的结果是创建了VLAN ID 和 MAC 地址对应列表中出现的所有VLAN。

3.2.3 基于第三层协议的VLAN

有些情况下,人们往往对网络做一些限制,让网络上的终端系统只运行一种网络协议,比如,在一个有大量 NOVELL 服务器的网络上,可能只存在 IPX协议,这样做的目的主要是节省资源,因为如果运行其他的路由协议,一些服务进程会跟所有运行的协议绑定,这样该服务就会通过该协议对应的广播地址(比如,IP 协议的广播地址是 255.255.255.255)发送通告消息,以表明自己的存在。这样必然产生大量的广播包,严重浪费资源。

在这些情况下,人们可以根据运行的协议不同来划分 VLAN。在该种方式下,只要告诉交换机,上层协议跟 VLAN 之间的对应关系即可,比如,我们把所有运行 IPX 的计算机都划分到 VLAN100 里面,只要告诉交换机(通过命令行的方式)IPX 和 VLAN100 的对应关系即可。完成这样的配置之后,交换机就进行下列工作:

19

以太网技术

1、交换机检查每个端口上接收到的数据帧,判断该数据帧的类型字段,如果该类型字段是 IPX,则马上把接收到该数据帧的端口加入VLAN100中;

2、如果从端口上接收到的数据帧的协议类型字段不是 IPX,则根据通常的步骤进行转发。

这个过程延续下来,交换机就会把所有接收到 IPX 包的端口加入VLAN100里面。

3.2.4 基于组播组的VLAN

在前面介绍交换机的时候,,曾经介绍了交换机对组播数据帧的转发方式,交换机内部维护一个组播转发表,该表的内容是一个组播地址和一个接口列表,该表是根据一些二层组播协议建立的,比如 IGMP 窥探,CGMP,GMRP等。

我们很容易的想到,我们可以把某个组播地址对应的接口列表划分到一个VLAN 里面。在该种模式下,我们需要做的就是在交换机上给出组播 MAC地址和 VLAN 的对应关系,比如,我们给出组播 MAC 地址 01010E1E8E98对应 VLAN100,于是交换机马上创建 VLAN100,根据给出的组播地址查询组播 CAM 表,把找到的接口列表中的所有接口都划分到 VLAN100 里面。

3.2.5 基于IP地址影射的VLAN

该种VLAN的含义很容易理解,只许需要在交换机上配置一个IP网段跟VLAN的对应关系即可。完成如下配置后,交换机开始做如下工作:

1、在每个端口上监听接收到的数据帧,判断该数据帧的协议类型,如果不是 IP,则按正常的转发方式转发,否则转下一步处理;

2、如果该数据帧是IP数据帧,则进一步检查该数据帧的源IP地址,看该IP地址是否落在配置的 IP 地址段范围内。如果是,则把刚接收到该数据帧的接口加入到指定的VLAN中。

3.2.6 基于策略的VLAN

这是最复杂的一种VLAN划分方式,也是最灵活的划分方式。在该种方式下,可以定义一定的策略(所谓策略,就是一些限制条件),交换机对每个接口进行检查,凡是满足策略的接口都会添加到该组策略对应的 VLAN 中。

这种VLAN的定义方式十分灵活,但效率不是很高,因为交换机需要检查每个接口,判断该接口是否满足配置的策略,对策略的匹配是一项很耗时的工作。

3.3 交换机间链路

在上面的介绍中,我们可以看出,所有创建的 VLAN 都是集中在一个交换机上的,但实际中往往有这样的情况,就是一个物理的 VLAN,可能跨越了多个交换机。在一个交换机的情况下,一个 VLAN 端口接收到的数据可以根据交换机内部的一张 VLAN 和端口对应表来确定该 VLAN 所有的端口,因而一个VLAN的数据在同一个交换机上不可能被错

20

以太网技术

误转发到另外一个VLAN当中。但是跨越交换机的时候就不是这样了,假设有两个 VLAN 和两个交换机,分别记做VLANA 和VLANB,SWITCHA和SWITCHB,其中VLANA和VLANB 分别跨越了两个交换机,即 SWITCHA 和SWITCHB上既有VLANA的端口,也有 VLANB 的端口。在这种情况下,假如 SWITCHA 上VLANA的一个端口接收到了一个广播数据帧,SWITCHA 除了往自己上面所有属于VLANA的端口广播该数据帧以外,还必须通过SWITCHA和SWITCHB之间的一条链路来传播该广播数据帧。如果SWITCHB 接收到了该广播数据帧,SWITCHB 就不知道把该数据帧发往哪个 VLAN 的端口,因为该广播数据帧中不包含任何 VLAN 有关信息。

在这种情况下,我们可以在发给另外一个交换机的数据帧上附加VLAN信息来区分数据帧所属的 VLAN,这便是我们下面介绍的802.1Q(简称1Q)帧格式。

3.3.1 802.1Q帧格式

传统的以太网数据帧格式是不包含VLAN信息的,无法用这种传统的以太网数据帧来传送 VLAN 信息,我们要想让跨越交换机的VLAN能正常工作,必须重新提出一种帧格式,该帧格式与传统以太网帧格式不同的是,包含了VLAN 信息,这便是有名的802.1Q 帧格式。

下面是802.1Q帧格式的结构:

可以看出,该帧格式跟传统以太网帧格式不同的是,在传统的以太网帧格式的类型/长度字段前面,附加了一个4字节的额外部分,称为1Q标记。标记字段分为四部分:

? TYPE:这是一个两字节长度的字段,来指出该数据帧类型,目前来说都是0X8100。

这样做的目的是跟传统的以太网数据帧兼容。当不能识别带 VLAN 标记帧的设备接收到该数据帧以后,检查类型字段,发现是一个陌生的值,于是简单丢弃即可。 ? PRI:这是一个三比特的数据字段,该字段用来表示数据帧的优先级。一共三个比

特可以表示 8 种优先级,利用该字段可以提供一定的服务质量要求。一般情况下,交换机的接口提供几个发送队列,这些队列有不同的发送优先级,在把一个数据帧从该接口发送出去的时候,检查该数据帧的 PRI 字段,根据取值把该数据帧放入相应的队列中,对优先级高的帧,放到优先级高的队列中,这样可以得到优先传输服务。

? CFI:这是一个比特的字段,该字段用在一些环形结构的物理介质网络中,比如令

牌环,FDDI 等。

? VID:这就是1Q数据帧的核心部分,即VLAN ID,用来表示该数据帧所属的

VLAN,该字段是一个12 长度的字段,这样总共可以表示409个VLAN,但VLAN 1用来做默认 VLAN 使用(没有划分到具体VLAN中的交换机端口,默认情况下都属于VLAN1),故实际中能使用的只有4095个,有些厂家的产品对可使用 VLAN 范围限制的可能更小,因为这些设备内部也使用一些 VLAN 来携带控制信息。 当引入这种带VLAN标记的数据帧以后,交换机的端口就有了类别了:有些端口能够

21

以太网技术

且仅仅能够识别这种带VLAN标记的数据帧,我们把这种端口称为TAG 端口(标记端口),有的端口不能识别这种带标记的数据帧,我们称为非TAG端口,还有一些端口,不仅能识别带标记的数据帧,而且能识别不带标记的数据帧,这样的端口我们称为混合端口。连接两个交换机的端口一般是TAG端口或混合端口。

3.3.2 数据帧在不同类型端口之间的转发

我们把交换机的端口划分为TAG端口,非TAG端口和混合端口,下面我们看一下交换机在不同端口类型中转发数据帧的时候,是怎样处理的。

? 非TAG端口和非TAG端口之间:在这种方式下转发方式最简单,交换机只根据内

部的CAM 表找到数据帧的出口,把该数据帧复制到出口的缓冲队列中即可; ? 非TAG 端口和TAG端口之间:该方式下,交换机首先判断接收到数据帧的端口

所属的 VLAN号,然后根据该 VLAN 号和物理链路类型,以及数据帧的优先级等形成一个1Q标记,把该标记插到接收到的数据帧的类型/长度字段前面,然后提交给TAG端口即可;

? TAG 端口和TAG端口之间:该情况跟非TAGD端口和非TAG端口之间的转发类

似,交换机只把数据帧无改变的向另外一个TAG端口转发即可;

? 非TAG端口和混合端口之间:该情况跟非TAG端口和TAG端口之间的转发过程

类似;

? 混合端口和TAG端口之间:该情况最为复杂,分两种情况讨论:如果接收的数据

帧本身是个标记帧,则仅仅把该标记帧向TAG端口复制即可;如果接收到的数据帧不是标记帧,而是一般的以太网数据帧,这时候,需要给该数据帧打上一个VLAN标记再向TAG链路转发。交换机怎样确定这个VLAN标记呢?原来,混合端口有一个默认的VLAN,如果接收到的数据帧不包含 TAG,则交换机根据该端口的默认VLAN形成一个标记,并插入到数据帧里面发送出去。所以,在配置混合端口的时候,一般情况下指定一个默认 VLAN,如果不指定,系统可能会自己指定一个 VLAN,一般是VLAN1。

3.3.3 VLAN的配置

有了上述VLAN的基础概念之后,我们看一下怎样在一个交换机上实施VLAN,即配置 VLAN。

首先,也是最基本的一步,就是在交换机上创建 VLAN。默认情况下,交换机上只存在一个 VLAN,即 VLAN1,所有端口都属于该 VLAN。创建 VLAN的时候,需要给出该 VLAN 对应的 VLAN 号,根据 1Q 帧格式,VLAN 号是有一定范围的,最大范围是2 到4095,但有些厂家的特殊实现可能耗费掉了一些 VLAN,故实际使用的 VLAN 可能还要少;

其次,就是把交换机的端口加入 VLAN。创建 VLAN 之后,该 VLAN 不包含任何成员,只有通过某种方式把端口加入 VLAN 当中,VLAN 才包含了成员。这项工作可以通过许多种途径实现,比如,我们上面讲到的基于端口的静态VLAN 和基于 MAC 地址的 VLAN 等。我们以基于端口的静态 VLAN 为例,只需要把某个端口指定为所属的 VLAN 即可;

如果 VLAN 跨越了交换机,必须配置交换机之间的连接,使之能传送特定VLAN 的

22

以太网技术

数据。默认情况下,交换机的端口都是非 TAG 的,我们可以改变这种默认类型(通过配置命令),一般情况下,我们把连接两个交换机的端口配置为 TAG 端口,而其他连接终端或 HUB 的端口配置为非 TAG 端口。

完成这些配置后,交换机就可以按照需要的方式工作了。

3.4 Isolate-user-VLAN技术

一个Primary VLAN包含几个Secondary VLAN,对于上层交换机只能见到Primary vlan。一个Primary vlan就是一个IP子网,即同一个Primary vlan中包含的所有Secondary vlan处在同一个子网中,上层交换机来说,只须识别下层交换机中的Primary VLAN,而不必关心Primary VLAN中包含的Secondary VLAN,简化了网络配置,节省了VLAN资源。 Isolate-user-VLAN的实现原理如下图所示:

Isolate-user-VLAN的设计原则如下:

? 交换机上存在一个或多个Primary VLAN和多个Secondary VLAN。 ? Isolate-user-VLAN不能和Trunk端口同时配置。

? 建立映射关系前, Primary VLAN和Secondary VLAN中都必须已经包含了端口。 ? 建立映射关系后,向Primary VLAN和Secondary VLAN中添加和删除端口以及删

除VLAN的操作被系统禁止,也不能修改端口的PVID值。

23

以太网技术

第4章 LAN组网介绍

4.1 IP网络结构

? IP网络可以分成:骨干网络和本地网络

? 骨干网络根据网络规模和覆盖面可分为:国家级骨干网络、省级骨干网络、城域网 ? 城域网分为:核心层、汇聚层和接入层三个层次

4.2 数据网络的分层结构-组网模型

24

以太网技术

4.3 宽带接入组网结构

4.4 LAN典型组网应用

25

以太网技术

第5章三层交换基本原理

5.1三层交换原理概述

三层交换是相对于传统的交换概念而提出的。传统的交换技术是在OSI网络参考模型中的第二层(即数据链路层)进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发。简单地说,三层交换技术就是二层交换技术+三层转发技术,三层交换机就是“二层交换机+基于硬件的路由器”。

从硬件的实现上看,二层交换机的接口模块都是通过高速背板/总线交换数据的。在第三层交换机中,与路由器有关的第三层路由硬件模块也插接在高速背板/总线上,这种方式使得路由模块可以与需要路由的其他模块间高速地交换数据,从而突破了传统的外接路由器接口速率的限制(10Mbit/s---100Mbit/s)。在软件方面,第三层交换机将传统的基于软件的路由器重新进行了界定:

(1).数据封包的转发:如IP/IPX 封包的转发,这些有规律的过程通过硬件高速实现;(2).第三层路由软件:如路由信息的更新、路由表维护、路由计算、路由的确定等功能,用优化、高效的软件实现。

假设有两个使用IP 协议的站点,通过第三层交换机进行通信的过程为:若发送站点A 在开始发送时,已知目的站B的IP 地址,但尚不知道它在局域网上发送所需要的MAC 地址,则需要采用地址解析(ARP)来确定B的MAC 地址。A把自己的IP 地址与B的IP 地址比较,采用其软件中配置的子网掩码提取出网络地址来确定B是否与自己在同一子网内。若B 与A 在同一子网内,A 广播一个ARP 请求,B 返回其MAC 地址,A 得到B 的MAC 地址后将这一地址缓存起来,并用此MAC 地址封包转发数据,第二层交换模块查找MAC 地址表确定将数据包发向目的端口。若两个站点不在同一子网内,则A 要向\缺省网关\发出ARP(地址解析)封包,而\缺省网关\的IP 地址已经在系统软件中设置,这个IP 地址实际上对应第三层交换机的第三层交换模块。当A 对\缺省网关\的IP 地址广播出一个ARP 请求时,若第三层交换模块在以往的通信过程中已得到B 的MAC 地址,则向发送站A 回复B 的MAC 地址;否则第三层交换模块根据路由信息向目的站广播一个ARP 请求,B 得到此ARP 请求后向第三层交换模块回复其MAC 地址,第三层交换模块保存此地址并回复给发送站A 。以后,当再进行A 与B 之间数据包转发时,将用最终的目的站点的MAC 地址封包,数据转发过程全部交给第二层交换处理,信息得以高速交换。

5.2三层交换的特点

三层交换突出的特点如下:

(1). 有机的硬件结合使得数据交换加速;

26

以太网技术

(2). 优化的路由软件使得路由过程效率提高;

(3). 除了必要的路由决定过程外,大部分数据转发过程由第二层交换处理;

(4). 多个子网互连时只是与第三层交换模块的逻辑连接,不象传统的外接路由器那样需增加端口,保护了用户的投资。

第三层交换的目标是,只要在源地址和目的地址之间有一条更为直接的第二层通路,就没有必要经过路由器转发数据包。第三层交换使用第三层路由协议确定传送路径,此路径可以只用一次,也可以存储起来,供以后使用。之后数据包通过一条虚电路绕过路由器快速发送。

第三层交换技术的出现,解决了局域网中网段划分之后,网段中子网必须依赖路由器进行管理的局面,解决了传统路由器低速、复杂所造成的网络瓶颈问题。当然,三层交换技术并不是网络交换机与路由器的简单叠加,而是二者的有机结合,形成一个集成的、完整的解决方案。

5.3三层交换的应用

三层交换机的主要用途是代替传统路由器作为网络的核心,因此,凡是没有广域连接需求,同时又需要路由器的地方,都可以用第三层交换机来代替。在企业网和校园网中,一般会将第三层交换机用在网络的核心层,用第三层交换机上的千兆端口或百兆端口连接不同的子网或VLAN。第三层交换机解决了局域网VLAN必须依赖路由器进行管理的局面,解决了传统路由器速度低、复杂所造成的网络瓶颈问题。利用三层交换机在局域网中划分VLAN, 可以满足用户端多种灵活的逻辑组合, 防止了广播风暴的产生, 对不同 VLAN 之间可以根据需要设定不同的访问权限,以此增加网络的整体安全性,极大地提高网络管理员的工作效率,而且第三层交换机可以合理配置信息资源,降低网络配置成本,使得交换机之间连接变得灵活。

5.4三层交换的转发机制及结构

三层交换机的硬件结构分为两个部分,处理器模块和交换模块,它们之间通过PCI接口相连,同时配合相应的外围电路形成完整的三层交换机系统:

(1)处理器模块

如图所示,处理器同一些外部存储设备以及一些外围电路构成三层交换机的处理器部分。处理器模块主要是运行嵌入式操作系统,配置系统和路由表的维持,而不是数据转发通

27

以太网技术

路的组成部分。CPLD 保存一些CPU初始化的一些配置以保证上电后CPU正常启动,Flash 芯片用于存储三层交换机的所需要的所有软件和相关配置,SDRAM在系统启动之后载入FLASH中的程序,保证系统正常运行。处理器模块一方面提供一个快速以太网接口和一个异步口,用于对交换机进行配置和调试;另一方面通过PCI接口和交换模块相连,通过PCI接口对交换模块进行控制,并进行数据传输。

(2)交换模块

如图所示,交换模块通过PCI接口与处理器模块进行通信完成数据传输,通过内存接口,可以给交换模块提供一个64M的外部SDRAM,从而提高交换机的吞吐量和交换速度。

28

以太网技术

第6章STP&RSTP原理

6.1概述

现在的大型网络设计一般都采用分层结构,即分为核心层,汇聚层和访问层三个层次,其中核心层使用核心的设备,比如高端以太网交换机承担,汇聚层采用一些中低端的交换机担当,而接入层则一般采用低端交换机来负责,这样,汇聚层完成接入层业务的汇聚,然后送到骨干层上传输。

为了保证冗余特性,汇聚层交换机或接入层交换机一般通过两条以上的链路跟上层连接,而骨干层各个设备之间也不是单一的链路,而是组成一个全网状结构或一个半网状结构。不论何种结构,核心层交换机之间的链路肯定多于一条。在这些冗余链路的环境中,就会产生很多问题,最典型的是广播风暴。

6.1.1 冲突域和广播域

理解LAN交换的关键在于区分冲突域和广播域之间的差别。冲突域是以太网中使用术语,它用于描述共享网络访问的一组网络设备 (用户)。从本质上讲,在任意时刻,冲突域中只能有一个设备或用户进行通信;一个简单的以太网集线器能够形成一个网络冲突域。对于以太网LAN交换机,每个端口构成一个独立的冲突域,它极大减少了访问仲裁量,特别是在每个端口一个用户或设备的情况下。

广播域 (在TCP/IP网络中通常称为子网)定义了一组设备,它们接收相同的网络广播,这些广播信息主要用于网络寻址。根据定义,交换机在单个广播域中实现“交换”,路由器在多个广播域或子网之间进行“路由”。

6.1.2 广播风暴

考虑下面的网络结构:

29

以太网技术

在该网络中,汇聚层交换机通过两条链路分别跟核心层的两个核心交换机连接。这样可以做到充分的冗余,比如,当其中一条链路出现问题,还有另外一条链路做备用。但如果转发广播数据报,会产生严重问题:假设 PC 机发出了一个广播数据帧,汇聚层交换机接收到以后,会通过两个上行的端口转发。核心层接收到这个广播数据帧之后,会互相转发,这样下来,必然造成广播数据帧在整个网络上来回震荡,造成网络的瘫痪,这就是所谓的广播风暴。

在这种情况下,我们必须引入一种机制来避免这种危险,这种机制就是生成树协议。

6.1.3 生成树协议基本概念

生成树协议的关键是其几个基本概念,理解了这些基本概念,其运行过程也就明了了。下面结合图形来具体说明几个概念。

1、根交换机

生成树协议的运做结果是生成一棵无环树,既然是一棵无环树,必然存在一个树根。这个树根是由选举产生的,选举出来当做树根的交换机就是根交换机。

选举出根交换机以后,其他交换机就以根交换机为依据来建立自己的转发拓扑。每个交换机的转发拓扑组合起来,就形成了一棵树。

2、交换机标识和交换机优先级

交换机标识用来唯一表示网络上的一台交换机。该标识是由两部分组成的,第一部分是 2 字节的优先级,该优先级说明了在选举根交换机的时候交换机的优先程度,接下来是六字节的 MAC 地址,该 MAC 地址就是交换机的MAC地址。这样的组合就保证了交换机的标识唯一性,即使优先级相同,但每个交换机有唯一的MAC地址,这样就可以保证了交换机标识的唯一性。

交换机标识是选举根交换机的唯一依据。在选举根交换机的时候,各个交换机比较其他交换机的标识,具有最低标识的交换机被选中。

可以看出,在比较交换机的标识的时候,起决定作用的是2个字节的优先级。因为这两个字节位于标识的高位部分。当优先级相同的时候,交换机的MAC地址才起作用。所以,在实际中,只要更改交换机的优先级就可以轻松控制根交换机的选举。

30

以太网技术

3、端口成本和端口优先级

生成树协议的最终运行结果表现在交换机上,就是闭塞一些冗余的端口,打开一些端口进行转发。当打开的端口坏掉了,则把闭塞的端口再打开,做到备用。这样就面临一个问题:怎样选择闭塞的端口?

一个显著的想法就是,选择带宽最高的端口进行转发,其他带宽较低的统统闭塞。这样就端口成本便是这样一个选择依据,一般情况下,端口成本就是端口带宽的正比例反映,但这个端口成本是可以配置的,就是说,你可以手工指定端口的成本,而不管实际的带宽如何。这样完全是出于策略的考虑。

但存在一种情况,就是两个端口有同样的带宽。这样的情况下,我们就需要用到另外一个参数——端口优先级了。该参数指定,当端口成本相同的时候,优先级高的端口优先闭塞,优先级最低的端口进行转发。这样就保证了转发端口的唯一性。默认情况下,所有端口的优先级是相同的,这样为了打破僵局,交换机会参考端口号(端口号在交换机上有唯一性),端口号最低的端口优先进行转发。

4、根端口

顾名思义,根端口就是通向根的端口。交换机运行生成树协议,最终形成一棵转发树,每个交换机都通过一个且仅仅一个端口连接到这棵树的根,这个端口就是根端口。

5、指定交换机和指定端口

一个交换机选择出根端口以后,并不是把其他端口都堵塞,而且还必须选出一个指定端口。该端口的目的是转发下游数据(所谓下游,是针对根而言的)。考虑上图中最下面的一个冲突域,该冲突域可能通过一个 HUB 连接了很多计算机,这个冲突域跟右边的一个交换机连接,这时候,如果右边的交换机选择出根端口之后,把其他所有端口都闭塞,则该冲突域就不能把自己的数据转发出去。因此,右边的交换机还必须把连接该冲突域的端口打开,来转发该冲突域内的通信。

可以看出,在上图中这个冲突域连接了两个交换机,通过什么样的规则选择其中的一个交换机端口作为指定端口呢?还是端口成本。两个交换机比较从对方到根的成本,选择成本小的作为指定端口,其他端口闭塞。

6.1.4 生成树协议的运行过程

生成树协议运行过程分几个过程:

1、选择根交换机:交换机启动的时候,向各个端口发送 BPDU(桥接协议数据单元),该数据帧的目的 MAC 地址是一个保留的组播 MAC 地址,这样就保证了以太网上所有的交换机都可以接收到该数据帧。BPDU 包含下列内容:发送交换机的标识,发送端口的成本,跟交换机的标识(初始化为自己),到跟交换机的成本等等。这样交换机接收到其他交换机发送的 BPDU 后,跟自己进行比较,看交换机标识是否比自己小。如果是,则选择它为根交换机,这样长时间的选择,最终网络中的交换机会达成共识,选择某个交换机为根交换机(该交换机的标识最低);

2、选择根端口:交换机从接收到的 BPDU 中可以计算出自己哪个端口到根交换机最近(成本最低),成本最低的端口被选定为根端口,并转换到转发状态;

3、选择指定端口和指定交换机:选择出根端口之后,交换机会向所有其他未阻塞端口

31

以太网技术

(所谓阻塞,是由于物理链路没有起来或手工关闭)发送从根端口接收到的 BPDU。不过发送的时候,把 BPDU 进行修改,把其中的发送交换机标适填写成自己的标识,到根交换机的成本改为端口成本加上根端口到根交换机的成本,比如,根端口到根交换机的成本为 100,而某个端口的成本为 20,则从该端口把 BPDU 发送出去后,相应的到根交换机的成本就转换为 120。在发送的同时,也可能从其他交换机接收到 BPDU,这时候就把自己刚才发送的 BPDU 同接收到的 BPDU 比较,看哪个距离根比较近(成本低),如果自己的成本低,则该端口跳转到转发状态,也就是说,该端口成为相应冲突域的指定端口,而该交换机就是相应冲突域的指定交换机。而刚才发送 BPDU 的交换机因为发现自己到根的成本高,就会阻塞该端口。

为了更好的理解指定端口和指定交换机的选择,考虑下面的网络图形:

交换机 A 和交换机 B 选择出根端口后,就分别向冲突域 A 转发从根端口接收到的 BPDU。该 BPDU 在转发的时候会进行修改,假设交换机 A 连接冲突域 A 的端口的成本是 10,交换机 B 连接冲突域 A 的端口成本是 20,交换机 A 从根端口到根的成本和交换机 B 从根端口到根的成本都是 100,则交换机 A 在发送 BPDU 的时候,BPDU 中到根的成本修改为 110(100 + 10),交换机 B 在发送 BPDU 的时候,BPDU 中到根的成本修改为 120(100 + 20)。

这样交换机 A 和交换机 B 分别接收到对方的 BPDU。在交换机 A 接收到交换机 B 的 BPDU 的时候,把 BPDU 中的端口成本(120)提取出来,跟刚才自己发送的 BPDU 中的端口成(110)本比较,发现比自己刚才发送的成本要高,于是交换机 A 就把连接冲突域 A 的端口转换到转发状态,成为该冲突域的指定交换机,相应的,交换机 A 成为该冲突域的指定交换机。但交换机B 接收到交换机 A 的 BPDU 后,比较两个 BPDU(自己发出去的和接收到的)到根交换机的成本,发现比自己的低,于是,交换机 B 就把连接到冲突域 A的端口置为阻塞状态。这样就完成了指定端口和指定交换机的选择。

上述几个步骤完成之后,各个交换机就停留在了一个稳定的转发状态,进行通常的数据转发。

需要注意的是,运行生成树协议的交换机的各个端口会经历几个状态,刚开机的时候是阻塞状态,这种状态下只能接收和发送 BPDU,这样做的目的是因为刚开始的时候没有形成一棵无环的转发树,可能存在环路问题。但BPDU是一个组播数据帧,不会发生广播风暴。相互发送 BPDU,选择出根交换机,选择出根端口和指定交换机等,这样就形成了一棵无环的转发树。但这时候为了避免其他交换机还没有完成生成树协议的计算,于是交换机

32

以太网技术

的端口还需要经历一个学习的状态,在该状态下,端口可以接收数据包,并进行学习过程(形成 CAM 表),但不做转发。当学习过程结束后,交换机端口才真正转换到转发状态,这种状态下才能进行正常的数据转发。

6.2 STP简介 6.2.1 STP的用途

STP(Spanning Tree Protocol)是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。

6.2.2 STP的实现方法

STP的基本原理是,通过在交换机之间传递一种特殊的协议报文(在IEEE 802.1D中这种协议报文被称为“配置消息”)来确定网络的拓扑结构。配置消息中包含了足够的信息来保证交换机完成生成树计算。

配置消息中主要包括以下内容:

树根的ID:由树根的优先级和MAC地址组合而成; 到树根的最短路径开销;

指定交换机的ID:由指定交换机的优先级和MAC地址组合而成; 指定端口的ID:由指定端口的优先级和端口编号组成; 配置消息的生存期:MessageAge; 配置消息的最大生存期:MaxAge; 配置消息发送的周期:HelloTime; 端口状态迁移的延时:ForwardDelay。

指定端口和指定交换机的含义,请参见下面的说明:

33

以太网技术 Switch AAP1AP2CP1Switch CBP2CP2BP1Switch BLAN 指定交换机和指定端口示意图

对一台交换机而言,指定交换机就是与本机直接相连并且负责向本机转发数据包的交换机,指定端口就是指定交换机向本机转发数据的端口;对于一个局域网而言,指定交换机就是负责向这个网段转发数据包的交换机,指定端口就是指定交换机向这个网段转发数据的端口。如图1-1所示,AP1、AP2、BP1、BP2、CP1、CP2分别表示Switch A、Switch B、Switch C的端口,Switch A通过端口AP1向Switch B转发数据,则Switch B的指定交换机就是Switch A,指定端口就是Switch A的端口AP1;与局域网LAN相连的有两台交换机:Switch B和Switch C,如果Switch B负责向LAN转发数据包,则LAN的指定交换机就是Switch B,指定端口就是Switch B的BP2。

?

生成树协议算法实现的具体过程:

下面结合例子说明生成树协议算法实现的计算过程。 具体的组网如图所示:

Switch Aó??è???a0AP15BP1Switch B??óè???a110AP2BP24CP1CP2Switch C??óè???a2 举例中的以太网交换机组网图

为描述方便,在举例中仅给出配置消息的前四项:树根ID(以以太网交换机的优先级

表示),根路径开销,指定交换机ID(以以太网交换机的优先级表示),指定端口ID(以端口号表示)。如上图所示,Switch A的优先级为0,Switch B的优先级为1,Switch C的优先级为2,各个链路的路径开销如图中所示,分别为5、10、4。

初始状态

34

以太网技术

各台交换机的各个端口在初始时会生成以自己为根的配置消息,根路径开销为0,指定交换机ID为自身交换机ID,指定端口为本端口。

Switch A:

端口AP1配置消息:{0,0,0,AP1} 端口AP2配置消息:{0,0,0,AP2} Switch B:

端口BP1配置消息:{1,0,1,BP1} 端口BP2配置消息:{1,0,1,BP2} Switch C:

端口CP2配置消息:{2,0,2,CP2} 端口CP1配置消息:{2,0,2,CP1} 选出最优配置消息:

各台交换机都向外发送自己的配置消息。当某个端口收到比自身的配置消息优先级低的配置消息时,交换机会将接收到的配置消息丢弃,对该端口的配置消息不作任何处理。当端口收到比本端口配置消息优先级高的配置消息的时候,交换机就用接收到的配置消息中的内容替换该端口的配置消息中的内容。然后以太网交换机将该端口的配置消息和交换机上的其它端口的配置消息进行比较,选出最优的配置消息

配置消息的比较原则是:

? ?

树根ID较小的配置消息优先级高;

若树根ID相同,则比较根路径开销,比较方法为:用配置消息中的根路径开销加

上本端口对应的路径开销之和(设为S),则S较小的配置消息优先级较高;

?

若根路径开销也相同,则依次比较指定交换机ID、指定端口ID、接收该配置消息

的端口ID等。

为便于表述,本例中假设只需比较树根ID就可以选出最优配置消息。确定根端口,并阻塞冗余链路,然后更新指定端口的配置消息。交换机接收最优配置消息的那个端口定为根端口,端口配置消息不作改变;其它端口中,如果某端口的配置消息在过程“选出最优配置消息”中更新过,则交换机将此端口阻塞,端口配置消息不变,此端口将不再转发数据,并且只接收但不发送配置消息;如果某端口的配置消息在过程“选出最优配置消息”中没有更新,则交换机就将其定为指定端口,配置消息要作如下改变:树根ID替换为根端口的配置消息的树根ID;根路径开销替换为根端口的配置消息的根路径开销加上根端口对应的路径

35

以太网技术

开销;指定交换机ID替换为自身交换机的ID;指定端口ID替换为自身端口ID。

例子中各台交换机的比较过程如下: Switch A:

端口AP1收到Switch B的配置消息,Switch A发现本端口的配置消息优先级高于接收到的配置消息的优先级,就把接收到的配置消息丢弃。端口AP2的配置消息处理过程与端口AP1类似。Switch A发现自己各个端口的配置消息中树根和指定交换机都是自己,则认为自己是树根,各个端口的配置消息都不作任何修改,以后周期性的向外发送配置消息。此时两个端口的配置消息如下:

端口AP1配置消息:{0,0,0,AP1}。 端口AP2配置消息:{0,0,0,AP2}。 Switch B:

端口BP1收到来自Switch A的配置消息,经过比较后Switch B发现接收到的配置消息的优先级比端口BP1的配置消息的优先级高,于是更新端口BP1的配置消息。 端口BP2收到来自Switch C的配置消息,Switch B发现该端口的配置消息优先级高于接收到的配置消息的优先级,就把接收到的配置消息丢弃。

则此时各个端口的配置消息如下:端口BP1配置消息:{0,0,0,AP1},端口BP2配置消息:{1,0,1,BP2}。

Switch B对各个端口的配置消息进行比较,选出端口BP1的配置消息为最优配置消息,然后将端口BP1定为根端口,整台交换机各个端口的配置消息都进行如下更新:

根端口BP1配置消息不作改变:{0,0,0,AP1}。端口BP2配置消息中,树根ID更新为最优配置消息中的树根ID,根路径开销更新为5,指定交换机ID更新为本交换机ID,指定端口ID更新为本端口ID,配置消息变为:{0,5,1,BP2}。

然后Switch B各个指定端口周期性向外发送自己的配置消息。 Switch C:

端口CP2先会收到来自Switch B端口BP2更新前的配置消息{1,0,1,BP2},Switch C触发更新过程,更新后的配置消息如下:{1,0,1,BP2}。

端口CP1收到来自Switch A的配置消息{0,0,0,AP2}后Switch C也触发更新过程,更新后的配置消息如下:{0,0,0,AP2}。

经过比较,端口CP1的配置消息被选为最优的配置消息,端口CP1就被定位根端口,它的配置消息就不作改变;而端口CP2就会被阻塞,端口配置消息也不作改变,同时该端

36

以太网技术

口不接收从Switch B转发的数据(不包括STP的协议报文),直到新的情况发生触发生成树的重新计算,比如从Switch B到Switch C的链路down掉,或者端口收到更优的配置消息。

接着端口CP2会收到Switch B更新后的配置消息{0,5,1,BP2},由于收到的配置消息比原配置消息优,则Switch C触发更新过程,更新后的配置消息为:{0,5,1,BP2}。 同时端口CP1收到来自Switch A配置消息,比较后Switch C不会触发更新过程,配置消息仍然为:{0,0,0,AP2}。

经过比较,端口CP2的配置消息被选为最优的配置消息,端口CP2就被定为根端口,它的配置消息就不作改变,而端口CP1就被阻塞,端口配置消息不变,同时不接收从Switch A转发的数据,直到新的情况触发生成树的计算,比如从Switch B到Switch C的链路down掉。

此时生成树就被确定下来,形状如图,树根为Switch A:

Switch A??óè???a0AP15BP1Switch B??óè???a 1BP24CP2Switch C??óè???a 2 最终稳定的生成树

本例为了描述方便,简化了很多计算、操作内容(比如树根ID和指定交换机ID在实

际运算的过程中应该是由交换机的优先级和MAC地址共同组成的,指定端口ID则是由端口优先级和端口MAC地址共同构成;在配置消息的更新过程中,除了前四项会改变以外,其它配置消息也会按照一定的原则进行改变),但计算过程基本如此。

?

生成树协议的配置消息传递机制:

当网络初始化时,所有的交换机都将自己作为树根。交换机的指定端口以HelloTime为周期,定时发送本端口的配置消息;接收到配置消息的端口如果是根端口,则交换机将配置消息中携带的MessageAge按照一定的原则递增,并启动定时器为这条配置消息计时。如果某条路径发生故障,则这条路径上的根端口不会再收到新的配置消息,旧的配置消息将会因为超时而被丢弃,从而引发生成树的重新计算,得到一条新的通路替代发生故障的链路,恢复网络连通性。

不过,重新计算得到的新配置消息不会立刻就传遍整个网络,因此那些没有发现网络拓扑已经改变的旧的根端口和指定端口仍旧会按照原来的路径继续转发数据,如果新选出的根

37

以太网技术

端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的路径回环。为此STP采用了一种状态迁移的机制,根端口和指定端口重新开始数据转发之前要经历一个中间状态,中间状态经过Forward Delay延时后才能进入转发状态,这个延时保证了新的配置消息已经传遍整个网络。

6.2.3 STP在以太网交换机中的实现

以太网交换机所实现的快速生成树协议RSTP(Rapid Spanning Tree Protocol)是生成树协议的优化版。其“快速”体现在根端口和指定端口进入转发状态的延时在某种条件下大大缩短,从而缩短了网络拓扑稳定需要的时间。

根端口状态快速迁移的条件是:本交换机上旧的根端口已经停止转发数据,而且上游指定端口已经开始转发数据。

指定端口的端口状态快速迁移的条件为:

指定端口是边缘端口,即该端口不直接或间接与任何交换机连接。如果指定端口是边缘端口,则可以不用经过中间状态而直接进入转发状态。 ? 指定端口与点到点链路相连。端口与点到点链路相连的条件是端口是汇聚端口主端口或者经过自协商端口工作在全双工状态。用户也可以强行将端口配置为与点到点链路连接,但是这样会引发错误,建议用户不要这样配置。如果指定端口连接着点到点链路,则交换机可以通过与下游交换机握手,得到响应后即刻进入转发状态。

?

应用快速生成树协议的交换机可以兼容应用生成树协议的交换机,两种协议报文都可以被应用快速生成树协议的交换机识别并应用于生成树计算。

6.3 RSTP简介

6.3.1RSTP算法产生由来

在前面我们介绍了有关生成树协议的一些特性。在实际的应用中,生成树协议也有很多美中不足的地方。最主要的缺点是端口从阻塞状态到转发状态需要两倍的forward delay时延,导致网络的连通性至少要几十秒的时间之后才能恢复。如果网络中的拓朴结构变化频繁,网络会频繁的失去连通性,这样用户就会无法忍受。为了尽量避免网络失去连通性,我们的网桥应用了一种“快速生成树”算法。

快速生成树(RSTP)是从生成树算法的基础上发展而来,承袭了它的基本思想,即也是通过配置消息来传递生成树信息,并通过优先级比较来进行计算。

快速生成树能够完成生成树的所有功能,不同之处就在于:快速生成树在不会造成临时环路的前提下,减小了端口从阻塞到转发的时延,尽可能快的恢复网络连通性,提供更好的用户服务。

38

以太网技术

6.3.2 RSTP与STP比较

快速生成树协议为每个网桥端口分配以下端口角色:根端口(Root Port)、指定端口(Designated Port)、预备端口(Alternate Port)以及备份端口(Backup Port)。第五个角色,不使能端口(Disable Port),代表该端口在生成树操作里没有任何角色。端口角色分配给网桥局域网主要有以下三点决定:

a) 每个网桥相互关联的唯一网桥标识符 b) 每个网桥端口相互关联的一个路径开销 c) 每个网桥端口相互关联的一个网桥标识符

收到来自根网桥并带有最小路径开销值的桥端口被分配为该网桥的根端口(根网桥没有根端口)。如果一个网桥拥有相同最小路径开销的两个或多个端口,然后端口会根据端口最好的端口标识符来决定根端口。端口标识符由两部分组成:一部分是端口优先级,可以手动设置,默认是128;另一部分网桥上的端口号。通过端口标识符数字的比较来决定根端口,数字越小会被认为越优先。

在交换网络里每个局域网同样拥有对应的根路径开销。连接到局域网并拥有最小根路径开销的网桥端口,该网桥会被选举为该局域网的指定网桥,该端口会被选举为该局域网的指定端口。如果指定网桥拥有两个或多个端口连接到局域网,则拥有最高端口标识符的会被选举为指定端口。

在一个稳定的交换网络里,每个局域网拥有且只有一个指定端口,每个网桥除根网桥外会至少拥有一个根端口。

一些没有被分配为根端口或指定端口的端口,一种是指定网桥上的备份端口,另外一种是预备端口。

预备端口提供一条面向根网桥方向的预备路径,由拥有根端口的网桥所提供,然而备份端口扮演一条面向生成树叶子方向的备份路径,由拥有指定端口的网桥所提供。备份端口当一个网桥拥连接到同一个局域网并且拥有两个或以上的连接时才会存在;因此,指定端口和备份端口只能存在当由点到点链接在一齐并形成回环的情况下或当网桥有两个或多个链接到一个共享介质网段的情况。

注意:在生成树协议算法里没有预备端口以及备份端口,而在快速生成树协议算法里存在预备端口以及备份端口主要的目的是当根端口失效以后预备端口可以实现快速状态转移变为转发状态。

STP与RSTP的主要区别在于:

? 协议版本不同:在发送配置消息中有一个域携带了协议版本号。 ?

端口状态迁移方式不同;

39

以太网技术

? ? ?

配置消息的格式不同; 拓扑改变消息的传播方式不同。 这些改进都是为了配合“快速”的需求。

另外需要说明的是,快速生成树改进的只是生成树的收敛时间。并没有解决在整个桥接网络只应用一个单生成树实例的不足。因此建议在实际组网中不要使网络直径超过7。

6.3.3 RSTP的性能

快速生成树改进后的性能归纳如下:

1. 如果网络的拓扑变化是根端口的改变引起的,并且有一个备用的端口可以成为新的根端口的话,那么故障恢复的时间就是根端口的切换时间,无需延时,无需传递配置消息,只是一个处理的延时。如果CPU足够快的话,这个恢复时间你可能根本就没觉察到。 2. 如果网络的拓扑变化是指定端口的变化引起的,并且也有一个备用端口可以成为新的指定端口的话,那么故障恢复的时间就是一次握手的时间。而一次握手的时间就是发起握手和响应握手的端口各发送一次配置消息的时间,即两倍的hello time。不过握手的扩散往往使情况糟糕一点,最坏的情况是:握手从网络的一边开始,扩散到网络的另一边,比如网络直径为7的情况,最多要经过六次握手,网络的连通性才能被恢复。如果网络的拓扑变化是边缘端口的变化引起的,无需延时。网络的连通性根本不受影响。

40

以太网技术

第7章VRRP技术基本原理

7.1 VRRP概述

VRRP被设计为在局域网上提供一个虚拟路由器。一个虚拟路由器由虚拟路由器ID(VRID)和虚拟IP地址共同定义。VRID是虚拟路由器的标识,配置范围为1-255。配置在同一备份组中的VRID必须一致。为同一VRID配置的虚拟IP地址必须一致。如果VRID一致但是虚拟IP地址不同,VRRP会认为这是不同的虚拟路由器。一个虚拟路由器可以关联到多个IP地址上。

7.2 VRRP协议报文和状态机 7.2.1 VRRP协议报文

只有一种报文类型-VRRP通告(ADVERTISEMENT)只有Master才能发送VRRP通告

Version:版本号,必须设置为2。

Type:类型,VRRP只有一种报文类型-VRRP通告(Advertisement)。该字段值为1。

41

以太网技术

Virtual Rtr ID:该报文所关联的虚拟路由器的ID。 Priority:发送该报文的VRRP路由器的优先级。

Count IP Addrs:该VRRP报文中所包含的虚拟IP地址的数量。 Auth Type:发送该报文的VRRP路由器所使用的验证方法。 Adver Int:发送VRRP通告消息的间隔。默认为1秒。

IP Addresses:所关联的虚拟路由器的虚拟IP地址,可以为多个。 Authentication Data:验证所需要的密码信息。

字段 源IP地址(Source Address) 目的IP地址 (Destination Address) TTL 协议号(Protocol) 取值 Master发送端口的物理IP地址 IP组播地址224.0.0.18 必须是255 VRRP使用的IP协议号为0x70 VRRP是直接封装在IP报文中的。IP报文头中的源地址是Master发送该报文接口的物理IP地址。目的地址是组播地址224.0.0.18,该地址只在本地链路有效,不可被路由。VRRP报文的TTL值必须为255,路由器应当丢弃TTL值不为255的VRRP报文。VRRP使用IP协议号0x70。

每一个虚拟路由器都有一个虚拟MAC地址,该虚拟MAC地址的格式为:

00-00-5E-00-01-{VRID}。虚拟MAC地址的前五个字节是固定的。虚拟MAC地址的最后一个字节是该虚拟路由器的VRID

字段 目的MAC地址 源MAC地址 类型 取值 组播MAC地址:01-00-5E-00-00-12 虚拟路由器的MAC地址 0x0800 当VRRP路由器周期性的向外发送VRRP通告消息时:

42

以太网技术

目的MAC地址是对应组播IP地址224.0.0.18的组播MAC地址,该地址为01-00-5E-00-00-12。

源MAC地址是虚拟路由器的虚拟MAC地址。使用虚拟MAC地址做为源地址的目的是为了刷新交换机上的MAC地址表。类型字段设置为0x0800说明数据帧内部是IP报文。

Auth Type 0 1 2 验证方法 不验证 纯文本密码验证 MD5方式验证 不验证:

此验证方式表示VRRP报文不需要验证。Authentication Data字段设置为0,接收时不检查该字段。

纯文本密码验证:

此验证方式表示VRRP报文需要进行验证,验证时使用纯文本密码。VRRP报文中的Authentication Data字段设置为端口上配置的密码。

MD5方式验证:

此验证方式表示VRRP报文使用MD5加密报文进行验证。

7.2.2VRRP状态机

Initialize:

该状态的目的是等待一个Startup事件。如果收到一个Startup事件,并且该路由器的Priority是255(IP地址拥有者),则转换状态为Master,并开始周期性的发送VRRP报文。如果收到一个Startup事件,并且该路由器的Priority不是255,则转换状态为Backup并开始监控Master的状态。

Backup:

此状态的目的是为了监控Master的状态和可用性,在此状态下,VRRP路由器不可以响应对虚拟IP地址的ARP请求报文,不可以处理目的地址为虚拟MAC地址的数据帧,不可以接收目的IP地址为虚拟IP地址的IP数据包。

43

以太网技术

如果收到Shutdown事件,则停止监控Master的状态,并转换状态为Initialize。 如果Master_Down_Timer被触发,则转换状态为Master,并开始周期性发送VRRP通告消息。

如果收到一个Priority设置为0的VRRP通告消息,则Master_Down_Timer被设置为Delay Time。

如果收到一个Priority设置为不小于本地的Priority的VRRP通告消息,或者抢占模式未被启动,则重启Master_Down_Timer,继续监控Master状态。

如果收到一个Priority设置为小于本地的Priority的VRRP通告消息,则丢弃该报文。

Master:

此状态下的VRRP路由器处理发往虚拟地址的数据包。在此状态下,VRRP路由器必须响应对虚拟IP地址的ARP请求,必须处理发往虚拟MAC地址的数据帧。如果收到Shutdown事件,关闭Advertise_Timer,发送一个Priority设置为0的VRRP通告消息,转换状态为Initialize。如果收到一个Priority设置为大于本地的Priority或者Priority设置为等于本地的Priority但是对端IP地址比本地IP地址大的VRRP通告消息,关闭Advertise_Timer,转换状态为Backup。

44

以太网技术

第8章HSRP的工作原理

在一个路由器完全不能工作的情况下,它的全部功能便被系统中的另一个备份路由器完全接管,直至出现问题的路由器恢复正常,这就是热备份路由协议(HotStandbyRouterProtocal),HSR PRFC2281技术要解决的问题。

一、HSRP协议概述

实现HSRP的条件是系统中有多台路由器,它们组成一个\热备份组\,这个组形成一个虚拟路由器。在任一时刻,一个组内只有一个路由器是活动的,并由它来转发数据包,如果活动路由器发生了故障,将选择一个备份路由器来替代活动路由器,但是在本网络内的主机看来,虚拟路由器没有改变。所以主机仍然保持连接,没有受到故障的影响,这样就较好地解决了路由器切换的问题。

为了减少网络的数据流量,在设置完活动路由器和备份路由器之后,只有活动路由器和备份路由器定时发送HSRP报文。如果活动路由器失效,备份路由器将接管成为活动路由器。如果备份路由器失效或者变成了活动路由器,将有另外的路由器被选为备份路由器。 在实际的一个特定的局域网中,可能有多个热备份组并存或重叠。每个热备份组模仿一个虚拟路由器工作,它有一个Well-known-MAC地址和一个IP地址。该IP地址、组内路由器的接口地址、主机在同一个子网内,但是不能一样。当在一个局域网上有多个热备份组存在时,把主机分布到不同的热备份组,可以使负载得到分担。

二、HSRP的工作原理

HSRP协议利用一个优先级方案来决定哪个配置了HSRP协议的路由器成为默认的主动路由器。如果一个路由器的优先级设置的比所有其他路由器的优先级高,则该路由器成为主动路由器。路由器的缺省优先级是100,所以如果只设置一个路由器的优先级高于100,则该路由器将成为主动路由器。

通过在设置了HSRP协议的路由器之间广播HSRP优先级,HSRP协议选出当前的主动路由器。当在预先设定的一段时间内主动路由器不能发送hello消息时,优先级最高的备用路由器变为主动路由器。路由器之间的包传输对网络上的所有主机来说都是透明的。

配置了HSRP协议的路由器交换以下三种多点广播消息:

Hello———hello消息通知其他路由器发送路由器的HSRP优先级和状态信息,HSRP路由器默认为每3秒钟发送一个hello消息;

Coup———当一个备用路由器变为一个主动路由器时发送一个coup消息;

Resign———当主动路由器要宕机或者当有优先级更高的路由器发送hello消息时,主

45

以太网技术

动路由器发送一个resign消息。在任一时刻,配置了HSRP协议的路由器都将处于以下六种状态之一:

Initial———HSRP启动时的状态,HSRP还没有运行,一般是在改变配置或端口刚刚启动时进入该状态。

learn———路由器已经得到了虚拟IP地址,但是它既不是活动路由器也不是等待路由器。它一直监听从活动路由器和等待路由器发来的HELLO报文。

Listen———路由器正在监听hello消息。

Speak———在该状态下,路由器定期发送HELLO报文,并且积极参加活动路由器或等待路由器的竞选。

Standby———当主动路由器失效时路由器准备接管包传输功能。 Active———路由器执行包传输功能。

46

本文来源:https://www.bwwdw.com/article/ar0x.html

Top