L2 Population 原理 - 每天5分钟玩转 OpenStack(113)

简介: 前面我们学习了 VXLAN,今天讨论跟 VXLAN 紧密相关的 L2 Population。L2 Population 是用来提高 VXLAN 网络 Scalability 的。通常我们说某个系统的 Scalability 好,其意思是:当系统的规模变大时,仍然能够高效地工作。

前面我们学习了 VXLAN,今天讨论跟 VXLAN 紧密相关的 L2 Population。

L2 Population 是用来提高 VXLAN 网络 Scalability 的

通常我们说某个系统的 Scalability 好,其意思是: 当系统的规模变大时,仍然能够高效地工作。

L2 Population 到底解决了怎样的 Scalability 问题? 请看下图:

这是一个包含 5 个节点的 VXLAN 网络,每个节点上运行了若干 VM。

现在假设 Host 1 上的 VM A 想与 Host 4 上的 VM G 通信。
VM A 要做的第一步是获知 VM G 的 MAC 地址。 于是 VM A 需要在整个 VXLAN 网络中广播 APR 报文:“VM G 的 MAC 地址是多少?”

如果 VXLAN 网络的节点很多,广播的成本会很大,这样 Scalability 就成问题了。 幸好 L2 Population 出现了。

L2 Population 的作用是在 VTEP 上提供 Porxy ARP 功能,使得 VTEP 能够预先获知 VXLAN 网络中如下信息: 1. VM IP -- MAC 对应关系 2. VM -- VTEP 的对应关系

当 VM A 需要与 VM G 通信时: 1. Host 1 上的 VTEP 直接响应 VM A 的 APR 请求,告之 VM G 的 MAC 地址。 2. 因为 Host 1 上的 VTEP 知道 VM G 位于 Host 4,会将封装好的 VXLAN 数据包直接发送给 Host 4 的 VTEP。

这样就解决了 MAC 地址学习和 APR 广播的问题,从而保证了 VXLAN 的 Scalability。

那么下一个关键问题是:
VTEP 是如何提前获知 IP -- MAC -- VTEP 相关信息的呢

答案是:

  1. Neutron 知道每一个 port 的状态和信息; port 保存了 IP,MAC 相关数据。

  2. instance 启动时,其 port 状态变化过程为:down -> build -> active。

  3. 每当 port 状态发生变化时,Neutron 都会通过 RPC 消息通知各节点上的 Neutron agent,使得 VTEP 能够更新 VM 和 port 的相关信息。

  4. VTEP 可以根据这些信息判断出其他 Host 上都有哪些 VM,以及它们的 MAC 地址,这样就能直接与之通信,从而避免了不必要的隧道连接和广播。

理解了工作原理,下节我们学习如何在 Neutorn 中配置 L2 Population。

blob.png

目录
相关文章
|
3月前
|
人工智能 运维 前端开发
Claude Code 30k+ star官方插件,小白也能写专业级代码
Superpowers是Claude Code官方插件,由核心开发者Jesse打造,上线3个月获3万star。它集成brainstorming、TDD、系统化调试等专业开发流程,让AI写代码更规范高效。开源免费,安装简单,实测显著提升开发质量与效率,值得开发者尝试。
9506 5
|
1月前
|
人工智能 监控 安全
OpenClaw意外走红,智谱、MiniMax、Kimi终于“得救”了
春节后,开源AI框架OpenClaw引爆全球:25万+ GitHub Star登顶历史榜首,以“无头智能体”打破对话框局限——本地部署、全平台接入、SOUL.md定义人格、自动执行任务。它让AI从聊天工具蜕变为隐形生产力基建,为智谱、Kimi等大模型厂商开辟“API即服务”的新出路。(239字)
329 5
|
存储 安全 API
OpenStack的块存储卷管理快照 (Snapshot)
【8月更文挑战第26天】
895 13
|
存储 编解码 人工智能
一文彻底揭开你不知道的二进制的秘密
本文介绍了二进制的基础概念及其在图片、声音和视频数字化中的应用。从位(bit)和字节(byte)到分辨率、采样率和压缩标准,带你深入了解计算机如何处理多媒体信息。君志所向,一往无前!
1086 1
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
546 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
|
运维 监控 网络协议
运维之道:从基础到精通的旅程
在当今这个信息化飞速发展的时代,运维工程师的角色变得日益重要。本文旨在通过分享个人从初学者到专家的成长经历,为那些希望进入或已在运维领域工作的人们提供实用的建议和策略。我们将探讨学习路径、必备技能以及面对挑战时的心态调整方法。无论你是刚入门的新手还是有一定经验的从业者,相信这篇文章都能给你带来启发和帮助。
|
存储 资源调度 自然语言处理
奇异值分解(SVD)和图像压缩
在本文中,我将尝试解释 SVD 背后的数学及其几何意义,还有它在数据科学中的最常见的用法,图像压缩。
478 0
|
Linux
LINUX编译时缺少头文件,查找依赖库的终极解决办法
LINUX编译时缺少头文件,查找依赖库的终极解决办法
726 0
|
存储 弹性计算 Linux
企业级客户使用阿里云文件存储NAS SMB配置Home Directory服务指南
阿里云文件存储服务提供SMB/NFS/CIFS等多种文件存储协议,单文件系统可以存储海量数据,方便企业级客户在多个用户之间进行文件共享和协同合作。其中SMB协议是微软生态默认的文件共享协议,经过几十年的长期积累,具备广大的用户群,能够支持Windows、MacOS、Linux等多种客户端。阿里云NAS SMB文件存储通过支持AD域服务,可以对一个企业不同部门的不同员工创建不同的用户身份,结合ACL权限控制功能,达到企业有序可控地共享整个文件系统。
1024 0
企业级客户使用阿里云文件存储NAS SMB配置Home Directory服务指南

热门文章

最新文章

下一篇
开通oss服务