SDN的本质就是让用户/应用可以通过软件编程充分控制网络的行为,让网络软件化,进而敏捷化。如SDN一个具体实现技术openflow,使用设备不再仅基于MAC或IP转发数据,openflow可以基于10元组决定数据流向,控制平面解决网络路由优化、安全、策略、QoS、流量工程等问题。SDN是一种新型的可视化网络设计架构,一种网络资源管理和优化使用方式,一种节约资源降低网络成本的技术,一种体现对网络需求增速变慢的技术体现点。
Neutron为什么需要SDN
Neutron有很多无法满足部署需求的网络功能场景:
场景一:基于VM网卡或IP的限速、基于路由的限速以及基于租户的限速
至今仍没有完善的解决方案,这些在实际物理网络中部署都是极其常见的功能。有人用Libvirt对虚拟机网卡的inbound average和outbound average做出入方向的限速,但这个方案不是太妥。部署该方案时是通过设置flavor的quota:vif_inbound_average和quota:vif_outbound_average来实现的,会导致对VM的所有网卡都做限制。该方案不仅限制了南北流量,还限制了东西流量。Qos功能不只是限速,还有很多诸如队列调度、流控等方面的Qos需求,当有业务需要时,Neutron却无从提供满足需求的支持。
场景二:网络节点存在的单点故障
至今依然没有完善的解决方案,DVR(Distributed Virtual Routing,分布式路由)对虚拟路由器的HA方案也存在很大的缺陷。与传统交换机(甚至与路由器)相比,网络节点的带宽能力还存在一定差距,尤其是对单路由带宽没有分流方案,一旦带宽超过虚拟路由器的带宽能力则无能为力。
Neutron的演进史:
- Nova-network是前身
- Core plugin完成L2/L3/DHCP等基本功能
- Service plugin完成L4~L7功能升级
- DVR等实现系统层次的HA可用
- Neutron结合SDN实现网络可控为终极形态 ,Neutron有很多SDN控制器作为plugin
控制器选择标准
SDN控制器作为未来网络架构的核心组件,目前其发展的前景和产品化仍在不断演进中,企业选择SDN控制器需要考虑的10个功能标准,企业可用来评估SDN控制器的选择方向。
- OpenFlow的支持 :企业需要了解OpenFlow控制器目前支持的功能,包括支持可选功能和扩展协议。企业也需要了解网络供应商的路线图,能够支持OpenFlow的新版本。
- 网络虚拟化:控制器必须能够动态地创建基于策略的虚拟网络,这些虚拟的网络能够形成逻辑的网络资源池,类似于服务器虚拟化的计算资源池。
- 网络功能:控制器有能力发现从源地址到目标地址的多条路径,并能够分配链路选择。还包括能够使用一整套丰富的架构,使得在L2和L3网络中创建特定租户的虚拟网络。
- 可扩展性:SDN控制器应该能够支持至少100台交换机。它也必须能够减轻影响网络的广播开销和增长的流表条目。
- 性能:SDN控制器必须能够预先填充的流表可能的程度,并且它必须具有处理和I/O能力,以确保该控制器不会成为创建流表条目的瓶颈。
- 网络可编程性:控制器必须能够进行精细的包过滤。SDN控制器应提供模板,确保创建的脚本CLI允许动态的网络编程。
- 可靠性:控制器必须有多个从出发地到目的地的网络路径。SDN控制器也可以同时建立硬件和软件冗余功能,它必须能够实现控制器的集群管理。
- 网络安全性:控制器需要实现企业级身份验证和授权,并完全隔离每个虚拟网络。SDN控制器必须能对通信速率上线进行控制。
- 集中管理和可视化:SDN控制器应提供给企业对不同类流量的监控,为运行在控制器上的物理网络和多个虚拟网络提供可视化。
- 控制器供应商:供应商必须证明其拥有的财务和技术资源,可以支持正在进行的SDN研发和进展。供应商还必须证明其专注在SDN市场的定位和竞争能力。
来源:https://www.cnblogs.com/gaozhengwei/p/7095015.html