数据链路层:虚拟局域网(VLAN)
笔记来源:
湖科大教书匠:虚拟局域网(VLAN)概述
湖科大教书匠:虚拟局域网(VLAN)实现机制
声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考
1.1 虚拟局域网(VLAN)概述
使用一个或多个以太网交换机互连起来的交换式以太网,其所有站点都属于同一个广播域。
巨大广播域带来许多问题:广播风暴、难以维护、安全问题
下图为广播风暴的示例,广播风暴会浪费网络资源和各主机CPU资源
为防止广播风暴,我们需要将巨大广播域分割为多个小广播域
分割广播域的方法有:路由器、VLAN
路由器默认情况下不对广播数据包进行转发,这个特定起到隔离广播域的作用,但路由器成本较高,局域网内全部使用路由器来隔离广播域不太现实
VLAN是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。
同一个VLAN中才能收到该VLAN中某主机的广播,而其他VLAN中的主机无法收到该广播
1.2 虚拟局域网(VLAN)的实现机制
实现机制本质上就是给发送来的帧打标签,同一个标签属于同一个VLAN
实现流程:以太网V2的MAC帧 -> 交换机某端口 -> 插入VLAN标记后的802.1Q帧(简称为打标签) -> 根据VLAN标记找到交换机的目标端口 -> 交换机去除VLAN标记(简称为去标签) -> 目的主机
VLAN标识符VID唯一标志了以太网帧属于哪一个VLAN
交换机的端口类型有三种:Access、Trun、Hybrid
华为交换机端口缺省VLAN ID称为Port VLAN ID,简记PVID,交换机的每一个端口有且仅有一个PVID
Access端口一般用于连接用户计算机,Access端口只能属于一个VLAN
Access端口接收处理方法:
一般只接收未打标签的普通以太网帧,并给其打标签。
Access端口发送处理方法:
若慎中的VID等于端口PVD,则去掉标签并转发;否则丢弃。
下图中交换机端口1,2,3,4都为Access端口
Trunk端口一般用于交换机之间或交换机与路由器之间的互联,Trunk端口可以属于多个VLAN(可接收和发送多个VLAN的帧)
Trunk端口接收处理方法:
接收已打标签的懒:
接收未打标签的顿,根据端口的PVID值给帧打标签
Trunk端口发送处理方法:
帧中VID等于端口PVID,去掉标签再转发:
顿中VID不等于端口PVID,直接转发
下图中端口5为Trunk端口
Trunk端口发送处理方法:对VID=PVID的帧,进行去标签转发
下图中端口5为Trunk端口
Trunk端口发送处理方法:对VID
≠
\neq
=PVID的帧,直接转发
Hybrids端口既可用于交换机之间或交换机与路由器之间的互连(同Trunk端口),也可用于交换机与用户计算机之间的互连(同Access端口)
Hybrid端口接收处理方法:
接收已打标签的慎:
接收未打标签的幀,根据端口的PV1D值给慎打标签
Hybrid端口发送处理方法:
查看数据慎中的VD是否在端口的“去标签”列表中:
如果存在,则去掉标签再转发:
如果不存在,则直接转发。
下图中端口1,2,3均为Hybrid类型端口
(A->C)帧从端口1进入,因该端口PVID=10,故对该帧打标签VID=10,端口3中的去标签列表中有VID=10,故对该帧进行去标签转发,最终到主机C
(A->C)帧从端口1进入,因该端口PVID=10,故对该帧打标签VID=10,端口2的去标签列表中没有VID=10,故对该帧直接转发,主机B无法识别带有VLAN标记的帧(802.1Q帧),直接丢弃该帧