本节书摘来自异步社区《CCNA学习指南:Cisco网络设备互连(ICND2)(第4版)》一书中的第1章,第1.1节理解VLAN 和VLAN Trunk 及排除相关故障,作者 【美】John Tiso,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.1 理解VLAN 和VLAN Trunk 及排除相关故障
CCNA学习指南:Cisco网络设备互连(ICND2)(第4版)
本部分讨论VLAN和VLAN Trunk的概念、操作和配置,并探讨了如何排除相关故障。
1.1.1 VLAN概述
VLAN是有共同要求的一组设备,不受其物理位置的限制。VLAN的属性与物理LAN的属性类似,但VLAN允许对同一个LAN上的终端站进行分组,即使这些终端站并非实际位于同一LAN网段也没有关系。由于VLAN作为独立的LAN运行,所以可以将交换机上的端口进行分组并将其分配给VLAN,这样就可对通过交换机的单播、组播和广播流量泛洪进行限制。如果说“在拉斯维加斯发生的一切都应该留在拉斯维加斯城内”这句话是真理,那么VLAN正是网络世界的拉斯维加斯。源自特定VLAN的泛洪流量均要保持在该VLAN中,并且仅会泛洪到该VLAN的端口。
在VLAN中,交换机端口的角色有两种。首先,它可以作为访问端口。访问端口被视作网络上的特定LAN(在这里,LAN是VLAN)的标准端口,我们可以将它视为任何终端设备均可正常连接的“标准”以太网端口。其次,VLAN的交换机端口还可以作为VLAN Trunk。VLAN Trunk端口是VLAN操作的关键,它是一个专为链路交换机而设计的专用端口,允许将交换机连接到多个VLAN。因此,多个VLAN跨越VLAN Trunk运行,主要目的在于建立交换机到交换机连接。但是,VLAN Trunk还有其他用途,本章将对此展开进一步的讨论。
正如前文所说,VLAN是一个逻辑广播域,可以包含多个物理LAN网段。图1-1所示为一栋三层办公大楼,其中定义了3个VLAN,每层分别部署一个VLAN。请注意,在交换网际网络内,通过VLAN可灵活地进行分段和组织。可以设计VLAN结构,该结构允许将按功能、访问要求和设备类型来逻辑分段的设备进行分组,而无需考虑用户的物理位置。将泛洪流量包含在VLAN内可以提高网络的整体性能。
交换机上配置的各个VLAN就像是独立的物理交换机上的各个独立VLAN一样,会执行地址学习、转发并过滤决策,并实施环路抑制机制。
VLAN会限制只将流量转发到与源端口位于相同VLAN的目的端口,以此来实施VLAN。当帧到达交换机端口时,交换机必须将该帧重新传输到同一VLAN的其他端口。实际上,在交换机上运行的VLAN会限制单播流量、组播流量和广播流量的传输。
VLAN可位于一台交换机上,也可以跨越多台交换机。VLAN可以包含一栋或多栋建筑基础设施中的站点。
VLAN可以像物理LAN一样进行连接,通过路由器,将网络流量从一个VLAN转发至另一个VLAN的过程被称为VLAN间路由。VLAN间路由与LAN间路由的主要区别在于,LAN间路由需要使用物理接口,而VLAN间路由不使用物理接口。相反,每个VLAN都需要使用一个逻辑接口。
Cisco Catalyst交换机的出厂默认配置已经预配置了各种默认的VLAN,以支持多种媒体类型和协议类型,其中有一个默认VLAN,用于实施系统管理。默认的以太网VLAN为VLAN 1。此外还包含一个默认VLAN,用于实施管理。系统将为该交换机分配一个此管理VLAN中的IP地址,用于执行远程通信和配置。默认VLAN无法更改。但是,管理VLAN可以更改。
注意
早期的Cisco Catalyst交换机运行的操作系统称为CatOS(Catalyst操作系统)。CatOS和运行CatOS的交换机模型均已退出市场。另外,当前类的思科交换机Nexus运行的操作系统称为NX-OS(Nexus操作系统)。VLAN等功能的实施、配置和验证方法各不相同。 在本书和CCNA认证考试中,将尤其重点关注运行标准Cisco IOS软件的交换机。在复习其他文档时,应当留意CatOS和NX-OS。
有关详细信息,请访问:
Cisco NX-OS/IOS配置基础比较:http://docwiki.cisco.com/wiki/Cisco_NX-OS/IOS_Configuration_Fundamentals_Comparison
Cisco Catalyst 6500系列交换机的Cisco Catalyst与Cisco IOS操作系统比较:http://www.cisco.com/en/US/prod/collateral/switches/ps5718/ ps708/prod_white_paper09186a00800c8441.html
1.创建VLAN并验证配置
对于新型Cisco Catalyst交换机,使用vlan全局配置命令来创建VLAN并进入VLAN配置模式。使用此命令的no形式可删除VLAN。示例1-1显示如何将VLAN 50添加到VLAN数据库、将其命名为HQ50,然后为其添加端口。
请注意,端口默认位置为VLAN 1。接口范围是用于使用interface range命令配置一组连续端口的选项。假设所有接口的默认位置均为VLAN 1,配置VLAN时使用range选项是一个不错的选择。请记住,非Trunk端口只能位于一个VLAN中。下面将对Trunk端口进行讨论。
2.Trunk操作
正如前面所说,标准端口用于连接终端设备(如PC)。因此,标准端口一次只能分配给一个VLAN。那么问题来了,如何对交换机进行互连,从而使每个交换机使用多个VLAN?在传统LAN环境中,不同的LAN网段必须位于不同的设备上,每个LAN网段均具有其各自的物理链路。所以,为了连接VLAN,需要使用Trunk端口。它可以承载多个VLAN的流量。Trunk端口通常用于交换机到交换机
连接。
Trunk是指一个或多个以太网交换机接口与需要访问多个VLAN的其他网络设备(如路由器或交换机)之间的点对点链路。以太网Trunk通过单一链路传输多个VLAN的流量,并允许VLAN跨越整个网络。Trunk不属于具体某个VLAN,而是作为VLAN在交换机或路由器之间的管道。在图1-2中,中心位置的链路就是Trunk。它承载着网络中所有VLAN的流量。
专用协议用于在两台设备之间的单一链路上传输多个VLAN,从而使其成为Trunk。思科支持IEEE 802.1Q中继协议。Trunk还可在网络设备和服务器或其他具有相应802.1Q网络接口卡(NIC)的设备之间使用。
以太网Trunk接口支持不同的中继模式。可以将接口配置为中继或非中继,也可将其配置为与相邻接口协商中继。
默认情况下,在Cisco Catalyst交换机中,所有已配置VLAN都通过Trunk接口传输。在802.1Q Trunk端口,存在一个没有标记的本地VLAN(默认情况下为VLAN 1)。所有其他VLAN都使用VLAN ID (VID)进行标记。
因此,当以太网帧进入Trunk后,以太网帧需要额外的信息来标识自己属于哪个VLAN。此任务需要使用802.1Q封装帧头实现。IEEE 802.1Q使用内部标记机制,该机制会在原始以太网帧的源地址和类型/长度字段之间插入一个4字节的标记字段。因为802.1Q会更改帧,所以中继设备会重新计算经过更改的帧的帧校验序列(FCS)。以太网交换机负责查看4字节的标记字段,并决定将帧发往何处。
3.配置Trunk
将Trunk配置为在作为Trunk端口的接口上使用接口模式。802.1Q Trunk接口使用本地VLAN。默认情况下,VLAN没有标记且为VLAN 1。可以在配置Trunk时对其进行重置,并保证两台对等设备的VLAN相同。Trunk端口配置以及使用show命令进行后续验证的过程如示例1-3所示。
示例1-3 Trunk端口配置
使用show interfaces命令时,可用switchport选项验证端口配置。trunk选项会验证该端口是否为中继状态。该命令的这两个选项可显示端口的Trunk参数和VLAN信息。
4.动态中继协议
Cisco Catalyst交换机支持动态中继协议(DTP),可管理自动TRUNK协商。DTP是一种思科专有协议,其他厂商的交换机不支持DTP。当交换机端口上配置了某些中继模式后,此端口会自动启用DTP。DTP可以管理Trunk协商,但前提是另一台交换机的端口被配置为支持DTP的模式。
最佳做法是采用静态方式配置Trunk,这样可以使操作和故障排除过程更加简洁。默认DTP模式依赖于Cisco IOS软件版本和平台。基于两个对等Trunk端口的设置进行协商的中继模式如表1-1所示。表1-1为当两端均使用首选手动配置方法时,Trunk端正和访问端口的建议设置。
switchport nonegotiate接口命令指定不发送DTP协商数据包。交换机不参与此接口上的DTP协商。此命令只有在接口switchport mode为Access或Trunk时才有效(分别使用switchport mode access或switchport mode trunk接口配置命令配置)。如果尝试在动态(自动或期望)模式中执行此命令,则会返回错误。使用此命令的no形式可恢复默认设置。如果用switchport nonegotiate命令配置端口,则只有当链路的另一端明确设置为Trunk时,端口才会中继。switchport nonegotiate命令不会在处于动态期望模式或动态自动模式的对等端口之间建立Trunk链路。
1.1.2 VLAN故障排除
本部分介绍VLAN故障排除。VLAN故障通常表现为设备无法连接网络,即使第3层配置看似正确且设备包含物理链路也是如此。
要在以太网设备之间没有连接的情况下排除VLAN故障,请执行以下高级步骤。
第1步 使用show vlan命令检查端口是否属于预期的VLAN。如果端口被分配到错误的VLAN,则使用switchport access vlan命令纠正VLAN成员关系。
第2步 使用show mac address-table命令检查交换机的特定端口上获知了哪些地址,以及该端口分配到哪个VLAN。
如果端口分配到的VLAN被删除,则该端口将变为无效。使用show vlan或show interfaces switchport命令验证VLAN是否存在于VLAN数据库中。
以上步骤的高级流程图如图1-3所示。
如果删除端口所属的VLAN,则端口将变为无效。
使用命令show interface interface switchport检查该端口是否处于交互状态。如果端口处于无效状态,它将无法工作,直到使用vlan vlan_id命令重新创建缺失的VLAN。
Trunk故障排除
VLAN Trunk建立失败时,必须检查配置。针对VLAN中继问题的故障排除流程示例如图1-4所示。
当交换机端口连接到也能够执行动态Trunk协商的另一设备上时,DTP可确定其上的操作中继模式和协议。如果Trunk的两端都设置为动态自动Trunk模式,则不会建立Trunk。示例1-5显示链路的状态为“没有中继”。