OVS vxlan 底层结构分析 - 每天5分钟玩转 OpenStack(148)

上一节创建了 vxlan100_net 并部署 instance,今天我们来分析底层网络结构。

控制节点

执行 ovs-vsctl show:

 

br-int

br-int 连接了如下 port:

  1. tap0d4cb13a-7a 是 vxlan100_net 的 DHCP 服务对应的 interface。
  2. qvoa2ac3b9a-24 将 cirros-vm1 虚拟网卡连接到 vxlan100_net。

br-tun

br-tun 上创建了一个特殊的 port “vxlan-a642100b”,它是 VXLAN 的隧道端点,指定了本地(devstack-controller)节点和远端(devstack-compute1)节点 VTEP 的 IP。

计算节点

执行 ovs-vsctl show:

br-int

br-int 上 qvoab219616-01 将 cirros-vm2 虚拟网卡连接到 vxlan100_net。

br-tun

br-tun 上也创建了 port “vxlan-a642100b”,配置内容与控制节点相对,指定了本地(devstack-compute1)节点和远端(devstack-controller)节点 VTEP 的 IP。

当前网络结构如下:

需要特别注意的是:无论存在多少个 VXLAN,devstack-controller 与 devstack-compute1 之间所有的数据都只通过 “vxlan-a642100b” 这对 port 上建立的隧道传输。

分析完 vxlan 的结构,那么数据是如何在节点之间传输的呢?

答案就是 flow rule,下节我们详细分析。

时间: 2024-09-01 22:40:00

OVS vxlan 底层结构分析 - 每天5分钟玩转 OpenStack(148)的相关文章

OVS VxLAN Flow 分析 - 每天5分钟玩转 OpenStack(149)

    OVS 的数据流向都是由 Flow 规则控制的,今天我们就来分析 VxLAN 的 Flow 规则. 提个醒:这可能是本教程最烧脑的一节,let's rock it ! 下面分析控制节点上的 flow rule,计算节点类似. br-int 的 flow rule br-int 的 rule 看上去虽然多,其实逻辑很简单,br-int 被当作一个二层交换机,其重要的 rule 是下面这条: cookie=0xaaa0e760a7848ec3, duration=52798.625s, ta

创建 OVS 外部网络 ext_net - 每天5分钟玩转 OpenStack(144)

上一节完成连接外网的配置准备工作,今天就来创建 OVS 外部网络 ext_net. 进入 Admin -> Networks 菜单,点击 "Create Network" 按钮. 显示创建页面. Provider Network Type 选择 "Flat".  Network 填写 "external",与 ml2_conf.ini 中 flat_networks 的参数值保持一致.  勾选 External Network 选择框. 

macvlan 网络结构分析 - 每天5分钟玩转 Docker 容器技术(56)

上一节我们创建了 macvlan 并部署了容器,本节详细分析 macvlan 底层网络结构. macvlan 网络结构分析 macvlan 不依赖 Linux bridge,brctl show 可以确认没有创建新的 bridge. 查看一下容器 bbox1 的网络设备: 除了 lo,容器只有一个 eth0,请注意 eth0 后面的 @if4,这表明该 interface 有一个对应的 interface,其全局的编号为 4.根据 macvlan 的原理,我们有理由猜测这个 interface

写在最前面 - 每天5分钟玩转 OpenStack(1)

<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重实践并兼顾理论 主要从实际操作的角度带着大家学习 OpenStack.   为啥要写这个? 简单回答是:因为OpenStack 学习难度大,但如果掌握了价值会很大 先做一个自我介绍吧. 本人网名CloudMan,在 IT 这个行当已经摸爬滚打了十多年,05年之前是搞上层应用开发的,那时候 Java 比较火,所

创建 vxlan 并部署 instance - 每天5分钟玩转 OpenStack(147)

上一节我们完成了 OVS VxLAN 的配置工作,今天创建 vxlan100_net 并部署 instance. 创建 vxlan100_net 打开菜单 Admin -> Networks,点击 "Create Network" 按钮. 显示创建页面. Provider Network Type 选择 "VXLAN".  Segmentation ID 即 VNI,设置为 100. 点击 "Create Network",vxlan100

学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)

作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder 和 Neutron.请大家看下图: 此图截自 https://www.openstack.org/software/project-navigator/,这是 OpenStack 官方定义的 6 个 Core Service.每个模块都会从三个维度来衡量: ADOPTION - 采用度 MATUR

cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)

本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件.  设置 hostname cloud-init 默认会将 instance 的名字设置为 hostname.但这样不太方便,有时希望能够将二者分开,可利用 cloud-init 的set_hostname 模块实现.set_hostname 它会查询 metadata 中 hostname 信息,默认值就是 instance 的名字.我们可以指定自己的 hostname,方法是将下面的内容传给

ML2 配置 OVS VxLAN - 每天5分钟玩转 OpenStack(146)

今天我们开始学习 OVS 如何实现 Neutron VxLAN,关于 VxLAN 的概念以及 Linux Bridge 实现,大家可以参考前面相关章节. Open vSwitch 支持 VXLAN 和 GRE 这两种 overlay network.因为 OpenStack 对于 VXLAN 与 GRE 配置和实现差别不大,这里只讨论如何实施 VXLAN. 在 ML2 配置中 enable vxlan network 在 /etc/neutron/plugins/ml2/ml2_conf.ini

OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)

上一节我们启用了 Open vSwitch,本节将查看当前的网络状态并介绍 Open vSwitch 涉及的各种网络设备 初始网络状态 查看一下当前的网络状态. 控制节点 ifconfig 显示控制节点上有三个网桥 br-ex,br-int 和 br-tun. 从命名上看我们大致能猜出他们的用途: br-ex连接外部(external)网络的网桥 br-int集成(integration)网桥,所有 instance 的虚拟网卡和其他虚拟网络设备都将连接到该网桥. br-tun隧道(tunnel