HCIA-Datacom 实现VLAN间通信

HCIA-Datacom 实现VLAN间通信

  • 传统交换二层组网中,默认所有网络都处于同一广播域,这带来了诸多问题。VLAN技术的提出,满足了二层组网隔离广播域需求,使得属于不同VLAN的网络无法访问,但不同VLAN之间又存在着相互访问的需求

技术背景

VLAN间通信

  • 实际网络部署中一般会将不同IP地址段划分到不同的VLAN
  • 同VLAN且同网段的PC之间可直接进行通信,无需借助三层转发设备,该通信方式被称为二层通信
  • VLAN之间需要通过三层通信实现互访,三层通信需要借助三层设备(路由器、三层交换机)。
  • 常见的三层设备:路由器、三层交换机、防火墙等
  • 将二层交换机与路由器的三层接口互联,由三层设备进行路由转发实现通信

使用路由器(物理接口、子接口)实现VLAN间通信

使用路由器物理接口

  • 路由器三层接口作为网关,转发本网段前往其他网段的流量
  • 路由器三层接口无法处理携带VLAN Tag的数据帧,因此交换机上联路由器的接口需配置为Access
  • 路由器的一个物理接口作为一个VLAN网关,因此存在一个VLAN就需要占用一个路由器物理接口
  • 路由器作为三层转发设备其接口数量较少,方案的可扩展性较差

使用路由器子接口

  • 子接口是基于路由器以太网接口所创建的逻辑接口,以物理接口ID+子接口ID进行标识,子接口同物理接口一样可进行三层转发
  • 子接口不同于物理接口,可以终结携带VLAN Tag的数据帧
  • 基于一个物理接口创建多个子接口,将该物理接口对接到交换机Trunk接口,即可实现使用一个物理接口为多个VLAN提供三层转发服务

子接口处理流程

  • 交换机链接路由器的接口类型配置为Trunk,根据报文的VLAN Tag不同,路由器将收到报文交由对应的子接口处理

使用VLANIF技术实现VLAN间通信

三层交换机和VLANIF接口

  • 配置条件

    • 有该VLAN
    • 有接口属于该VLAN(Access、Trunk)
    • 转发状态
  • 二层交换机指的是只具备二层交换功能的交换机

  • 三层交换机除了具备二层交换机的功能,还支持通过三层接口(如VLANIF)实现路由转发功能

  • VLANIF接口是一种三层的逻辑接口,支持VLAN Tag的剥离和添加,因此可以通过VLANIF接口实现VLAN之间的通信

  • VLANIF接口编号与所对应的VLAN ID相同,如VLAN 10对应VLANIF 10

VLANIF转发流程

  • 假设PC、三层交换机上都已存在相应的ARP或MAC表项
  • PC1或PC2之间通信过程如下
    • PC1通过本地IP地址、本地掩码、对端IP地址进行计算,发现目的设备PC2与自身不在同一个网段,判断该通信为三层通信,将去往PC2的流量发送给网关。PC1发送的数据帧:源MAC=MAC1,目的MAC=MAC2。
    • 交换机收到PC1发送的去往PC2的报文,解封装发现目的MAC为VLANIF10接口的MAC地址所以将报文交给路由模块继续处理。
    • 路由模块解析发现目的IP为192.168.20.2,非本地接口存在的IP地址,因此需要对该报文三层转发。查找路由表后,匹配中VLANIF20产生的直连路由。
    • 因为匹配的为直连路由,说明已经到达最后一跳,所以交换机在ARP表中查找192.168.20.2,获取192.168.20.2的MAC地址,交由交换模块重新封装为数据帧
    • 交换模块查找MAC地址表以明确报文出接口、是否需要携带VLAN Tag。最终交换模块发送的数据帧:源MAC=MAC2,目的MAC=MAC3,VLAN Tag=None

三层通信过程解析

  • 网络拓扑