概述
- 一个或多个交换机互连起来的交换式以太网,其所有站点共属于一个广播域
- 巨大的广播域会带来很多弊端:
- 广播风暴
- 浪费资源
- 除非不许情况下,网络中的主机尽量不使用广播
- 网络中会频繁出现广播:
- TCP/IP协议栈中有很多协议都会使用广播:
- 例如地址解析协议ARP
- 路由信息协议RIP(小型的内部路由协议)
- 动态主机配置协议DHCP(用于自动配置IP地址)
- TCP/IP协议栈中有很多协议都会使用广播:
- NetBEUI:Windows下使用的广播型协议
- IPX/SPX:Novell网络的协议栈
- Apple Talk:Apple公司的网络协议栈
- 难以管理和维护
- 潜在的安全问题
- 广播风暴
- 分割广播域的方法
- 使用路由器可以隔离广播域:
- 路由器默认情况下不对广播数据包进行转发,所以路由器可以很自然地隔离广播域
- 但是成本高,都用路由器,不现实
- 使用路由器可以隔离广播域:
- 虚拟局域网VLAN技术应运而生
- 虚拟局域网VLAN是一种将局域网内的设备划分于物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。
比如这三层楼分别有3个交换机,再有一个交换机把他们组成一个广播域,三台交换机划分三个网段,可以把这些主机划分出VLAN1和VLAN2,同一个VLAN中的主机可以广播通信,不同VLAN中的主机不可以
实现机制
- VLAN是在交换机上实现的
- 需要交换实现以下两大功能:
- 能够处理带有VLAN标记的帧(IEEE 802.1Q帧)
- 交换机的各端口可以支持不同的端口类型(不同端口类型的端口对帧的处理有所不同)
IEEE 802.1Q帧
- IEEE 802.1Q帧(也称Dot One Q帧)对以太网的MAC帧格式进行了扩展,插入了4字节的VLAN标记。
- VLAN标记的最后12比特称为VLAN标识符VID,它唯一地标志了以太网帧属于哪一个VLAN。
- VID的取值范围是0~4095
- 0和4095都不用来表示VLAN,因此有效取值范围是1~4094
802.1Q帧是由交换机处理的,而不是用户主机处理的。
交换机的端口类型一般有以下三种:
- Access
- Trunk
- Hybird 思科交换机没有这种端口
交换机各端口的缺省VLAN ID
Access端口一般用于连接用户计算机
- Access端口只能属于一个VLAN
- Access端口的PVID值与端口所属的VLAN的ID相同(默认为VLAN1)
交换机首次上电时,默认配置各端口属于VLAN1,也就是各端口的PVID值等于1,默认配置各端口的类型为Access,用A来表示
- Access端口接收处理方法:
一般只接受未打标签的普通以太网MAC帧。根据接收帧的端口PVID给帧打标签
- Access端口发送处理方式:
若帧中的VID与端口的PVID相等,则去标签,并转发该帧,否则不转发。
Trunk端口
- 一般用于交换机之间或交换机与路由器之间的互连
- Trunk可以属于多个VLAN
- 用户可以设置Trunk端口的PVID值,默认情况下,Trunk的PVID值为1
- Trunk端口发送处理方法:
- 对VID等于PVID的帧,去标签再转发;
- 对VID不等于PVID的帧,直接转发。
- Trunk端口接收处理方法:
- 接收未打标签的帧,根据接收真的端口PVID给帧打标签,插入VLAN标记字段,字段中的VID取值与端口的PVID取值相等。
- 接收已打标签的帧。
下图中,主机A和主机C发广播,分别对应VID等于PVID和VID不等于PVID
得出:交换机之间应用Trunk端口,交换机和主机之间应用Access端口
Hybrid端口
华为交换机私有
- Hybrid端口既可用于交换机之间或与路由器的互连(Trunk端口),也可用于与用户计算机之间的互连(Access)
- Hybrid端口可以属于多个VLAN(同Trunk)
- 用户可以设置Hybrid端口的PVID值,默认为1(同Trunk)
- Hybrid端口发送处理方法(同Trunk不同)
- 查看帧的VID是否在端口的“去标签”列表中:
- 若存在,则去标签,后再转发
- 若不存在,则直接转发。
- 查看帧的VID是否在端口的“去标签”列表中:
- Hybrid端口接收处理方法(同Trunk)