大家还记得上一章中出现过的的负载均衡架构图吗?图 6-3 中就暗藏了一个交换机。
在左侧,客户端和负载均衡器之间使用公网 IP 进行通信。它们就像是全球互联网中的两台对等设备,只是数据包经过了许多真正的“路由器”的“路由”操作,才能互相接收到对方发送的数据包。
而在右侧,负载均衡器和上游服务器之间的通信则采用了内网 IP:10.0.0.100
和 10.0.0.1
。那么,它们是如何进行通信的呢?答案就是通过交换机。
一台能够实现千兆 NAT 功能的路由器,最低价格大约在 300 元。然而,一个所有端口都能同时实现全双工千兆(上下行同时达到千兆)的五口交换机,你知道其价格是多少吗?仅需 39 元,还包邮。
这是因为交换机所承担的任务相对简单,可以使用较低端的芯片来满足需求。
网关通过关联两个五元组并对数据进行修改来实现其功能。而交换机则更为简单:它只需维护一个 MAC 地址与网口之间对应关系的哈希表,无需对数据进行任何修改。该哈希表的键为 48 位长,值为 tinyint:对于四口交换机,可用 2 位表示;对于八口交换机,可用 3 位表示。现在,你是否明白了为什么家用交换机通常都是八口的呢?因为节省一位存储空间,就可以降低一些成本。
交换机的工作模式可以简要描述如下:
除了不需要修改数据包之外,交换机也不需要与其他设备通信来建立和更新 MAC 表,只需监听途径交换机的所有数据包的源 MAC 地址即可。
优点:
缺点:
当然,目前主流的商业二层交换机已经具备了许多三层特性,这些缺点通过各种检测技术已经得到了解决。
大家不要认为交换机原理没有用处,SDN 是一种跨越一二三层的技术,物理层(MAC 层)也是我们构建 200G 负载均衡集群的重要技术战场。
准备工作已经完成,下面我们开始搭建负载均衡集群。首先从这一切的基础—— LVS 开源软件说起。
📙 高并发的哲学原理 《Philosophical Principles of High Concurrency》
Copyright © 2023 吕文翰