上一章节我们介绍了VLAN的原理,交换机是如何转发带有VLAN的数据帧的?一文带你搞懂VLAN技术原理。知道了VLAN可以隔离二层广播域,属于不同VLAN的用户之间不能进行二层通信。

但是在实际应用中往往要求实现不同VLAN之间的主机通信,那么如何实现vlan间的通信呢?

可以借助三层路由将报文从一个VLAN转发到另外一个VLAN。

VLAN路由可以通过二层交换机配合路由器来实现,也可以通过三层交换机来实现。

正文

下面我们介绍下3种方法实现vlan间的通信。

通过路由器为每个VLAN分配一个物理接口实现VLAN间通信

实现方法:在路由器上为每个VLAN分配一个单独的接口,并使用一条物理链路连接到二层交换机上。

当VLAN间的主机需要通信时,数据会经由路由器进行三层路由,并被转发到目的VLAN内的主机,这样就可以实现VLAN之间的相互通信。




命令可通过vlan对二层 vlan内二层互通_命令可通过vlan对二层


优点:配置维护简单;

缺点:

  • 成本太高,每增加一个vlan就需要一个端口和一条物理链路,浪费资源;
  • 可扩展性差,当vlan增加到一定数量后,路由器上可能没有那么多端口支撑;
  • 某些VLAN之间的主机可能不需要频繁进行通信,每个vlan占用一个端口会导致路由器的接口利用率很低

因此,实际应用中不会采用这种方案来解决VLAN间的通信问题

2单臂路由实现VLAN间通信

实现方法:

  • 在交换机和路由器之间仅使用一个端口+一条物理链路连接。
  • 一个物理端口上设置多个逻辑子接口的方式实现不同vlan间通信。


命令可通过vlan对二层 vlan内二层互通_Taro如何实现页面之间通信_02


配置思路:

  • 在交换机上,把连接到路由器的端口配置成Trunk类型的端口,并允许相关VLAN的帧通过。
  • 在路由器上需要创建子接口,逻辑上把连接路由器的物理链路分成了多条。一个子接口代表了一条归属于某个VLAN的逻辑链路。

配置子接口时,需要注意以下几点:

  • 必须为每个子接口分配一个IP地址。该IP地址与子接口所属VLAN位于同一网段。
  • 需要在子接口上配置802.1Q封装,来剥掉和添加VLAN Tag,从而实现VLAN间互通。
  • 在子接口上执行命令arp broadcast enable使能子接口的ARP广播功能。

本例中,主机A发送数据给主机B时,RTA会通过G0/0/1.1子接口收到此数据,然后查找路由表,将数据从G0/0/1.2子接口发送给主机B,这样就实现了VLAN2和VLAN3之间的主机通信。

优点:节省端口和物理链路,成本低,可扩展性好,端口利用率高;

缺点:配置复杂;

Vlanif接口实现VLAN间互通


命令可通过vlan对二层 vlan内二层互通_链路_03


实现方法:

  • 在三层交换机上配置VLANIF接口来实现VLAN间路由。
  • 如果网络上有多个VLAN,则需要给每个VLAN配置一个VLANIF接口,并给每个VLANIF接口配置一个IP地址。
  • 用户设置的缺省网关就是三层交换机中VLANIF接口的IP地址。