neutron network types(1)

本文深入探讨了OpenStack Neutron中的多种网络类型,包括flat、vlan、gre和vxlan网络的具体实现方式及其在网络隔离和扩展性方面的优缺点。通过详细的流程说明帮助读者理解不同网络模式下数据包的传输路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为一个neutron的使用者,配置neutron是整个openstack中最繁杂的,一是因为概念众多,而是因为网络拓扑架构和网络类型的差异,几种类型一起,不熟悉网络的人会发懵,网上有很多图传播率比较高,我一直是无图模式,因为我认为看文字让图在脑海里出现才会记忆深刻。

如果亲手配过openstack的人除了对ml2,各种plugins,driver印象深刻之外(这些在前面已经讲到),另一些东西大概会是:

flat, vlan, gre, vxlan, br-ex, br-int, br-tun, router, dhcp, dnsmasq, patch-int, patch-tun等有印象, 它们有的是配置的时候指定,有的可以在ovs命令行中看到。


flat network:

记得很久之前自己搭建openstack只是,neutron才刚起步不久,当时还很不成熟,只有flat dhcp比较多的验证过,于是大多用的flat dhcp network,

印象最深的是创建一个br100网桥, 网桥是二层网络(事实上可以认为高密度的网桥就是一个交换机),采用flat 模式时候,compute node创建的虚拟机都会桥接到

br100(或者别的虚拟网桥), 而网桥则会和真正的物理端口绑定,数据流看起来是这样的:

虚机网口 --> 网桥(br100)  --> 物理网口 --> external net

ps: dhcp是二层网络的服务,所以flat dhcp 可以认为在网桥上提供了dhcp服务,新建立的虚机广播获得dhcp 服务点,获得ip


btw:

这里的虚拟网口实际上是虚拟机上的一个tap设备,

tap设备不直接连到br-int上,是因为openstack的iptables是在tap设备上实现的,而openstack使用的openvSwitch,连接到ovs中port的tap设备不支持iptables,

因此加了一个qbr的linux bridge,这里的bridge是linux本身的,和下面的br-int以及br100不同,它们是由ovs虚拟出来的。


vlan network:

使用flat 网络很稳定,配置简单,但是不能做不同租户之间的隔离,也不能防止网络flood,很容易想想,所有的虚机网络上都是相通或者不相通的(可以用security group控制一些port的操作,但远远不够), 在物理网络中,我们常使用vlan来隔离不同的project,在SDN中也一样,因此vlan最容易被人想到。

vlan也是在二层的,给发送的数据包打上tag,只有同一个vlan的虚机之间才能收到数据,起到隔离的作用:

虚拟机网口 --> 网桥(打上tag,vlan的玩法很多这只是其中的一种)--> 物理网口 --> 物理交换机/router --> 另一个机器的物理网口 ---> 网桥(解tag) --> 同一个project的vm


gre network

gre什么意思,通用路由封装

vlan的tag数目是有限制的(貌似是1到1024),小范围的话还ok,但是对于云来说,vlan就显得不够了,这个时候就有了GRE的使用, tunnel id可以更多,也更灵活,

GRE不是二层的,属于三层的隧道技术,使用GRE时,网络的数据看起来是:

虚拟机网口-->br-int(qbrxxx这个网桥忽略了,刚刚提到过,它是由于使用openvswitch而存在的) --> br-tun(隧道id 封装) -> 隧道 -->......


vxlan network

这个本人没有亲自试验过,概念上:

VXLAN全称Virtual eXtensible LAN,是一种覆盖网络技术或隧道技术(也需要br-tun)。VXLAN将虚拟机发出的数据包封装在UDP中,并使用物理网络的IP/MAC作为outer-header进行封装,然后在物理IP网上传输,到达目的地后由隧道终结点解封并将数据发送给目标虚拟机。

VxLan是 L2 over UDP,可以跨 L3边界,很巧妙地解决了 GRE tunnel 和 VLAN 存在的不足,让组网变得更加灵活


到这里,我们大概可以知道br-int, br-tun在neutron的位置,DHCP在二层,我们也可以想象它在br-int上的位子。

但是还有一些东西会让你觉得模糊,比如tap,veth,qvb,qvo,patch-tun,router,br-ex。

先吃饭。

mark

http://www.opencloudblog.com/?p=460

https://developer.rackspace.com/blog/neutron-networking-vlan-provider-networks/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值