交换机与VLAN原理详解
交换机与VLAN原理详解
交换机是现代网络中不可或缺的设备,它不仅能够隔离冲突域,还能通过VLAN技术进一步隔离广播域,提高网络性能和安全性。本文将详细介绍交换机的基本功能、VLAN的原理和配置方法,以及VLAN间通信的解决方案。
一、交换机
交换机的主要作用是隔离冲突域。每个交换机接口都连接着一个网卡,而每块网卡都有一个全球唯一的MAC地址(48位)。
交换机在启动后会先学习再转发数据帧。它会将接口和从该接口收到的源MAC地址做一个记录,生成MAC表,正常情况下条目会在300秒后超时。如果条目被覆盖,交换机会立即更新。
1.1、交换机处理数据帧的三种行为
- 泛洪: 对于广播帧、组播帧和未知单播帧,交换机会进行泛洪处理。
- 转发: 对于已知单播帧,交换机会根据MAC表进行转发。
- 丢弃: 对于某些不符合规则的数据帧,交换机会进行丢弃处理。
1.2、初始化通信
以计算机A ping 1.2为例:
- 主机A首先判断目的IP是否在同一网段。如果在同一网段,会查看arp缓存表;如果不在同一网段,会查找网关。
- 如果需要发送arp广播请求报文,数据包会写明自己的IP和目的IP,源MAC为A,目的MAC为FF(广播地址)。
- 交换机收到arp广播请求后,先学习(记录接口对应的MAC)后泛洪。
- 主机B收到arp广播请求后,先记录arp缓存,然后返回arp单播应答。
- 交换机收到arp单播应答后,先学习后转发。
- 最后,主机A收到arp单播应答后,记录arp缓存。
可以看出,计算机建立的是arp缓存表,而交换机建立的是MAC表。
二、虚拟局域网(VLAN)
VLAN(Virtual Local Area Network)是一种将局域网内的设备逻辑地而不是物理地划分成一个个网段的技术。VLAN的实现依赖于802.1Q标记标准。
VLAN的必要性
- 路由器口比较少
- 路由器每秒吞吐量(PPS)比交换机低
- 路由器作了广播域隔离(物理隔离),无法灵活修改网络
交换机默认将所有计算机划分到同一个广播域VLAN1。VLAN通过VID(VLAN ID)来标识不同的广播域。
接口类型
- Access口: 接收数据帧打VID标记,发送数据帧剥离VID标记,允许一个VLAN。
- Trunk口: 接收数据帧和发送数据帧保持VID标记,允许多个VLAN。
- Hybrid口: 收帧打标记(PVID,默认为1),发送不打标记,允许多VLAN。
配置示例:
## 创建一个VLAN
vlan 10
## 同时创建多个VLAN
vlan batch 10 20
## 同时创建多个连续VLAN
vlan batch 10 to 100
## 修改接口类型 - Access
port link-type access
## 透传VLAN
port default vlan 10
## 修改接口类型 - Trunk
port link-type trunk
port trunk allow-pass vlan 10
## 修改接口类型 - Hybrid
port link-type hybrid
port hybrid pvid vlan 10
port hybrid untagged vlan 10
当两台交换机下的两台计算机要归属到同一广播域时,除了对应计算机的交换机接口需要配置同VLAN标记外,交换机之间通信时需要保持VLAN标记(Trunk链路)。
三、VLAN间通信
VLAN间通信需要通过路由通信,属于三层通信。
3.1、子接口
子接口是基于物理接口创建的逻辑接口,命名方式为物理接口ID+子接口ID。子接口需要处理带VLAN标记的数据帧,因此对端交换机端口需要配置为Trunk类型。
配置示例:
## 创建子接口
interface GigabitEthernet0/0/1.10
dot1q termination vid 10
ip address 192.168.10.254 24
arp broadcast enable
interface GigabitEthernet0/0/1.20
dot1q termination vid 20
ip address 192.168.20.254 24
arp broadcast enable
## 与路由器连接端口为Trunk
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10 20
## 与PC连接端口为Access
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
interface GigabitEthernet0/0/3
port link-type access
port default vlan 20
3.2、三层交换机
三层交换机除了具备二层交换功能,还支持通过三层接口(如VLANIF接口)实现路由转发功能。
VLANIF接口
VLANIF接口是一种三层的逻辑接口,支持VLAN Tag的剥离和添加,因此可以通过VLANIF接口实现VLAN之间的通信。VLANIF接口编号与对应的VLAN ID强关联。
配置示例:
## 基础配置
vlan batch 10 20
interface GigabitEthernet 0/0/1
port link-type access
port default vlan 10
interface GigabitEthernet 0/0/2
port link-type access
port default vlan 20
## 配置VLANIF
interface Vlanif10
ip address 192.168.10.254 24
interface Vlanif 20
ip address 192.168.20.254 24
VLANIF转发流程
假设PC、三层交换机上都已存在相应的ARP或MAC表项。PC1与PC2之间通信过程如下:
- PC1通过本地IP地址、本地掩码、对端IP地址进行计算,发现目的设备PC2与自身不在同一网段,判断该通信为三层通信,将去往PC2的流量发给网关。
- 网关接口作为三层接口收到数据帧后,先终结掉VID,二层解封装后查看三层,根据目的IP,查看路由表,发现一条直连路由,出接口为VLANIF20,会做三层转发,此时数据包无VLAN标记。
- VLANIF20接口收到数据包后,解封三层,根据目的IP,查看路由表,发现是本地直连路由,会查看ARP缓存表,将目的MAC设置为MAC3,打上VLAN20标记向交换模块转发,交换模块查MAC表后转发至PC2。
集中式与分布式网关
- 集中式网关: 所有VLAN的网关全部配置在核心交换机上,无需配置路由协议,但可能导致次优路径。
- 分布式网关: 将VLAN的网关配置在汇聚层/接入层,可以使用最佳路径,但需要配置互联VLAN和互联IP,并运行路由协议。