文章目录
- 一、技术背景。
- 二、使用路由器物理接口。
- 1.基础概念。
- 2.数据帧转发过程。
- 3.配置。
- 三、使用路由器子接口(单臂路由)。
- 1.基础概念。
- 2.数据帧转发过程。
- 3.配置。
- 四、VLANIF技术实现。
- 1.基础概念。
- 2.数据帧转发过程。
- 3.配置。
一、技术背景。
实际网络部署中一般会将不同IP地址段划分到不同的VLAN。同VLAN且同网段的PC之间可直接进行通信,无需借助三层转发设备,该通信方式被称为二层通信。VLAN之间需要通过三层通信实现互访,三层通信需借助三层设备。如:路由器、三层交换机、防火墙等。
二、使用路由器物理接口。
1.基础概念。
路由器三层接口作为网关,转发本网段前往其它网段的流量。路由器三层接口无法处理携带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.基础概念。
子接口(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地址表中依然会将他们两个区分开来,如下图。
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.基础概念。
- 二层交换机(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