vlan的工作原理,即vlan通信原理,如下:
1.vlan的基本通信原理
为了提高处理效率,交换机内部的数据帧始终携带VLAN标签,统一处理。当数据帧进入交换机接口时,如果接口上没有VLAN标签并且配置了PVID(端口默认VLAN标识),则数据帧将被标记为接口的PVID。如果数据帧已经有VLAN标签,即使接口已经配置了PVID,交换机也不会用VLAN标签标记数据帧。
由于接口类型不同,交换机对数据帧的处理也不同。下面根据不同的接口类型分别介绍。
访问接口
接收消息并标记默认的VLAN标识。
当VLAN标识与默认VLAN标识相同时,接收消息;
当VLAN标识与默认的VLAN标识不同时,该消息将被丢弃。
发送之前,剥去框架的PVID标签。
中继接口
标记默认VLAN标识,当默认VLAN标识在允许通行的VLAN标识列表中时,接收消息;
当默认VLAN标识不在允许的VLAN标识列表中时,该消息将被丢弃。
当VLAN标识在接口允许的VLAN标识列表中时,接收消息;
当VLAN标识不在接口允许的VLAN标识列表中时,该消息将被丢弃。
当VLAN ID与默认的VLAN ID相同,并且是接口允许的VLAN ID时,移除Tag并发送消息;
当VLAN标识不同于默认的VLAN标识,并且是接口允许的VLAN标识时,保留原始标签并发送消息。
混合接口
标记默认VLAN标识,当默认VLAN标识在允许通行的VLAN标识列表中时,接收消息;
标记默认的VLAN标识,当默认的VLAN标识不在允许的VLAN标识列表中时,丢弃该消息。
当VLAN标识在接口允许的VLAN标识列表中时,会收到消息。
当VLAN标识不在接口允许的VLAN标识列表中时,该消息将被丢弃。
当VLAN标识是接口允许的VLAN标识时,消息被发送。
您可以设置通过命令发送时是否携带标签。
QinQ接口
QinQ接口是使用QinQ协议的接口。
QinQ接口可以在帧上增加一个双Tag,即在原有Tag的基础上,在帧上增加一个新的Tag,这样最多可以支持40944094个VLAN,满足网络对VLAN数量的需求。
由于默认情况下设备的所有接口都添加到VLAN1中,当网络中存在未知的VLAN1单播、组播或广播消息时,可能会引起广播风暴。对于不需要加入VLAN1的接口,及时退出VLAN1,避免环路。
2.VLAN交换机间的通信原理
有时,属于同一VLAN的用户主机连接到不同的交换机。当VLAN穿过交换机时,交换机之间的接口必须能够同时识别并通过交换机发送VLAN消息。此时,需要中继链路技术。
中继链路有两个功能:
1.继电器功能:
VLAN信息到互联交换机的透明传输。
2.主线功能:
多个VLAN的消息可以在中继链路上传输。
图1中继链路通信模式示意图
例如,在上面图1所示的网络中,为了使设备a和设备b之间的链路同时支持VLAN2中的用户通信和VLAN3中的用户通信,需要配置连接接口以同时加入两个VLAN。
也就是说,设备a的以太网端口2和设备b的以太网端口1应该配置为同时加入VLAN2和VLAN3。
当用户主机甲向用户主机乙发送数据时,数据帧的发送过程如下:
数据帧首先到达设备a的接口端口4。
端口4向数据帧添加一个标签,标签的VID字段用接口所属VLAN的数字2填充。
设备a查询自己的媒体访问控制地址表中是否有目的地址为设备b的媒体访问控制地址转发表条目。
如果是,设备a将数据帧转发到接口端口2。
如果不存在,设备a会将数据帧发送到除端口4接口之外的该设备上属于VLAN2的所有接口。
端口2将帧转发到设备b。
设备B收到数据帧后,会查询自己的MAC地址表中是否有目的地址为主机B的MAC地址转发条目。
如果存在,DeviceB会将数据帧发送到接口端口3。
如果不存在,设备b会将数据帧发送到除端口1接口之外的该设备上属于VLAN2的所有接口。
端口3将数据帧发送到主机b。
/p>3、VLAN间通信原理
划分VLAN后,不同VLAN之间不能直接通信。如果要实现VLAN间通信,可以采取以下方案:
图2 通过子接口实现VLAN间的通信
1、子接口
如上图2所示,DeviceA为支持配置子接口的三层设备,DeviceB为二层交换设备。LAN通过DeviceB的以太网接口(交换式以太网接口)与DeviceA的以太网接口(路由式以太网接口)相连。用户主机被划分到两个VLAN:VLAN2和VLAN3。可通过如下配置实现VLAN间互通。
在DeviceA的以太网接口(与DeviceB相连的以太网接口)上创建2个子接口Port1.1和Port2.1,并配置802.1Q封装与VLAN2和VLAN3分别对应。
配置子接口的IP地址,保证两个子接口对应的IP地址路由可通。
将DeviceB与DeviceA相连的以太网接口类型配置为Trunk或Hybrid类型,允许VLAN2和VLAN3的帧通过。
将用户设备的缺省网关设置为所属VLAN对应子接口的IP地址。
主机A和C的通信过程如下:
主机A将主机C的IP地址和自己所在网段进行比较,发现主机C和自己不在同一个子网。
主机A发送ARP请求给自己的网关DeviceA,请求网关的MAC地址。
DeviceA收到该ARP请求后,返回ARP应答报文,报文中源MAC地址为VLAN2对应子接口的MAC地址。
主机A学习到网关的MAC地址。
主机A向网关发送目的MAC为子接口MAC地址、目的IP为主机C的IP地址的报文。
DeviceA收到该报文后进行三层转发,发现主机C的IP地址为直连路由,报文将通过VLAN3关联的子接口进行转发。
DeviceA作为VLAN3内主机的网关,向VLAN3内发送一个ARP广播,请求主机C的MAC地址。
主机C收到网关发送的ARP广播后,对此请求进行ARP应答。
网关收到主机C的应答后,就把主机A的报文发送给主机C。主机A之后要发给C的报文都先发送给网关,由网关做三层转发。
本文转自: