# 交换机
:Switch ,一种网络设备,与网桥的功能相似。
- OSI 层级:通常工作在数据链路层,称为第二层交换机。
- 有的交换机添加了路由功能,可以工作在网络层,称为第三层交换机。不过功能不如专业的路由器。
# 功能
交换机的基本功能,与网桥相同,可以对数据帧进行转发、过滤。
- 具有多个端口,每个端口可以连接一个网络或主机。
- 从一个端口收到数据包时,会查询路由表,从而决定将该数据包,转发到哪个端口。
- 自动地建立和维护一个 源 Mac 地址表,又称为交换表。表中记录了各个目标 Mac 地址与端口的对应关系。
交换表的分类:
- 静态交换表:由用户手动设置。
- 动态交换表:由交换机自动建立和维护。
转发数据帧时,有几种方式:
- 存储转发交换方式
- :先接收整个数据帧,暂存在内存中。然后检查它是否出错。最后转发到目标端口。
- 这种方式最常使用。
- 快速交换方式
- :又称为直接交换方式。对于每个数据帧,还没接收完毕,就同时进行转发。
- 这样转发延迟低,但不能进行差错控制。
- 无碎片交换方式
- :对于每个数据帧,只要收到开头 64 bytes ,就开始转发。
- 为什么是 64 bytes ?当多个主机同时发送数据帧而产生冲突时,数据帧通常会变得残缺,长度不足 64 bytes 。通过长度,可以快速判断一个数据帧是否为碎片。
- 存储转发交换方式
# 虚拟局域网
- 与网桥相比,交换机提供了一个高级功能:划分虚拟局域网(Virtual LAN ,VLAN)。
- 原理:
- 多个主机连接到一个交换机时,在物理线路上组成同一个局域网。
- 用户可以修改交换机的配置参数,在一个物理局域网中,划分多个虚拟局域网。
- 例如将 0~3 号端口,划分为 1 号 VLAN 。将 4~7 号端口,划分为 2 号 VLAN 。
- 交换机从 0 号端口收到数据帧时,只能转发到 1 号 VLAN 的其它端口,不能转发到 2 号 VLAN 的端口。
- 也就是说,不能跨 VLAN 转发数据帧。
- 可以从多个层面,划分 VLAN :
- 基于端口号
- 基于 Mac 地址
- 基于 IP 地址
- 基于网络协议的类型
- 如何才能跨 VLAN 转发数据帧?这个问题相当于,如何才能跨局域网转发数据帧,答案是使用路由器,建立路由表。
- 优点:
- 隔离广播风暴:每个 VLAN 是一个独立的广播域。如果一个数据帧的目标 Mac 地址,属于广播地址,则不能 VLAN 传播。
- 分组管理网络:可以划分多个虚拟网段,供不同用户使用。
- 缺点:
- 按照 802.1Q 标准,使用 VLAN 时需要在以太网帧的头部加入 VLAN ID 信息,声明它所属的 VLAN 编号。VLAN ID 的长度为 12 bits ,因此一个交换机最多创建 4092 个 VLAN 。
# VTP
- 一个大型的物理局域网中,通常包含多个交换机。为了在这些交换机中统一配置 VLAN ,可以使用虚拟局域网中继协议(VLAN Trunk Protocol,VTP)。
- 原理:
- 用户需要将多个交换机都开启 VTP 功能,并采用同一个 VTP 域名。
- 这些交换机之间,会通过 VTP 协议,相互通告 VLAN 的配置信息。
# VXLAN
:虚拟可扩展局域网(Virtual Extensible LAN),云计算机房常用的一种 VLAN 技术。
- 原理:
- 将 OSI 2 层的以太网帧,封包在 OSI 4 层的 UDP 报文中,然后将 UDP 报文发送给目标主机。
- 目标主机收到 UDP 报文之后,解包成以太网帧。
- 与 VLAN 相比,VXLAN 的优点:
- 地理位置较远的主机之间,只要能通过 OSI 传输层连通,就可以加入同一个 VLAN 。
- VLAN ID 的长度为 24 Bits ,可以创建海量的 VLAN 。
- 缺点:
- VXLAN 封装报文的过程,比 VLAN 的耗时更久。而且封装信息更多,增加了网络通信的总流量。