文章内容源自我对华为信息与网络技术学院教材中《路由与交换技术》一书的提炼与总结。本篇内容介绍了交VLAN中的一些概念和应用。
由若干台交换机以及与这些交换机连接的所有终端所组成的网络称之为交换网络,一个交换网络就是一个广播域。
VLAN技术能够在逻辑上把一个物理局域网分割为多个广播域,每个广播域称为一个“虚拟”局域网。
局域网解决了随着广播域扩大而带来的性能问题和安全性降低问题。
每台网络终端只能属于一个VLAN,属于一个VLAN的设备之间可以通过二层交换机直接通信而不必借助IP路由功能,属于不同VLAN的设备之间则只能通过IP路由功能才能实现通信。
VLAN技术通过给数据帧插入VLAN标签的方式让交换机能够分辨出各个数据帧所属的VLAN。
VLAN标签(VLAN tag)是用来区分数据帧所属VLAN的“贴纸”,是一个4字节长度的字段,它会以插入以太网数据帧头部的方式被“贴在”数据帧上。
VLAN标签被插入在源Mac地址后面,这个格式定义在IEEE 802.1Q标准中
VLAN标签的字段构成:
(1)TPID(标签协议标识符):长度为2字节,取值为0x8100,用来表示这个数据帧携带了802.1Q标签。不支持802.1Q标准的设备在收到这样的数据帧后,会把它丢弃。
(2)TCI(标签控制信息):长度为2字节。又细分为以下两个子字段,用来表示数据帧的控制信息。
如果交换机上划分了多个VLAN,在交换机接受到广播数据帧时,它只会将这个数据帧从除了该数据帧入站端口之外,其他同VLAN的所有端口发送出去。
如果交换机上划分了多个VLAN,那么当交换机接收到一个目的Mac地址不存在与自己Mac地址表中的单播数据帧时,它只会将这个数据帧从除了该入站端口之外,其他同VLAN的端口发送出去。
在不借助路由转发的大前提下,交换机不会将从一个VLAN的端口中接受到的数据帧,转发给任何其他VLAN中的端口。
在多VLAN环境中,即使交换机Mac地址表里保存了某数据帧目的Mac地址的条目,若这个目的Mac地址所对应的端口与数据帧的入站端口处于不同的VLAN中,交换机也显然不会通过Mac地址表中对应的那个端口吧这个数据转发出去。
处于不同VLAN无法通过Mac地址泛洪攻击来获取其他VLAN目的的单播数据帧。
1.VLAN技术对网络的积极改变:
*2.在网络设计中一个VLAN对应一个IP子网地址。管理员也可以在一个VLAN中配置多个IP子网地址。(不推荐)
1.基于源接口划分VLAN:管理员需手动绑定交换机接口与VLAN ID之间的关系。比如在一台48接口交换机上设置接口1~20属于VLAN 10,接口11~20属于VLAN 20,接口21~30属于VLAN 30等。这是最基础也是最常用的VLAN划分方法。这种方法的优点是配置简单,管理员想要把某个接口划分到某个VLAN中,只需要把该接口的PVID(接口VLAN ID)配置为相应的VLAN ID即可。缺点是当终端设备移动位置时,管理员很可能需要为终端设备连接的新接口重新划分VLAN:只有当终端设备移动前和移动后,它所连接的VLAN配置相同,管理员才无需重新为接口划分VLAN。
2.基于源Mac地址划分VLAN:管理员需要手动绑定终端设备网卡Mac地址与VLAN ID之间的关系。在使用这种方法时,管理员前期工作量较大,需要建立完整的Mac地址与VLAN ID映射表,但好处在于一旦配置完成,即使终端设备移动位置,管理员也无需再次配置。当交换机从终端设备那里第一次收到数据帧时,它会根据数据帧Mac地址,查找Mac地址与VLAN ID映射表,以此来确定该数据帧所属的VLAN;这个判断过程与交换机是从哪个接口收到的数据帧并无关系。
3.基于源IP地址划分VLAN:管理员需要手动绑定IP子网地址与VLAN ID之间的关系。这种方法适用于使用静态IP地址的网络环境,好处与使用Mac地址划分VLAN相同,即使终端设备移动位置,管理员也无需再次配置接口的VLAN设置。当若网络中使用DHCP协议自动为终端设备分配IP地址,这就进入了先有鸡还是先有蛋的循环:交换机需要知道终端设备的IP地址才能为其分配VLAN,但终端设备上没有IP地址,它需要通过某个VLAN的DHCP服务器来获取IP地址。
交换机的一大主要功能是连接各种类型的终端设备,这类设备大多不具备为自己生成的数据帧插入VLAN标签的功能,它们发出的数据帧被称为无标记帧,以此给这些无标记帧打上VLAN标签,成为了它们所连接交换机的任务。
PVID(接口默认的VLAN ID)是管理员给交换机接口配置的参数,这个参数的默认值为1。交换机通过每个接口的PVID。判断从这个接口收到的无标记帧应该属于哪个VLAN,并在进一步转发时,在数据帧中插入相应的VLAN标签。
*对于通过access端口接收到的无标记帧,交换机会先打标签再查表(即入站时打标),还是会先查表在打标签(即出站时打标),这项操纵都是各个厂商分别定义的,无公共标准。
根据是否打标签判断交换机接口类型:
(1)如果交换机某些接口连接的设备在正常情况下不会自行给数据帧打上VLAN标签,因而交换机通过这个接口收到的数据帧应为无标记帧,需要由交换机根据这些所在VLAN,为终端设备发来的数据帧打上VLAN标签;同时交换机在向这些接口连接的设备发送数据帧时也不应该打上VLAN标签的数据帧,那么管理员就应该把这类接口配置为access接口,access接口所连接的链路则称之为access链路。
(2)如果交换机某些接口所连接的设备会发来多个VLAN中的流量,为了区分这些流量,对端设备会给这些数据帧打上VLAN标签,所以交换机通过这个接口应该接收到的是标记帧;同时交换机也会为了让端设备能够区分自己发出流量所在的VLAN,因而给通过该接口发出的流量打上VLAN标签,那么管理员就应该把这类接口配置为trunk接口,相应的链路称之为trunk链路。
GVRP基于GARP这一通用协议,GARP全程是通用属性注册协议,它的工作原理是把一个GARP成员上配置的属性信息,快速且精准地传播到整个交换网络中,这些属性通常是VLAN和组播地址。
GARP定义了交换机之间交互GARP报文的数据格式。GARP是基于IEEE 802.3以太网数据格式定义的,IEEE 802.3这一格式常用于网络管理。
GARP以01-80-C2-00-00-21作为目的组播地址,凡是启用GARP的设备都会加入这个组,并且监听发往这个组的消息。
每个属性中包括以下字段:
(1)属性长度:标识该属性的长度,通常为2~255字节;
(2)属性事件:标识GARP支持的各种事件类型,取值范围0~5。
(3)属性值:定义属性中的具体值。
*由管理员手动配置的VLAN称之为“静态VLAN”,而交换机通过GVRP自动学习到的VLAN则称之为“动态VLAN”。
管理员在启用GVRP时,既要在交换机全局启用该特性,也要在每一个相关接口启用该特性。启用GVRP的接口必须允许多个VLAN的流量通过,接口必须配置为Trunk接口。
GVRP支持的3种接口注册模式:
(1)Normal(普通):这是GVRP的默认注册模式,到Trunk接口为Normal注册模式时,表示GVRP能够在该接口静态或动态创建、注册和注销VLAN,同时该接口能够发送有关静态VLAN和动态VLAN的声明消息。
(2)Fixed(固定):当Trunk接口为Fixed注册模式时,GVRP不能再该接口注册或注销动态VLAN,只能发送静态VLAN的注册消息,该接口只会放行管理员手动配置的那些VLAN中的数据。
(3)Forbidden(禁止):当Trunk接口为Forbidden注册模式时,GVRP不能再该接口上动态注册或注销VLAN,并且会删除接口上除VLAN 1之外的所有VLAN信息,只保留VLAN 1的信息,该接口值会放行VLAN 1的数据。
手动配置的那些VLAN中的数据。
(3)Forbidden(禁止):当Trunk接口为Forbidden注册模式时,GVRP不能再该接口上动态注册或注销VLAN,并且会删除接口上除VLAN 1之外的所有VLAN信息,只保留VLAN 1的信息,该接口值会放行VLAN 1的数据。