华为交换机VLAN基础知识(二)
华为交换机VLAN基础知识(一) https://www.wlgly.net/post-163.html
7、VLAN基本通信原理
为了提高处理效率,交换机内部的数据帧一律都带有VLAN Tag,以统一方式处理。当一个数据帧进入交换机接口时,如果没有带VLAN Tag,且该接口上配置了PVID(Port Default VLAN ID),那么,该数据帧就会被标记上接口的PVID。如果数据帧已经带有VLAN Tag,那么,即使接口已经配置了PVID,交换机不会再给数据帧标记VLAN Tag。
由于接口类型不同,交换机对数据帧的处理过程也不同。下面根据不同的接口类型分别介绍。
1、 Access接口
不带Tag的报文:接收该报文,并打上缺省的VLAN ID。
带Tag的报文:当VLAN ID与缺省VLAN ID相同时,接收该报文;当VLAN ID与缺省VLAN ID不同时,丢弃该报文。
发送帧处理过程:先剥离帧的PVID Tag,然后再发送。
2、Trunk接口
不带Tag的报文:打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文;当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。
带Tag的报文:当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文;当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。
发送帧处理过程:
当VLAN ID与缺省VLAN ID相同,且是该接口允许通过的VLAN ID时,去掉Tag,发送该报文;当VLAN ID与缺省VLAN ID不同,且是该接口允许通过的VLAN ID时,保持原有Tag,发送该报文。
3、Hybrid接口
不带Tag的报文:打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文;当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。
带Tag的报文:
当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。
发送帧处理过程:
当VLAN ID是该接口允许通过的VLAN ID时,发送该报文。可以通过命令设置发送时是否携带Tag。
4、QinQ接口
QinQ接口是使用QinQ协议的接口。QinQ接口可以给帧加上双重Tag,即在原来Tag的基础上,给帧加上一个新的Tag,从而可以支持多达4094×4094个VLAN,满足网络对VLAN数量的需求。
说明:由于设备所有的接口都默认加入VLAN1,因此当网络中存在VLAN1的未知单播、组播或者广播报文时,可能会引起广播风暴。对于不需要加入VLAN1的接口及时退出VLAN1,避免环路。
8、VLAN内跨越交换机通信原理
有时属于同一个VLAN的用户主机被连接在不同的交换机上。当VLAN跨越交换机时,就需要交换机间的接口能够同时识别和发送跨越交换机的VLAN报文。这时,需要用到Trunk Link技术。
Trunk Link有两个作用:
1、中继作用:
把VLAN报文透传到互联的交换机。
2、干线作用:
一条Trunk Link上可以传输多个VLAN的报文。
图6 Trunk Link通信方式示意图
例如在上图6所示的网络中,为了让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。
9、VLAN间通信原理
划分VLAN后,不同VLAN之间不能直接通信。如果要实现VLAN间通信,可以采取以下3种方案:
1、子接口
图7 通过子接口实现VLAN间的通信
如上图7所示,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接口是三层逻辑接口,可以部署在三层交换机上,也可以部署在路由器上。
图8 通过VLANIF接口实现VLAN间的通信
在上图8所示的网络中,交换机上划分了2个VLAN:VLAN2和VLAN3。可通过如下配置实现VLAN间互通。
在Device上创建2个VLANIF接口并配置VLANIF接口的IP地址,保证两个VLANIF接口对应的IP地址路由可通。
将用户设备的缺省网关设置为所属VLAN对应VLANIF接口的IP地址。
主机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 Switch是一种按照VLAN Tag进行数据转发的转发技术,需要预先在网络中各交换节点上建立一条静态转发路径。交换节点接收到符合转发条件的VLAN报文后,根据VLAN Switch表将报文直接转发到相应的接口,无需查看MAC地址表,提高了转发效率及安全性,可有效的避免MAC地址攻击及广播风暴。
VLAN Switch功能包括:添加外层VLAN Tag功能,即VLAN Switch stack-vlan功能。在不同接口之间转换外层VLAN Tag,即VLAN Switch switch-vlan功能。
图9通过VLAN Switch实现VLAN间通信组网图
如上图9所示,PC1和PC2分别为VLAN 2和VLAN 3内的用户,要求PC1、PC2间互通。
可在设备SwitchA上配置VLAN Switch的switch-vlan功能实现此场景下VLAN间的互通。配置后,用户报文按配置的指定路径转发,可以将Port2上收到的VLAN2的报文转换为VLAN 3,并指定从Port3发出;而Port3上收到的VLAN 3的报文将转换为VLAN 2,并指定从Port2发出。这样VLAN 2和VLAN 3就实现了互相通信。
说明:如果SwitchA为三层交换机,也可通过VLANIF实现VLAN间的互通;但如果SwitchA为二层交换机,则只能通过VLAN Switch的switch-vlan功能实现VLAN间的互通。
10、LNP基本原理
链路类型协商协议LNP(Link-type Negotiation Protocol)用来动态协商以太网接口的链路类型为Access或者Trunk。
以太网接口的链路类型协商为Access,缺省情况下加入VLAN1。以太网接口的链路类型协商为Trunk,缺省情况下加入VLAN1~4094。
当前,交换机支持的以太网接口的链路类型有:Access、Hybrid、Trunk和Dot1q-tunnel。这四种链路类型分别用于不同的网络位置,均由手工配置指定。如果网络拓扑变更,以太网接口的链路类型也需要重新配置,配置较为繁琐。为了简化用户配置,可通过LNP配置以太网接口的链路类型自协商功能,自动协商出接口的链路类型为Access或者Trunk,并加入相应VLAN。
图10 LNP典型应用组网图
如上图10网络中二层设备连接成功后,设备接口物理状态为Up。经过LNP协商后,Switch4、Switch5、Switch6、Switch7上连接终端的接口以Access类型加入缺省VLAN1,Switch之间互连的接口以Trunk类型允许所有VLAN通过。
当LNP功能使能时,触发LNP协商需要满足如下条件之一:收到对端发送的LNP报文;本端的接口状态或接口类型等配置发生变化。
LNP在原有的链路类型Access、Hybrid、Trunk和Dot1q-tunnel基础上,新增了以下两种,二者的主要区别如下:
Negotiation-desirable:主动发送LNP报文;Negotiation-auto:不会主动发送LNP报文
说明:由于协商为Trunk类型的接口缺省会加入所有VLAN,建议配置环网协议来破除环路;如果二层网络中部署了环网协议STP/RSTP/MSTP/VBST等,无论阻塞接口是什么类型LNP均可协商成功。
11、LNP协商原则
二层以太网接口的链路类型决定了协商的结果。在二层接口物理状态为Up条件下,LNP协商原则如下表1所示。
说明:Eth-Trunk接口的成员口配置不对称时,无法保证LNP可以协商成功。如果二层接口已经通过配置设置了接口链路类型Access、Hybrid、Trunk或Dot1q-tunnel,该二层接口的接口链路类型不受LNP协商结果影响,保持设置的类型不变。协商失败时,接口的链路类型为Access。
LNP协议协商依赖本端和对端的正常通信。当设备出现通信延迟等问题,可能导致接口的链路类型协商错误。
LNP协商经过三次正常通信后,接口的链路类型才会进入协商的稳态,否则处于协商态继续保持协商。在接口的链路类型进入稳态前,接口处于阻塞状态不参与报文转发,因此避免了报文转发的震荡或错误。
VCMP域名会影响LNP协商,只有链路两端域名一致(都非空,且相同;或都为空)或至少一端域名为空时能成功协商为Trunk,否则协商为Access。
华为交换机VLAN基础知识(三)https://www.wlgly.net/post-167.html
发表评论