logo

交换机

大家还记得上一章中出现过的的负载均衡架构图吗?图 6-3 中就暗藏了一个交换机。

图 6-3 使用 TCP 负载均衡器时的架构图

在左侧,客户端和负载均衡器之间使用公网 IP 进行通信。它们就像是全球互联网中的两台对等设备,只是数据包经过了许多真正的“路由器”的“路由”操作,才能互相接收到对方发送的数据包。

而在右侧,负载均衡器和上游服务器之间的通信则采用了内网 IP:10.0.0.10010.0.0.1。那么,它们是如何进行通信的呢?答案就是通过交换机。

路由器和交换机巨大的价格落差

一台能够实现千兆 NAT 功能的路由器,最低价格大约在 300 元。然而,一个所有端口都能同时实现全双工千兆(上下行同时达到千兆)的五口交换机,你知道其价格是多少吗?仅需 39 元,还包邮。

这是因为交换机所承担的任务相对简单,可以使用较低端的芯片来满足需求。

交换机的工作原理

网关通过关联两个五元组并对数据进行修改来实现其功能。而交换机则更为简单:它只需维护一个 MAC 地址与网口之间对应关系的哈希表,无需对数据进行任何修改。该哈希表的键为 48 位长,值为 tinyint:对于四口交换机,可用 2 位表示;对于八口交换机,可用 3 位表示。现在,你是否明白了为什么家用交换机通常都是八口的呢?因为节省一位存储空间,就可以降低一些成本。

交换机的工作模式可以简要描述如下:

  1. 当交换机收到一个 MAC 包时,它会查询目的 MAC 地址所在的网口。
  2. 如果查询不到,交换机会将该 MAC 包发送到所有端口,包括接收到数据包的端口。
  3. 一旦该 MAC 包得到响应,交换机就会学习到该 MAC 地址与端口之间的关系,下次就不需要向所有端口发送了。
  4. 如果查询到了,交换机会将数据包单独发送到目标网口。
  5. 在整个过程中,交换机不会对数据包进行任何修改。

除了不需要修改数据包之外,交换机也不需要与其他设备通信来建立和更新 MAC 表,只需监听途径交换机的所有数据包的源 MAC 地址即可。

交换机技术的优缺点

优点:

  1. 由于足够简单,硬件成本可以保持在较低水平。
  2. 无需与任何设备通信即可支持新设备的接入,完全自学习。
  3. 扩展性极强,交换机可以随意级联,只要 MAC 表容量足够,理论上可以扩展成一颗无限层级的树。

缺点:

  1. 存在网络风暴的风险:数据包被无脑地发送到所有端口,可能会被其他交换机再次发送回来,导致正常数据包拥堵。
  2. 网络回环非常危险:如果将交换机的两个端口用一根线连接在一起,这台交换机将立即断网,对于这种低层级设备来说,“左右互搏之术”过于困难。

当然,目前主流的商业二层交换机已经具备了许多三层特性,这些缺点通过各种检测技术已经得到了解决。

大家不要认为交换机原理没有用处,SDN 是一种跨越一二三层的技术,物理层(MAC 层)也是我们构建 200G 负载均衡集群的重要技术战场。

准备工作已经完成,下面我们开始搭建负载均衡集群。首先从这一切的基础—— LVS 开源软件说起。

阅读数:2644      字数:1152 最后更新:2023-10-26 01:11:16