在园区网中实施VLAN

来源:互联网 发布:2013旧版qq软件 编辑:程序博客网 时间:2024/06/05 09:42

在园区网中实施VLAN

本篇是基于《CCNP SWITCH(642-813)学习指南》做的学习笔记。

部分内容引自Cisco官方文档。

本章涵盖了以下主题:

·如果有一个大型企业网,设计者应该如何根据企业业务和技术的需求与限制,来规划、设计和实施VLAN

·如果有一个大型企业网,设计者应如何根据企业业务和技术的需求与限制,来规划、设计、实施、并验证链路聚集协议

·如何根据企业业务和技术的需求与限制,来规划、设计、实施并验证VTP

·如何设计、实施并验证私有VLAN

·如何在二层拓扑中根据企业业务和技术的需求与限制,来规划、设计、实施并验证EtherChannel

2.1 在园区网中实施VLAN技术

VLAN是一组有拥有共同需求并且与物理位置无关的终端设备所组成的逻辑分组。终端设备包括终端用户工作站、服务器、路由器等诸如此类的设备。

尽管交换机不能在VLAN之间转发二层广播,但VLAN可以位于交换机网络中的任何位置。因为VLAN是一个单独的广播域,而最佳的园区网设计方案就是讲一个VLAN映射到一个IP子网。如果需要在VLAN间通信,那么数据包就需要穿越路由器或者三层设备。

一般地,交换机的一个端口只能承载单个VLAN的流量。如果希望一个端口承载多个VLAN的流量,那么管理员就需要在Catalyst交换机上使用干道(trunk)技术。通过使用ISL(Inter-Switch Link Protocol,交换机间链路)封装或者IEEE802.1Q,干道就能够承载多个VLAN的流量。

2.1.1 VLAN分割模型

在大型非分层网络中,网络通常是由很多终端设备组成的。广播和未知的淡泊数据包会洪泛到网络的所有端口中。在这种情况下,使用VLAN的一大优势就是可以分割广播域。交换机会过滤掉从不同VLAN各个端口或设备发来的广播消息。

在园区网设计方案中,网络管理员可以使用一下两种模型来设计园区网:

·端到端的VLAN

·本地VLAN

具体选择哪种模型取决于业务需求、技术需求、过去的经验、可能存在的动机等。

1. 端到端的VLAN

端到端的VLAN这个术语是指与遍布在业网络中多来交换机的端口相关联的VLAN。在二层交换园区网中,一个VLAN所承载的流量会在整个网络中传输。

如果在网络中,端到端模型中的VLAN不止一个,那么管理员就需要在交换机之间使用一种特殊的链路(二层干道技术)来承载所有这些不同VLAN间的流量。

端到端的VLAN模型拥有以下特点:

·各VLAN遍布整个网络的所有位置

·五路用户的物理位置何在,其都可以被划分进各个VLAN中

·当用户在园区中移动式,该用户的VLAN成员关系不会发生变化,无论用户连接的是哪台物理交换机。

·处于管理的需要,用户一般会与某个给定的VLAN进行关联。这样可以使用户在网络中移动时,他们所在的组不会发生变化

·在同一个VLAN中,所有设备的地址一般也位于同一个IP子网中

·交换机的VIP模式一般是服务器、客户端模式

2. 本地VLAN

在本地VLAN模型中,不管用户的只能是什么,只要这些用户与一组位于相同地理位置的交换机相连,那么他们都会被划分进一个单独的VLAN中。如果用户从园区网的某一个位置移动到了另一个位置,那么ta就会与新物理位置的VLAN建立连接,从而改变连接关系。

本地VLAN有如下特点:

·网络管理员在创建本地VLAN时,应该牢记的是网络的物理边界,而不是终端用户的工作领域

·一般来说,本地VLAN存在于接入层和分布层之间

·从本地VLAN发送出去的流量会被路由到分布层和核心层,以达到其他网络目的地

·要将VTP配置为透明模式,因为一台接入层交换机上的VLAN通告给网路中的其他交换机,管理员也不需要在其他交换机的VLAN数据库中手动添加这些VLAN

·完全由本地VLAN构成的网络使用路由协议取代了二层网络的生成树技术,因此拥有收敛时间方面的优势。通常建议每台接入层交换机配置1至3个VLAN

3. 端到端VLAN相对于VLAN的对比

端到端VLAN的优势有如下几点:

·可以将用户分组  即使用户在物理上是分离的,他们也可以被划分到一个共同的IP网段中

·安全  可以让某个VLAN所包含的资源只能被网络中的一部分用户访问,或者使某种类型的流量仅能访问某个VLAN

·QoS(应用服务质量)  可以给某个VLAN访问网络资源的流量分配较高或较低的访问优先级

·避免路由选择  如果VLAN用户的流量去往相同VLAN内的设备,流量就可以只穿越交换机而不用经过三层设备路由

·特殊用途VLAN  有时,一个VLAN的作用就是承载某一种类型的流量,而这种流量必须分不到整个园区中(比如 组播、语音或未访问者创建的VLAN)

·设计粗劣(劣势)  对于没有明确目的,而把用户放入跨越园区网甚至跨越WAN的VLAN中干道情况,当网络已经配置完成且开始运营后,企业会由于网络的实效时间或其他策略性因素,犹豫是否要对设计进行改进

管理员在实施端到端VLAN时应考虑以下因素:

·交换机端口是为每个用户提供的,并且会与一个特定的VLAN相关联。由于端到端VLAN中的用户可以位于网络中的仍和位置,因此所有交换机都必须知道这个VLAN。也就是说,承载端到端VLAN流量的所有交换机都必须知道那些得以在各个交换机VLAN数据库中的VLAN

·默认情况下,VLAN的洪泛流量会穿越每一台交换机,即使那台交换机上没有任何属于这个端到端VLAN的活动端口

·为带有端到端VLAN的园区网进行排错的难度颇大,因为在大型园区网中,去往某一个VLAN的流量可以穿越多台交换机,这就有可能在不知不觉中产生一些生成树的问题

