花式方法搞定 VLAN 间路由

发表于 讨论求助 2023-09-09 08:57:13

HarmonyOS Connect解决方案

vlan 技术能够在逻辑上把一个物理局域网分隔为多个广播域,每个广播域称为一个虚拟局域网(即 vlan )

在局域网内,我们会用 vlan 对不同的用户、不同的部门、不同用途的区域进行分组,一个 vlan 区分一组用户,便于管理和使用。

什么是 vlan ?

vlan 技术能够在逻辑上把一个物理局域网分隔为多个广播域,每个广播域称为一个虚拟局域网(即 vlan )。每台主机只能属于一个 vlan ,同属一个 vlan 的主机通过二层直接通信。划分 vlan ,并不是为了彻底隔绝通信,而是减小广播域传播的范围,过滤多余的包,提高网络的传输效率。

如何实现不同 vlan 间的主机通信呢?

vlan 隔离二层网络,必须通过三层网络设备实现。这些设备根据 ip 地址为不同 vlan 间的流量执行路由转发的操作,称为 vlan 间路由。

实现 vlan 间路由的方法有哪些?

按照时间和技术发展的顺序,介绍三种 vlan 间路由的方法。

第一种:传统 vlan 间路由

路由器的作用是在不同网络之间转发数据包,vlan 则是在一台或一组交换机上划分不同的局域网,将它们隔离为不同的网段。因此,不同 vlan 之间的通信需要路由器来进行转发,也就顺理成章了。

不同的 vlan 连接不同的路由器接口,一个路由器接口连接一个 vlan 的交换机端口。

假设 pc 和路由器都有同网段中所有设备的 arp 缓存表,交换机的 mac 地址表也有各个设备的 mac 地址信息。那么 pc1 向 pc5 发送数据时,整个过程如下:

  • pc1 查询路由表,发现 pc5 的 ip 地址在另一个网段,需要通过默认网关进行数据转发。
  • pc1 以 pc5 的 ip 地址为目的 ip 地址,以默认网关的 mac 地址为目的 mac 地址,封装数据帧后发送给交换机。
  • 交换机收到数据帧后,查询 mac 地址表,找到目的 mac 地址对应的端口,于是将数据帧从这个端口转发出去,即转发给路由器。
  • 路由器收到数据帧后,查看数据帧的目的 mac 地址是自己,于是解封装查看目的 ip 地址。根据目的 ip 地址的网络号查询路由表,发现目的网段的直连路由,以及对应的出接口。
  • 路由器以 pc5 的 ip 地址作为目的 ip 地址,以 pc5 的 mac 地址作为目的 mac 地址封装报文,并从出接口转发出去,即转发给交换机。

交换机查看数据帧的目的 mac 地址,并根据目的 mac 地址,将数据帧转发给 pc5 。

相同 vlan 的主机如何互相通信?

pc1 向 pc2 发送数据时,由于目的 ip 地址与自己处于同一个网段,pc1 会使用 pc2 的 mac 地址作为目的 mac 地址封装数据帧;交换机也会直接通过 pc2 的端口,将数据帧转发给 pc2 。

如果不同 vlan 的 pc1 和 pc3 通讯,交换机是否会直接根据 mac 地址,把 pc1 发送的报文直接转发给 pc3 ?

mac 地址表不仅记录了交换机端口和 mac 地址的对应关系,还包括这个端口的 vlan 。交换机不会通过查询 mac 地址表,就把数据帧从不同 vlan 的端口转发出去。

传统 vlan 间路由实验

实验拓扑图

接口列表

实验要求

  • ensp 模拟器
  • pc1 能 ping 通 pc5

实验步骤

  • 根据接口 ip 地址表,各个设备分别配置 ip 地址。
  • 根据 vlan 划分表,sw 配置各个端口的 vlan 。
  • 测试:pc1 ping pc5 成功,通过路由器的接口实现 vlan 间路由。

实验总结

进行网络配置前,先梳理出接口列表、接口 ip 地址表和 vlan 划分表,便于进行设备配置。

第二种:单臂路由

路由器用于连接异构网络,特点是有不同类型的物理接口,接口数量少;交换机则是用于组建局域网,特点是物理接口类型少,接口数量多。实际网络环境中,会在一台交换机上创建大量的 vlan ,每个 vlan 使用一个路由器接口作为默认网关,路由器接口就不够用了。

为了节省路由器的接口,使用一个接口来连接交换机,无论哪个 vlan 的流量都通过这一个接口进出路由器,实现所有 vlan 之间的流量转发,这种方式称为单臂路由。

上面的物理拓扑图可能描述的不太清楚,查看下面单臂路由的逻辑拓扑图可以更好的理解原理。

  • 物理拓扑图:展示网络设备之间物理连接方式的拓扑图。
  • 逻辑拓扑图:网络设备根据网络地址转发数据包的逻辑通道图。

