第3章虚拟局域网 虚拟局域网(VirtualLAN,VLAN)技术是在交换式以太网基础上发展起来的一种技术。 利用这种技术,可以进一步提高交换式以太网的传输效率,增强网络的安全性,降低网络的管 理成本。本章将对虚拟局域网的工作原理和组网方法进行介绍和讨论。 1 VLAN 的提出 3. 交换式以太网是以交换机为中心的以太网。尽管交换式以太网的工作效率比共享式以太 网提高很多,但是在应用中也暴露出一些问题。 1.交换式以太网的主要问题 3.1 交换式以太网的主要问题表现为广播风暴、网络安全性和网络的可管理性。 1.广播风暴 在交换式以太网中,交换机具有一定的处理能力,能够将一个接口收到的数据,转发至另 一个接口。交换机可连接共享式以太网,以分割冲突域,减小冲突的范围和冲突概率。但是, 利用交换机组网并不能减小广播帧的传播范围。即使全网采用主机直连交换机的全双工方 式,不存在冲突的情况下,也不能减小广播帧的传播范围。 对于目的MAC地址指向一台特定主机的数据帧,交换机按照接口/MAC地址映射表进 行转发。但是,对于目的MAC地址为 f- f- f- f- f- f 广播地址的数据帧,交换机将向除接收接 口之外的所有接口转发数据帧,以保证网中的所有主机都能接收到该数据帧。 广播帧能够传播的范围称为广播域。在交换式以太网中,一台主机发送的广播帧总会转 发到网络中的所有结点,因此,整个以太网就是一个广播域。无论这个以太网中连接了多少主 机,级联了多少交换机,分割成了多少个冲突域,它们都在一个广播域中。 图3-1是由4台交换机级联而成的以太网。按照交换机转发数据帧的规则,如果其中一 台主机(如主机A)发送广播帧,网中的所有主机都会收到,因此图中所有主机都在一个广播 域中。 尽管在设计网络应用时都会对广播帧的使用进行认真的考虑,但是网络中广播帧的出现 频率仍然很高,很多功能(如以后将要讨论的ARP功能等)需要通过发送广播帧实现。即使 有些主机与这些广播帧无关,它们也需要接收并进行处理。在大规模以太网中,频繁出现的广 播帧占用了网络带宽和主机的处理资源,降低了网络效率。在有些情况下,同时出现的大量广 播帧会造成网络阻塞,瘫痪整个网络,这就是广播风暴。 2.网络安全性 以太网中的主机处于一个广播域中,因此,一台主机发送的广播帧会转发到所有主机。即 使主机发送的不是广播帧,交换机依据接口/MAC地址映射表进行转发时,也有可能将数据 转发给无关的主机。 在图3-2中,当主机A向主机E发送数据时,由于交换机1和交换机2的接口/MAC地 图3- 1 以太网中的广播域 址映射表中都没有关于主机E在哪个接口的信息,因此,交换机1和交换机2都会向接收接口 之外的所有接口转发数据。主机B、主机C、主机D、主机F都会收到该信息。 图3- 2 无关主机接收到主机 A 发送给主机E的信息 如果网络中存在恶意用户,那么就可以收集和分析这些零零散散的数据,以达到自己的目 的。为此,需要对不同类型的用户进行隔离,以防止网络安全问题的发生。 3. 网络的可管理性 以太网的可管理性相对较差,运营和管理成本较高。例如,某单位办公楼的一层为财务 部,二层为业务部。为了保证财务部的信息不外流,单位为财务部和业务部分别在一层和二层 组建了以太网。这两个以太网不能相互连接,以防财务部的数据转发到业务部的主机中,如 图3-3(a)所示。如果随着业务的发展,单位在一楼为业务部分配了一个房间,那么为了将业 务部的主机连入业务部网络,需要重新进行布线,即使这些计算机连入一层财务部的交换机更 方便,如图3-3(b)所示。同样,业务部的人员调入财务部,但办公位置希望不变,那么也需要 重新布线,将该人员的主机连入一楼的交换机,如图3-3(b)所示。 网络运营和管理成本的提高,增加了用户的负担。因此,需要使用新技术简化网络的管 理,降低运营和管理成本。 3.2 认识虚拟局域网 1. 为了解决交换式以太网的广播风暴问题、网络安全性问题和可管理性问题,人们开始使用 虚拟局域网VLAN 进行以太网组网。 现在,人们对虚拟主机的概念已经非常熟悉。一台实体主机可以运行多个虚拟主机,虚拟 48 图3- 3 以太网的管理 主机之间相互隔离。人们可以像操作实体机一样操作一台虚拟主机,好像这台实体机上的其 他虚拟主机不存在一样。虚拟交换机的概念与虚拟主机的概念类似,它可以在一台实体交换 机上运行多个虚拟交换机,多个虚拟交换机之间相互独立。利用一个虚拟交换机组成的网络 称为一个虚拟局域网。一个虚拟局域网与另一个虚拟局域网互不影响,好像它们就是用多个 实体交换机组成的网络一样。 图3-4是一个虚拟局域网示意图。图中,一台实体交换机中虚拟了3台虚拟交换机。在 用户看来,虚拟交换机1、虚拟交换机2和虚拟交换机3相互独立,就好像它们是3台独立的 实体交换机一样。主机A和主机B通过实体交换机端口1和端口2连接到虚拟交换机1,形 成虚拟局域网VLAN1;主机C和主机D通过实体交换机端口3和端口4连接到虚拟交换机 2,形成虚拟局域网VLAN2;主机E和主机F通过实体交换机端口5和端口6连接到虚拟交 换机3,形成虚拟局域网VLAN3 。VLAN1 、VLAN2 和VLAN3 之间互不影响,为3个独立的 以太网。 图3- 4 虚拟局域网示意图 交换机具有强大的处理能力,它可以对收到的数据帧进行处理,控制其流动的方向和路 径。这种处理能力是实现虚拟局域网的基础。在图3-4中,如果实体交换机从端口1收到数 据帧后不向除端口2之外的端口转发,从端口2收到数据帧后不向除端口1之外的端口转发, 那么从用户看来,主机A和主机B就是一个独立的网络。这个网络与主机C和主机D形成 49 的网络、主机E和主机F形成的网络相互隔离,互不影响。 利用虚拟局域网技术,可以将连入一台实体交换机的多个主机划分成若干逻辑工作组,逻 辑工作组中的主机可以根据功能、部门、应用等因素划分,无须考虑它们所处的物理位置。实 体交换机通过控制数据帧的流向,保证一个逻辑工作组中的数据帧只在该工作组内部流动,不 会转发到其他逻辑工作组。 虚拟局域网技术的使用,有效地解决了以太网原有的广播风暴、网络安全性、可管理性等 问题,被广泛应用于以太网组网之中。 (1)VLAN 技术有效地降低了广播风暴风险:使用VLAN 技术以后,交换机在收到广播 帧后首先判断发送主机所属的VLAN,然后向属于该VLAN 的主机转发广播帧。在图3-5显 示的以太网中,主机A、主机B和主机C属于VLAN1,主机D和主机E属于VLAN2 。当交 换机收到主机A发送的广播帧后,只会向主机B和主机C转发。主机D和主机E不会收到 该广播帧。由于一个VLAN 中的广播帧,不会出现在其他VLAN 中,因此一个VLAN 就是 一个广播域。在使用VLAN 之后,原有的大广播域被分割成多个小广播域,有效地降低了广 播风暴发生的风险。 图3- 5 利用VLAN 分割广播域 (2)VLAN 技术增强了网络的安全性:不但一个VLAN 中的广播帧不会传播到其他 VLAN,一个VLAN 中的其他数据帧也不会传播到其他VLAN 。不同VLAN 之间的数据相 互隔离的特性,增强了网络的安全性。 (3)VLAN 技术增强了网络的可管理性:在组网完成后,网络管理员利用VLAN 技术通 过软件就可以对用户进行工作组的划分,无须考虑他们所在的物理位置,节省了重新布线等管 理和运营开销。 2 VLAN 的划分方法 3. VLAN 的划分可以根据功能、部门或应用而无须考虑主机的物理位置。属于同一个 VLAN 中的主机可以相互发送信息,共享同一个广播域,不同VLAN 中的主机不能相互 通信。 VLAN 的划分方法分为两种,一种是静态VLAN 划分方法,另一种是动态VLAN 划分方 法。其中,动态VLAN 划分方法又包括基于MAC 地址、基于互联层协议、基于IP 组播、基于 50 策略等多种方法。不同的划分方法有不同的特点,其区别主要表现在对VLAN 成员的定义 上。在组建以太网时,网络管理员需要按照网络应用环境的不同选择合适的划分方法。本节 对基于接口的静态VLAN 划分方法、基于MAC 的动态VLAN 划分方法和基于互联层协议 的动态VLAN 划分方法进行介绍。 2.基于接口的静态VLAN 划分方法 在实际工作中,基于接口的静态VLAN 是最实用也是最常用的一种VLAN 。静态 VLAN 通过网络管理员静态地将交换机上的接口划分给某个VLAN,从而把主机划分为不同 的部分,实现不同逻辑组之间的相互隔离。划分后的接口与VLAN 之间一直保持这种配置关 系,直到人为改变它们。 在图3-6所示基于接口的静态VLAN 划分方法中,以太网交换机接口1、2、4、6被划分到 VLAN1,接口3、5被划分到VLAN2 。按照网络管理员的配置指令,交换机形成VLAN 与其 接口的对照表。从一个接口收到数据帧后,交换机首先通过接口/MAC 地址映射表查找需要 转发的接口,然后再通过VLAN 成员对照表判定需要转发的接口是否与接收接口同属一个 VLAN 。如果同属一个VLAN 则转发,否则就抛弃。这样,保证一个VLAN 中的数据不会转 发到另一个VLAN 。例如,在图3-6给出的示意图中,由于接口1属于VLAN1,因此交换机 从该接口收到的数据帧,只可能转发给VLAN1 拥有的接口2、4、6,其他接口(接口3、5)不会 收到该帧的任何信息。 图3- 6 基于接口的静态VLAN 划分方法 尽管静态VLAN 划分方法需要网络管理员通过配置交换机进行更改,但这种方法安全性 高,配置简单并可以直接监控,因此,很受网络管理人员的欢迎。特别是主机位置相对稳定时, 应用基于接口的静态VLAN 划分方法是一种最佳选择。 3.2 基于MAC 地址的动态VLAN 划分方法 2. 在以MAC 地址为基础划分VLAN 时,网络管理员可以指定一个VLAN 包含哪些MAC 地址。如果一台主机的MAC 地址与VLAN 包含的一个MAC 地址相同,那么这台主机就属 于这个VLAN 。在图3-7给出的例子中,由于VLAN1 包含的MAC 地址为00-30-80-7C-F121 、52-54-4C-19-3D-03 、00-50-BA-27-5D-A1 和04-05-03-D4-E3-2A,因此拥有这些MAC 地址 的主机属于VLAN1;由于LAN2 包含的MAC 地址为04-0E-C4-FE-51-3A 和07-0E-76-BCCF-3D,因此拥有这两个MAC 地址的主机属于VLAN2 。在基于MAC 地址的动态VLAN 51 中,判断一台主机属于哪个VLAN,不是依据它所连接的交换机接口,而是根据它拥有的 MAC地址。无论是从一个位置移动到另一个位置,还是从一个接口换到另一个接口,只要主 机的MAC地址不变(即主机使用的网卡不变),这台主机就属于原来的VLAN 。 图3- 7 基于MAC地址的VLAN 划分 采用这种划分方法,需要将网络中每台主机的MAC地址绑定到特定的VLAN 。如果网 络的规模比较大,网络管理员初始的配置工作量相当大。另外,当用户的主机更换网卡后,网 络管理员也需要对VLAN的配置进行相应的改变。 3.3 基于互联层的VLAN划分方法 2. 基于互联层的VLAN划分方法根据互联层使用的协议(如IP 、IPX①)、互联层的地址(如 IP地址)定义VLAN中的成员。基于互联层的VLAN划分方法特别适合于针对具体应用和 服务组织用户,用户可以在网络内部自由移动,而不用重新配置交换机。 图3-8给出了基于互联层的VLAN划分方法示意图。在图3-8(a)中,使用IP的网络用 户被划入VLAN1,使用IPX协议的用户被划入VLAN2 。在图3-8(b)中,IP地址属于202. 0/24的所有结点划归为VLAN1,IP地址属于202.0/24的所有结点划归为 113.25.113. 27. VLAN2 。 图3- 8 基于互联层的VLAN 划分方法 采用该VLAN管理策略,交换机不仅需要分析数据帧的头部信息(如源地址、目的地址等 字段),而且还需要深入数据帧的数据区域读取和分析高层协议信息,因此,交换和转发速率会 受到一定的影响。 ① IPX是一种与IP类似的网络互联协议,主要应用于Novel 网络的应用中。本书不介绍IPX的详细内容。 52 3.跨越交换机的VLAN 随着VLAN 应用越来越广泛,人们不再满足在一台交换机上划分VLAN,很多网络应用 环境要求VLAN 能够跨越交换机。 图3-9显示了一个VLAN 跨越交换机的连网方式。实体交换机1和实体交换机2分别 虚拟了3台虚拟交换机,交换机1的第7端口和交换机2的第7端口进行级联。其中,虚拟交 换机11 通过实体交换机1的端口7连接实体交换机2的端口7,而后再连接虚拟交换机23, 形成由虚拟交换机11 和虚拟交换机23 构成的虚拟局域网VLAN1;虚拟交换机12 通过实体 交换机1的端口7连接实体交换机2的端口7,而后再连接虚拟交换机22,形成由虚拟交换机 12 和虚拟交换机22 构成的虚拟局域网VLAN2;虚拟交换机13 通过实体交换机1的端口7 连接实体交换机2的端口7,而后再连接虚拟交换机21,形成由虚拟交换机13 和虚拟交换机 21 构成的虚拟局域网VLAN3 。 图3- 9 跨越交换机的VLAN 图3-9中实体交换机1的端口7和实体交换机2的端口7被VLAN1 、VLAN2 和 VLAN3 共享。但是,这种共享不应被用户感觉到,每个VLAN 中的用户(如VLAN1 中的主 机A、主机B、主机K和主机L)应该觉得实体交换机之间的连接只有这个VLAN 在使用。因 此,VLAN 跨域交换机时,进行交换机级联的实体端口和实体中继线也需要虚拟,形成多个逻 辑端口和逻辑中继线,以便跨越交换机的VLAN 使用。这样,在跨域交换机时,一个VLAN 中的数据就不会进入另一个VLAN,实现VLAN 之间的隔离。 下面,从VLAN 跨越交换机时遇到的问题出发,讨论其具体的解决方法。为了讨论方便, 本节以基于端口的VLAN 划分方法为例进行介绍。 3.1 多交换机上的VLAN 与I01Q 3.EEE82. 与单交换机上划分VLAN 不同,多交换机上划分VLAN 时,交换机上存在共享端口,多 个VLAN 的数据可能在这个共享的端口上流动。共享端口的存在,使得单交换机上划分 VLAN 与多交换机上划分VLAN 有很大的不同。解决跨越交换机VLAN 的主要方法是在共 享端口上运行IEEE802. 1Q 协议。 1Q 协议的提出 1.IEEE802. 支持VLAN 的交换机通常需要保存各个VLAN 与其拥有成员的对照表,如图3-6所示。 53 在采用基于端口的VLAN 划分方法时,VLAN 与其成员对照表包含了每个VLAN 拥有的端 口号。从一个端口收到的数据帧只可能转发到与该端口处于同一个VLAN 中的端口上。 当VLAN 在单一交换机上实现时,交换机接收时即可掌握接收帧的输入端口,从而可以 通过VLAN 成员对照表判定该帧所属的VLAN 和该帧的转发去向。例如,在图3-6中,交换 机在端口1接收到帧时,可以通过VLAN 成员对照表知道该帧属于VLAN1 。这个帧只可能 转发给端口2、端口4或端口6。 但是,当VLAN 跨越两台或多台交换机时,由于连接交换机与交换机的中继线需要传递 属于多个VLAN 的数据帧,因此,仅依靠每个交换机中存储的VLAN 成员对照表很难知道一 个帧属于哪个VLAN,一个帧应该转发到哪个端口。 例如,在图3-10 中,VLAN1 包含了交换机1的端口2和端口7,交换机2的端口3和端口 8;VLAN2 包含了交换机1的端口5和端口10,交换机2的端口6和端口11 。交换机1的端 口12 与交换机2的端口1通过中继线相连。由于中继线上既要传输VLAN1 的数据帧,又要 传输VLAN2 的数据帧,因此,交换机1的端口12 和交换机2的端口1既属于VLAN1,又属 于VLAN2,为VLAN1 和VLAN2 的共享端口。当交换机1收到从端口2到来的数据帧时, 它通过查看自己的VLAN 成员对照表,可以判定该数据帧属于VLAN1,只可能向端口7和端 口12 转发。如果该帧向端口12 转发,那么交换机2将在自己的端口1接收到该帧。由于交 换机的端口1既属于VLAN1,又属于VLAN2,而收到的数据帧信息中又没有携带该帧从属 于哪个VLAN 或该帧是从交换机1的哪个端口接收的,因此交换机无法转发该帧。 图3-10 VLAN 跨越交换机的转发问题 为了解决交换机之间的VLAN 信息交换问题,IEEE 推出了IEEE802. 1Q 标准。IEEE 1Q 标准通过扩展标准的数据帧结构,使交换机之间转发的数据帧中携带所属的VLAN 信息,从而使接收的交换机能够了解数据帧的转发方向。 802. 1Q 的主要内容 2.802. 1Q 是与VLAN 相关的最重要的标准之一,主要用于在交换机和交换机之间、 交换机和路由器之间、交换机和服务器之间传递VLAN 信息和VLAN 数据流。IEEE802. IEEE802. 1Q 标准是VLAN 历史上的一块里程碑,由IEEE 委员会1999 年6月正式颁布实施。 54 VLAN跨越交换机时出现问题的主要原因,是共享端口的存在使得不能分辨中继线上传 输的数据属于哪个VLAN流。为了解决这个问题,1Q协议要求在向共享端口转发 IEEE802. 数据帧之前,需要向原有数据帧中添加携带VLAN信息的802.以使得另一台交换机 1Q标记, 的共享端口能够识别接收到的数据帧属于哪个VLAN 。共享端口接收到携带802. 数据帧后,如果需要向本机的非共享端口转发, 1Q标记去掉, 1Q标记的 必须将802.以保证与原来的以 太网兼容。扩展IEEE802.1Q标记后的数据帧格式如图3-11所示。 图3-添加802. 11 1Q 标签后的数据帧格式 从图3-IEEE802.1Q 11可以看到,1Q标记添加在标准数据帧的源地址之后。IEEE802. 标记由标记协议标识符(TagProtocolIdentifier,TPID)和标记控制信息(TagControl Information,TCI)两部分组成。 (1)标记协议标识符(TPID)占用2B,用于指示所采用协议的协议类型,取值为8100H 。 当交换机的输入端口检测到该字段为8100H时,就可断定该帧为携带802. 1Q标记的数据帧。 (2)标记控制信息(TCI)中包含VLAN的具体信息,由用户优先级(UserPriority)、规范 格式指示符(CanonicalFormatIndicator,CFI)和VLAN标识符(VLANIDentifier,VID)3部 分组成,占用2B 。其中,用户优先级占3b,可以将用户分为8种不同的级别。交换机可以参考 该字段值为帧转发制定不同的优先级别;规范格式指示符(CFI)长度为1b,用于表明该帧是否 符合以太网规范。在以太网交换机中,该位总被置为0;VLAN标识符(VID)的长度为12b,用 于标识该帧所属的VLAN号。由于VID=0和VID=4095留作他用,因此,1Q要 IEEE802. 求VID应该为1~4094 。 3.端口类型与帧处理规则 交换机的端口可通过命令配置为以下3种类型中的1种:①接入端口(acesport); ②共享端口(rnot, hybidpot)。其中,接入端口和共享 tukpr也称主干端口);③混合端口(rr 端口一般交换机都可支持,而混合端口只有部分交换机可以支持。 1.接入端口 接入类型的端口可用于连接主机等终端设备,也可用于交换机之间的级联。但是,接入类 型的端口只能分配给一个VLAN 。管理员可以通过命令配置一个接入类型的端口属于哪个 VLAN 。 交换机从接入类型的端口转发出去的数据帧都是不带802.该帧一定 1Q标记的数据帧, 是属于这个接入端口所属的VLAN 。即使原数据帧是带有802.交换机在 1Q标记的数据帧, 向接入类型的端口转发之前,也需要将802.而后再从该接入端口发送出去。 1Q标记去掉, 交换机从接入类型的端口接收的数据帧都是不带802.该帧属于这个 1Q标记的数据帧, 55 接入端口所属的VLAN 。如果从接入类型的端口收到了带有802.交换机 会将其丢弃。 1Q 标记的数据帧, 2. 共享端口 共享类型的端口通常用于交换机之间的级联,它被多个VLAN 共享,同时属于多个 VLAN 。管理员可以通过命令配置一个共享类型的端口可以被哪些VLAN 共享。 为了区分发送和接收数据帧所属的VLAN,共享类型的端口上收发的数据帧需要添加 1Q 标记。 交换机在向共享类型的端口转发数据帧之前,需要判定该帧所属的VLAN,进而形成带 有802.1Q 标记的数据帧。而后,再将带有802.1Q 标记的数据帧, 802. 1Q 标记的数据帧从共享端口发送出去。 交换机从共享类型的端口接收的数据帧都是带有802.解析该帧中 1Q 标记得到的VLAN 号必须在该共享端口允许的VLAN 范围内。如果解析出的 VLAN 号不在该共享端口允许的范围内,那么交换机会将该帧丢弃。例如,一个共享端口允 许VLAN2 、VLAN3 和VLAN5 共享,如果该端口收到一个VID=VLAN3 的数据帧,那么交 换机正常处理该帧;如果该端口收到一个VID=VLAN4 的数据帧,那么交换机会将该帧 丢弃。 802. 3. 混合端口 混合类型的端口是接入类型和共享类型的混合,可以同时作为接入端口和共享端口。作 为接入类型的端口,它可以被划分到一个VLAN 中, 1Q 标记的数据帧; 传输不带802.作为共 享类型的端口,它可以被多个VLAN 共享, 1Q 标记的数据帧。管理员可以通过 传输带有802. 命令配置一个混合端口属于哪个VLAN(传送该VLAN 的数据帧时无须携带802. 传送这些VLAN 的数据帧时要携带802.1Q 标记), 同时,该端口可以被哪些VLAN 共享( 1Q 标记)。 交换机在从混合类型的端口发送数据帧时,需要判定该帧是否属于该混合端口所属的 VLAN 。如果是,则向该端口转发不带802.如果不是, 1Q 标记的数据帧; 则继续判定该帧是否 属于共享该混合端口的VLAN 范畴。如果属于共享VLAN 的范畴,则向该端口转发带有 802.如果不属于共享VLAN 的范畴, 一个混合类型的 1Q 标记的数据帧; 则丢弃该帧。例如, 端口被划分到VLAN5 中,同时该端口被VLAN2 、VLAN3 和VLAN4 共享。如果需要从该 端口发送VLAN5 的数据帧,那么不需要添加802.如果需要从该端口发送VLAN3 1Q 标记; 的数据帧,那么需要在该数据帧中添加VID=VLAN3 的802.然后再发送。1Q 标记, 1Q 标记。如果 交换机从混合类型接收的数据帧可能不带802.1Q 标记,也可能带有802. 收到的帧不带802.1Q 标记,那么该端口作为接入端口使用,收到的帧属于该混合端口所属的 VLAN 。如果收到的帧带有802. 1Q 标记,那么该端口作为共享端口使用,收到的帧所属 VLAN 由802.如果收到帧所属VLAN 不在共享该 1Q 标记中的VID 指定。与共享接口类似, 端口的VLAN 范围之内,那么交换机也会将其丢弃。 3.01Q 交换机的数据帧处理过程 3.3 82. 在VLAN 组网中,网络管理员既可以将交换机的一个端口配置为共享端口,也可以配置 为接入端口、混合端口。共享端口用于交换机之间的连接, 1Q 标记帧的发送和 的连接, 能够支持802.1Q 标记的 处理。而接入端口用于非802.1Q 设备(如主机) 需要发送和处理不带802. 56 数据帧。由于混合端口只有部分交换机支持,因此本节以共享端口和接入端口为例,介绍 1Q 交换机的数据帧处理过程 。 图3-12 显示了较为典型的802. 802. 1Q 交换机的数据帧处理过程。假设交换机1的端口12 通过中继线与交换机2的端口1相连,交换机1的端口12 和交换机2的端口1为共享端口, 支持802.1Q 标记帧的发送和处理。同时,假设主机A向主机B发送数据帧FAB 。 图31Q 交换机的数据帧处理过程示意图 -12 802. (1)主机A形成数据帧FAB 并开始发送,交换机1在端口2进行接收。由于主机A不支 持802.因此, 1Q 标记。 1Q 标准, 交换机1在端口2接收到的FAB 没有802. (2)根据本地端口/MAC 地址映射表和VLAN 成员对照表,交换机1决定FAB 的转发去 向。如果主机B的MAC 地址出现在端口/MAC 地址映射表中,同时对应的端口号又为 VLAN1 的成员端口,那么交换机直接向该端口转发FAB;否则,交换机1需要向接收端口2之 外的所有VLAN1 的成员端口转发FAB 。本例中,由于主机B的MAC 地址对应于端口12,而 且端口12 属于VLAN1 的成员,因此,交换机直接将FAB 转发至端口12 。 (3)由于端口12 为802.因此, 1Q 1Q 共享端口, 交换机1首先在需要转发的FAB 中插入802. 标记,形成新的数据帧FQAB,其中VID 为VLAN1 。之后,交换机1在端口12 发送FQAB 。 (4)交换机2在端口1接收FQAB 1Q 标记字段, 属于VLAN1 。 。通过分析FQAB 中的802.即可判定该帧 (5)根据本地接口/MAC 地址映射表和VLAN 成员对照表,交换机2决定FQAB 的转发 去向,具体过程与(2)相似。由于主机B的MAC 地址没有出现在交换机2的接口/MAC 地 址映射表中,因此,交换机2向接口1之外的VLAN1 成员端口(即端口3和端口8)转 发FQAB 。 1Q 共享端口, 交换机2在发送之前需要将FQAB (6)由于接口3和端口8不是802.因此, 中的802.1Q 标记删除,还原为数据帧FAB 。 (7)主机B和主机C接收FAB 。由于FAB 的目的地址与主机C的MAC 地址匹配,因此, 主机C继续处理FAC,而主机D将其抛弃。 57 58 3.4 实验:交换机的配置与VLAN 组网 交换机可以看作一台专用的计算机。按照操作系统和软件的不同,交换机的配置命令和 配置方式也不同。本实验将学习交换机配置命令的组织方式和使用方法,讨论有关的VLAN 的配置命令,学习观察数据帧结构和数据帧传递过程的方法。大部分品牌的交换机(如华为交 换机、思科交换机等)都可以通过控制终端以命令提示符的方式进行配置,同时多数仿真环境 都提供简化的配置方法。 3.4.1 交换机的配置命令 Cisco交换机的配置分成不同的配置模式,配置模式之间按照层次结构组织,不同配置模 式中使用的命令不同。 在通过控制台进行配置时,开始处于用户模式。在用户模式下,交换机一般显示带大于号 “>”的提示符(如switch>)。用户模式下只可以进行一些最基本的操作,不能对交换机进行配 置。例如,可以利用showversion命令查看交换机使用的操作系统版本;可以利用Ping命令 测试与其他设备的连通性等。前面章节学习过的show mac-address-table命令也可以在这种 模式下执行。 在用户模式下执行enable命令,交换机进入特权模式。在特权模式下,交换机一般显示 带“#”的提示符(如switch#)。enable命令相当于一个登录命令,如果设置了口令,enable命 令后需要跟随口令才能进入特权模式。特权模式除了包含用户模式下的一些命令外,还包含 其他一些命令。例如,可以使用reload命令重启交换机;可以使用copy命令保存或调用交换 机的配置等。如果希望退出特权模式,可以使用exit命令。 在特许模式下执行configterminal命令,交换机进入全局配置模式。在全局配置模式下, 可以对交换机的全局信息进行配置。例如,可以使用hostname命令配置交换机使用的名称; 使用enable命令设置enable登录时需要的口令等。如果希望退出全局配置模式,可以使用 exit命令。 在全局配置模式下,可以使用不同的命令进入不同的子配置模式。例如,可以使用 interface命令,进入接口配置模式;使用vlan命令,进入VLAN 配置模式等。在子配置模式 下,可以对相应的子部分进行配置。例如,在利用interface命令进入接口配置模式后,可以使 用命令对相应的接口参数进行设置;在利用vlan命令进入VLAN 配置模式后,可以使用命令 对相应的VLAN 参数进行配置。如果希望退出子配置模式,可以使用exit命令。 在子配置模式下,如果需要,还可以使用命令进入子配置模式的子配置模式。这样从用户 模式开始,逐步进入更低级别的配置模式,形成了一个层次结构,如图3-13所示。 下面就Cisco交换机常用命令使用方法进行简单介绍。其他一些命令在实验遇到时再进 行详细说明。 1.使用问号“?”进行帮助 Cisco交换机的配置命令非常多,有时很难记住命令的具体形式和使用的参数。这时,可 以通过输入问号“?”来使用帮助。 如果直接输入“?”,那么交换机返回该模式下可以使用的全部命令;如果输入了一部分命 令后输入“?”,那么交换机返回该命令的完整形式;如果输入命令后想知道该命令可以使用的 交换机的 配置命令 与技巧 图3-13 Cisco交换机的配置模式 参数,那么可以在命令后输入空格,然后跟随一个“?” 。 例如,在用户模式下,如果输入“?”,那么系统显示用户模式下可以使用的全部命令;如果 输入“sh?”,那么系统将显示以sh开始的所有命令(如show等);如果输入“show?”,那么系 统提示show命令可以使用的参数,例如显示show命令可以使用version参数、mac-addrestable参数、vlan参数等。 2.使用简化命令 为了方便记忆和理解命令的含义,Cisco交换机提供的命令(或参数)有时使用较长的字 符串表示。为了简化输入,Cisco交换机允许用户只输入字符串的前面部分,只要前面部分能 够与这一模式下的其他命令(或参数)区分即可。例如,在用户模式下输入enable命令时,只 要输入en即可,因为en已经能够与用户模式下的其他命令完全区分,不会产生二义性。如果 产生了二义性,系统会进行提示。这时只要再多输入几个字符即可。 3.配置文件的保存和使用 利用命令将交换机的配置修改后,修改后的配置保存在内存中。如果关机或重启,修改后 的配置就会丢失。为了使关机或重启后的交换机自动使用修改后的配置,需要将内存中的配 置文件保存在交换机非易失的存储器中。要将内存中的配置存储到非易失存储器中,可以在 特权模式下使用copyrunning-configstartup-config命令。 另外,如果需要将修改后的配置恢复到开机时的状态,可以在特权模式下使用copystartup-configrunning-config命令。 4.显示交换机的状态 Cisco交换机使用show命令显示交换机的状态。例如,显示交换机内存中正在使用的配 置文件,可以使用特权模式下的showrunning-config命令;显示非易失存储中保存的配置文 件,可以使用特权模式下的showstartup-config;显示交换机当前的接口/MAC地址映射表, 可以使用特权模式或用户模式下的showmac-addres-table命令。 5.删除交换机的配置 Cisco交换机使用no命令删除交换机的配置条目。例如,要删除编号为10的VLAN,可 以使用novlan10 。 3.2 VLAN的配置 4. VLAN的配置实验可以在虚拟仿真环境下进行。实验内容包括设备的连接、设备的配置 VLAN的 和连通性测试。配置 59 1.网络的拓扑结构 运行PacketTracer仿真软件,在设备类型和设备选择区选择交换机和主机。将选择的交 换机和主机用鼠标拖入PacketTracer的工作区,形成如图3-14所示的仿真网络拓扑。在进 行主机与交换机、交换机与交换机的连接时,要注意使用的电缆类型。 图3-14 仿真实验中的网络拓扑结构 2.主机IP地址的配置 配置图3-~168.1192.0. 14中PC1PC6的IP地址。主机的IP地址可以在192.0.~168.254 任选一个,但每台主机必须选择不同的IP地址。子网掩码填写255.0即可。由于还 255. 255. 未划分VLAN,因此,所有主机之间都应该能够相互Pn IP地址配置完成后, ig通。 3.添加终端控制台 按照第2章介绍的实验内容,交换机的配置需要添加一台主机作为终端控制台。在图3-14 的工作区中增加一台主机,并使用串口线将该主机的RS-232串行口与交换机的Console(控 制)接口连接,如图3-15所示。然后,单击作为控制终端的主机PC0,在弹出的配置界面中选 择Desktop→Terminal启动终端控制程序。在终端控制台程序中输入常用的enable、show running-config、showmac-addres-table等命令,观察交换机的回送信息。 4.查看VLAN 配置 查看交换机的VLAN配置可以在特权模式下使用showvlan命令,如图3-16所示。交换 机返回的信息显示了当前交换机配置的VLAN数量、VLAN编号、VLAN名字、VLAN状态 以及每个VLAN包含的接口。 5.添加VLAN 按照图3-14的要求,需要为实验划分两个VLAN,一个编号为10,另一个编号为20 。每 个VLAN都可以配置一个容易记住的名字。例如,编号为10的VLAN名字为myVLAN10; 编号为20的VLAN名字为myVLAN20等。 如果要添加一个编号为10 、名字为myVLAN10的VLAN,那么可以按照如下步骤进行, 60 图3-15 利用控制台对交换机进行配置 如图3-17 所示。 图3-16 查看VLAN 的配置图3-17 添加VLAN (1)在用户模式下利用enable进入特权模式。之后,再利用configterminal命令进入交 换机的终端配置模式。 (2)利用vlanvlanID 命令创建一个编号为vlanID 的虚拟局域网,并进入该VLAN 的配 置模式。在图3-17 中,vlan10 命令创建了一个编号为10 的虚拟局域网。在创建完成之后, 系统自动进入编号为10 的VLAN 配置模式。 (3)如果希望为创建的VLAN 设置一个好记的名字,可以在该VLAN 的配置模式下使 用namevlanName 命令。在图3-17 中,namemyVLAN10 将编号为10 的VLAN 命名为 myVLAN10 。 61 (4)执行exit命令退出VLAN配置模式,再执行exit命令退出全局配置模式。 添加VLAN之后,可以在特权模式下使用showvlan命令再次查看交换机的VLAN配 置,以确认新的VLAN已经添加成功。 请按照同样的方式,添加编号为20的VLAN 。 6.为VLAN 分配端口 以太网交换机通过把某些端口分配给一个特定的VLAN以建立静态虚拟局域网。将某 一端口(如Fa0/1端口)分配给某一个VLAN的过程如图3-18所示。 (1)在特权模式下执行configureterminal命令进入交换机的终端配置模式。 (2)利用interfaceifID进入指定的ifID端口的配置模式。例如,利用interfaceFa0/1命 令进入Fa0/1端口的配置模式。 acetrun (3)交换的接口既可以配置成接入( s)端口,也可以配置成共享(k)端口。接入端口 用于连接主机等终端设备;共享端口用于交换机等设备的级联,在转发数据时会添加802. 1Q 标记信息。由于本实验无须在两台交换机之间传输VLAN信息,因此,所有端口需要设置为 接入端口。在端口配置模式下,使用switchportmodeaces 命令把配置的端口设置为接入模 式,然后再使用switchportacesvlanvlanID命令把端口分配给编号为vlanID的虚拟局域 网。在图318中,命令和sn10命令将配置的端 -switchportmodeaces witchportacesvla 口(Fa0/1端口)设置为接入模式,并将其分配给编号为10的虚拟局域网。 (4)执行exit命令退出端口配置模式,再执行exit命令退出终端配置模式。 按照图3-14的要求,将交换机Switch0的Fa0/1~Fa0/3分配给编号为10的VLAN,将 Fa0/4~Fa0/5分配给编号为20的VLAN 。之后,利用showvlan命令显示交换机的VLAN配 置信息,确认Fa0/1~Fa0/3位于VLAN10中,Fa0/4~Fa0/5位于VLAN20中,如图3-19所示。 图3-18 为VLAN 分配接口图3-19 用showvlan命令确认VLAN 包含的接口号 使用主机PC1分别去Ping主机PC2~PC6,观察会有什么现象发生,并对其进行解释。 同时思考用于连接Switch1的Fa0/5端口为何无须设置为共享端口。 7.删除VLAN 当一个VLAN的存在没有任何意义时,可以将它删除。删除VLAN的步骤如图3-20 所示。 62 图3-20 删除VLAN (1)在特权模式下利用configterminal命令进入交换机的终端配置模式。 (2)执行novlanvlanID 命令将编号为vlanID 的VLAN 删除。例如,命令novlan10 将 删除编号为10 的VLAN 虚拟局域网。 (3)执行exit命令退出终端配置模式。 注意,在删除一个VLAN 后,原来分配给这个VLAN 的端口将处于非激活状态。交换机 不会将这些端口自动归入另一个现存的VLAN 。当再次分配给一个VLAN 时,这些端口就 会被重新激活。 3.3 仿真环境中的简化配置方法 4. 在真实环境下,通过终端控制台对交换机进行配置是最基本的配置方法。包括交换机在仿真环境 内的多数网络设备都可以通过这种方式进行配置。如果PacketTracer工作区中每个网络设下的简易 配置方法 备都连接一个终端控制台,那么工作区界面就会显得非常凌乱,特别是网络拓扑中含有多个 网 络设备的情况下 。 为了解决这个问题,PacketTracer提供了两种简化的配置方法。一种配置方法利用设备 配置界面的命令行界面(CommandLineInterface,CLI)对交换机进行配置,另一种配置方法 利用设备配置界面的Config对交换机进行配置。这两种配置方法都可以在不添加终端控制 台的情况下对交换机进行配置,使PacketTracer的工作界面更加简洁。但是需要注意,这两 种简化的配置方式在真实环境中并不存在。如果在真实环境中配置网络设备,终端控制台必 不可少。 (1)利用设备配置界面的CLI 对交换机进行配置。在PacketTracer工作区中单击需要 配置的交换机等网络设备,在弹出的配置界面中选择CLI 标签,然后就可以像在终端控制台 一样配置该设备,如图3-21 所示。与连接终端控制台方式相同,在CLI 中可以运行show 63 mac-addres-table、configterminal、showvlan等命令。注意,这种配置方式只是在仿真环境 下省略了连接终端控制台的过程,但在真实环境中,连接控制终端是必不可少的。 图3-21 交换机的CLI界面 (2)利用设备配置界面的Config对交换机进行配置。这是一种类似图形化的配置界面。 单击需要配置的网络设备,在弹出的配置界面中选择Config标签即可进入配置界面,如图3-22 所示。例如,单击图3-22中的VLANDatabase选项,界面的右侧就会出现VLAN配置界面。 图3-22 交换机的Config界面 64 只要输入VLAN 号和VLAN 名,就可以通过单击Add 或Remove按钮增加VLAN 或删除 VLAN 。同时,在单击Add 或Remove按钮后,界面的下方还会给出这次操作执行的相应命 令和响应。虽然这种配置方式简单、直观,但是这种配置方式只能配置界面列出的一些项目, 适用于对交换机配置命令不熟悉的新手。注意,这种配置方式只是在仿真环境下将一些配置 命令进行了图形化,真实环境中还是要连接终端控制台进行网络设备配置。 3.4 在模拟模式下观察数据包的收发过程 4. 模式 P 。 acketTracer提供了两种仿真模式,一种是实时(Realtime)模式,一种是模拟(Simulation) 实时模式是一种默认模式,PacketTracer启动后默认在实时模式下运行。实时模式下的 操作方式与真实环境非常相似,Ping命令会在很短时间内完成并显示。但是实时模式中不能 观察数据分组一步一步地传递过程。为了更形象、具体地展示数据分组的传递过程和设备的 处理过程,可以使用PacketTracer提供的模拟模式。 实时模式和模拟模式的转换按钮在PacketTracer界面的右下角。在选中模拟模式后,系 统的界面如图3-23 所示。 图3-23 PacketTracer的模拟模式界面 图3-23 的右部包括了PlayControls(播放控制)、EventListFilters(事件过滤器)、Event List(事件列表)等内容。在运行中,左部的网络拓扑图上会以动画形式展示数据分组的传递 过程 ● 。 PlayControls(播放控制): 播放控制中拥有 单步或自动运行。 (前进)、(后退)、(自动)等按钮,控制 ●EventListFilters(事件过滤器): 网络中传输的数据分组分为很多种,如后续章节将会 介绍的IP 、ICMP 、ARP 等。在模拟方式下,可以过滤出关心分组类型。只有这些关心 65 的分组类型,才会在网络拓扑图中以动画的形式 显示,并且在事件列表中列出来。如果希望设置 关心的分组类型,可以单击EditFilters按钮在弹 出的对话框中进行选择,如图3-24 所示。由于 Ping命令发送的分组类型为ICMP,因此,本实验 需要将ICMP 类型选为关心的分组类型。 ●EventList(事件列表):事件列表展示关心分组图3-24 选择关心的分组类型 的发送设备、接收设备和分组类型。单击事件列表中的数据分组,还可以看到该分组封 装的具体内容和设备对它的处理过程,如图3-25 所示。 图3-25 模拟模式下显示的数据帧的封装内容 、和 学习以上内容后,请在模拟模式下通过Ping命令测试网络的连通性,利用 按钮 控制数据分组的发送进度,观察数据分组的发送过程,查看数据分组中的封装内容。 练习与思考 一、填空题 (1)VLAN 的划分方法通常分为两种,它们是和。 (2)802.。 1Q 协议的主要功能是 (3)如果交换机的一个端口用于连接主机,那么通常将其配置成端口类型。 (4)在Cisco交换机的特权模式下,进入全局配置模式使用的命令为。 二、单项选择题 (1)在IEEE802.VID 由12 位组成。其有效的VLAN 号范围为( )。 1Q 中 , a)0~4095 b)1~4095 c)1~4094 d)0~4094 (2)802. 1Q 协议规定的VID 位数为( )。 a)8位b)12 位c)16 位d)32 位 (3)在Cisco交换机中,如果希望删除编号为100 的VLAN,那么可以使用的命令 是( )。 a)delvlan100 b)del100vlan c)novlan100 d)no100vlan (4)以下关于VLAN 的描述中,错误的是( )。 a)一个VLAN 是一个广播域b)VLAN 提高了以太网的工作效率 c)VLAN 使管理以太网更加方便d)静态VLAN 已经过时 66