使用本地VLAN来实施企业园区架构具有以下优势:

·轻松判断数据流  这种简单的设计方案可以让判断二层和三层的数据流路径变得更加轻松。如果出现某种故障,且网络中的冗余技术并没有解决这个问题的时候,一个简单的模型就可以让管理员轻松找到问题的症结,并解决它

·灵活的冗余路径  在实施PVST(每VLAN生成树)或MSTP(多生成树)时,由于网络无环,因此所有链路都可以使用冗余的路径

·高可用性  所有的网络基础设施都可以配备冗余路径。如果首选的二层路径出现故障,接入层交换机上的本地VLAN流量还可以沿着另一条二层路径穿过分布层交换机。如果接入层VLAN的默认网关出现故障,路由器冗余协议可以实现故障倒换(Failover)。当生成树实例和VLAN都卑职在了一台特定的接入层或分布层交换机上时,那么管理员也可以使用相应的方法来配置二层和三层冗余及协议

·有限故障域  如果VLAN仅限于本地交换机,那么每个VLAN中的设备数量就不会太多,于是二层故障就会被限制在不大的用户范畴内

·设计方案扩展性强  管理员可以十分轻松地在网络中添加新的交换机,在必要的时候,也可以在网络中添加子模块

2.1.2 如何为VLAN制定计划

网络中VLAN模型的类型会影响实施VLAN的计划,以及验证VLAN的计划。为实施VLAN而创建计划所需的步骤。一般来说,规划端到端VLAN的实施包括以下任务:

·把握现有网络的流量  收集现有 VLAN号、名称、作用以及VLAN和IP地址之间的映射关系

·记录园区哪一部分需要哪个VLAN  确定交换机间的数据流向,以及哪个VLAN应该配置在哪台交换机上

·VLAN一般基于端口来进行划分  在有的网络实施环节中,管理员可能会使用一种不同的方法,比如根据dot1x认证来划分。具体的配置方法取决于划分VLAN的方式。管理员还需要清楚那些交换机上没有使用的端口应该如何划分VLAN。是应该保留他们的默认配置,还是处于安全的目的把他们划分进一个不使用的VLAN,抑或将他们分配进默认VLAN中

·配置Trunk  在配置Trunk时,管理员必须了解应该在哪里部署Trunk,是否应该在Trunk上允许所有的VLAN,以及Native VLAN应该如何设计

·VTP可以简化VLAN的配置与修剪  管理员应该了解需要在哪里实施VTP,应该用哪台交换机来充当服务器,哪台充当客户端,哪台应该配置为透明模式(如果需要的话)

·创建测试计划实施VLAN  验证其是否满足流量的需求以及未来扩展的需求

2.1.3 设计VLAN的最佳做法

这里会列举一些在园区网实施VLAN时具有普适价值的做法:

·在每个交换机上创建1到3个VLAN,将这些VLAN限制在几台接入层交换机和分布层交换机的范围内

·不要讲VLAN1作为未使用端口的"黑洞",要将这些不适用的端口划分到其他VLAN中,只要不是VLAN1就好

·尽量将语音VLAN、数据VLAN、管理VLAN、NativeVLAN、黑洞VLAN和默认VLAN分开

·在本地VLAN模型中,不要使用VTP。管理员可以手动配置Trunk上允许哪些VLAN

· 对于Trunk端口,应关闭DTP并且手动对其进行配置。这里应该使用IEEE 802.1Q而不应该使用ISL。IEEE 802.1Q能更好地支持QoS,而且它也是标准(公有)协议

·手动配置那些不打算用于Trunk链路的Access端口

·阻止所有来自VLAN1的数据流量;VLAN1上只允许运行控制协议(如 DTP、VTP、STP BPDU、PAgP、LACP、CDP等)

·出于安全考虑,不要使用Telnet,但可以使管理VLAN支持SSH协议

2.1.4 配置VLAN

所有Cisco Catalyst交换机都能够支持VLAN,不过各交换机所支持VLAN数量却有所区别。

Cisco Catalyst交换机的VLAN支持矩阵

交换机类型

VLAN的最大数量

VLAN ID范围

Catalyst 2940

4

1~1005

Catalyst 2950/2955

250

1~4094

Catalyst 2960

255

1~4094

Catalyst 2970/3550/3560/3570

1005

1~4094

Catalyst 2848G/2980G/4000/4500

4094

1~4094

Catalyst 6500

4094

1~4094

VLAN范围

VLAN范围

范围

用途

通过VTP进行传播

0,4095

保留

仅限系统使用,用户不能查看和使用这些VLAN

-

1

正常

Cisco默认VLAN,用户默认能够使用该VLAN,但不能删除它

2~1001

正常

用于以太网的VLAN,用户可以创建、使用和删除这些VLAN

1001~1005

正常

用于FDDI和令牌环的Cisco默认VLAN。用户不能删除这些VLAN

1006~1024

保留

仅限系统使用,用户不能查看和使用这些VLAN

-

1025~4094

扩展

仅用于以太网VLAN

VTP版本1和版本2不支持;如需配置扩展VLAN,必须将交换机配置为VTP透明模式,只有VTP版本3支持

创建新的VLAN:

·进入全局配置模式

Switch#configure terminal

·使用特定ID编号创建新的VLAN

Switch#vlan vlan-id

·命名VLAN(可选)

Switch#name vlan-name

删除VLAN:

·进入全局配置模式

Switch#configure terminal

·删除特定ID编号的VLAN

Switch#no vlan vlan-id

Ps: 一旦删除VLAN,那么除非将该VLAN所属的access端口移动到其他VLAN,否则这些介入端口会进入inactive状态。出于安全方面的考虑,如果端口出于inactive状态,它将不会再转发流量。

将交换机端口分配给先前所创建的VLAN:

·进入端口配置模式

Switch(config)#interfaceinterface_id

·将端口指定为access端口

