· 如果存在,DeviceA将数据帧转发给接口Port2 。
· 如果不存在,DeviceA会将数据帧发送到本设备上除port4接口外的所有属于VLAN2的接口 。
4. 接口Port2将帧转发到DeviceB上 。
5. DeviceB收到数据帧后,会查询自己的MAC地址表中是否存在目的地址为UserB的MAC地址的转发表项 。
· 如果存在,DeviceB会将数据帧发送给出接口Port3 。
· 如果不存在,DeviceB会将数据帧发送到本设备上除port1接口外的所有属于VLAN2的接口 。
6. 接口Port3将数据帧发送给UserB 。
VLAN间通信原理
划分VLAN后,不同VLAN之间不能直接通信 。如果要实现VLAN间通信,可以采取以下方案:
· 子接口
如图5-8所示,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地址 。
图5-8 通过子接口实现VLAN间的通信

文章插图
【网络交换机如何规划,VLAN原理介绍】主机A和C的通信过程如下:
1. 主机A将主机C的IP地址和自己所在网段进行比较,发现主机C和自己不在同一个子网 。
1. 主机A发送ARP请求给自己的网关DeviceA,请求网关的MAC地址 。
1. DeviceA收到该ARP请求后,返回ARP应答报文,报文中源MAC地址为VLAN2对应子接口的MAC地址 。
1. 主机A学习到网关的MAC地址 。
1. 主机A向网关发送目的MAC为子接口MAC地址、目的IP为主机C的IP地址的报文 。
1. DeviceA收到该报文后进行三层转发,发现主机C的IP地址为直连路由,报文将通过VLAN3关联的子接口进行转发 。
1. DeviceA作为VLAN3内主机的网关,向VLAN3内发送一个ARP广播,请求主机C的MAC地址 。
1. 主机C收到网关发送的ARP广播后,对此请求进行ARP应答 。
1. 网关收到主机C的应答后,就把主机A的报文发送给主机C 。主机A之后要发给C的报文都先发送给网关,由网关做三层转发 。
1. VLANIF接口
三层交换技术是将路由技术与交换技术合二为一的技术,在交换机内部实现了路由,提高了网络的整体性能 。三层交换机通过路由表传输第一个数据流后,会产生一个MAC地址与IP地址的映射表 。当同样的数据流再次通过时,将根据此表直接从二层通过而不是通过三层,从而消除了路由器进行路由选择而造成的网络延迟,提高了数据包转发效率 。
为了保证第一次数据流通过路由表正常转发,路由表中必须有正确的路由表项 。因此必须在三层交换机上部署三层接口并部署路由协议,实现三层路由可达 。VLANIF接口由此而产生 。
VLANIF接口是三层逻辑接口,可以部署在三层交换机上,也可以部署在路由器上 。
在所示的网络中,交换机上划分了2个VLAN:VLAN2和VLAN3 。可通过如下配置实现VLAN间互通 。
. 在Device上创建2个VLANIF接口并配置VLANIF接口的IP地址,保证两个VLANIF接口对应的IP地址路由可通 。
. 将用户设备的缺省网关设置为所属VLAN对应VLANIF接口的IP地址 。
图5-9 通过VLANIF接口实现VLAN间的通信

文章插图
主机A和C的通信过程如下:
2. 主机A将主机C的IP地址和自己所在网段进行比较,发现主机C和自己不在同一个子网 。
2. 主机A发送ARP请求给自己的网关Device,请求网关的MAC地址 。
2. Device收到该ARP请求后,返回ARP应答报文,报文中源MAC地址为VLANIF2的MAC地址 。
2. 主机A学习到网关的MAC地址 。
2. 主机A向网关发送目的MAC为VLANIF接口MAC地址、目的IP为主机C的IP地址的报文 。
2. Device收到该报文后进行三层转发,发现主机C的IP地址为直连路由,报文将通过VLANIF3接口进行转发 。
2. Device作为VLAN3内主机的网关,向VLAN3内发送一个ARP广播,请求主机C的MAC地址 。
2. 主机C收到网关发送的ARP广播后,对此请求进行ARP应答 。
推荐阅读
- 如何用Python做出微信圈好友图像全家福
- 准妈妈如何正确饮茶
- 如何用 Linux 命令行工具解析和格式化输出 JSON
- 如何在Python中模拟指针?
- 酷暑难耐的时候如何选择,冷饮or热茶
- 初学者如何区分Html5开发和前端开发
- 网络常见的9大命令
- 如何从0开始,搭建企业的实时数据中台?
- 如何辨别茶叶好坏 你知道这些吗
- 从古籍中了解古人是如何养生的
