第三章 控制交换网络中的广播流量



3.1 VLAN概述



VLAN是虚拟局域网(Virtual Local Area Network)的简称,它是在一个物理网络上划分出来的逻辑网络。这个网络对应于ISO模型的第二层网络。VLAN的划分不受网络端口的实际物理位置的限制。VLAN有着和普通物理网络同样的属性,除了没有物理位置的限制,它和普通局域网一样。第二层的单播、广播和多播帧在一个VLAN内转发、扩散,而不会直接进入其他的VLAN之中。所以,如果一个端口所连接的主机想要同和它不在同一个VLAN的主机通讯,则必须通过一个路由器或者三层交换机,见下图。



可以把一个端口定义为一个VLAN的成员,所有连接到这个特定端口的终端都是虚拟网络的一部分,并且整个网络可以支持多个VLAN。当增加、删除和修改用户,的时候不必从物理上调整网络配置。



和一个物理网络一样,VLAN通常和一个IP子网联系在一起。一个典型的例子是,所有在同一个IP子网中的主机属于同一个VLAN。VLAN之间的通讯必须通过三层设备(路由器或者三层交换机)。实达的三层交换机可以通过SVI接口(switch virtual interfaces)来进行VLAN之间的IP路由。关于SVI的配置,请见接口管理配置及IP单播路由配置。



支持的VLAN 支持的VLAN遵循IEEE802.1q标准,最多支持250个VLAN(VLAN ID 1-4094)。其中VLAN 1是不可删除的默认VLAN。



3.2 VLAN成员类型




可以通过配置一个端口在某个VLAN中的VLAN成员类型,来确定这个端口能通过怎样的帧,以及这个端口可以属于多少个VLAN。VLAN成员类型VLAN端口特征access 一个access端口,只能属于一个VLAN,并且是通过手工设置指定VLAN的。



Trunk(802.1Q)



一个Trunk口,在缺省情况下是属于本交换机所有VLAN的,它能够转发所有VLAN的帧。但是可以通过设置许可VLAN列表(allowed-VLANs)来加以限制。



3.3配置VLAN



一个VLAN是以VLAN ID来标识的。您可以添加、删除、修改VLAN2到4094。而VLAN 1则是由交换机自动创建,并且不可被删除。



可以使用interface配置模式来配置一个端口的VLAN成员类型、加入、移出一个VLAN。



VLAN配置信息的保存



当您在特权命令模式下输入copy running-config startup-config命令后,VLAN的配置信息便被保存进配置文件。要查看VLAN配置信息,可以使用show vlan命令。



缺省的VLAN配置



参数缺省值范围VLAN ID 1 1-4094 VLAN name VLAN xxxx,xxxx是VLAN ID数无范围VLAN state active Active,Inactive



创建、修改一个VLAN



在特权模式下,通过如下步骤,您可以创建或者修改一个VLAN:



命令含义步骤1 configure terminal 进入全局配置模式



步骤2 vlan vlan-id 输入一个VLAN ID。如果输入的是一个新的VLAN ID,则交换机会创建一个VLAN,如果输入的是已经存在的VLAN ID,则修改相应的VLAN。步骤3 name vlan-name (可选)为VLAN取一个名字。如果没有进行这一步,则交换机会自动为它起一个名字VLAN xxxx,其中xxxx是用0开头的四位VLAN ID号。比如,VLAN 0004就是VLAN 4的缺省名字。步骤4 End 回到特权命令模式步骤5 show vlan {id vlan-id} 检查一下您刚才的配置是否正确步骤6 copy running-config startup config (可选)将配置保存进配置文件中



如果您想把VLAN的名字改回缺省名字,只需输入no name命令即可。



下面是一个创建VLAN 888,将它命名为test888,并且保存进配置文件的例子:



Switch# configure terminal 
  
 
  

    Switch(config)# vlan 888 
  
 
  

    Switch(config-vlan)# name test888 
  
 
  

    Switch(config-vlan)# end


删除一个VLAN



您不能删除缺省VLAN(VLAN 1)。



在特权模式下,使用如下步骤可以删除一个VLAN



命令含义步骤1 configure terminal 进入全局配置模式步骤2 no vlan vlan-id 输入一个VLAN ID,删除它。步骤3 end 回到特权命令模式步骤4 show vlan 检查一下是否正确删除步骤5 copy running-config startup config (可选)将配置保存进配置文件