Switch(config-if)#switchport mode access

Switch(config-if)#switchport host

Ps:命令switchport host的作用是将某端口配置为主机设备(工作站或服务器等)所连端口。在启用该特性的时候,就表示同时对该端口启用生成树PortFast并禁用EtherChannel特性。

·在VLAN中添加或删除该端口

Switch(config-if)#[no] switchport modeaccess vlan vlan-id

2.1.5 验证VLAN的配置

根据PPDIOO在配置好VLAN之后,下一个重要的步骤就是验证前面的配置。在特权EXEC模式下,show vlan id/name vlan-id/vlan-name命令能够显示特定VLAN的相关信息。

show vlan字段描述:

字段

描述

VLAN

该VLAN编号

Name

该VLAN名称(如果有)

Status

该VLAN状态(active还是suspended)

Ports

属于该VLAN的端口

Type

该VLAN的介质类型

SAID

该VLAN的安全关联ID值

MTU

该VLAN最大传输单元的大小

Parent

表示父辈VLAN(如果有)

RingNo

表示该VLAN的环编号(如果有)

BrdgNo

表示该VLAN的桥接编号(如果有)

Stp

该VLAN使用的生成树协议

BRdgMode

该VLAN的桥接模式

Trans1

透明网桥1

Trans2

透明网桥2

AREHops

ALL-Router探测帧的最大跳计数

STEHops

生成树探测帧的最大跳计数

显示某个特定借口当前的配置信息:

Switch#show interfaces interface_type slot/port

显示某个特定接口的MAC地址表信息:

Switch#show mac-address-table interfaces interface_type slot/port

在排错时,这些命令可以帮助管理员判断直连设备是否正在向正确的VLAN发送数据包。

2.1.6 VLAN的排错

在排除与vlan相关的物理故障的时候,管理员应当检查下列项目:

·物理连接

·交换机配置

·VLAN配置

1. 吞吐量低的排错

·对于由2个端口组成的点到点交换机链路,故障有可能存在于链路的任一侧。此时我们需要确认链路两端的速度和双工模式设置是否一致

·使用命令show interface来查看嫌疑接口存在哪种类型的错误。FCS(帧校验序列)错误、对齐(Aligment)错误、短帧(Runt)的组合往往说明双工模式不匹配;自动协商是常见的可能发生故障的原因,但也有可能是由于手工配置不匹配所导致

·如果存在使用生成树的多条冗余路径,应该判断数据传递会采用哪条二层路径

如果从show interface命令的输出结果中,管理员发现冲突数目快速增加,那么故障就有可能在于半双工链路超额订阅(Oversubscribed)、硬件故障、电缆损坏或双工不匹配。

2. 通信问题的排错

当某台设备不能与VLAN内部的其他设备进行通信的时候,就要采用下列方法来查找故障:

·使用show interface、show mac和show running-config来确认交换机端口上所配置的VLAN成员关系的正确无误

·使用命令show interface来确认交换机端口出于正常工作状态(up),并且已经建立了连接。尝试在相应的交换机端口执行shut和no shut命令来对该端口进行复位处理。

2.2 在Cisco园区网实施链路聚集

干道(Trunk)能够在单条物理链路中承载多个VLAN的流量。而链路聚集(Trunking)的作用就是将第二层操作扩展到整个网络中。如果从一个VLAN发来的帧穿越一条Trunk链路,那么在这个帧进入Trunk链路时,链路聚集协议就必须给这个帧打上标记(VLAN ID),标识这个帧是从哪个VLAN发送过来的。这样接受帧的交换机就会知道这个帧来自哪个VLAN,并对其进行相应处理。对于接受帧的交换机来说,当它将这个帧转发给与其相对应的Access链路时,就会移除这个VLAN ID(VID)。

在配置802.1Q Trunk链路时,必须在这条链路的每一段定义一个Native VLAN。Trunk链路会自动为每一个帧打上VID标记。而Native VLAN的作用就是让那些没有打上VID标记的帧能够穿过Trunk链路进行转发。

2.2.1 链路聚集协议

这里会介绍两种链路聚集协议:

·ISL,Cisco私有的链路聚集封装方式

·IEEE802.1Q,业界标准的链路聚集方法

ISL现已过时,所以仅会着重介绍802.1Q。

ISL封装方式:

 

The fields of the Inter-Switch Link (ISL) protocol encapsulation frameare given below.

• DA (Destination Address):The destination address uses the multicast MAC address 01-00-0C-00-00-00. Thefirst 40 bits of the DA field signal the receiver that the packet is inInter-Switch Link (ISL) format.

• Type: The type of frameencapsulated: Ethernet (0000), Token Ring (0001), FDDI (0010), and ATM (0011).

• User: The USER fieldconsists of a 4-bit code. The USER bits are used to extend the meaning of theTYPE field. The default USER field value is "0000". For Ethernetframes, the USER field bits "0" and "1" indicate thepriority of the packet as it passes through the switch.

• SA (Source Address): Sourceaddress of the switch transmitting the Inter-Switch Link (ISL) frame.

• Len: The length of thepacket.

• SNAP: Subnetwork AccessProtocol (SNAP) and Logical Link Control (LLC). The AAAA03 SNAP field is a24-bit constant value of "AAAA03".

• HSA (High Bits of SourceAddress): The HSA field is a 24-bit value which represents the upper 3 bytes(the manufacturer ID portion) of the SA field.

• VLAN (Destination VLAN ID):Indicates VLAN ID of the packet. VLAN ID is a 15-bit value that is used todistinguish frames on different VLANs. VLAN ID is also known as the"color" of the frame.

• BPDU: Indicate whether aBPDU, or CDP or VTP frame

• Index: The port index ofthe source of the packet.

• Res: Reserved field foradditional information, for instance, Token Ring or FDDI Frame Check Sequencefield. For Ethernet, this field should be zero.

• Encapsulated EthernetFrame: The actual Ethernet frame.

• ISL CRC: Four-byte check onthe ISL packet to ensure it is not corrupted.

