实现VLAN间通信


1 VLAN间通信技术背景

  实际网络部署中一般会将不同IP地址段划分到不同的VLAN。

  同VLAN且同网段的PC之间可直接进行通信,无需借助三层转发设备,该通信方式被称为二层通信。

  VLAN之间需要通过三层通信实现互访,三层通信需借助三层设备。

  常见的三层设备:路由器、三层交换机、防火墙等。

  将二层交换机与路由器的三层接口互联,由三层设备进行路由转发来实现通信。

2 路由器实现VLAN间通信

2.1 路由器物理接口

  路由器三层接口作为网关,转发本网段前往其它网段的流量。

  路由器三层接口无法处理携带VLAN Tag的数据帧,因此交换机上联路由器的接口需配置为Access.

  路由器的一个物理接口作为一个VLAN的网关,因此存在一个VLAN就需要占用一个路由器物理接口。

  路由器作为三层转发设备其接口数量较少,方案的可扩展性太差。

2.2 路由器子接口

  子接口(Sub-lnterface)是基于路由器以太网接口所创建的逻辑接口,以物理接口ID+子接口ID进行标识,子接口同物理接口一样可进行三层转发。

  子接口不同于物理接口,可以终结携带VLAN Tag的数据帧。

  基于一个物理接口创建多个子接口,将该物理接口对接到交换机的Trunk接口,即可实现使用一个物理接口为多个VLAN提供三层转发服务。

2.2.1 子接口处理流程

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

2.2.2 子接口配置示例

3 VLANIF技术实现VLAN间通信

3.1 三层交换机和VLANIF接口

  二层交换机(Layer 2 Switch)指的是只具备二层交换功能的交换机。

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

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

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

3.2 VLANIF配置示例

  配置需求:两台PC分别属于VLAN10、VLAN20。通过三层交换机完成两台PC之间的相互通信。

  1.基础配置

[SW1] vlan batch 10 20
[Sw1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SWi-GigabitEthernet0/0/1] port default vlan 10
[SW1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1-GigabitEthernet0/0/2] port default vlan 20

  2.配置VLANIF

[SW1] interface Vlanif 10
[SW1-Vlanif10] ip address 192.168.10.254 24
[SW1]interface Vlanif 20
[SW1-Vlanif20]ip address 192.168.20.254 24

3.3 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。

4 三层通信过程解析

4.1 网络拓扑

  以该拓扑为例,讲解VLAN 10内PC1到Internet上的服务器(2、3、4、5)的通信过程。

4.2 连接逻辑图

4.3 通信过程

  1.PC处理流程:PC发送报文前往2.3.4.5,经判断目的IP非本地网段,故将报文发送给网关。

  2.SW1处理流程:SW1收到数据帧之后根据目的MAC查找MAC地址表转发数据帧。

  3.SW2处理流程

   SW2收到数据帧之后,查看目的MAC为自身接口VLANIF 10的MAC地址,交由路由模块在路由表中查找2.3.4.5。

   SW2路由查找结果为匹配缺省路由,出接口为VLANIF30、下一跳为192.168.30.2,查找ARP获取192.168.30.2的MAC地址。

  4.SW2处理流程

   SW2查找ARP表项获取到192.168.30.2的MAC地址,将报文(源MAC替换为VLANIF 30的接MAC)转交给交换模块,交换模块查找MAC地址表确定出接口,同时确认发送报文时是否携带VLAN Tag。

  5.R1处理流程

   查看数据帧的目的MAC为自身接口MAC,查看目的IP,非自身IP地址,查找路由表,匹配默认路由,交给运营商转发,同时执行NAT将报文源IP、Port转换


文章作者: 罗宇
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 罗宇 !
  目录