1.vlan的概述和产生的原因
vlan:就是虚拟局域网,用来分割广播域,将一个大的广播域按照需求划分为若干个小的广播域
产生的原因:因为广播和未知单播的的报文等都会在二层网络中泛洪,以广播域为例,一个发,全部设备都接收,只有一个目的设备会回复。
假如一个广播域如果太大里面有几百台设备。那么广播报文和未知单播的泛洪,将会浪费大量的资源和带宽。
2.vlan的实现原理
2.1 vlan标签
valn基于tag进行识别是否属于同一个vlan
在以太网的数据帧中的:源MAC地址和类型中插入802.1Q tag(TPID、PRI、CFI、VLAN ID)--共32bit
TPID(协议优先级标识符) 16bit --
(0x8100)值表示为8021.Q帧
PRI(优先级) 3bit --标识帧的优先级,主要用于QOS
CFI(标准格式指示符)1bit 在以太网环境中,该字段为0
VLAN ID (vlan标识符) 12bit --标识该帧所属的vlan
3.vlan划分方式
3.1基于接口的划分(最常用的模式)
在接口下配置,接入该接口的设备就属于该接口所配置的vlan
优点:配置简单
缺点:当主机移动时,需要重新分配VLAN
3.2基于mac地址的划分
根据数据帧的源MAC地址来划分VLAN
优点:当主机移动时,不用重新分配VLAN
缺点:初始化时,所有的用户都必须进行配置
3.3基于网络层的划分
基于子网划分vlan和基于协议划分vlan统称为基于网络层划分vlan
优点:可以减少手工配置vlan的工作量,也可以保证用户自由地增加、减少和修改。
缺点:安全性不高,效率低下
4.以太网二层接口类型
4.1access接口
1.通常用来连接用户主机、路由器、服务器等。只允许一个vlan id通过
2.工作流程:
2.1当接口收到的数据帧不携带vlan tag,该接口就为这个数据帧打上该接口配置的vlan id,默认vlan id为1,用户可自行修改接口默认vlan id。检查接口是否允许该vlan id通过,允许则通过,不允许则不通过。
2.2当接口收到的数据帧携带vlan tag值,该接口就检查该vlan tag的vlan id是否与接口配置的PVID相同,相同就接收该数据帧,不同则丢弃。然后检查该vlan id是否在允许通过列表中存在,存在则允许该vlan id通过,不允许则丢弃。
2.3当接口发送某一数据帧给用户主机、路由器、服务器等设备时,先检查该vlan id是否在允许通过的列表中,在则通过,不在则丢弃;通过后再
检查数据帧的vlan id的值是否和接口配置的PVID一致,一致则剥离VLAN tag发送出去。不一致则不允许从该接口发送出去。
4.2trunk接口
1.通常用来连接其他交换机,允许多个valn id通过
2.工作流程:
2.1当接口收到 不携带vlan tag的数据帧时,打上该接口默认PVID,检查该接口是否允许该vlan id通过,允许则通过,不允许则不能通过。
2.2当该接口收到携带vlan tag数据帧时,检查该vlan tag中的vlan id是否在允许通过的列表中,在则允许通过,不在则丢弃。
2.3当该接口发送某个数据帧时,检查该数据帧是否携带vlan tag,如果携带则检查vlan id是否在该接口允许发送列表中,如果存在就检查该vlan id是否和PVID一致,如果一致,则剥离标签发送该数据帧,不一致则携带标签转发该数据帧;
如果携带的vlan id不在该接口允许发送列表中,则丢弃该数据帧。
4.3hybrid接口(access+trunk结合版)
1.这个模式的话,我感觉是access+trunk结合版,既可以用来连接用户又可以用来连接其他交换机。
2.工作流程:
2.1当接口收到不携带valn tag值的数据帧时,打上缺省的vlan id,当缺省 vlan id在允许通过的vlan id列表中时,接收该报文。不在则丢弃该报文。
2.2
当接口收到携带valn tag值的数据帧时,该vlantag中的vlan id在允许通过的vlan id列表中时,接收该报文。不在则丢弃。
2.3当接口发送某一个携带vlan tag 的数据帧时,如果该数据帧中的
vlan id
是该接口允许通过的vlan id时,发送该报文。如果配置的是tagged vlan。则会携带802.1q标签发送出去,如果配置的是untagged vlan,则会剥离该vlan ID在发送出去。