IEEE802.1Q封装方式:

Tag-插入802.1Q标记

   EtherType(TPID)-如果设置为0x8100,那么表示后面是802.1Q标记

   PRI-3bit的802.1P优先级字段

CFI-规范格式标示符。对于以太网交换机,应设置为0,对于令牌环网络,应设置为1

VLAN ID-VLAN字段,长度为12bit。VLAN最大编号为4094。VLAN ID为0,表示其为优先级帧,VLAN ID为4095被保留

CFI、PRI和VLAN ID代表TCI(Tag Control Information,标记控制信息)字段

与ISL相比,802.1Q(802.1P)标准提供了下列的内在结构性优势:

(Ps: 802.1P是IEEE 802.1Q标准的扩充协议,它们协同工作。)

·802.1Q的开销是4字节,ISL的开销是30字节,802.1Q的效率要比ISL略高

·802.1Q是一种业界标准协议,并且得到了业界的广泛支持

·802.1Q支持QoS的8021.P字段

如果没有启用802.1Q的设备或者access端口接受到了一个802.1Q帧,那么标记的数据就会被忽略,而数据包则会作为以太网帧被交换给二层设备/端口。这就允许管理员沿着802.1QTrunk路径来部署二层中间设备(如非管理型交换机、网桥)。如果设备要处理打了标记的802.1Q帧,他就必须使其MTU高于1522。

Ps:小巨帧(baby giant)的大小大于标准MTU的1500字节,而小于2000字节。如果使用打上了标记的ISL和802.1Q帧,那么被标记的帧的MTU将会超过1500,交换机就会把这两种帧看做小巨帧。对于以太网上采用ISL封装的数据包,它的MTU是1548字节,对于以太网上采用802.1Q封装的数据包,它的MTU是1522字节。

(巨型帧是帧长大于1522字节的以太网帧。这是一种厂商标准的超长帧格式,专门为千兆以太网而设计。巨型帧的长度各厂商有所不同,从9000字节~64000字节不等。采用巨型帧能够令千兆以太网性能充分发挥,使数据传输效率提高50%~100%。在网络存储的应用环境中,巨型帧更具有非同寻常的意义。—百度百科)

802.1链路聚集中的Native VLAN需注意的细节:

两台设备之间的802.1Q Trunk端口有一个要求,那就是链路两端的Native VLAN的配置必须相同。如果Native VLAN配置不匹配,那么CDP就会发送一条”VLAN配置错误”消息(如果CDP开启了话,如果Trunk链路上禁用了VLAN 1,CDP有肯能不会传输或自动关闭)。如果Native VLAN不匹配,就有可能会产生二层环路。原因是这种情况下,VLAN 1的STP BPDU会在未标记的情况下发送给IEEE STP MAC地址(0180.c200.0000)。

2.2.2 理解DTP

所有新型的Cisco Catalyst交换机都会在Trunk端口使用一种被称为DTP(Dynamic Trunk Protocol,动态中继协议)的Cisco私有点到点协议,并使用DTP协议来协商链路聚集的状态。DTP会与直接连接到Trunk端口的交换机来协商工作模式,并选择恰当的链路聚集协议。协商链路聚集可以避免在刚开始出现链路聚集配置错误,因而导致一些网络问题,所以推荐在多次交换网络中采用链路聚集协商的做法,不过最好在网络稳定以后,再更改为永久的Trunk。

1. Cisco链路聚集模式和方法:

Cisco IOS中的模式

功能

接入
(Access)

将接口设为永久的非链路聚集(nonTrunking)模式,并且协商将链路转换为非Trunk(nonTrunk)链路。即使邻接借口不同意这种转换,此接口也将变成非干道借口

干道
(Trunk)

将接口设为永久的链路聚集(nonTrunking)模式,并且协商将链路转换为Trunk(nonTrunk)链路。即使邻接借口不同意这种转换,此接口也将变成Trunk借口

非协商
(Nonegotiate)

将借口设为永久的链路聚集模式,并且禁止借口产生DTP帧,为了建立Trunk链路,管理员必须手工将邻接接口配置为Trunk接口,如果相连的设备不支持DTP,那么就适合采用这种模式

动态渴望
(Dynamic Desirable)

使得接口主动地尝试将链路转换为Trunk链路。如果邻接接口被设置为Trunk、Desirable或Auto,那么此接口就会成为Trunk接口。这种模式是采用Cisco IOS软件的所有以太网接口的默认模式

动态自动
(Dynamic Auto)

使得接口愿意将链路转换为Trunk链路。如果邻接接口被设置为Trunk或Desirable,那么此接口就会成为Trunk接口

两条链路上DTP模式的各种组合:

 

Dynamic Auto

Dynamic Desirable

Trunk

Access

Dynamic
Auto

Access

Trunk

Trunk

Access

Dynamic
Desirable

Trunk

Trunk

Trunk

Access

Trunk

Trunk

Trunk

Trunk

连接受限

Access

Access

Access

连接受限

Access

2. VLAN范围与对应的关系

ISL支持的VLAN编号范围是从1-1005,而802.1Q VLAN则支持1-4094.如果使用802.1Q,Trunk链路的默认行为是允许所有标准和扩展的VLAN通过。而使用ISL链路,默认只允许标准VLAN通过。

2.2.3 链路聚集的最佳做法

在分层的设计方案中,接入层交换机是与分布层交换机相连的。这也是需要管理员呢实施Trunk的位置。为了避免生成树问题,推荐不要在两台分布层交换机之间采用二层Trunk链路连接,或者不要用任何链路连接它们,这样一来,接入层交换机就会被配置为生成树、无环路、V型拓扑。

当链路另一端的交换机状态无法确定,或者其状态有可能发生变化,那么DTP就会很有用。当链路需要通过一种稳定的方式设置为Trunk链路时,将它们都设置为Trunk非协商(Nonegotiate)可以提高收敛速度(每次启动时至少节省2s时间)。当两台交换机都是核心架构组成设备时,建议采用这种方式来部署稳定的链路。

