1.2 虚拟局域网(VLAN)
VLAN是一个在物理上根据用途、工作组或应用等来进行逻辑划分的局域网络。
1.2.1 虚拟局域网的原理
图1-33 利用路由器分割广播域
VLAN出现之前,由于局域网中任意一个站点发出的广播报文会被整个局域网内所有站点接收到(这时称整个局域网属于同一个广播域),但是大多数情况下,这些广播报文并不需要让局域网每个站点都知道(如ARP报文)。事实上,这样既浪费了大量带宽,又不利于安全。对于这个问题的传统解决方案是用路由器对网络进行分段,如图1-33所示。我们称这种方法为用路由器分割广播域,因为路由器不会转发二层广播报文,但是转发机制几乎全部由软件实现的路由器在性能上会成为整个网络的瓶颈,高性能的路由器虽然存在,但是价格上较昂贵。
VLAN出现之后,人们可以通过VLAN为网络分段,属于不同VLAN的各个网段属于不同的广播域,如图1-34所示。一个VLAN就是一个传统意义上的局域网——这正是VLAN得名的缘故。各个网段可以共用同一套网络设备,既节约了网络硬件的开销,同时也大幅度降低了在迁移中所需的工作量,从而降低了连网成本。如图1-35所示,在同一台交换机上划分VLAN 10、VLAN 20、VLAN 30,交换机的1~8端口构成VLAN 10,交换机的9~16端口构成VLAN 20,交换机的17~24端口构成VLAN 30。
图1-34 利用VLAN分割广播域
图1-35 VLAN示意图
必须注意的是,将网络分成多个VLAN最终目的不是为了隔离各个网络,而是为了提高网络的性能和安全性,最终还是需要通过路由机制将各个VLAN互连起来,但是这并不意味着又回到刚才的低性能,在仔细的流量分析基础上进行合理规划和使用诸如三层交换机之类的新设备是可以构造一个大型高性能局域网的。
1.2.2 VLAN的类型
1.基于端口的VLAN
针对交换机的端口进行VLAN的划分,不受主机的变化影响,一个端口只属于一个VLAN,基于端口的VLAN设置在连接主机的交换机端口,如图1-36所示。
图1-36 基于端口的VLAN
2.基于协议的VLAN
在一个物理网络中针对不同的网络层协议进行安全划分,如使用IP协议和使用IPX协议的计算机分别划分为不同的VLAN,如图1-37所示。
图1-37 基于协议的VLAN
3.基于MAC地址的VLAN
对基于主机的MAC地址进行VLAN划分,主机可以任意在网络中移动而不需要重新划分VLAN,如图1-38所示。
图1-38 基于MAC地址的VLAN
4.基于IP子网的VLAN
针对不同的用户分配不同子网的IP地址,从而隔离用户主机,一般情况下结合基于端口的VLAN进行应用,如图1-39所示。
图1-39 基于IP子网的VLAN
1.2.3 基于端口的VLAN的基本原理
1.VLAN标签
IEEE 802.1Q是新的虚拟局域网标准,它统一了各个厂商的VLAN实现方案,使不同厂商的设备可以同时在一个网络中使用,各自的VLAN设置可以被其他设备所识别,符合IEEE 802.1Q标准的交换机可以和其他交换机互通。
IEEE802.1Q标准定义了一种新的帧格式,它在标准的以太网帧的源地址后面加入了一个Tag Header。Tag Header中最重要的一个字段是VLAN ID,指示这一帧所属VLAN。
交换机用VLAN标签来区分不同VLAN的以太网帧,如图1-40所示。802.1Q帧格式如图1-41所示。
图1-40 VLAN标签
图1-41 带有IEEE 802.1Q标记的以太网帧格式
2.VLAN的基本原理
基于端口的VLAN的基本原理是通过查找MAC地址表,交换机对发往相同VLAN ID的数据进行转发,而对发往不同VLAN ID的数据不转发,如图1-42所示,交换机的端口E1/0/1口和E1/0/2口的VLAN ID相同,都为10。因此,PC A与PC B可以相互发送数据,而E1/0/3的VLAN ID与E1/0/1和E1/0/2不同,故PC A与PC C、PC B与PC C之间不能相互发送数据。
图1-42 VLAN的基本原理
3.单交换机VLAN标签操作
在进入交换机端口时,附加默认VLAN标签;出交换机端口时,去掉VLAN标签,如图1-43所示。
图1-43 单交换机VLAN标签操作
4.跨交换机VLAN标签操作
带有VLAN标签的以太网帧在交换机间传递,如图1-44所示
图1-44 跨交换机VLAN标签操作
1.2.4 VLAN配置基础
配置步骤:
(1)创建VLAN并进入VLAN视图;
(2)将指定端口加入到当前VLAN中;
(3)设置接口工作模式VLAN基本配置命令如表1-9所示。
表1-9 VLAN基本配置命令
命令说明:
Quidway S3026实现了符合IEEE 802.1Q的基于端口的VLAN。配置VLAN时,首先需要在系统视图下创建VLAN,如果已经创建,则可以直接进入VLAN视图,进行VLAN配置。
默认情况下,系统将所有端口都加入一个默认的VLAN中,该VLAN的ID为1。在Quidway S3026交换机上,VLAN 1既不能被创建也不能被删除。
当需要为VLAN增加某些以太网端口或删除VLAN的某些以太网端口时,可以在VLAN视图下使用port命令。port_num为单个以太网端口,表示方法为:
port_num={interface_type interface_number | interface_name}
interface_type在S3026中只有Ethernet和GigabitEthernet。interface_number采用槽位编号/端口编号的格式,对于Ethernet,槽号只能为0,端口号范围为1~24;对于GigabitEthernet,槽号取值1或2,端口号只能为1。interface_name即“端口类型+端口编号”。注意:关键字“to”之后的端口号要大于等于“to”之前的端口号,并且要求前后端口类型相同,包含的端口都必须已经存在。“&<1-10>”表示可以重复输入port_num的次数,最小为1,最大为10。还需要注意输入的接口中不能包含Trunk类型的接口。
除了上一命令外,还可以在接口视图下使用“port access vlan vlan_id”命令将本接口加入到指定VLAN。
在网络中,如果要求某个VLAN与其他VLAN能够互相访问,可以设置VLAN共享或主/子VLAN。在主/子VLAN结构中,子VLAN与主VLAN可以相互访问,子VLAN间的端口不能互相访问。例如:在一个公司中可以设置总经理所在的VLAN以访问任何部门的VLAN,而部门之间的VLAN却不能互相访问。
1.2.5 VLAN配置实验
1.实验目的
为某公司的财务部划分VLAN,掌握交换机中VLAN的创建、划分、设置技术及跨交换机的VLAN配置方法。
2.实验步骤
(1)VLAN的基本配置
第一步:搭建实验环境。
本节利用基于端口的VLAN划分方式进行虚拟局域网的基本配置实验。VLAN2、VLAN3组所对应的网段如表1-10所示,将交换机1的2-11口和交换机2的2-9口划分为VLAN2(注:VLAN1是交换机的默认VLAN,既不能被创建,也不能被删除),交换机1的12-19口和交换机2的10-21口划分为VLAN3。网络拓扑如图1-45所示。
表1-10 VLAN2、VLAN3组所对应的网段
图1-45 VLAN网络配置图
第二步:把1~8八台主机的IP地址设置成同一网段地址,将设置结果填入表1-11。
表1-11 IP地址分配
第三步:通过Windows自带的超级终端软件,进入交换机的用户模式,对交换机1进行VLAN配置。
<Quidway>sys Enter system view, return to user view with Ctrl+Z. [Quidway]sysname Switch1 [Switch1]vlan 2 [Switch1-vlan2]port e0/2 to e0/11 [Switch1-vlan2]vlan 3 [Switch1-vlan3]port e0/12 to e0/19 [Switch1-vlan3]quit
第四步:对交换机2进行VLAN配置。
<Quidway>sys Enter system view, return to user view with Ctrl+Z. [Quidway]sysname Switch2 [Switch2]vlan 2 [Switch2-vlan2]port e0/2 to e0/9 [Switch2-vlan2]vlan 3 [Switch2-vlan3]port e0/10 to e0/21 [Switch2-vlan3]quit
第五步:测试各台计算机之间是否能够相互通信(同一个VLAN中的各台计算机可以互相通信,不同的VLAN之间无法通信),记录配置后的结果填入表1-12。
表1-12 测试连通性
操作提示:
在对交换机进行配置的过程中,可以使用display命令查看配置的情况,如:
[Switch1]dis vlan all可以查看交换机1上VLAN的配置情况。
[Switch1]dis cur可以查看计算机1当前的配置信息。
(2)交换机Trunk端口配置
为了使交换机1与交换机2上相同的VLAN能够相互通信,将交换机之间相连的接口配置成Trunk类型。
第一步:连接交换机1和交换机2。将交换机1的E0/22端口和交换机2的E0/22端口相连,如图1-45所示。
第二步:配置交换机上的Trunk端口。将交换机1的E0/22和交换机2的E0/22的接口类型配置成Trunk类型,并且允许VLAN 2和VLAN 3通过。
参考配置命令如下:
Switch1: [Switch1]int e0/22 [Switch1-Ethernet0/2]port link-type trunk [Switch1-Ethernet0/2]port trunk permit vlan 2 3 Switch2: [Switch2]int e0/22 [Switch2-Ethernet0/2]port link-type trunk [Switch2-Ethernet0/2]port trunk permit vlan 2 3
第三步:测试各台计算机之间是否能够相互通信(同一个VLAN中的各台计算机可以互相通信,不同的VLAN之间无法通信),记录配置后的结果填入表1-13。
表1-13 VLAN的配置结果