论文部分内容阅读
随着云计算时代的来临,基于基础设施服务的云计算管理平台受到了广泛的关注,而开源云平台OpenStack的产生与快速发展也正是得益于此。从最初的Austin版本到现在的最新版本Kilo,十一个版本迭代也只用了五年时间,本文在研究过程中一直保持对最新版本的关注,所做研究也是基于最新版本展开的。本文主要是针对OpenStack中的网络组件展开研究的,早期OpenStack的网络结构是Nova-Network,但Nova-Network结构设计比较简单,只能满足于小规模二层网络的简单需求。随着网络规模的不断扩大和网络即服务概念的提出,OpenStack社区提出了Neutron网络模型,用户可以使用Neutron提供的API,然后根据自己的需求自定义网络拓扑、VPN、Firewall等高级网络服务。OpenStack的Neutron网络虽然实现了网络服务,也满足了广义上的软件定义网络,但该模型仍然有以下的缺点:一、在该模型中,网络节点起着中枢作用,负责判断所有流量的路径走向,所以这种设计有着很大的单点问题和流量瓶颈问题。二、该网络模型中的数据转发设备采用的是开源虚拟交换机,但是该虚拟网络设备的控制层和转发层没有剥离,其路由路径的产生都是基于自协商的,所以其流量的可控性不足。本文针对上述Neutron网络中的不足所做的具体工作内容分为以下三部分:一、针对当前Neutron网络中的流量瓶颈问题,提出了基于分布式虚拟路由的设计,即在每个计算节点上增加一个虚拟路由进程,该路由主要负责判断该计算节点中的数据转发路径,如果是东西流量,则直接将该数据包发送到目的计算节点。如果是南北流量,则统一将该数据发送到网络节点。二、针对当前Neutron网络的流量不可控性,引入了OpenFlow流量模型,使用OpenFlow控制器集中控制Neutron网络的流表生成和走向,同时针对当前OpenFlow协议不能支持Neutron网络三层路由的缺点,在当前OpenFlow协议基础上增加ARP和ICMP的动作处理函数,使OpenFlow协议能处理ARP和ICMP包的请求和回复,从而能使OpenFlow控制器能正常控制Neutron网络的三层流量。三、最后本文进行了实际OpenStack仿真部署,针对Neutron流量的瓶颈问题和可控性都进行了实验测试,实验表明基于分布式虚拟路由的Neutron网络在不同类型带宽流量上较传统Neutron网络有较大提升。