对于Trunk链路来说,推荐采用手动的方式来修剪那些不使用的VLAN。如果网络中使用了VTP协议,管理员也可以使用VTP修剪技术,不过手动修剪的方式(在switchport Trunk上放行所需的VLAN)更加安全。为了防止DTP欺骗,将不使用的VLAN充当Trunk链路上的Native VLAN是一种很推荐的做法。

2.2.4 配置802.1Q链路聚集

·进入接口配置模式

Switch(config)#interfaceinterface_id

·选择封装类型

Switch(config-if)#switchport trunkencapsulation isl/dot1q/negotiate

·将接口配置为第二层Trunk接口

Switch(config-if)#switchport mode (dynamic(auto/desirable))/trunk

·指定Native VLAN

Switch(config-if)#switchport trunk nativevlan vlan-id

·配置Trunk上许可的VLAN

Switch(config-if)#switchport trunk allowedvlan add/except/all vlan-id

2.2.5 验证链路聚集的配置

命令

注释

show running-config interface_id

显示该接口的运行配置

show interface interface_id switchport

显示该接口的交换机端口配置

show interface interface_id trunk

显示该接口的Trunk配置

 

2.2.6 链路聚集的排错

Trunk端口的故障排错首先需要验证一下配置是否正确:

·接口的模式

·Native VLAN

·封装类型

VLAN常见的故障时设备不能跨越Trunk链路建立连接,为了解决i故障,推荐使用下列解决方案:

·确保链路两端的第二层接口配置有效,并且至少链路的一侧的Trunk模式为trunk或Desirable

·确保链路两端的Trunk封装类型是有效且兼容的

·在IEEE802.1Q链路中,确保Trunk两端的Native VLAN配置是相同的

·在使用DTP的情况下,确保链路两端位于同一个VTP域

2.3 VLAN链路聚集协议

VTP协议的作用是在整个交换网络中分发和同步与VLAN相关的信息。VLAN名称重复、VLAN类型规范错误、违反安全规范等问题都会导致一定程度的故障,而VTP能够将因配置错误和配置一致等原因而引发故障的机率将至最低。交换机只在802.1Q和ISL干道中传送VTP消息。Cisco交换机每5m就会通过管理VLAN(默认为VLAN1)一二层组播数据帧的形式传输一次VTP汇总通告。VTP数据包会被发送给目的MAC地址01-00-0C-CC-CC-CC,且其逻辑链路控制(LLC)码为子网访问协议(SNAP)(AAAA),类型值为2003。

VTP是一种二层消息协议,它的作用是通过管理VTP域内的VLAN增加、删除或重命名来保持VLAN配置的一致性。一个VTP域是由一台交换机或多台共享相同VTP环境的互连交换机所组成的。每台Catalyst交换机只能支持单个VTP域。

默认情况下,除非Catalyst交换机通过Trunk链路接收到了VTP域的通告,或者应用了VTP配置,否则交换机都会处于”no-management-domain”状态。

VTP工作步骤:

·管理员增加一个新的VLAN

·VTP想VTP域中的所有交换机传播VLAN信息

·交换机合并新的VLAN数据,实现所有交换机对配置的同步

VTP工作模式:

VTP模式

特性

客户端模式
(client)

客户端模式的交换机不能通过CLI来创建、更改或删除VLAN
向其他交换机转发通告
能够将VLAN配置与从管理域中其他交换机所接收的最新信息进行同步
不会将VLAN配置保存到NVRAM中

服务器模式
(server)

可以创建、修改和删除VLAN
向其他交换机发送或战法通告消息
会将VLAN配置与从管理域中其他交换机所接收的最新信息进行同步
会将配置保存到NVRAM中

透明模式
(transparent)

只会在本地交换机中创建、删除和修改VLAN

会将从相同管理域中其他交换机所接收的VTP通告进行转发
不会将VLAN配置与从管理域中其他交换机所接收的最新信息进行同步
会将VLAN配置保存到NVRAM中

在合并所接收到的VLAN信息之前,接收VTP通告消息的设备会检查该消息的各种参数。

·通告消息中的管理域名称和密码必须与本地交换机中的配置相匹配

·配置修订号(revision number)是在当前使用的配置之后创建的

·交换机是VTP服务器或客户端

满足上述条件,交换机就会使用通告的新信息来覆盖已有的VLAN配置(VTP透明交换机不参与VTP)。

VTP最重要的元素之一就是配置修订号。每当VTP服务器修改其VLAN信息的时候,它的配置修订号就会增加1。

2.3.1 VLAN修剪

VTP修剪技术会使用VLAN通告消息来判断Trunk连接合适正在扩散不必要的流量。默认情况下,Trunk连接会承载VTP管理域中所有VLAN的流量。一般情况下,企业网络中的某些交换机没有为每种VLAN都配置本地端口。

VTP修剪技术可以将洪泛的流量限制在恰到好处的范围内(即将流量限制在到达恰当的网络设备所必须经过的Trunk链路中),因此,它能够提高链路的可用带宽。

2.3.2 VTP版本

Cisco交换机支持三种不同版本的VTP。不同版本的VTP间不能通信。出于稳定性方面的考虑,Cisco建议只使用一种版本的VTP。

1. VTP版本1和版本2

VTP版本2支持下列版本1所不支持的特性:

·支持令牌环  VTP版本2支持令牌环LAN和令牌环VLAN

·支持识别TVL(Type-Length-Value)  VTP版本2服务器客户端能将配置变化传播给其他的Trunk链路,即使是它不能识别的TVL。它还会降无法识别的TVL保存在NVRAM中

·与版本无关的透明模式  在VTP版本1中,一个VTP透明模式的交换机会检查VTP消息中的域名和版本,并且只有当版本和域名与本机相匹配时才转发该消息

·一致性检查  在VTP版本2中,仅当用户通过CLI或SNMP输入新信息时,VTP才会执行VLAN一致性检查(VLAN名称和值)

