1、虚拟机南北通讯:

环境:
External network:

Network 203.0.113.0/24
IP address allocation from 203.0.113.101 to 203.0.113.200
Project network router interface 203.0.113.101 TR

Project network

Network 192.168.1.0/24
Gateway 192.168.1.1 with MAC address TG
Compute node 1
Instance 1 192.168.1.11 with MAC address I1

Instance 1 resides on compute node 1 and uses a project network.
The instance sends a packet to a host on the external network.

过程:

涉及到计算节点的过程:
instance 通过qbr设备上的qvb-qbr-qvo 携带自己的mac地址以及目的地址和网关以及tag
通过qbr桥生的安全组
qbr桥将流量转送到br-int上
br-int桥为project 网络打上相应的tag
For VLAN project networks
br-init-->br-vlan
br-vlan 替换tag为真实的tag
br-vlan 把包转发到网络节点的br-vlan
涉及到网络节点
刚刚从compute节点的br-vlan的包通过交换机传送到网络节点的br-vlan上
br-vlan把包转发给br-int桥
br-int把真实的tag转换为ovs自己认的tag。br-int上面有qroute的接口(qr)设备,包含interface的gw 和tag
通过qroute的namespace 中的iptables规则把qr做为source nat到 qg设备上,可以查看namespace里面的ip信息

[root@cloud02 ~]#
查看Iptables规则
neutron-l3-agent-float-snat all -- anywhere anywhere
SNAT all -- anywhere anywhere to:10.10.255.226
SNAT all -- anywhere anywhere mark match ! 0x2/0xffff ctstate DNAT to:10.10.255.226
br-int 转发到br-ex上,再从br-ex到外网的子接口。
此时Snat已经全部完成。

2、带有FloatingIP的虚拟机南北流量


环境:
External network

Network 203.0.113.0/24
IP address allocation from 203.0.113.101 to 203.0.113.200
Project network router interface 203.0.113.101 TR
Project network
Network 192.168.1.0/24
Gateway 192.168.1.1 with MAC address TG
Compute node 1
Instance 1 192.168.1.11 with MAC address I1 and floating IP address 203.0.113.102 F1
Instance 1 resides on compute node 1 and uses a project network.
The instance receives a packet from a host on the external network.
过程
通过网络节点:
通过外部接口转发到br-ex上,br-ex转发到br-int上
br-ex的qg设备转到qrouter上面的qg设备


在qruoter的namesapce查看iptables nat规则

查看IP为“10.0.0.5” 的虚拟机

可以查看到router里面的flouting-ip对应的dnat是和虚拟机的project ip是一一对应的。
通过route把包转送到br-int。br-init 传送到br-vlan ,并打上真实的tag.
从接口到达交换机。

经过计算节点
计算节点的br-vlan 收到包后,传送给br-init,br-int 把tag转换为ovs自己的内部tag.。然后经过qvb和qvo着一对peer 到达qbr桥,从而到达到达tap设备。如图:

虚拟机之间在不同的网络通讯:

环境:

Project network 1
Network: 192.168.1.0/24
Gateway: 192.168.1.1 with MAC address TG1

Project network 2
Network: 192.168.2.0/24
Gateway: 192.168.2.1 with MAC address TG2
Compute node 1
Instance 1: 192.168.1.11 with MAC address I1
Compute node 2
Instance 2: 192.168.2.11 with MAC address I2
Instance 1 resides on compute node 1 and uses project network 1.
Instance 2 resides on compute node 2 and uses project network 2.
Both project networks reside on the same router.
Instance 1 sends a packet to instance 2.

通过compute01的:

tap设备通过qvb和qvo把qbr桥和br-int桥连接起来,从而到达br-int上
br-int把包转发给br-vlan上,br-vlan打上真实的tag,然后通过接口发给交换机。
通过network 节点的:
br-vlan接收到compute01上br-vlan发送的包,br-vlan 把包转发给br-int。 br-int把tag替换为自己能识别的tag
br-int把包发给qrouter 的qbr-1 接口。并且携带自身的网关信息。
路由通过route功能把qbr-1的包发送给qbr-2.
qbr-2 通过转发到达br-int上
br-init 把包转发给br-vlan,br-vlan把tag替换为真实的tag
br-vlan 把包发给network-2 的网桥上,br-vlan 把包发给compute-2的节点上
通过compute02节点的
计算节点2 接收到网络节点br-vlan的包。
br-vlan===> br-int
br-int ===>qbr===>tap

总结:
1、相同网络不同节点上的虚拟机互相通讯不经过网络节点
2、不通网络相互通讯经过网络节点
3、相同网络部同计算节点的虚拟机 互相通讯 直接走br-int

参考连接:
https://docs.openstack.org/liberty/networking-guide/scenario-classic-ovs.html

转载于:https://blog.51cto.com/shyln/2355540

