之前复习了VLAN的概念以及几个接口类型。VLAN在二层可以实现广播域的划分,VLAN间可以实现二层通信,但是不能实现三层通信,需要借助其它方式。
概述
实际网络部署中一般会将不同IP地址段划分到不同的VLAN。同VLAN且同网段的PC之间可直接进行通信,无需借助三层转发设备,该通信方式被称为二层通信。VLAN之间需要通过三层通信实现互访,三层通信需借助三层设备。
常见的三层设备:路由器、三层交换机、防火墙等。因此一般是将二层交换机与路由器的三层接口互联,由三层设备进行路由转发来实现通信。
VLAN间通信
简单讲二层三层有什么区别,二层不能直接在接口配置IP地址,因为IP是网络层,二层接口只能基于接口划分VLAN,根据MAC地址表进行数据帧转发。
比如192.168.1.0/24网段不能直接和192.168.20.00/24网段进行IP层通信,需要通过网关IP进行三层转发。有以下几种方式可以实现三层通信。
三层通信方式
三层设备物理接口
我们知道路由器是三层设备,每一个接口都是一个独立的广播域和冲突域,可以之间配置接口IP地址。
配置物理接口为网关地址,交换机配置ACCESS类型接口可以实现三层通信,但是由于路由器接口本身不多有4口,6口等,如果有很多VLAN就需要很多端口,因此有点浪费。
三层设备子接口
上面需要的物理接口太过浪费了,因此出现了子接口的形式进行三层数据转发。
一个物理接口可以划分多个子接口,配置子接口为Trunk对接交换机接口,放通允许VLAN列表,子接口配置网关IP地址即可。
子接口需要配置对应的VLAN,还有开启ARP广播。
VLANIF接口
二层交换机(Layer 2 Switch)指的是只具备二层交换功能的交换机。三层交换机(Layer 3 Switch)除了具备二层交换机的功能,还支持通过三层接口(如VLANIF接口)实现路由转发功能。
VLANIF接口是一种三层的逻辑接口,支持VLAN Tag的剥离和添加,因此可以通过VLANIF接口实现VLAN之间的通信。VLANIF接口编号与所对应的VLAN ID相同,如VLAN 10对应VLANIF 10。
实际使用中都是一个VLAN对应一个子网对应一个网关VLANIF接口,通过三层交换机实现不同VLAN间通信。
转发过程:发送端对目的地址进行逐位匹配判断是否为相同网段,如果是则进行在二层广播和交换机依据MAC地址表进行转发,如果为不同网段则通过网关进行三层转发。
交换机的VLANIF匹配的为直连路由。
通信过程简介
1、发送端携带源目MAC和IP地址,判断非同网段转发给VLANIF网关
2、二层交换机依据MAC地址表转发到三层交换机
3、三层交换机配置了默认路由转发到对应三层接口,根据下一跳查找转发接口,替换源MAC
4、三层交换机转发到路由器,并剥离VLAN标签
5、看到目的地为自身,接收数据表,根据NAT进行端口转换,从对应接口转发
数据包经过三层设备时会将源MAC替换为本身MAC地址进行转发,根据路由表和MAC地址查询进行转发。
配置示例
1、路由器物理接口
2、子接口
# 子接口配置
# 进入物理接口的子接口
interface GigabitEthernet0/0/0.10
# 终结VLANtag,接收时去掉tag,发送时打上tag
dot1q termination vid 10
# 配置地址,子接口可以配置三层地址
ip address 192.168.10.254 255.255.255.0
# 开启子接口的接收广播报文,如arp报文,默认关闭
arp broadcast enable
3、VLANIF配置:
# 创建VLAN
vlan 10
# 配置VLANIF接口
int vlan 10
ip address 192.168.10.254 24