一、Quantum Server
- 核心:Quantum Server是一个管理虚拟网络的逻辑架构,真正执行虚拟网络创建维护的是OpenVSwitch。
- 参考模型:就好比面向接口编程,所有的功能设计成接口,接口的实现可以千奇百怪。
- OpenVSwitch Agent的数据存储:他将网络名称、端口号、IP地址、地址资源池、子网地址管理都存储在数据库中
二、主机间虚拟机的通讯模型
- 假设了VM1和VM2分别运行在不同的宿主HOST1和HOST2上。VM1想给VM2发送报文
- 流程剖析
(1)报文的转发没有用到路由功能
(2)HOST1和HOST2的eth1网卡也是通过二层交换机连接
(3)OpenVSwitch的报文传输路径是通过流控规则控制的
三、Nova与Quantum交互
- Nova与Quantum Server交互,创建逻辑网络资源
- Quantum Server通过调用OpenVSwitch创建网络端点
四、Quantum DHCP Agent服务
- 目标就是进行IP分配,Quantum Server分配上层的逻辑IP
- 底层环境中是通过Quantum DHCP Agent进行IP的分配
五、DNSmasq DHCP服务
- 就是为网络创建DHCP服务
六、Quantum的主要数据表
- 网络表:在VLAN模式下,一个网络对应于物理网桥的一个段ID,同一个网络下虚拟机属于同一个VLAN。默认情况下,同一个VLAN下的虚拟机可以自由通信,而不同VLAN下的虚拟机无法通信。
- 子网表:一个子网对应于一个可用的IP地址段,一个网络下可以有多个子网。当属于某个网络下的端点向网络发出分配IP请求时,Quantum Server会从子网中分配一个可用的IP给端点。
- IP分配池表:可以供端点使用的IP集合。一个子网可以有多个IP分配池。一个IP分配池由起始IP和终止IP确定。起始IP和终止IP区间内的所有IP都可以被端点使用。
- IP可用范围表:这是当前子网可用的IP分配范围。IP可用范围表记录的结构与IP分配池表相同。初始时,IP可用范围表中的记录与IP分配池表中相应的记录相同。当端点使用一个IP后,IP可用范围表中的相应记录也会做修改。
- IP分配表:表中的一条记录对应于一个具体的IP,它记录了每个具体IP的使用情况。
七、总结
- 相当于将物理网桥分成不同的段。每个虚拟子网对应一个网段。然后在虚拟子网中按照端点分配IP。
- 虚拟子网内部的通信基本上靠程序流控,不需要走路由
- 剩下的就是端点与子网IP的映射管理了,就是端点与子网IP的映射,对应可用IP资源的分配与监控。