neutron network types(2)

来源:互联网 发布:免费手机视频编辑软件 编辑:程序博客网 时间:2024/05/17 22:52

记录一些SDN时出现的概念,你只需要耐心的查阅就能明白:

VETH设备

对现实网络和Linux网络设备之间的关系做了分析,很不错。

http://www.ibm.com/developerworks/cn/linux/1312_xiawc_linuxvirtnet/

VETH设备总是成对出现,送到一端请求发送的数据总是从另一端以请求接受的形式出现。该设备不能被用户程序直接操作,但使用起来比较简单。

VETH 设备相当于连接 Bridge 的网线。

TUN/TAP设备:

TUN/TAP虚拟网络设备为用户空间程序提供了网络数据包的发送和接收能力。他既可以当做点对点设备(TUN),也可以当做以太网设备(TAP),可以理解为

虚机的一块网卡


qbrxxx:

linux bridge设备,由linux内核产生


qvbxxx - qvoxxx

连接qbr设备和openvswitch产生的br-int(ovs虚拟网桥),可以理解为qbr网桥和br-int网桥之间的一根网线


patch-tun -- patch-int

连接br-int 和 br-tun两个网桥之间的设备,也是成对出现,同样的可以理解成网线

br-tun上的是patch-int(peer是patch-tun)(可以用ovs-vsctl命令查看,有点儿绕,你可能不需要理解具体的含义)


br-ex

br-ex和前面的设备是不一样的,它也是openvswitch虚拟出来的网桥,这一点没有什么不同,但是它的地位是不一样的,它是外部网络访问内部云虚机的关口,

记得在配置openstack的时候,需要专门找一块网卡,将其与br-ex绑定,为什么呢?

首先我们将openstack中的网络分为provider网络和tenant网络(tenant网络我们才分flat,vlan等等),

provider网络不是openvswitch控制的,它是物理机在数据中心的实际网络结构

tenant网络是每个tenant(project)自己创建的网络,不同的tenant创建的网络可以通过router(l3 router)相连


需要指出的是在tenant网络中:

每个租户都可以创建自己的dhcp和l3 router,地址也可以相同,是还用linux的命名空间做到隔离的,对于同一个ip192.168.1.2实际上应该有个前置定语:

namespace A : 192.168.1.2

namespace B: 192.168.1.2

当某台虚机需要和external的网络连接时(访问provider网络), 会在br-int上创建qrxxx的端口,用来和l3 router相连, l3 router的另一端连接br-ex的qg-xxx端口,

同时l3的默认网关设置为qg-xxx的ip,这样虚机就可以通过l3 router和br-ex访问external 网络,而external 网络通过floating ip(和某个具体虚机绑定),经过NAT转换,

发到对应的tenant网络中,从虚机到external网络过程看起来是这样的:


虚机tap设备---->

qbr(linux bridge)  ->

通过qvb/qvo --->

br-int -->

通过qrxxxx端口 ---->

l3 router ---->

通过br-ex上的qg-xxx端口(gateway端口) --->

br-ex -->

eth(某个物理网口)


反过来通过floating ip,经过nat,是这个的逆过程,具体的网络细节不再赘述。

经过前面讲述neutron,配置neutron不再是问题,而在horizon上操作创建自己的网络也变得清晰明了,当然了在真正实施大规模部署时,provider网络的

拓扑结构,实际物理的交换机和路由器设置,甚至到根路由的设置,都需要真正的网络经验,毕竟实际的物理网络比openvswitch 虚拟的网络更加复杂,

不同的协议和配置需要也更头疼一些。



0 0
原创粉丝点击