基础概念:
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。
关键问题:
一、为什么要划分vlan?
1.减少广播风暴(广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这就发生了“广播风暴”。)
VLAN最大的好处是可以隔离冲突域和广播域,试想,如果一个局域网内有上百台主机,如果一旦产生广播风暴,那么,这个网络就会被彻底的瘫痪。
可以通过vlan还划分广播与,这样使得广播被限制在每一个vlan里面,而不会跨VLAN传播。
2、网络管理方便
另外一个好处就是管理灵活,当一个用户需要切换到另外一个网络时,只需要更改交换机的vlan划分即可,而不用换端口和连线。
二、广播域和冲突域
广播域就是一个站点发送的信号能接受这个信号的一个范围
冲突域指一个站点向另一个站点发出信号。除目的站点外,有多少站点能收到这个信号。这些站点就构成一个冲突域。这些站点就构成一个冲突域。所有的共享介质环境都是一个冲突域,在共享介质环境中一定类型的冲突域是正常行为。
集线器是物理层设备,通过广播转发数据看对应mac地址是否是自己mac地址,整个集线器是一个冲突域
交换机是二层设备,有分割冲突域的功能,每个端口都是独立的,每个端口都是一个冲突域
vlan工作过程
在同一vlan下可以相互通信,包括交换机之间相同vlan也可相互通信,实现这个技术在交换机之间连接一条trunk接口,即可实现同一vlan不同交换机之间进行通信。不同vlan不能通信。
如果要实现不同vlan的跨网段通信可以利用单臂路由技术进行通信,一个路由器通过划分子接口
三、本征vlan
经过trunk接口的数据帧都要被打上trunk接口的标记,除了本征vlan(默认是vlan1),如果没有打标记的vlan会被传输到本征vlan下,如果两头本征vlan不匹配的话,就会出现数据发错的情况
1.更改native vlan
Switch(config-if)#switchport trunk native vlan 2
2.在本征vlan为2的交换机上,连接一个pc1把它划分到vlan2下网段为192.168.3.0
3.在本征vlan默认(vlan1)的交换机上连接一个pc2网段为192.168.3.0
4.pc2 ping pc1发现可以ping通
实验部分:
实验拓扑
1.手动创建VLAN
如果不创建VLAN,在划分的时候直接写vlan号也会自动创建
(1)
Switch#vlan database
% Warning: It is recommended to configure VLAN from config mode,
as VLAN database mode is being deprecated. Please consult user
documentation for configuring VTP/VLAN in config mode.
Switch(vlan)#vlan 10 name it
VLAN 10 added:
Name: it
(2)
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 20
Switch(config-vlan)#name hr
(3)删除vlan
Switch#vlan database
Switch#no vlan 10
2.划分vlan
Switch(config)#int f0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#int f0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config-if)#end
3.查看VLAN状态
Switch#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/2, Fa0/3, Fa0/4, Fa0/5
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
10 it active
20 hr active
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
4.创建trunk接口,实现同种vlan下不同交换机进行通信
Switch(config)#int f0/3
Switch(config-if)#switchport mode trunk
Switch(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/3, changed state to down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/3, changed state to up
5.查看trunk接口
Switch(config-if)#do show int trunk
Port Mode Encapsulation Status Native vlan
Fa0/3 on 802.1q trunking 1
Port Vlans allowed on trunk
Fa0/3 1-1005
Port Vlans allowed and active in management domain
Fa0/3 1,10,20
Port Vlans in spanning tree forwarding state and not pruned
Fa0/3 1,10,20
6.两边配置一样配置完之后即可实现同种vlan下不同交换机进行通信
PC>ping 192.168.1.20
Pinging 192.168.1.20 with 32 bytes of data:
Reply from 192.168.1.20: bytes=32 time=0ms TTL=128
Reply from 192.168.1.20: bytes=32 time=0ms TTL=128
Reply from 192.168.1.20: bytes=32 time=0ms TTL=128
Reply from 192.168.1.20: bytes=32 time=0ms TTL=128
Ping statistics for 192.168.1.20:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
单臂路由(VLAN间路由)
实现交换机之间跨网段通信是通过连接一个路由器分配网关,这个技术叫vlan间路由也叫单臂路由
我们划分vlan的目的只是为了安全性和减少广播风暴,但是我们还是想在同一内网下不同网段也可以通信的!所以实现这个技术可以用单臂路由
1.建立子接口
Router(config)#int f0/0.1
2.封装数据配置网关(端口没有设置ip,无法识别数据是给谁的,通过封装数据,知道数据是给谁的)
Router(config-subif)#encapsulation dot1Q 10
Router(config-subif)#ip add 192.168.1.1 255.255.255.0
3.另一个交换机一样配置
Router(config-subif)#int f0/0.2
Router(config-subif)#
%LINK-5-CHANGED: Interface FastEthernet0/0.2, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0.2, changed state to up
Router(config-subif)#encapsulation dot1Q 20
Router(config-subif)#ip add 192.168.2.1 255.255.255.0
4.设置trunk出接口
Switch(config)#int f0/4
Switch(config-if)#switchport mode trunk
5.实现跨网段通信
PC>ipconfig
FastEthernet0 Connection:(default port)
Link-local IPv6 Address.........: FE80::2D0:FFFF:FE7A:35D
IP Address......................: 192.168.1.10
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.1.1
PC>ping 192.168.2.20
Pinging 192.168.2.20 with 32 bytes of data:
Reply from 192.168.2.20: bytes=32 time=1ms TTL=127
Reply from 192.168.2.20: bytes=32 time=0ms TTL=127
Reply from 192.168.2.20: bytes=32 time=1ms TTL=127
Reply from 192.168.2.20: bytes=32 time=0ms TTL=127
Ping statistics for 192.168.2.20:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms