OpenStack中网络流向是怎样的,都经过网络控制器吗?

参与7

2同行回答

zzhengleizzhenglei技术经理某保险
多节点时,网络控制器与计算节点分别在不同主机,普通部署方式下(不是multi_host),只有nova-network控制网络,而它仅仅在控制节点运行。因此,所有计算节点的实例都需要通过控制节点来与外网通信。可以通过multi_host等高可用性部署方式改变这个单点故障问题。...显示全部

多节点时,网络控制器与计算节点分别在不同主机,普通部署方式下(不是multi_host),只有nova-network控制网络,而它仅仅在控制节点运行。因此,所有计算节点的实例都需要通过控制节点来与外网通信。

可以通过multi_host等高可用性部署方式改变这个单点故障问题。

收起
保险 · 2019-12-13
浏览1814
wanshaoyuanwanshaoyuan咨询专家RancherLabs
这里分几个场景了,简单描述下(采用ovs-vlan模式):场景一: 相同物理机上的虚拟机互相访问vm1和vm2在同一个宿主机上同一个项目下同一个子网时,两个虚机之间的流量是不需要经过交换机的,直接通过ovs的br-int桥就可以做转发了。场景二:不同物理机上的虚拟机互相访问vm1和vm2在同一个...显示全部

这里分几个场景了,简单描述下(采用ovs-vlan模式):
场景一: 相同物理机上的虚拟机互相访问

vm1和vm2在同一个宿主机上同一个项目下同一个子网时,两个虚机之间的流量是不需要经过交换机的,直接通过ovs的br-int桥就可以做转发了。

场景二:不同物理机上的虚拟机互相访问
vm1和vm2在同一个宿主机上同一个项目下同一个子网时,两个虚拟机之间的流量是需要通过物理交换机进行转发的

vm的流量首先经过tap网卡到qbr桥上,qbr桥是linux-bridge桥,曾经的ovs不支持安全组的实现所以openstack只能加一个qbr桥在上面通过iptables来实现安全组,(mitaka版本中已经没有了因为ovs已经可以通过openflow来实现了),通过veth口将br-int和qbr桥连接起来,流量到br-int上,br-int上有对应的ovs规则转发到br-eth0上,,br-eth0 中的 flow rules。从 patch port 进入的数据帧,将内部 local_id 修改为vlan_id,再从 eth0 端口发出。通过交换机到达另外一个计算机节点

eth0收到包后通过ovs规则将流量转到br-int,br-int将vlan_id转换为对应的local_id,然后通过veth口发给qbr,通过qbr后转vm的tap的网卡经过内核转发到vm的网卡。

场景三:访问外部网络  
需要经过网络节点,由网络节点的qroute做三层转发,也可以直接使用物理交换机。不同子网的通信,虚机会将流量丢给默认网关然后到达网络节点的qrouter通过qrouter的三层转发通讯。

收起
IT咨询服务 · 2019-12-17
浏览1761

提问者

airstuky
项目经理某金融银行
擅长领域: 数据库云计算服务器

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2019-12-13
  • 关注会员:4 人
  • 问题浏览:3686
  • 最近回答:2019-12-17
  • X社区推广