文章目录

  • 一、技术背景。
  • 二、使用路由器物理接口。
  • 1.基础概念。
  • 2.数据帧转发过程。
  • 3.配置。
  • 三、使用路由器子接口(单臂路由)。
  • 1.基础概念。
  • 2.数据帧转发过程。
  • 3.配置。
  • 四、VLANIF技术实现。
  • 1.基础概念。
  • 2.数据帧转发过程。
  • 3.配置。


一、技术背景。

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

二、使用路由器物理接口。
1.基础概念。

                     

vlan 如何实现二层隔离 vlan内二层互通_vlan 如何实现二层隔离


        路由器三层接口作为网关,转发本网段前往其它网段的流量。路由器三层接口无法处理携带VLAN Tag的数据帧,因此交换机上联路由器的接口需配置为Access。路由器的一个物理接口作为一个VLAN的网关,因此存在一个VLAN就需要占用一个路由器物理接口。

2.数据帧转发过程。

        假设PC1的网关是GW10,PC2的网关是GW20,交换机的MAC地址表拥有全网的MAC地址,PC主机的ARP缓存也有着网关的映射关系。
        现在PC1要和PC2通信,首先PC1发给S1的GE0/0/3接口数据帧的是这样的DMAC:GW10 SMAC:PC1 DIP:192.168.20.2 SIP:192.168.10.1,S1的GE0/0/3接口在收到这个数据帧后会打上一个VLAN 10的TAG,数据帧会变成这样DMAC:GW10 SMAC:PC1 TAG:10 DIP:192.168.20.2 SIP:192.168.10.1,然后交换机又会将这个数据帧从它的GE0/0/1上剥离TAG之后发送出去,数据帧又变成了DMAC:GW10 SMAC:PC1 DIP:192.168.20.2 SIP:192.168.10.1,最后发送给R1的GE0/0/0接口也就是PC1的网关。
        在接收到这个数据帧之后R1的GE0/0/0接口会将这个数据帧层层剥开解封装,最后发现DIP不是自己,接着他会查找R1的路由表发现去往192.168.20.2的路由对应的出接口是GE0/0/1,然后将数据帧重新封装成DMAC:PC2 SMAC:GW20 DIP:192.168.20.2 SIP:192.168.10.1从接口G0/0/1发送出去。
        交换机的GE0/0/2接口在收到这个数据帧后又会打上一个VLAN 20的TAG,数据帧会变成这样DMAC:GW10 SMAC:PC1 TAG:20 DIP:192.168.20.2 SIP:192.168.10.1,然后交换机的GE0/0/4接口又会将这个数据帧剥离TAG之后发送给PC2,到此通信完成。

3.配置。
S1配置:
#
vlan batch 10 20
#
interface GigabitEthernet0/0/1
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 20
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/4
 port link-type access
 port default vlan 20
 
 R1配置:
 #
interface GigabitEthernet0/0/0
 ip address 192.168.10.254 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 192.168.20.254 255.255.255.0
三、使用路由器子接口(单臂路由)。
1.基础概念。

                     

vlan 如何实现二层隔离 vlan内二层互通_VLAN_02


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

        R2使用一个物理接口(GE0/0/1)与交换机SW2对接,并基于该物理接口创建两个子接口:GE0/0/1.10及GE0/0/1.20,分别使用这两个子接口作为VLAN 10及VLAN 20的默认网关。由于三层子接口不支持VLAN报文,当它收到VLAN报文时,会将VLAN报文当成是非法报文而丢弃。因此,需要在子接口上将VLAN Tag剥掉,也就是需要VLAN终结(VLAN Termination)。

