虚拟局域网技术 (VLAN技术)
将一个大型的局域网人为地划分成多个孤立的局域网。
一个VLAN就是一个广播域,划分VLAN就是把一个广播域划分为多个广播域。
将划分的各个VLAN互联需要路由器。
划分虚拟局域网的作用
- 限制广播,提高带宽利用率。
- 提高安全性。
tag帧——为实现VLAN技术引入的帧
- 与传统的以太网帧相比多了一个字段,tag,用于标记该帧属于哪个VLAN。
- 网络中允许tag帧和传统的以太帧同时存在。
交换机端口的VLAN属性——Access、trunk、hybrid
每个交换机端口只能具备三种属性的一种属性。
- Access端口,只能属于一个VLAN,从该端口发出去的数据包不带VLAN标签,只能连接非交换机设备(主机、路由器、打印机)。Access端口都是Untagged的。
- Trunk端口可以属于多个VLAN,可以接收或发送带VLAN标签的报文,只能连接交换机和交换机。只允许缺省pvid的帧是Untagged的。
- Hybrid端口可以属于多个VLAN,可以接收和发送属于多个VLAN的报文,交换机和其他设备都可以连接。可以设置针对某些VLAN是Untagged的。
当交换机从某个端口收到一个不带VLAN标签的数据帧时,在交换机内部将该数据帧视为带缺省VLAN(pvid)标签的数据帧。
华为/H3C交换机初始化时,默认所有端口属于VLAN1,且VLAN1是每个端口的缺省VLAN(pvid=1),VLAN1是untag的。
以太网交换机的转发流程
接收
- 确定数据帧的VLAN ID(无VLAN标签的数据帧,将该端口缺省VLAN ID(pvid)作为其VLAN ID)。
- 进行源地址学习(结合VLAN ID),更新MAC地址表。
转发(交换机内)
转发时所有的数据帧都带VLAN ID。
根据MAC地址表、数据帧的MAC和VLAN ID进行转发。
发送
根据端口的类型(Tagged和Untagged)来决定是否添加或者去掉VLAN TAG,然后发送数据帧。
VLAN实验步骤
- 组网
- 划分VLAN
- ping各个主机,观察VLAN的隔离作用
- 用两台交换机,划分跨设备的VLAN
- 配置trunk端口
- 检查各主机间的ping通情况,体会trunk端口的作用
- 将trunk端口改为hybrid端口
- ping各个主机
- 配置hybrid端口的默认VLANID
- 再ping各个主机
VLAN trunk实验
上图中PCA向PCC发送数据帧:
- 由于主机端口一般是ACCESS的,所以发出去的数据帧是untagged的。
- S1的E0/1端口接收后,根据E0/1的缺省VLAN ID,将数据帧打上VLAN2的标签。
- 交换机S1根据数据帧的目的MAC地址,查找MAC地址表,将数据帧转发给S2。
- S2接收后,查找S2的MAC地址表,将数据转发给PCC的E0/1端口。
- S2转发时去掉tag,转发给PCC。
S2配置命令
<H3C>sy
[H3C]sy S2
[S2]vl
[S2]vlan 2
[S2-vlan2]port e
[S2-vlan2]port Ethernet 1/0/1 #将端口0/1设置为Vlan2
[S2-vlan2]vlan 3
[S2-vlan3]port Ethernet 1/0/24 #将端口0/24设置为Vlan3
[S2-vlan3]int e1/0/13
[S2-Ethernet1/0/13]port li
[S2-Ethernet1/0/13]port link-t
[S2-Ethernet1/0/13]port link-type tr
[S2-Ethernet1/0/13]port link-type trunk
[S2-Ethernet1/0/13]port tr
[S2-Ethernet1/0/13]port trunk pe
[S2-Ethernet1/0/13]port trunk permit vl
[S2-Ethernet1/0/13]port trunk permit vlan 2 3 #trunk允许Vlan2、3通过
[S2-Ethernet1/0/13]
S1配置命令
<H3C> sy #进入系统视图
[H3C] sy S1 #修改设备的名称
[S1]vl
[S1]vlan 2 #配置vlan2
[S1-vlan2]port e
[S1-vlan2]port Ethernet 1/0/1
[S1-vlan2]vlan 3 #配置vlan3
[S1-vlan3]port Ethernet 1/0/24
[S1-vlan3]int e1/0/13
[S1-Ethernet1/0/13]port l
[S1-Ethernet1/0/13]port link-t
[S1-Ethernet1/0/13]port link-type t
[S1-Ethernet1/0/13]port link-type trunk #配置端口的类型为trunk
[S1-Ethernet1/0/13]port trunk permit vlan 2 3
VLAN Hybrid实验
把S1和S2设置成Hybrid端口,将VLAN2配置成Tagged,VLAN3配置成Untagged。
PCApingPCC
- PCA发包进入S1,S1给数据帧打上VLAN2的标签。
- 再通过trunk链路,将数据帧发送给S2。
- S2根据MAC地址表将数据帧发给PCC(去掉PCC)。
PCBpingPCD
- 由于VLAN3是untagged的,因此数据帧由S1发往S2时,会去掉tag。
- 同一个交换机内,不同的VLAN是严格隔离的,因此属于VLAN1的数据帧不能正常发送给VLAN3的PCD。
让两个主机Ping通的方法:
- 将端口改为Tagged。
- 将Pvid改为3。