OpenStack Neutron 是一种 SDN(Software Defined Network)实现。Neutron发展历史:
nova-network->Quantum(F,因其他公司冲突改名)->Neutron(H)
网络虚拟化基础
- Linux net namespace:用来实现隔离的一套机制,不同 namespace 中的资源之间彼此不可见
- bridge:网桥,Linux中用于表示一个能连接不同网络设备的虚拟设备,linux中传统实现的网桥类似一个hub设备,而
ovs管理的网桥一般类似交换机 - VETH:虚拟ethernet接口,通常以
pair的方式出现,一端发出的网包,会被另一端接收,可以形成两个网桥之间的通道 - TAP:模拟一个二层的网络设备,可以接受和发送二层网包
- TUN:模拟一个三层的网络设备,可以接受和发送三层网包
- iptables:Linux 上常见的实现安全策略的防火墙软件
- 网络相关
- GRE(General Routing Encapsulation):一种通过封装来实现隧道的方式。在
OpenStack中一般是基于L3的gre,即original pkt/GRE/IP/Ethernet - VLan:虚拟
Lan,同一个物理Lan下用tag实现隔离,可用标号为1-4094 - VXLAN:一套利用
UDP协议作为底层传输协议的Overlay实现。一般认为作为VLan技术的延伸或替代
- GRE(General Routing Encapsulation):一种通过封装来实现隧道的方式。在
几种网络类型
根据可见访问不同分为:
Provider network:管理员创建的和物理网络有直接映射关系的虚拟网络。Tenant network:租户普通用户创建的网络,物理网络对创建者透明,其配置由Neutron根据管理员在系统中的配置决定。
根据网络类型不同分:
Local network(本地网络):一个只允许在本服务器内通信的虚拟网络,不进行跨服务器的通信。主要用于单节点上测试。Flat network:不使用tag的物理网络实现(一对一)的虚拟网络,可以跨节点通信。GRE network(通用路由封装网络):一个使用 GRE 封装网络包的虚拟网络。GRE 封装的数据包基于 IP 路由表来进行路由,因此GRE network不和具体的物理网络绑定。VLAN network(虚拟局域网) :基于物理 VLAN 网络实现的虚拟网络。共享同一个物理网络的多个 VLAN 网络是相互隔离的,甚至可以使用重叠的 IP 地址空间。每个支持 VLAN network 的物理网络可以被视为一个分离的 VLAN trunk,它使用一组独占的 VLAN ID。有效的 VLAN ID 范围是 1 到 4094。VXLAN network(虚拟可扩展网络):基于 VXLAN(通过UDP包封装)实现的虚拟网络。同 GRE network 一样, VXLAN network 中 IP 包的路由也基于 IP 路由表,也不和具体的物理网络绑定。GRE network:基于 tunnel 技术的overlay网络,通过IP包封装实现。
几种网桥的作用
Physical L2 Switch for Private Network

网络设备名称说明:
qbr(quantum bridge, neutron 沿用了 Quantum 的叫法,下同):Linux Bridge,OpenStack早期安全组通过iptables实现;iptables只能用于Linux Bridge而非OVS bridageqvb(quantum veth-pair Linux-bridge-side):Linux veth pair用来连接 Linux 桥qbrqvo(quantum veth-pair OpenvSwitch-size):Linux veth pair用来连接集成网桥(br-int)。集成网桥上的qvo端口有一个内部VLAN 标签,当数据包到达集成网桥的时候自动贴到数据包头部的
计算节点:
br-int:bridge-integration,集成网桥是OpenvSwitch虚拟化出来的网桥,起到虚拟交换机的功能,主要职责:- 把其所在
计算节点上的VM都连接到该虚拟交换机上,然后利用br-tun的隧道功能,实现不同计算节点上的VM连接在同一个逻辑上的虚拟交换机上的功能 - 对运行在计算节点上实例的流量执行
VLAN标记和取消标记
- 把其所在
br-tun:bridge-tunnel,隧道网桥也是OpenvSwitch虚拟化出来的网桥,起到GRE隧道层的功能,实现网络节点和计算节点、计算节点和计算节点的互通- 根据
OpenFlow规则将VLAN标记的流量从集成网桥(br-int)转换为隧道 ID。它允许不同网络的实例彼此进行通信,它支持两层网络,即GRE和VXLAN - 基于隧道技术的
VxLAN和GRE网络将使用该网桥进行通信
- 根据
Neutron Routers are realized in OpenVSwitch

网络节点:
br-ex:bridge-external,外部网桥通常表示负责跟外部网络通信的网桥(以混杂模式加载在物理网卡上),以允许VM和外部网络自由通信(VM分配float-ip)br-int:bridge-integration,集成网桥是OpenvSwitch虚拟化出来的网桥,起到虚拟交换机的功能,还实现:- router 功能
- dhcp 功能
br-tun:bridge-tunnel,隧道网桥和计算节点上的网络的功能一致
计算节点与网络节点

重要概念
- network
- subnet
- port
- router
最近更新
最新评论