一个路由器接口能够像多个接口那样工作,同时用来传输多个不同 vlan 的流量吗?

路由器提供了一种称为子接口的逻辑接口。子接口顾名思义,就是通过逻辑的方式,将一个路由器物理接口划分为多个逻辑子接口,来满足用一个物理接口连接多个网络的需求。

单臂路由实验

实验拓扑图

接口列表

由传统 vlan 间路由的多个路由器接口,变成单臂路由的一个路由器接口,用于连接交换机。其它接口配置不变。

实验要求

  • pc1 能 ping 通 pc5。

实验步骤

  • 根据接口 ip 地址表,配置路由器的子接口 ip 地址。其余设备配置参考上一个实验的步骤 1 。
  • 命令 interface interface-type interface-number.sub-interface number 创建子接口。子接口编号范围是 1 ~ 4096 ,与 vlan id 保持一致。
  • 命令 dot1q termination vid 配置 802.1q 封装并指定端口的 pvid ,确保路由器子接口与对端的交换机端口封装模式一致。
  • 命令 arp broadcast enable 启动子接口的 arp 广播功能。默认状态下,arp 广播功能是禁用的,收到 arp 广播帧会直接丢弃。
  • 根据 vlan 划分表,配置 sw 连接路由器端口的 vlan 。其余设备配置参考上一个实验的步骤 2 。
  • 测试,pc1 ping pc5 成功,通过路由器的子接口实现 vlan 间路由。

第三种:三层交换技术

从流量走向上看单臂路由,是舍近求远的,交换机上两个不同 vlan 的端口流量,无法通过交换机直接完成数据转发,还需要在路由器上绕一下。这是因为二层交换机没有三层转发能力,无法根据数据包的目的 ip 地址查看自己的路由表;二层交换机也无法成为所连主机的网关,需要一台路由器充当网关。

然后出现了一种在传统以太网交换机的基础上,添加专门路由转发硬件的设备。这类设备不仅有传统二层交换机的功能,还可以通过 asic(特殊应用集成电路)实现对数据包的路由。这种集成了三层数据包转发功能的交换机称为三层交换机。

一台三层交换机既可以实现将终端隔离在不同的 vlan 中,同时位这些终端提供 vlan 间路由的功能,不需要再借助路由器来转发不同 vlan 之间的流量。

实现 vlan 间路由需要给每一个 vlan 分配一个独立的三层接口作为网关,三层交换机并不是使用三层物理接口连接各个 vlan ,而是通过创建虚拟 vlan 接口,为每一个 vlan 分配一个虚拟三层接口。

虚拟 vlan 接口是由三层交换机创建的,因此三层交换机会作为直连接口,将它们所在的网络作为直连路由填充到路由表中。同时,虚拟 vlan 接口和对应的 vlan 中的物理二层端口处于同一个子网中,充当这个 vlan 的网关。

三层交换机的转发效率和扩展性都远比单臂路由实现 vlan 间路由更优,管理和配置也更加简单,目前这种方案已成为实现 vlan 间路由方案的首选。

三层交换机实验

实验拓扑图

接口列表

实验步骤

  • 根据接口 ip 地址表,配置交换机的 vlanif 接口。pc1 ~ pc5 的 ip 地址配置以及对端交换机接口 vlan 配置,参考上一个实验的步骤 1 和步骤 2 。
  • 命令 interface vlanif vlan-id 创建 vlanif 接口。vlanif 接口的编号必须与 vlan id 一致,vlan 中的主机以 vlanif 接口 ip 地址作为自己的默认网关。
  • 命令 display ip interface brief 查看 ip 地址信息,检查配置是否正确。
  • 命令 display vlan 查看 vlan 信息,检查交换机端口的 vlan 配置是否正确。
  • 命令 display ip routing-table 查看路由表信息,两个 vlanif 接口的直连网段加入了 ip 路由表,并以此实现 vlan 间路由。
  • 测试,pc1 ping pc5 成功,通过三层交换机的 vlanif 接口实现 vlan 间路由。

三层交换机能取代路由器吗?

三层交换机的路由功能通常比较简单,主要是局域网的连接,包含大量的以太网接口,主要用途是提供快速数据交换功能,满足局域网数据交换频繁的应用特点。

而路由器则不同,是为了满足不同类型的网络连接,如局域网与广域网之间的连接、不同协议的网络之间的连接等。它最主要的功能是路由转发,解决各种复杂路径的网络连接,不仅适用于同种协议的局域网间,更适用于不同协议的局域网与广域网间。具有选择最佳路由、负荷分担、链路备份及和其他网络进行路由信息的交换等等功能。

因此,三层交换机与路由器存在着本质区别,三层交换机并不能完全取代路由器的工作。

发表
26906人 签到看排名