赞
踩
1、vlan基本通信原理
为了提高处理效率,交换机内部的数据帧一律都带有VLAN Tag,以统一方式处理。当一个数据帧进入交换机接口时,如果没有带VLAN Tag,且该接口上配置了PVID(Port Default VLAN ID),那么,该数据帧就会被标记上接口的PVID。如果数据帧已经带有VLAN Tag,那么,即使接口已经配置了PVID,交换机不会再给数据帧标记VLAN Tag。
由于接口类型不同,交换机对数据帧的处理过程也不同。下面根据不同的接口类型分别介绍。
各类型接口对数据帧的处理方式
接口类型
对接收不带Tag的报文处理
对接收带Tag的报文处理
发送帧处理过程
Access接口
接收该报文,并打上缺省的VLAN ID。
当VLAN ID与缺省VLAN ID相同时,接收该报文;
当VLAN ID与缺省VLAN ID不同时,丢弃该报文。
先剥离帧的PVID Tag,然后再发送。
Trunk接口
打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文;
当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。
当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文;
当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。
当VLAN ID与缺省VLAN ID相同,且是该接口允许通过的VLAN ID时,去掉Tag,发送该报文;
当VLAN ID与缺省VLAN ID不同,且是该接口允许通过的VLAN ID时,保持原有Tag,发送该报文。
Hybrid接口
打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文;
打上缺省的VLAN ID,当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。
当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。
当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。
当VLAN ID是该接口允许通过的VLAN ID时,发送该报文。
可以通过命令设置发送时是否携带Tag。
QinQ接口
QinQ接口是使用QinQ协议的接口。
QinQ接口可以给帧加上双重Tag,即在原来Tag的基础上,给帧加上一个新的Tag,从而可以支持多达4094×4094个VLAN,满足网络对VLAN数量的需求。
由于设备所有的接口都默认加入VLAN1,因此当网络中存在VLAN1的未知单播、组播或者广播报文时,可能会引起广播风暴。对于不需要加入VLAN1的接口及时退出VLAN1,避免环路。
2、VLAN内跨越交换机通信原理
有时属于同一个VLAN的用户主机被连接在不同的交换机上。当VLAN跨越交换机时,就需要交换机间的接口能够同时识别和发送跨越交换机的VLAN报文。这时,需要用到Trunk Link技术。
Trunk Link有两个作用:
1、中继作用:
把VLAN报文透传到互联的交换机。
2、干线作用:
一条Trunk Link上可以传输多个VLAN的报文。
图1 Trunk Link通信方式示意图
例如在上图1所示的网络中,为了让DeviceA和DeviceB之间的链路既支持VLAN2内的用户通讯又支持VLAN3内的用户通讯,需要配置连接接口同时加入两个VLAN。
即应配置DeviceA的以太网接口Port2和DeviceB的以太网接口Port1同时加入VLAN2和VLAN3。
当用户主机Host A发送数据给用户主机Host B时,数据帧的发送过程如下:
数据帧首先到达DeviceA的接口Port4。
接口Port4给数据帧加上Tag,Tag的VID字段填入该接口所属的VLAN的编号2。
DeviceA查询自己的MAC地址表中是否存在目的地址为DeviceB的MAC地址的转发表项。
如果存在,DeviceA将数据帧转发给接口Port2。
如果不存在,DeviceA会将数据帧发送到本设备上除port4接口外的所有属于VLAN2的接口。
接口Port2将帧转发到DeviceB上。
DeviceB收到数据帧后,会查询自己的MAC地址表中是否存在目的地址为Host B的MAC地址的转发表项。
如果存在,DeviceB会将数据帧发送给出接口Port3。
如果不存在,DeviceB会将数据帧发送到本设备上除port1接口外的所有属于VLAN2的接口。
接口Port3将数据帧发送给主机Host B。
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的报文都先发送给网关,由网关做三层转发。
2、VLANIF接口
三层交换技术是将路由技术与交换技术合二为一的技术,在交换机内部实现了路由,提高了网络的整体性能。三层交换机通过路由表传输第一个数据流后,会产生一个MAC地址与IP地址的映射表。当同样的数据流再次通过时,将根据此表直接从二层通过而不是通过三层,从而消除了路由器进行路由选择而造成的网络延迟,提高了数据包转发效率。
为了保证第一次数据流通过路由表正常转发,路由表中必须有正确的路由表项。因此必须在三层交换机上部署三层接口并部署路由协议,实现三层路由可达。VLANIF接口由此而产生。
VLANIF接口是三层逻辑接口,可以部署在三层交换机上,也可以部署在路由器上。
在下图3所示的网络中,交换机上划分了2个VLAN:VLAN2和VLAN3。可通过如下配置实现VLAN间互通。
在Device上创建2个VLANIF接口并配置VLANIF接口的IP地址,保证两个VLANIF接口对应的IP地址路由可通。
将用户设备的缺省网关设置为所属VLAN对应VLANIF接口的IP地址。
图3 通过VLANIF接口实现VLAN间的通信
主机A和C的通信过程如下:
主机A将主机C的IP地址和自己所在网段进行比较,发现主机C和自己不在同一个子网。
主机A发送ARP请求给自己的网关Device,请求网关的MAC地址。
Device收到该ARP请求后,返回ARP应答报文,报文中源MAC地址为VLANIF2的MAC地址。
主机A学习到网关的MAC地址。
主机A向网关发送目的MAC为VLANIF接口MAC地址、目的IP为主机C的IP地址的报文。
Device收到该报文后进行三层转发,发现主机C的IP地址为直连路由,报文将通过VLANIF3接口进行转发。
Device作为VLAN3内主机的网关,向VLAN3内发送一个ARP广播,请求主机C的MAC地址。
主机C收到网关发送的ARP广播后,对此请求进行ARP应答。
网关收到主机C的应答后,就把主机A的报文发送给主机C。主机A之后要发给C的报文都先发送给网关,由网关做三层转发。
3、VLAN Switch
通过VLAN Switch也可以实现不同VLAN间的通信。关于vlan交换请稍后参考后面的文章。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。