2. VTP版本3

VTP版本3余早期VTP版本的区别在于:VTP版本3不能直接处理VLAN。VTP版本3负责在管理域中分发一个数据库的列表,下面是VTP版本3 的增强特性:

·支持扩展VLAN

·支持创建和通告pVLAN

·增强了服务器认证

·增强了保护机制,能够防止”错误的”数据库被意外地插到VTP域中

·能够与版本1和版本2互动

·能够基于端口来配置VTP

除了增加主服务器和辅助服务器模式,以及增加了数据库一致的概念外,VTP版本3与VTP版本1和版本2具有相同的特性。

2.3.3 VTP消息类型

1. 汇总通告消息(SummaryAdvertisements)

默认情况下,Catalyst交换机会每5分钟发送一条汇总通告消息。汇总通告消息会通知临近Catalyst交换机当前的VTP域和配置修订号。如果VTP域不匹配或交换机的配制修订号大于等于数据包的配置修订号,数据包就会被忽略。如果增自己的配置修订号比较小,那么交换机就会发送通告请求消息。

2. 子集通告消息(SubsetAdvertisements)

如果在VTP服务器上增加、删除或者修改了VLAN,"配置修改编号"就会增加,交换机会首先发送汇总通告,然后发送一个或多个子集通告。子集通告中包括一个VLAN的信息列表。如果有多个VLAN,为了通告所有的信息,可能需要发送多个子集通告。

3. 通告请求消息(RequestAdvertisements)

下列情况下,交换机需要发送VTP通告请求消息:

·交换机重启

·VTP域名被修改

·交换机收到一条VTP汇总通告消息,且该消息的配置修订号高于其自身的修订号。

 4.VTP数据帧格式

VTP Messages in Detail

VTP packets aresent in either Inter-Switch Link (ISL) frames or in IEEE 802.1Q (dot1q) frames.These packets are sent to the destination MAC address 01-00-0C-CC-CC-CC with alogical link control (LLC) code of Subnetwork Access Protocol (SNAP) (AAAA) anda type of 2003 (in the SNAP header). This is the format of a VTP packet that isencapsulated in ISL frames:

Of course, you can have a VTPpacket inside 802.1Q frames. In that case, the ISL header and cyclic redundancycheck (CRC) is replaced by dot1q tagging.

This list clarifies what the fields means in the summaryadvertisement packet:

  • The Followers field indicates that this packet is followed by a Subset Advertisement packet.
  • The Updater Identity is the IP address of the switch that is the last to have incremented the configuration revision.
  • The Update Timestamp is the date and time of the last increment of the configuration revision.
  • Message Digest 5 (MD5) carries the VTP password, if MD5 is configured and used to authenticate the validation of a VTP update.

This formatted example shows that each VLAN informationfield contains information for a different VLAN. It is ordered so thatlowered-valued ISL VLAN IDs occur first:

2.3.4 VTP认证

管理员可以通过使用VTP的密码特性,来保证VTP域的安全。必须明确的是VTP域中的所有交换机都必须使用相同的域名和密码。Cisco交换机会使用MD5算法来加密密码,这些密码会在VTP汇总通告内部进行传播。推荐采用VTP认证。(参考VTP汇总通告消息帧格式)

2.3.5 实施VTP的最佳做法

VTP一半适用于新的网络中,旨在减轻配置VLAN的负担。当网络规模越来越大的时候,这种优势就会成为一种负担。当服务器意外删除一个VLAN的时候,整个网络都会删除这个VLAN。如果一台已经定义好了VLAN数据库的交换机被部署到网络中,这个数据库就有可能会劫持VLAN数据库,即对VLAN的信息进行删改。配置VLAN的最佳做法是将所有交换机都配置为透明模式,并根据管理员的需要手动地添加VLAN,越是大型的网络越应该如此。一般来说,VTP配置对于小型环境还是很有帮助的。

2.3.6 VTP的配置

·进入全局配置模式

Switch# configure terminal

·将VTP配置为服务器模式

Switch(config)# vtp server

·配置域名

Switch(config)# vtp domain domain-name

·启用VTP版本2(可选)

Switch(config)# vtp version 2

·指定VTP密码(可选)

Switch(config)# vtp password password_string

·在管理域中启用VTP修剪技术(可选)

Switch(config)# vtp pruning

Ps:VTP域中所有交换机都必须具有相同的VTP和VTP版本

2.3.7 验证VTP的配置

查看VTP的配置及当前状态

Switch# show vtp status

查看VTP的统计消息

Switch# show vtp counters

2.3.8 VTP排错

通常情况下,VTP的配置故障是由于Trunk链路、域名、VTP模式和口令等配置不当所导致的。

在更改VLAN的配置时,如果VTP不能更新其他交换机上的配置,那么就需要执行下列步骤来对VTP进行排错。

·确认交换机之间是通过Trunk链路连接的

·确保相应交换机所配置的VTP和密码域名完全一致(如果有密码的话)

·检查交换机是否工作在VTP透明模式下

2.4 私用VLAN(私有VLAN)

私用VLAN技术可以隔离同一个IP子网内的二层设备。管理员可以使交换机一些端口的流量只能到达某些与默认网关或备份服务器相连的端口。私用VLAN主要部署在ISP环境中(还有服务器提供商),特别是部署web的环境中。

2.4.1 私用VLAN概述

端口类型:

·孤立端口(Isolated) 只能与杂合端口通信,其他与孤立端口有关的流量则会被pVLAN屏蔽

·杂合端口(Promiscuous)  杂合端口可以与所有VLAN中端口进行通信。杂合端口只是主VLAN的一部分,每个杂合端口都可以对应一个以上的辅助VLAN

·团体端口(community)  属于同一个团体端口的设备之间相互通信

VLAN类型:

·主pVLAN  主VLAN可以由多个辅助私用VLAN组成,这些辅助VLAN与主VLAN属于同一个子网。它会将杂合端口发来的流量发送给同一个主VLAN中的孤立短裤、团体端口及其他杂合端口