2.数据帧转发过程。

        假设PC3的网关是GW10,PC4的网关是GW20,交换机的MAC地址表拥有全网的MAC地址,PC主机的ARP缓存也有着网关的映射关系。

        现在PC3要和PC4通信,首先PC3发给S1的GE0/0/3接口数据帧的是这样的DMAC:GW10 SMAC:PC3 DIP:192.168.20.2 SIP:192.168.10.1,S1的GE0/0/2接口在收到这个数据帧后会打上一个VLAN 10的TAG,数据帧会变成这样DMAC:GW10 SMAC:PC3 TAG:10 DIP:192.168.20.2 SIP:192.168.10.1,然后交换机的GE0/0/1接口不会对数据帧做任何处理,发送给R1。

        在接收到这个数据帧之后R1会根据TAG将数据帧发送给GE0/0/0.10来处理,R1的GE0/0/0.10接口会将这个数据帧层层解封装,最后发现DIP不是自己,接着它会查找R1的路由表发现去往192.168.20.2的路由对应的出接口是GE0/0/0.20,然后将数据帧重新封装成DMAC:PC4 SMAC:GW20 TAG:20 DIP:192.168.20.2 SIP:192.168.10.1从接口G0/0/1发送出去。

        交换机在收到这个数据帧后,会根据数据帧的TAG将它发送给G0/0/3处理,最后GE0/0/3接口会剥离TAG将他发送给PC4,到此通信完成。

        另外还有一点路由器虽然会给子接口分配一个相同的MAC地址,但是因为两个子接口属于不同的VLAN,在交换机的MAC地址表中依然会将他们两个区分开来,如下图。

vlan 如何实现二层隔离 vlan内二层互通_交换机_03

3.配置。
S2的配置:
#
vlan batch 10 20
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 10 20
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 20
 
R2配置:
#
interface GigabitEthernet0/0/0.10
 dot1q termination vid 10  //用来配置子接口Dot1q终结的单层VLAN ID
 ip address 192.168.10.254 255.255.255.0 
 arp broadcast enable     //子接口上开启ARP广播
#
interface GigabitEthernet0/0/0.20
 dot1q termination vid 20
 ip address 192.168.20.254 255.255.255.0 
 arp broadcast enable
四、VLANIF技术实现。
1.基础概念。

vlan 如何实现二层隔离 vlan内二层互通_VLAN_04

  • 二层交换机(Layer 2 Switch)指的是只具备二层交换功能的交换机。
  • 三层交换机(Layer 3 Switch)除了具备二层交换机的功能,还支持通过三层接口(如VLANIF接口)实现路由转发功能。
  • VLANIF接口是一种三层的逻辑接口,可以配置IP,可以运行路由协议,支持VLAN Tag的剥离和添加,因此可以通过VLANIF接口实现VLAN之间的通信。
  • VLANIF接口编号与所对应的VLAN ID相同,如VLAN 10对应VLANIF 10。
2.数据帧转发过程。

        PC3的网关是VLANIF10,PC4的网关是VLANIF20,交换机的MAC地址表拥有全网的MAC地址,PC主机的ARP缓存也有着网关的映射关系。
        现在PC6要和PC7通信,首先PC6发给S3的GE0/0/1接口数据帧的是这样的DMAC:VLANIF10 SMAC:PC6 DIP:192.168.20.2 SIP:192.168.10.1,S3的GE0/0/1接口在收到这个数据帧后会打上一个VLAN 10的TAG,数据帧会变成这样DMAC:VLANIF10 SMAC:PC6 TAG:10 DIP:192.168.20.2 SIP:192.168.10.1,然后交换机发现DMAC是VLANIF10的MAC,会对数据帧解封装,发现DIP不是给自己的,然后查找路由表,发现相应路由的出接口是VLANIF20。
        然后将数据帧封装成DMAC:PC7 SMAC:VLANIF20 TAG:20 DIP:192.168.20.2 SIP:192.168.10.1。接着交换机进行MAC地址表的查询,发现DMAC对应的出接口是G0/0/2,最后由G0/0/2将TAG剥离之后发送给PC7,到此通信完成。

3.配置。
S4配置:
#
vlan batch 10 20
#
interface Vlanif10
 ip address 192.168.10.254 255.255.255.0
#
interface Vlanif20
 ip address 192.168.20.254 255.255.255.0
#
interface GigabitEthernet0/0/1
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 20