当前位置:   article > 正文

二三层转发原理及过程_【思唯网络学院】vlan通信原理 (一)

pcvlan三层通讯标签转发原理

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的报文。

3495f2f4806760d03d98c322402033cf.png

图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间通信,可以采取以下方案:

cf78ef9a4d44a7c9694302ae2b7d36f1.png

图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地址。

bdf406d692d8f22efab364fb9cba7ac1.png

图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交换请稍后参考后面的文章。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/71962
推荐阅读
相关标签
  

闽ICP备14008679号