4096 个虚拟网络对于大规模的数据中心来说远远不够 , VxLAN 会使用 24 比特的 VNI 表示虚拟网络个数 , 总共可以表示 16,777,216 个虚拟网络 , 这也就能满足数据中心多租户网络隔离的需求了 。
文章插图
VxLAN-packet
图 8 - VxLAN 协议头
更多的虚拟网络其实是 VxLAN 顺手带来的好处 , 它不应该成为使用 VxLAN 的决定性因素 。VLAN 协议的扩展协议 IEEE 802.1ad 允许我们在以太网帧中加入两个 802.1Q 的协议头 , 两个 VLAN ID 组成的 24 比特也可以表示 16,777,216 个虚拟网络[^6] , 所以想要解决网络隔离不是使用 VxLAN 或者 Overlay 网络的充分条件 。
总结今天的数据中心包含多个集群以及海量的物理机 , Overlay 网络是虚拟机和底层网络设备之间的中间层 , 通过 Overlay 网络这一个中间层 , 我们可以解决虚拟机的迁移问题、降低二层核心网络设备的压力并提供更大规模的虚拟网络数量:
- 在使用 VxLAN 构成二层网络中 , 虚拟机在不同集群、不同可用区和不同数据中心迁移后 , 仍然可以保证二层网络的可达性 , 这能够帮助我们保证线上业务的可用性、提升集群的资源利用率、容忍虚拟机和节点的故障;
- 集群中虚拟机的规模可能是物理机是几十倍 , 与物理机构成的传统集群相比 , 虚拟机构成的集群包含的 MAC 地址数量可能多一两个数量级 , 网络设备很难承担如此大规模的二层网络请求 , Overlay 网络通过 IP 封包和控制平面可以减少集群中的 MAC 地址表项和 ARP 请求;
- VxLAN 的协议头使用 24 位的 VNI 表示虚拟网络 , 总共可以表示 1600 万的虚拟网络 , 我们可以为不同的虚拟网络单独分配网络带宽 , 满足多租户的网络隔离需求;
- VxLAN 将原始数据包封装成 UDP 在网络上分发 , 那么 NVGRE 和 STT 分别使用哪些方法传输数据呢?
- 在 Kubernetes 中部署 Overlay 网络应该使用什么技术或者软件?
如果对文章中的内容有疑问或者想要了解更多软件工程上一些设计决策背后的原因 , 可以在博客下面留言 , 作者会及时回复本文相关的疑问并选择其中合适的主题作为后续的内容 。
推荐阅读
- 花木兰为什么替父出征 木兰从军中花木兰为什么要替父从军
- 提高微服务安全性的11个方法
- 为什么说“你们男人都一样”
- |为什么说人在职场,尊严和面子都是争回来的,不是舔回来的
- 列强在中国修建铁路的原因 列强为什么在中国修铁路
- 刚刚出生新生儿阴道炎症为什么
- 宋仁宗到底爱不爱曹皇后 宋仁宗为什么不喜欢曹皇后
- 曹操的儿子为什么活不长 曹操的子孙为什么命都不长
- 宋朝起义为什么那么多 宋朝有农民起义吗
- 吴起为什么那么厉害 吴起被谁杀了