·辅助私用VLAN  辅助VLAN是主VLAN的附庸VLAN,他们会被映射给主VLAN。每台设备都会与辅助VLAN相连

·团体VLAN  如果某个端口属于团体VLAN,那么它就能与相同团体VLAN中的其他端口通信,而且还能与pVLAN的杂合端口进行通信

·孤立VLAN  如果某个端口属于孤立VLAN,它就只能和杂合端口通信

2.4.2 私用VLAN的配置

私用VLAN的配置应遵循以下步骤:

·将VTP模式设置为透明模式

·创建辅助VLAN

·创建主VLAN

·将辅助VLAN和主VLAN进行关联(主VLAN只能关联一个孤立VLAN)

·将一个接口配置为孤立端口或团体端口

·将这个孤立端口或团体端口关联给主-辅助pVLAN对

·将一个接口配置为杂合端口

·将这个杂合端口映射给主-辅助pVLAN对

在Cisco中配置私用VLAN

·进入VLAN全局配置模式来配置VLAN

Switch(config)# vlan vlan-id

·将VLAN类型配置为pVLAN

Switch(config-vlan)# private-vlan community/isolated/primary

·退出配置模式

Switch(config-vlan)# exit

·进入VLAN全局配置模式来配置主VLAN

Switch(config)# vlan primary-vlan-id

·如果配置主VLAN,要确保有二层辅助VLAN关联到了主VLAN

Switch(config-vlan)# private-vlanassociation/add/remove secondary-vlan-list

·选择主VLAN的接口配置模式

Switch(config)# interface vlan primary-vlan-id

·将辅助VLAN映射到主VLAN的三层VLAN接口,使pVLAN入口流量能够快速执行三层交换

Switch(config-if)# private-vlan mapping/add/remove secondary-vlan-list

·选择用来充当pVLAN主机或杂合端口的LAN端口

Switch(config)# intrerface type slot/port

·如果交换机默认工作在三层,那么将LAN端口配置为二层端口

Switch(config-if)# switchport

·将二层端口配置为pVLAN的主句端口或杂合端口

Switch(config-if)# switchport modeprivate-vlan host/promiscuous

·为了能够访问pVLAN的端口,需要将团体或鼓励私用VLAN关联给pVLAN

Switch(config-if)# switchport private-vlanhost-association primary-vlan-idsecondary-vlan-id

·将杂合端口映射到pVLAN

Switch(config-if)# switchport private-vlan mapping primary-vlan-id add/removesecondary-vlan-list

·退出接口模式

2.4.3 验证私用VLAN

·show interface type slot/port switchport

·show vlan private-vlan

2.4.4 端口保护特性

Cisco的低端交换机并不支持私用VLAN,但是他们也具有一个不太强大的特性,即私用VLAN边缘特性(也称为受保护端口特性)。受保护端口是私用VLAN的简化版。在这种情况下,流量不能在两个受保护端口之间进行流动。

私用VLAN边缘只有本地意义,位于不同交换机上的两个受保护端口之间是不会相互隔离的。所有受保护端口之间传递的流量都必须通过三层设备来进行转发。

2.5 使用EtherChannel来配置链路聚集

2.5.1 描述EtherChannel

EtherChannel是Cisco研发的技术,旨在解决交换机与交换机之间的通信问题,将多个快速以太网端口或吉比特以太网对口分组到一个逻辑通道中,提高设备(EtherChannel技术还可以应用于其他设备之间,比如说服务器、路由器之间)之间的链路带宽。该技术拥有下列优势:

·依靠已有的交换机物理端口  管理员不用升级交换机和交换机间的链路,来提高连接速度,可以节约网络成本

·配置简单  配置可以在EtherChannel接口下完成,而不需要对各个端口进行配置,可以确保每条物理链路两端的配置完全一样

·冗余性  所有物理链路都会被看成一条逻辑连接,因此某一条物理链路的断开不会给拓扑带来任何变化,生成树也不需要重新计算

·负载均衡  同一个EtherChannel的几条链路上可以实现负载分担。根据需求的不同,管理员可以采用不同的方式来配置(基于源/目的MAC、源/目的IP地址)物理链路间的负载分担

管理员最多可以将8条物理链路捆绑为一条逻辑的EtherChannel链路。

2.5.2 PAgP与LACP协议

EtherChannel可以使用两个管理协议来创建Port-Channel。这些协议可以确保在创建好EtherChannel时,所有端口的配置都是相同的。在EtherChannel中,所有端口的速率、双工模式、VLAN信息的设置必须完全一致。在创建好通道之后,管理员无论对端口的配置如何修改,通道的其他端口也会被修改。

1. PAgP(Port Aggregation Protocol)模式

PAgP(端口汇聚协议)是Cisco私有的协议,可以用来自动创建快速EtherChannel链路。在使用PAgP配置EtherChannel链路时,PAgP数据包就会在启用了EtherChannel的端口之间发送,以协商建立起这条通道。在PAgP识别出匹配的以太网链路之后,它就会将这些链路放入一个EtherChannel组中。而生成树会将EtherChannel看成是一个单独的桥接端口。

PAgP数据包每30s发送一次。PAgP会通过这些数据包来查看两端的配置是否一致,并以此管理交换机两端添加链路及链路失效的问题。

PAgP的不同设置:

模式

描述

Auto
(
默认)

这种模式会使端口进入被动协商的状态。在这种模式下,接口会对PAgP数据包做出响应,但端口不会主动发起协商。

Desirable

这种模式会使端口进入主动协商状态。在这种模式下,接口会通过发送PAgP数据包来主动与其他接口进行协商。

On

这种模式会强制端口不适用PAgP而形成EtherChannel,配置为此模式的接口不会交换PAgP数据包。

Non-silent
(
可选参数)