Openstack 虚拟机通讯相关推荐

  1. openstack虚拟机内文件遭破坏的急救方案

    一.场景: openstack虚拟机存放于ceph存储,由于用户将系统的grub误删除,导致系统无法正常引导.现在用户要求抢救文件. 二.可行的方案: 1.将虚拟机保存为镜像,将镜像转换成云硬盘,将云 ...

  2. openstack云主机无法绑定ip_智汇华云|OpenStack 虚拟机 GPU 性能优化

    随着大数据.人工智能技术的发展,越来越多的用户产生了获取拥有GPU算力的弹性计算服务的需求,GPU云主机具有突出的图形处理和高性能计算能力,适用于科学计算.视频处理.深度学习等应用场景,受到了市场的青 ...

  3. 大牛写的Openstack虚拟机创建细节

    别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(5) (1) http://www.cnblogs.com/popsuper1982/p/3927390.html (2) ht ...

  4. openstack 虚拟机如何修改ip地址

    2019独角兽企业重金招聘Python工程师标准>>> 导读 在日常开发和生产环境中经常需要将OpenStack虚拟机配置一个静态Ip,但配置完成后发现外面无法访问.原因是opens ...

  5. 使用虚拟机备份软件备份OpenStack虚拟机

    1.进入虚拟机备份系统 2.选择[虚拟机保护]--[备份],新建备份任务.选择虚拟化类型[OpenStack],再选择需要备份的虚拟机,点击[下一步] 3.设置备份目的地,选择[目标节点]与[目标存储 ...

  6. 使用虚拟机备份软件恢复OpenStack虚拟机

    1.进入虚拟机备份系统 2.选择[虚拟机保护]--[恢复],新建恢复任务,选择选择虚拟化类型[OpenStack],勾选需要恢复的备份点,点击[下一步] 3. 设置恢复目标宿主机,并按需配置恢复虚拟机 ...

  7. OpenStack 虚拟机冷/热迁移的实现原理与代码分析

    目录 文章目录 目录 前文列表 冷迁移代码分析(基于 Newton) Nova 冷迁移实现原理 热迁移代码分析 Nova 热迁移实现原理 向 libvirtd 发出 Live Migration 指令 ...

  8. Openstack虚拟机镜像深度实践

    转载:http://geek.csdn.net/news/detail/52407?ref=myread 虚拟机镜像(以下简称镜像)是Openstack云计算平台不可或缺的一部分.利用各种定制化的镜像 ...

  9. pve虚拟机和openstack虚拟机的区别

    PVE 虚拟机和 OpenStack 虚拟机是两种不同的虚拟化技术. PVE 虚拟机是使用 Proxmox Virtual Environment (PVE) 所创建的虚拟机.PVE 是一个开源虚拟化 ...

  10. 联想服务器usb虚拟引入,联想ThinkCloud的OpenStack虚拟机的USB设备挂载

    上周五开始电力停电,备用电源将要耗尽,解除了机房10台联想物理机组成的云平台OpenStack. 之前自己接触用得最多的虚拟机或平台是VMware的Workstation 14平台,自己弄了几台虚拟机 ...

最新文章

  1. 【OpenCV 】计算物体的凸包/创建包围轮廓的矩形和圆形边界框/createTrackbar添加滑动条/
  2. Vlookup的兄弟lookup讲解
  3. php kuozhan
  4. 【编程题目】输入一个单向链表,输出该链表中倒数第 k 个结点
  5. 操作方法:Spring Boot和Thymeleaf与Maven
  6. 软件有效期如何实现_如何实现软件本地化:软件本地化流程的十条守则
  7. 防止页面传值出现乱码
  8. Python学习笔记:排列与组合
  9. Oracle修改数据时提示“record is locked by another user”的解决办法
  10. Android基于mAppWidget实现手绘地图(一)--简介
  11. ubuntu-12.04.5-desktop-amd64.iso:ubuntu-12.04.5-desktop-amd64:安装Oracle11gR2
  12. iOS中关于文件操作
  13. 容斥原理模板(二进制表示)
  14. Chrome最新离线安装包下载
  15. 软件测试——bug相关知识
  16. sql插入多条记录_如何在SQL中插入多条记录
  17. java物流项目描述_java-web模块物流项目四
  18. key位置 win10生成的ssh_Win10系统中生成SSH密钥的方法
  19. 中国石油大学(北京)-《 公共社交礼仪 》-​​​​​​​第一阶段在线作业
  20. 听李天飞《大话西游》有感

热门文章

  1. Dagger2原理解析
  2. TIM软件 docx.文件 安卓手机下载路径
  3. 内容创作费时费力?这款AI写作神器超给力!
  4. 程序员跳槽时,如何高效地准备面试?
  5. 小程序发布上线流程_微信小程序发布_审核上线流程及注意事项_企业服务汇
  6. 朗文当代高级英语辞典android,朗文当代高级英语词典下载
  7. 十代主板改win7_技嘉B460主板UEFI+GPT装win7|10代CPU装win7 Bios设置
  8. jsp与jspx文件
  9. 计算机软件服务的财务制度,餐饮业财务管理制度流程
  10. 讲讲MS08067红队培训班中的“毕业实战对抗”环节 + 视频