向VLAN分配Access口



如果您把一个接口分配给一个不存在的VLAN,那么这个VLAN将自动被创建。



在特权模式下,利用如下步骤可以将一个端口分配给一个VLAN。



命令含义步骤1 configure terminal 进入全局配置模式步骤2 Interface interface-id 输入想要加入VLAN的interface id 步骤3 switchport mode access 定义该接口的VLAN成员类型(二层ACCESS口) 步骤4 switchport access vlan vlan-id 将这个口分配给一个VLAN 步骤5 end 回到特权命令模式步骤6 show interfaces interface-id switchport 检查接口的完整信息步骤7 copy running-config startup config (可选)将配置保存进配置文件



下面这个例子把ethernet 0/10作为access口加入了VLAN20:



Switch# configure terminal 
  
 
  

    Switch(config)# interface fastethernet0/10 
  
 
  

    Switch(config-if)# switchport mode access 
  
 
  

    Switch(config-if)# switchport access vlan 20 
  
 
  

    Switch(config-if)# end


下面这个例子显示了如何检查配置是否正确:



Switch# show interfaces fastethernet0/1 switchport 
  
 
  

    Interface Switchport Mode Access Native Protected VLAN lists 
  
 
  

    ---------- ---------- --------- --------- --------- --------- ----------- 
  
 
  

    Fa0/1 Enabled Access 1 1 Enabled All


配置VLAN Trunks



Trunking概述



一个Trunk是连接将一个或多个以太网交换接口和其他的网络设备(如路由器或交换机)的点对点链路,一个Trunk可以在一条链路上传输多个VLAN的流量。



实达交换机的Trunk采用802.1Q标准封装。



下图显示了一个采用Trunk连接起来的网络。



您可以把一个普通的以太网端口,或者一个Aggregate Port设为一个Trunk口(关于Aggregate Port的详细说明,请见配置Aggregate Port)。



如果要把一个接口在ACCESS模式和TRUNK模式之间切换,请用switchport mode命令:



命令功能switchport mode access [vlan vlan-id] 将一个接口设置成为access模式Switchport mode trunk 将一个接口设置成为Trunk模式



作为Trunk,这个口要属于一个native VLAN。所谓native VLAN,就是指在这个接口上收发的UNTAG报文,都被认为是属于这个VLAN的。显然,这个接口的缺省VLAN ID(即IEEE 802.1Q中的PVID)就是native VLAN的VLAN ID。同时,在Trunk上发送属于native VLAN的帧,则必然采用UNTAG的方式。Trunk口具体的行为,请参见接口管理。



每个Trunk口的缺省native VLAN是VLAN 1。



在配置Trunk链路时,请确认连接链路两端的Trunk口属于相同的native VLAN。



配置一个Trunk口



一个接口缺省工作在第二层模式,一个二层接口的缺省模式是Access口。



Trunk口基本配置



在特权模式下,利用如下步骤可以将一个接口配置成一个Trunk口。



命令含义步骤1 configure terminal 进入全局配置模式步骤2 interface interface-id 输入想要配成Trunk口的interface id 步骤3 switchport mode trunk 定义该接口的类型为二层Trunk口步骤4 switchport trunk native vlan vlan-id 为这个口指定一个native VLAN 步骤5 end 回到特权命令模式步骤6 show interfaces interface-id switchport 检查接口的完整信息步骤7 show interfaces interface-id trunk 显示这个接口的trunk设置步骤8 copy running-config startup config (可选)将配置保存进startup config文件



如果想把一个Trunk口的所有Trunk相关属性都复位成缺省值,请使用no switchport trunk 接口配置命令。



定义Trunk口的许可VLAN列表



一个Trunk口缺省可以传输本交换机支持的所有VLAN(1-4094)的流量。但是,您也可以通过设置Trunk口的许可VLAN列表来限制某些VLAN的流量不能通过这个Trunk口。



在特权模式下,利用如下步骤可以修改一个Trunk口的许可VLAN列表。



