一、技术背景
1、实际网络部署中一般会将不同IP地址段划分到不同的VLAN。同VLAN且同网段的PC之间可直接进行通信,无需借助三层转发设备,该通信方式被称为二层通信。
2、VLAN之间需要通过三层通信实现互访,三层通信需借助三层设备。常见的三层设备:路由器、三层交换机、防火墙等。将二层交换机与路由器的三层接口互联,由三层设备进行路由转发来实现通信。
二、使用VLANIF技术实现VLAN间通信
1、交换机
二层交换机(Layer 2 Switch):指的是只具备二层交换功能的交换机。三层交换机(Layer 3 Switch):除了具备二层交换机的功能,还支持通过三层接口(如VLANIF接口)实现路由转发功能。
2、VLANIF接口
VLANIF接口是一种三层的逻辑接口,支持VLAN Tag的剥离和添加,因此可以通过VLANIF接口实现VLAN之间的通信。VLANIF接口编号与所对应的VLAN ID相同,如VLAN 10对应VLANIF 10。
3、VLANIF转发流程
(1)PC1通过本地IP地址、本地掩码、对端IP地址进行计算,发现目的设备PC2与自身不在同一个网段。判断该通信为三层通信,将去往PC2的流量发给网关。PC1发送的数据帧:源MAC = MAC1,目的MAC = MAC2,
(2)交换机收到PC1发送的去往PC2的报文,经解封装发现目的MAC为VLANIF 10接口的MAC地址,所以将报文交给路由模块继续处理。路由模块解析发现目的IP非本地接口存在的IP地址,因此需要对该报文三层转发,查找路由表后,匹配中VLANIF 20产生的直连路由。
(3)因为匹配的为直连路由,说明已经到达最后一跳。所以交换机在ARP表中查找目的IP,获取目的IP的MAC地址,交由交换模块重新封装为数据帧。交换模块查找MAC地址表以明确报文出接口、是否需要携带VLAN Tag,最终交换模块发送的数据帧:源MAC = MAC2,目的MAC = MAC3,VLAN Tag = None。
4、实验
(1)拓扑图
(2)配置虚拟接口
1)配置VLAN 10的虚拟接口
2)配置VLAN 20的虚拟接口
(3)测试:使用不同虚拟局域网中(VLAN)的PC进行ping通测试。例如用PC1和PC3互相ping。
三、单臂路由技术实现VLAN间通信
1、路由器三层接口
路由器三层接口作为网关,转发本网段前往其它网段的流量。路由器三层接口无法处理携带VLAN Tag的数据帧,因此交换机上联路由器的接口需配置为Access。
2、子接口(Sub-Interface)
基于路由器以太网接口所创建的逻辑接口,以物理接口ID+子接口ID进行标识,子接口同物理接口一样可进行三层转发。子接口不同于物理接口,可以处理携带VLAN Tag的数据帧。基于一个物理接口创建多个子接口,将该物理接口对接到交换机的Trunk接口,即可实现使用一个物理接口为多个VLAN提供三层转发服务。
3、子接口处理流程
交换机连接路由器的接口类型配置为Trunk,根据报文的VLAN Tag不同,路由器将收到的报文交由对应的子接口处理。
4、实验
(1)拓扑图
(2)配置LSW1的GE0/0/5接口
(3)配置路由器R3
1)创建逻辑子接口GE0/0/3.1
2)当Vid!=pvid时直接转发,需要为该子接口定义vid
3)为子接口定义ip。
4)子接口无法接收ARP广播,需要开启ARP广播功能
5)创建逻辑子接口GE0/0/3.2,配置类比上述过程。
(4)测试结果。