1. 前置
1. 二层转发
交换机根据学习来的 MAC 地址表来选择转发端口
MAC Address Port Type
MAC1 GE0/0/1 dynamic
MAC2 GE0/0/2 dynamic
1. 交换机接口不需配置 IP 地址
2. 交换机接口不需配置 MAC 地址
3. 交换机对收到的数据进行学习,产生 MAC 地址表
4. 二层交换机就像一个聪明的集线器
2. 问题
问题描述:
一个二层网络的建立必然通过数次广播 ARP 报文,那么问题来了。
别有用心的人发起一个不存在的 IP 地址到二层网络,造成不停的广播;
别有用心的人回送一个虚假的 ARP 应答,欺骗二层网络上的主机,监听通信;
一个很大的二层网络必然出现垃圾流量和安全问题
解决:
ARP 报文仅在局域网内传播,使用虚拟局域网技术可以将这些问题进行隔离,一个较大的局域网划分成多个 VLAN
2. VLAN 实现
就是在帧数据里面加入 Tag 标识,来区分不同的虚拟局域网。交换机接收或者发送带 Tag 的帧,可选择处理或者丢弃,从而在局域网内实现数据帧的隔离。
有一点需要清楚,交换机可以识别带 Tag 的帧,但是我们的终端主机是没办法识别这些带 Tag 的数据帧
虽然协议层面已经做好,但最终靠设备层面 交换机上的 Access、Trunk、Hybrid 接口实现
2. Access、Trunk、Hybrid
1. Access
Access 接口用于终端侧
(1)接收:
- Untagged 帧,打上 PVID
- Tagged 帧,等于 PVID 接收,否则丢弃
(2)发送:
- Tagged 帧,Tag 等于 PVID 剥离 Tag 再发送
- Tagged 帧,Tag 不等于 PVID,丢弃
2. Trunk
Trunk 接口用于另一端的交换机侧
为了便于理解 Trunk,我们先把Trunk 当做简单的 Trunk1
Trunk1:
(1) 接收:
- Tagged 帧,Tag 在允许列表中则接收,否则丢弃
(2) 发送:
- Tagged 帧,Tag 在允许列表中则发送,否则丢弃
Trunk:
我们把 Access 的规则稍加修改叫 Trunk
(1)接收:
- Untagged 帧, 打上 PVID,交付 Trunk1 处理
- Tagged 帧,交付 Trunk1 处理
(2)发送:
- Tagged 帧,Tag 与 PVID 不等,交付 Trunk1 处理
- Tagged 帧,Tag 与 PVID 相等,交付 Trunk1 处理,发送的时候剥离 Tag
我们可以使用 Trunk 模拟 一个 Access,如下:
1. Trunk 的 PVID 设置一个 [1, 4094] 的数字
2. Trunk 的允许列表设为 PVID 仅此一个
所以,把交换机的所有接口都搞成 Trunk,也不妨如此。
3. Hybrid
Hybrid 接口可以用于终端侧和交换机侧
(1)接收
- 等同于 Trunk 规则
(2)发送
- Tagged 帧,Tag 不在允许列表中,丢弃
- Tagged 帧,Tag 在 Untagged 列表中,剥离 Tag 发送
- Tagged 帧,Tag 在 Tagged 列表中,直接发送
总结:
1. Hybrid 相当于 Trunk 可以配置多个 PVID,当然也可以相当于 Access 接口可以配置多个 PVID
2. 但是这多个 PVID 仅作用于发送帧的时候