Vlan 详解
一.作用
将同一网段的物理网络分隔为多个逻辑网络,限制广播泛洪范围
二.实现机制
1.交换机端口类型
访问链接(Access link)接口
只属于一个vlan,且仅向该vlan转发数据帧的端口。
接收数据:接收到报文时,如果有带有vlan tag,判断该tag与接收端口的pvid是否相同,相同则进入 vlan.不相同则直接丢弃。不tag的报文直接打上tag,进入交换机。
发送数据:带有vlan tag的报文,去掉报文vlan tag信息发送。不带vlan tag的情况不可能出现。
访问链接实现方式:
静态vlan:基于端口的vlan,指定相应端口属于哪个Vlan
动态vlan: 根据每个端口所连的客户端改变端口所属的vlan
基于mac的vlan(MAC based vlan):通过查询并记录客户端mac地址来确定端口所属vlan
基于子网的vlan(Subnet based vlan):通过查询客户端的IP来确定端口所属vlan
基于用户的vlan(User based vlan): 通过查询客户端登录的用户账户来确定端口所属vlan
汇聚链接(trunk link) 接口
能够转发多个不同vlan数据帧的端口。
接收数据:接收到报文时,如果带有vlan tag则直接进入交换机,如果不带vlan tag则打上缺省vlan tag(native vlan),后进入交换机。
发送数据:带有vlan tag的报文判断是否与该端口的pvid相同,如果相同则去掉tag后发送,如果不同且该 接口允许该vlan pvid通过时,直接发送。不带vlan tag的情况不可能出
汇聚方式
a.802.1q 经过IEEE认证的对数据帧添加vlan识别信息的协议
在数据帧的源mac与类型之间添加4Bytes的vlan标识,具体内容为2字节的TPID(Tag Protocol IDentifier)和2字节的TCI(Tag Control Information),并重新生成CRC校验码,原CRC校验码删除.
TPID字段在以太网报文中所处位置与不带VLAN Tag的报文中协议类型字段所处位置相同。TPID的值固定为0x8100,它标示网络帧承载的802.1Q类型,交换机通过它来确定数据帧内附加了基于IEEE 802.1Q的VLAN信息。而实质上的VLAN ID,是TCI中的12位元。由于总共有12位,因此最多可供识别4096个VLAN。
b.ISL,是Cisco产品私有的一种与IEEE 802.1Q类似的、用于在汇聚链路上附加VLAN信息的协议。
ISL协议使用ISL包头(ISL Header)与重新计算的CRC校验码将原数据帧封装起来,因此也被称为封装型vlan。使用ISL后数据帧问部会新增26字节的ISL包头,数据帧尾部新增将ISL包头与原数据帧一起计算的4字节CRC校验码,原CRC校验码保留在源数据帧中。
三.vlan通信
1.同一vlan内部通信
下图交换机中1口和4口属于同一vlan, pcA发送arp请求pcB的MAC地址,数据帧在交换机1口打上vlan2的标签,并且在vlan2内转发arp广播,数据帧拆掉vlan2标签,通过4口找到B的mac地址为B,并将与pcA和pcB相连的端口、MAC地址、所属vlan关联起来存放在交换机MAC地址列表中。
2.不同vlan之间通信
下图交换机中1口和4口属于vlan2和vlan3, 12口为trunk接口。pcA用目的IP与自己子网掩码匹配,确认与pcB不在同一网段。pcA发送arp请求routerC的MAC地址.交换机1口接收到arp后将数据帧打上vlan2标签,并将arp转发到vlan2所有接口和trunk口,通过trunk口获取routerC的MAC地址(路由器可以拆分vlan tag)。routerC检查路由表发现目的IP属于vlan3所在网段,将数据信息重新封装打上vlan3标签信息后,通过trunk口发送arp到vlan3网段查询,交换机12口转发arp到vlan3中所有接口,4口拆掉数据帧vlan标签发给pcB,通过与数据报文中目的IP比较找到B的mac地址为B,并将与pcA和pcB相连的端口、MAC地址、所属vlan关联起来存放在交换机MAC地址列表中。
注:此时路由器需要与两个vlan通信,必需配置单臂路由承载多vlan通信。(或使用多个接口与交换机相应vlan接口相连)
3.三层交换机vlan通信
三层交换机在交换模块的基础上增加了路由模块,同一Vlan通信时只使用交换模块。不同vlan通信时,和使用汇聚链路连接路由器与交换机时的情形相同。
为了加快vlan的数据交换速度,三层交换机中使用被称为ASIC(ApplicationSpecified Integrated Circuit)的专用硬件芯片处理数据帧的交换操作,在很多机型上都能实现以缆线速度(Wired Speed)交换。
对于大量相同目的地址的数据传送,三层交换机提供一次路由、后续交换(CEF)的交换方式。即第一次传输数据通过路由条目找到目的主机后,构建一个高速交换缓存,后续数据通过高速缓存中转发端口号直接转发给目标所连接的端口。这样一来,就不需要再一次次经由内部路由模块中继,而仅凭交换机内部的缓存信息就足以判断应该转发的端口。交换机会对数据帧进行由路由器中继时相似的处理,例如改写MAC地址、IP包头中的TTL和Check Sum校验码信息等。
高速缓存存储信息包括:
(1)目标IP地址
(2)源IP地址
(3)目标TCP/UDP端口号
(4)源TCP/UDP端口号
(5)接收端口号(交换机)
(6)转发端口号(交换机)
(7)转发目标MAC地址