1. 虚拟局域网(VLAN)
(1)VLAN是建立在物理网络基础上的一种逻辑子网,它将把一个LAN划分成多个逻辑的局域网(VLAN),每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN之间不能直接互通。
(2)VLAN是一种将局域设备从逻辑上划分成一个个网段,而不用考虑这些LAN是否在同一个交换机上。
(3)VLAN的优点就是可以防范广播风暴以及增强局域网的安全性。
2. 创建和管理VLAN
(1)VLAN划分
①将一个交换机划分成两个VLAN,相当于将交换机逻辑上分成了两个交换。
②这两个不同的VLAN之间通信必须通过路由器转发,同时这两个VLAN的IP地址必须在不同的网段。
(2)创建和管理VLAN
Switch>en Switch#show vlan //查看vlan,默认所有的接口都在VLAN1 Switch#config t Switch(config)#vlan 2 //创建VLAN2, 删除命令为no vlan 2 Switch(config-vlan)#exit Switch(config)#interface range fastEthernet 0/13-24 //进入接口配置模式 Switch(config-if-range)#switchport mode access //将这些接口设置为“访问接口” Switch(config-if-range)#switchport access vlan 2 //将这些接口指定到vlan 2 Switch(config-if-range)#exit Switch(config)#exit Switch#show vlan //查看vlan
3. 交换机端口类型与帧标记
(1)交换机端口的类型
①访问端口:只能属于某一个VLAN,它只能承载某一个VLAN的流量。连接访问端口的链路称为访问链路。
②中继端口:能同时承载多个VLAN的流量,连接中继端口的链路称为干道链路。数据帧进入干道链路时需要添加帧标记(VLAN ID),离开干道链路时去掉帧标记(这对计算机来说是透明的),这些帧标记的意义在于用来识别通过干道的数据帧是来自哪个VLAN的,所以访问链路没有帧标记。
(2)帧标记
①IEEE802.1Q协议:俗称“Dot one Q”是由IEEE创建的,作为帧标记的标准方法。它实际上是在帧中插入一个字段以标识VLAN,可以Cisco交换机和不同品牌交换机之间中继链路。使用时要先指定准备采用802.1Q封装来实现中继的端口,同时为这些端口分配VLAN ID。
②ISL协议:交换机间链路(Inter-Switch Link),是Cisco产品支持的一种与IEEE802.1Q类似的,用于在中继链路上附加VLAN信息的协议。这是Cisco交换机专用的方法,只用于快速以太网和吉比特以太网链路,其用途广泛,可用在交换机端口、路由器端口和服务器接口卡上。
(3)干道链路连接多个VLAN
①图中VLAN1跨2个交换机,为了确保VLAN1网内部的计算机能通信,可以用一根网线连接在交换机A和B的VLAN1端口。如果交换机划分出多个VLAN时就需要多根网线来连接相应的VLAN端口,同时也占用大量的交换机端口。
②可以使用一条干道链路连接两个交换机的中继端口。这样当计算机A发广播帧时,SwitchA知道计算机A属于VLAN1的,就将该广播帧发送到本交换机上VLAN1的所有端口。同时通过干道链路发送到SwitchB,SwitchB收到后根据帧标志后,去掉帧标志然后转给其VLAN1端口上的计算机。(注意在访问链路上是没有帧标记的)
(4)干道链路和访问链路的选择
①如果需要多个VLAN通过的链路则需要配置为干道链路(如交换机B、C、D与交换机E之间的连接配置成干道链路)
②如果链路上只需要单一VLAN的数据通过则可以配置为访问链路。(如交换机A与E之间,因为交换机A上连接的是同一个VLAN的计算机!)
4. 跨交换机的VLAN
(1)配置干道链路
①在Switch1和Switch2上创建VLAN2并配置访问端口和干道端口
Switch>en Switch#config t Switch(config)#vlan 2 Switch(config)#interface range fastEthernet 0/13-24 //进入接口配置模式 Switch(config-if-range)#switchport mode access //将这些接口设置为访问接口 Switch(config-if-range)#switchport access vlan 2 //将接口指定到VLAN2 Switch(config-if-range)#ex Switch(config)#interface gigabitEthernet 0/1 //进入干道端口 Switch(config-if)#switchport mode ? access Set trunking mode to ACCESS unconditionally dynamic Set trunking mode to dynamically negotiate access or trunk mode trunk Set trunking mode to TRUNK unconditionally Switch(config-if)#switchport mode trunk //将接口指定为干道接口
②在汇聚层交换机Switch0创建VLAN2并配置干道端口
Switch>en Switch#config t Switch(config)#vlan 2 //必须创建VLAN2,虽然没有VLAN2的计算机直接连接到该交换机 Switch(config-vlan)#ex //进入接口配置模式(只有FastEthernet和GigabitEthernet接口支持干道) Switch(config)#interface range gigabitEthernet 0/1-2 Switch(config-if-range)#switchport trunk encapsulation dot1q //干道链路使用IEEE802.1Q协议 Switch(config-if-range)#switchport mode trunk //将接口指定为干道接口 Switch(config-if-range)#
③存在问题:如果网络中需要新增加一个VLAN3或将VLAN2删除,则需要在Switch1、Switch2和Switch0三个交换机上都进行增删操作,比较繁琐。这可以通过配置VTP域来统一管理,简化操作!
(2)配置VTP域(VLAN干道协议)
①VTP协议能够在干道链路上通告VLAN添加和删除,从而可以方便管理VLAN。它需要在交换机间共享VLAN信息。
②一个VTP域至少应该有一个交换机为Server(VTP模式设置为Server),可以在该交换机上添加、删除VLAN。这些更改将会通过VTP协议通告给VTP中的其他交换机。
③如果将交换机模式设置为Client,该交换机从VTP服务器接收VLAN信息,同时也发送和接收更新。但不能在这些交换机上添加或删除VLAN。如果将VTP模式设置为Transparent,能够通过干道链路通告VTP信息,但不会修改自己的VLAN信息。
//1. 在Switch1和Switch2上配置VTP域(含域名、密码和模式)
Switch>en Switch#config t Switch(config)#vtp domain myDM //必须有相同的VTP域名 Switch(config)#vtp password 123456 //必须有相同的密码 Switch(config)#vtp mode ? //查看VTP模式 client Set the device to client mode. server Set the device to server mode. transparent Set the device to transparent mode. Switch(config)#vtp mode client //设置为Client模式
//2. 在Switch0上的配置VTP
Switch(config)#vtp domain myDM //VTP域名 Switch(config)#vtp password 123456 //密码 Switch(config)#vtp mode server //Server模式 Switch(config)#vlan 40 //创建VLAN 40,用于测试增加VLAN,可去其他client交换机查看是否发生变化 Switch(config-vlan)#ex Switch(config)#no vlan 40 //删除VLAN 40,可去其他Client观察是否出现相应的变化 Switch(config)#ex Switch#show vlan //查看VLAN Switch#show vtp status //查看vtp域的配置
5. VLAN间通信与路由配置
5.1 单臂路由器实现VLAN间路由
(1)两条路由方法:
①普通路由:使用路由器的两个以太网络分别接入交换机的VLAN1和VLAN2接口来作为网关。(如左图)
②单臂路由:如果路由器的以太网接口支持802.1Q或ISL,就可以将路由器的以太网接口和交换机的干道接口相连(如右图),通过将路由器的物理接口分为逻辑上的接口,分别作为VLAN1和VLAN2的网关。(路由器接口的FastEthernet或gigabitEthernet支持单臂路由)
(2)实验:单臂路由
①在Switch1上创建VLAN2,将F0/13-24端口指定到VLAN2。
//Switch1 Switch#config t Switch(config)#vlan 2 //创建VLAN2 Switch(config-vlan)#ex Switch(config)#interface rang fastEthernet 0/13-24 //进入接口配置模式 Switch(config-if-range)#switchport mode access //指定这些接口为访问接口 Switch(config-if-range)#switchport access vlan 2 //指定到VLAN2 Switch(config-if-range)#ex Switch(config)#interface gigabitEthernet 0/1 //将接口配置为干道接口 Switch(config-if)#switchport mode trunk
②在Router0上配置子接口支持VLAN
Router#config t Router(config)#interface gigabitEthernet 0/0 //进入接口配置模式 Router(config-if)#no sh //物理接口需要启用,但不需要配置 Router(config)#ex Router(config)#interface gigabitEthernet 0/0.1 //进入0.1子接口,作为VLAN1的网关 Router(config-subif)#encapsulation dot1q 1 //使用802.1协议封装,1代表VLAN1的帧标志 Router(config-subif)#ip address 192.168.1.1 255.255.255.0 //子接口(逻辑接口)IP Router(config-subif)#no sh //启用子接口 Router(config-subif)#ex Router(config)#interface gigabitEthernet 0/0.2 //进入0.2子接口,作为VLAN2的网关 Router(config-subif)#encapsulation dot1q 2 Router(config-subif)#ip address 192.168.2.1 255.255.255.0 Router(config-subif)#no sh Router(config-subif)#ex Router(config)#ex
③测试:pc0 ping pc1
5.2 多层交换机实现VLAN间路由
(1)多层交换机的逻辑结构
①多层交换机虚拟接口(SVI)代表由交换端口构成的VLAN,一个SVI对应一个VLAN。
②每个SVI接口可用于连接一个子网,当需要路由虚拟局域网之间的流量时,SVI接口(也叫VLAN接口)的IP地址就是该子网的网关。
③组成SVI的物理接口都必须是Access接口。
(2)配置SVI接口
①在Switch0上配置VLAN接口
Switch#config t Switch(config)#interface vlan 1 //进入VLAN1的虚拟接口 Switch(config-if)#ip address 192.168.0.1 255.255.255.0 //设置接口IP和子网掩码 Switch(config-if)#no sh Switch(config-if)#exit Switch(config)#interface vlan 2 //进入VLAN1的虚拟接口 Switch(config-if)#ip address 192.168.1.1 255.255.255.0 //设置接口IP和子网掩码 Switch(config-if)#no sh Switch(config-if)#end Switch#show interface vlan 1 //查看VLAN1接口 Switch(config)#ip routing //启用三层交换机的路由功能(重要!) Switch#show ip route //查看路由表
②测试:PCO ping PC3