neutron理解总结(二)

本文详细介绍了Neutron管理的网络资源,包括Network、Subnet和Port的概念与工作原理。深入探讨了不同类型的Network,如Local、Flat、VLAN、VxLAN和GRE的特点及应用场景,以及它们在OpenvSwitch中的实现方式。

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

以下内容为网络内容整理,如有侵权部分,通知删除:

Neutron 管理的网络资源包括 Networksubnet port

network

是一个隔离的二层广播域。Neutron支持多种类型的network,包括local,flat,VLAN,VxLANGRE

local
local网络与其他网络和节点隔离。local网络中的instance只能与位于同一节点上同一网络的 instance 通信,local网络主要用于单机测试。

flat
flat网络是无vlan tagging的网络。flat网络中的instance能与位于同一网络的instance通信,并且可以跨多个节点。

vlan
vlan网络是具有802.1q tagging 的网络。vlan是一个二层的广播域,同一vlan中的instance可以通信,不同vlan只能通过router 通信。vlan网络可以跨节点,是应用最广泛的网络类型。

vxlan
vxlan是基于隧道技术的overlay网络。vxlan网络通过唯一的segmentation ID(也叫 VNI)与其他 vxlan网络区分。vxlan中数据包会通过VNI封装成UDP包进行传输。因为二层的包通过封装在三层传输,能够克服 vlan 和物理网络基础设施的限制。解决了VLAN数目上限为4094的局限性的问题。

gre
gre是与vxlan类似的一种overlay网络。主要区别在于使用IP包而非UDP进行封装。

subnet

subnet是一个IPv4或者IPv6地址段。instanceIPsubnet中分配。每个subnet需要定义IP地址的范围和掩码。

subnetnetwork1对多关系。一个subnet只能属于某个network;一个network可以有多个subnet,这些subnet可以是不同的IP段,但不能重叠。

port

port可以看做虚拟交换机上的一个端口。port上定义了MAC地址和IP地址,当instance的虚拟网卡VIFVirtual Interface) 绑定到port时,port会将MACIP分配给VIF

portsubnet1对多关系。一个port必须属于某个subnet;一个subnet可以有多个port

Open vSwitch中,每个端口都属于一个特定的网桥。端口收到的数据包会经过流规则的处理,发往其他端口;也会把其他端口来的数据包发送出去。Open vSwitch支持的端口有以下几种:

Normal Port: 用户可以把操作系统中的网卡绑定到Open vSwitch上,Open vSwitch会生成一个普通端口处理这块网卡进出的数据包。

Internal Port: 当设置端口类型为internalOpen vSwitch会创建一快虚拟网卡,此端口收到的所有数据包都会交给这块网卡,网卡发出的包会通过这个端口交给Open vSwitch。当Open vSwitch创建一个新网桥时,默认会创建一个与网桥同名的Internal Port

Patch Port: 当机器中有多个Open vSwitch网桥时,可以使用Patch Port把两个网桥连起来。Patch Port总是成对出现,分别连接在两个网桥上,在两个网桥之间交换数据。

Tunnel Port: 隧道端口是一种虚拟端口,支持使用grevxlan等隧道技术与位于网络上其他位置的远程端口通讯。

ovs-vsctl show命令  查看ovs-vswitchd的配置

205a13a2-1ad6-4ae0-8c84-abed97444aa9

    Bridge br-int //OVS integration 桥 br-int

        fail_mode: secure

        Port "qvo37b25c08-e8" //端口,用来连接一个虚机网卡的TAP设备所连接的linux bridge

            tag: 1

            Interface "qvo37b25c08-e8"

        Port patch-tun //端口,用来连接桥br-tun

            Interface patch-tun

                type: patch

                options: {peer=patch-int} //和桥 br-tun上的patch-int是对等端口

        Port br-int

            Interface br-int

                type: internal

        Port "qvo155845ae-5e" //端口,用来连接另一个虚机网卡的TAP设备所连接的linux bridge

            tag: 1

            Interface "qvo155845ae-5e"

   Bridge br-tun //OVS Tunnel 桥br-tun

        Port br-tun

            Interface br-tun

                type: internal

        Port patch-int //端口patch-int,用来连接桥br-int

            Interface patch-int

                type: patch

                options: {peer=patch-tun}

        Port "gre-0a000115" //端口,连接GRE Tunnel

            Interface "gre-0a000115"

                type: gre

                options: {df_default="true", in_key=flow, local_ip="10.0.1.31", out_key=flow, remote_ip="10.0.1.21"}

    ovs_version: "2.0.2" //GRE Tunnel是点到点之间建立的,这头的IP为10.0.1.31,那头的IP地址为 10.0.1.21

集成网桥(br-int)的网络
br-int是由OpenvSwitch虚拟化出来的网桥,但事实上它已经充当了一个虚拟交换机的功能了。br-int的主要职责就是把它所在的计算节点上的VM都连接到它这个虚拟交换机上面,然后利用下面要介绍的br-tun的穿透功能,实现了不同计算节点上的VM连接在同一个逻辑上的虚拟交换机上面的功能。这个似乎有点拗口,其实就是在管理员看来,所有的VM都是连接在一个虚拟交换机上面的,但事实上这些VM又都是分布在不同的物理主机上面。

通道网桥(br-tun)的网络
这同样是OpenvSwitch虚拟化出来的网桥,但是它不是用来充当虚拟交换机的,它的存在只是用来充当一个通道层,通过它上面的设备与其他物理机上的br-tun通信,构成一个统一的通信层。这样的话,网络节点和计算节点、计算节点和计算节点这样就会点对点的形成一个以GRE为基础的通信网络,互相之间通过这个网络进行大量的数据交换。这样,网络节点和计算节点之间的通信就此打通了。

外部网桥(br-ex)的网络

当数据从router中路由出来后,就会传送到br-ex这个虚拟网桥上,而br-ex实际上是混杂模式加载在物理网卡上,实时接收着网络上的数据包。至此,我们的计算节点上的VM就可以与外部的网络进行自由的通信了。当然,前提是我们要给这个VM已经分配了float-ip

tapxxx(用来连接虚拟机tap设备)

qbrxxx(linux网桥)

qvmxxx(ovs端口)

plyxxx(ovs网桥)

br-int(ovs网桥)

br-tun(ovs网桥)

br-eth(ovs网桥)

配置文件中保存网卡tap

在一个neutron部署范围内,跨虚拟网络的VM之间的流量习惯称为东西流量。虚拟网络的VM 和 经由DNAT (Destination NAT)与外部网络的数据交换,习惯称为南北流量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值