千家信息网

如何分析Neutron网络

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,如何分析Neutron网络,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。CL210考试环境笔者在今年参加了OpenSta
千家信息网最后更新 2026年11月02日如何分析Neutron网络

如何分析Neutron网络,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

  CL210考试环境

  笔者在今年参加了OpenStack CL210培训。但是对培训过程中实验环境的网络拓扑当时没有弄明白,后来看了一些资料,总算有了大概的了解。

  书上实验的拓扑图见上图。乍一看,是不是有点复杂?

  在实验中,每个人分配了一个台式机,台式机是一个RHEL操作系统。通过里面的KVM虚拟化,虚拟出了两个虚拟机Server-a和Server-b。Server-a有两个网卡:eth2和eth3。后来我们做的事情,是在Server-a上以All-in-one的方式安装OpenStack,第二个实验是将ServerB作为Nova-Compute加入到OpenStack中。

  当server-a上的openstack安装好以后,创建的虚拟机实例就是基于servera RHEL中的KVM做的。也就是说,最终我们创建的openstack实例,实际上的三层嵌套虚拟化。

  谈到OpenStack的网络,很多人不是很了解细节,但vSphere的网络大家都比较了解,下面我们先上一张熟悉的图:

  • 一个标准的虚拟机交换机,可以有上行链路或者没有上行链路(Uplink)。这取决于这个VSS是否要对外通讯。而一个VSS实际是一个虚拟的二层桥接设备。

  • 一个VSS可以接多个VM,通过不同的PortGroup可以区分vLAN。

  • 在一个esxi上的VSS的通讯,是在VMKernel完成的。而在不同esxi上的VSS,是通过物理网络来通讯的。

  • 在vSphere中,物理网卡叫Nic,虚拟网卡叫vNIC。

  接下来,我们看下面这张图:

  在上图中,最右边的Instance,也就是是三层嵌套下的OpenStack实例。这这个实例,要实现对完通讯,需要有几个步骤。

  第一步:虚拟机发出网络包。虚拟机实例有一个虚拟网卡,叫eth0。数据包从eth0出来以后,首先连接到vnet0上。vnet0是一个tap设备。那么,什么是tap呢?

  Tap实现连接作用,实现二层包通讯。在上图中,tap连接了qbr和实例中的eth0。我们可以理解成tap将虚拟机的虚拟网卡和qbr设备连接到了一起。

  第二步:网络包到达qbr。

  那么qbr是什么呢?

  qbr是一个Linux网桥。这个网桥存在于server-a上。从qbr到br-ex经过了两个设备:qvo和qvb。这两个设备是成对出现的,用于连接linux bridge和OVS bridge。qvb位于bridge侧,qvo位于OVS bridge侧。

  第三步:网络包到达br-int。

  那么,什么是br-int呢?br-int是由OVS虚拟出来的网桥,它的作用和vSphere中的VSS是类似的。(实际上,OVS在作为网桥功能的时候,本身与Linux Bridge类似)。Br-int的作用,就是将本KVM Hypervisor上的所有虚拟机实例都连接到这个虚拟交换机上。

  我们知道,在vSphere的VSS上,可以通过portgroup区分vLAN。同样,br-int的port也有这个功能。

  Port的一个重要的方面就是VLANConfiguration,有两种模式:

  • trunk port

  • access port

  第四步:网络包到达Router1

  我们接着看,br-int向右连接到了qdhcp上,它的作用就是为虚拟网络提供dhcp功能的。

  br-int向左连接到了router1上,而router1又连接到了br-ex上。Br-init与路由器的连接,经过了qr设备,qr提供的是从二层虚拟网络到三层虚拟网络的连接。

  router1实现的是路由功能,它也是由OVS提供的。它里面包含的内容是一系列的路由表,作用是为不同子网提供路由功能。路由器中还有NAT的表,负责给实例分配浮动IP。

  第五步:网络包通过br-ex发出去到物理网络:

  br-ex也是一个OVS虚拟网桥,br-ex实际上是混杂模式加载在物理网卡上,实时接收着网络上的数据包。

  那么有人会问,在OpenStack架构中,既然有OVS提供bridge,为何还要用Linux网桥?为什么不让虚拟机实例中的eth0(vnet0)直接连接到br-int上呢?

  答案如下:

  也就是说,理想情况下,本来虚拟机虚拟网卡连接设备tap0,直接连接br-ini应该是可以的。但由于Openstack的安全组使用的是iptables,而OVS不支持iptables,因此才在vnet0和br-int上放了一个linux bridge,用于存放iptables规则。这算是一个折中方案。

  需要指出的是,目前Neutron支持的网络分为两大类型,Provider Network和Self Network。

  Provider network:管理员创建的和物理网络有直接映射关系的虚拟网络。使用Provider Network,虚拟机对外通讯不需要走Neutron中的Router。

  Tenant network:租户普通用户创建的网络,物理网络对创建者透明,其配置由 Neutron根据管理员在系统中的配置决定。这种网络下,虚拟机对完通讯需要经过Router。而Router也可以隔离租户。

  

  无论哪种方式,对于我们在分析内部虚拟网络的网络包走向,区别不是很大,那么,在下图中(Provider network),实例中的虚拟机如何将网络包传出到物理网络呢?

  有两个虚拟机instance1、instance2位于同一个Hypervisor,它们的网卡在两个vLAN中。instance1的网络包发送的物理网络需要如下几个步骤:

  第一步:网络包离开instance1

  第二步:网络包到达qbr,也就是linux bridge

  第三步:网络包到达qvo以后,qvo给网络包打上内部的vlan tag。(Provider network才需要内部和外部vLAN的转换)

  第四部:网络包到达br-ex(br-eth2),内部的vlan tag被换成真实的vlan tag。

  第五步:网络包通过eth2传送到物理网络。

  上面的例子中,hypervisor都是一个,如果多个nova节点,显然用一个br-int已经无法连接两个服务器上的VM。怎么办呢?

  在物理交换机上,可以通过级联线级联。在OVS bridge中则通过br-tun进行级联,让各个物理服务器上的br-int构成一个统一的通信层。

  Openvswitch支持三类Tunnel

  • gre

  • vxlan

  看到vxlan,可能很多同学眼睛一亮。是的,目前业内大多数大二层网络的实现,都是通过vxlan协议。而大二层又通常是"双活数据中心"这个高大上名词的基础。

  在NSX中,VXLAN的封包和解包是通过ESXi上的VTEP(A Virtual Tunnel End Point)完成的:

  我们看一下下面这个图:两个实例属于同一个子网,但是在不同的物理服务器上,那么就需要br-tun来进行通讯。

  在Neutron中,可以实现对VXLAN的封包和解包的功能。但如果想提高性能,也可以与物理网络设备进行配合。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

网络 物理 实例 两个 通讯 网卡 设备 功能 网桥 二层 作用 路由 不同 也就是 实际 就是 支持 上图 实际上 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 智能科技公司是互联网公司吗 互联网科技生活的内容 互联网实体化科技化 成都互联网科技公司100强 银川新华互联网科技职业技术培训学校图片 黑科技闪耀互联网之光 互联网科技研发水平 互联网行业科技股 佛山市拉法互联网科技有限公司 世界互联网领先科技成果获奖 济南有互联网科技公司吗 厦门江牛科技互联网 互联网与数字科技关系 互联网风格科技公司名称 南京一网一红互联网科技有限公司 陕西九四连强互联网科技有限公司 互联网的科技体现在哪里 青岛互联网科技园 互联网科技企业文化 南京欣网互联网络科技有限公司 齐家互联网科技 互联网科技美容 卓越科技互联网 招聘 科技互联网的估值 互联网还是高科技吗 注册互联网科技公司经营范围大全 黑科技 体验场景 互联网大会 陕西云淼互联网科技公司 版纳互联网科技选哪家
0