如果管理员在Auto和Desirable模式下没有指定关键字non-slient,那么交换机就会假设状态为silent。而silent这种设置用于去往文件服务器或数据包分析的连接;这种设置会使用PAgP来进行操作、使接口连接到一个通道组中,并使用这个接口来进行数据传输。

两端模式和协商结果:

2. LACP模式

LACP是IEEE标准协议(802.3ad中的以部分),LACP交换机可以向对端发送LACP数据包,以协商一个捆绑的EtherChannel通道。与PAgP建立EtherChannel链路过程相似。LACP能够检测两端的配置,并确保两端的设备是匹配的。

LACP的不同设置:

模式

描述

Passive
(
默认)

这种模式会使端口进入被动协商状态。在这种模式下, 接口会对LACP数据包做出响应,但端口并不会主动发起协商

Active

这种模式会使端口进入主动协商的状态。在这种模式下,接口会通过发送LACP数据包来主动与其他接口进行协商

On

这种模式会强制端口形成EtherChannel,并且不需要使用PAgP或LACP进行协商

两端模式和协商结果:

配置LACP还可以使用下面一些参数:

·系统优先级  每台运行LACP的交换机都必须拥有一个系统优先级。可以由交换机自动获取也可以由CLI来手动指定。交换机会使用MAC地址和系统优先级来创建系统ID

·端口优先级  交换机的每个端口都必须拥有一个端口优先级。可以由交换机自动获取也可以由CLI来手动指定。端口ID是由端口优先级和端口标识符来创建的。当硬件局限不允许所有兼容的端口形成汇聚的时候,交换机会使用端口优先级来判断哪些端口应该处于备用状态

·管理密钥  交换机的每个端口都必须拥有一个管理密钥值,它既可以自动确定,也可以通过CLI手工配置。管理密钥定义了端口和其他端口进行汇聚的能力。与端口的物理特性(速度、双工、介质等)和管理员所建立的配置限制

2.5.3 使用EtherChannel来配置端口通道

在实施EtherChannel之前,应对实施步骤进行一番规划,减少实施过程中出现问题的机率,下面是规划EtherChannel的指导方针:

·选择两台交换机上用于EtherChannel的端口

·决定将这条通道配置为三层连接还是二层连接

·如果是二层连接,管理员就应该为每个接口指定相应的协议,同时还应该配置一个通道组号码来将所有给定的端口关联给端口组,并确定是否会发生协商

·如果是三层连接,管理员就需要创建一个虚拟接口。再给这两个port-channel接口分配IP地址。接下来,拥有相同通道组号码的所有物理接口就会组成EtherChannel

·验证EtherChannel是否正确建立

1. 配置EtherChannel的指导方针

下面是配置EtherChannel的指导方针及限制

·支持EtherChannel  各模块上所有支持同一EtherChannel的以太网接口既不要求相连,也不要求他们位于同一个模块上

·速率及双工模式  一个EtherChannel内的所有端口都必须工作在相同的速率和双工模式下。如果某一个捆绑的接口处于关闭状态,那么这条链路就会失效,流量就会通过EtherChannel捆绑的其他接口流向对端

·交换端口分析器与EtherChannel  如果端口被配置为SPAN的目标端口,那么EtherChannel就不会建立起来

·三层EtherChannel  管理员应该为Port-Channel逻辑接口分配三层地址,而不是为通道中的物理接口分配地址

·VLAN匹配  管理员必须将一个EtherChannel内的所有端口划分进相同的VLAN中,或者将其配置为Trunk端口。此外,两台交换机所有链路的Native VLAN也必须相同

·VLAN的取值范围EtherChannel支持的VLAN范畴与二层Trunk EtherChannel链路中的所有端口所允许的VLAN范畴相同。如果两边允许的VLAN范畴不同,那么接口就不会建立起EtherChannel,即使这些接口配置为了auto模式或者desirable模式。

·STP路径开销  只要其他的配置是匹配的,那么即使接口配置了不同的STP端口路径开销,这些端口仍能形成EtherChannel

·端口通道与接口配置的对比  在配置好了EtherChannel之后,任何管理员应用在了Port-Channel接口上的配置都会对EtherChannel构成影响

2. 二层EtherChannel的配置步骤

管理员应使用以下步骤来配置二层EtherChannel:

·指定组成EtherChannel组的接口。管理员在这里可以使用range命令来选择多个接口,并同时对这些接口进行配置。建议在配置前关闭这些接口,在配置完成之前,接口就不会开始尝试在链路上创建EtherChannel

·指定用来建立通道的协议

·创建Port-Channel接口  如有需要,可以同时将规定好的物理接口划分给它

·指定Port-Channel接口  配置完成之后,管理员应该重启EtherChannel中的物理端口

2.5.4 验证EtherChannel

Show interface type slot/port etherchannel 查看接口在EtherChannel中的角色

Show etherchannel number port-channel 查看特定Port-Channel信息

Show etherchannel summary 查看各Port-Channel的单向信息

2.5.5 EtherChannel负载分担选项

当EtherChannel建立起来之后,流量就会在多条链路之间负载分担。在同一个EtherChannel的多个端口成员之间实现负载分担是配置EtherChannel的一个重要因素。

实现负载分担可以使用这一命令:

Switch(config)# port-channel load-balancetype

负载分担可以基于这些变量实现:

Src-mac、dst-mac、src-dst-mac、src-ip、dst-ip、src-dst-ip、src-port、dst-port、src-dst-port

2.6 总结

VLAN是交换机端口的逻辑分组,它连接着各种类型的节点,无论这些节点的物理位置置于何处。Trunk是二层互联设备之间的二层点到点链路,它可以承载多个VLAN的流量。VTP的作用是将配置在交换网络中与VLAN相关的信息进行分发和同步。VTP修剪技术可以防Trunk链路上未知流量的洪泛。管理员可以使用私用VLAN来精确地调整同一VLAN中设备之间的通信。如需提高带宽,实现网络的冗余性,可以使用EtherChannel技术来捆绑交换机之间多个独立的链路。

0 0