命令含义步骤1 configure terminal 进入全局配置模式步骤2 interface interface-id 输入想要修改许可VLAN列表的Trunk口的interface id 步骤3 switchport mode trunk 定义该接口的类型为二层Trunk口步骤4 switchport trunk allowed vlan { all | [add | remove | except]} vlan-list (可选)配置这个Trunk口的许可VLAN列表。参数vlan-list可以是一个VLAN,也可以是一系列VLAN,以小的VLAN ID开头,以大的VLAN ID结尾,中间用-号连接。如: 10–20。



all的含义是许可VLAN列表包含所有支持的VLAN;



add表示将指定VLAN列表加入许可VLAN列表;



remove表示将指定VLAN列表从许可



VLAN列表中删除;



except表示将除列出的VLAN列表外的所有VLAN加入许可VLAN列表;



您不能将VLAN 1从许可VLAN列表中移出。步骤5 end 回到特权命令模式步骤6 show interfaces interface-id switchport 检查接口的完整信息步骤7 copy running-config startup config (可选)将配置保存进配置文件



如果想把Trunk的许可VLAN列表改为缺省的许可所有VLAN的状态,请使用no switchport trunk allowed vlan接口配置命令。



下面是一个把VLAN 2从端口0/15中移出的例子:



Switch(config)# interface fastethernet0/15 
  
 
  

    Switch(config-if)# switchport trunk allowed vlan remove 2 
  
 
  

    Switch(config-if)# end 
  
 
  

    Switch# show interfaces fastethernet0/15 switchport 
  
 
  

    Interface Switchport Mode Access Native Protected VLAN lists 
  
 
  

    --------- ---------- --------- --------- --------- --------- ----------- 
  
 
  

    Fa0/15 Enabled Trunk 1 1 Enabled 1,3-4094



配置Native VLAN



一个Trunk口能够收发TAG或者UNTAG的802.1Q帧。其中UNTAG帧用来传输Native VLAN的流量。缺省的Native VLAN是VLAN 1。



在特权模式下,利用如下步骤可以为一个Trunk口配置Native VLAN。



命令含义步骤1 configure terminal 进入全局配置模式步骤2 interface interface-id 输入配置Native VLAN的Trunk口的interface id 步骤3 switchport trunk native vlan vlan-id 配置Native VLAN 步骤4 end 回到特权命令模式步骤5 show interfaces interface-id switchport 验证配置步骤6 copy running-config startup config (可选)将配置保存进配置文件



如果想把Trunk的Native VLAN列表改回缺省的VLAN 1,请使用no switchport trunk native vlan接口配置命令。



如果一个帧带有Native VLAN的VLAN ID,在通过这个Trunk口转发时,会自动被剥去TAG。



当把一个接口的native VLAN设置为一个不存在的VLAN时,交换机不会自动创建此VLAN。此外,一个接口的native VLAN可以不在接口的许可VLAN列表中。此时,native VLAN的流量不能通过该接口。



显示VLAN



在特权模式下,才可以查看VLAN的信息。显示的信息包括VLAN vid、VLAN状态、VLAN成员端口以及VLAN配置信息。以下罗列了相关的显示命令:



命令命令模式命令功能show vlan[id vlan-id] 特权模式显示所有或指定VLAN的参数



下面是一个显示VLAN的例子:



Switch# show vlan 
  
 
  

    VLAN Name Status Ports 
  
 
  

    ---- ------------------ --------- --------------- 
  
 
  

    1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4 
  
 
  

    Fa0/6, Fa0/7, Fa0/8, Fa0/9 
  
 
  

    Fa0/10, Fa0/11, Fa0/12, Fa0/13 
  
 
  

    Fa0/14, Fa0/15, Fa0/16, Fa0/17 
  
 
  

    Fa0/18, Fa0/19, Fa0/20, Fa0/21 
  
 
  

    Fa0/22, Fa0/23, Fa0/24, Gi0/1 
  
 
  

    Gi0/2 
  
 
  

    2 VLAN0002 active Fa0/5 
  
 
  

    4 VLAN0004 active 
  
 
  

    5 VLAN0005 active 
  
 
  

    Switch#show vlan id 2 
  
 
  

    VLAN Name Status Ports 
  
 
  

    ---- -------------------------------- --------- ------------- 
  
 
  

    2 VLAN0002 active Fa0/5


转载于:https://blog.51cto.com/happymx/345106