【重识云原生】第四章云网络4.8.5节——OpenDayLight

2022-07-12 16:48:44 浏览数 (3)

5 OpenDayLight

5.1 ODL项目背景

        ODL项目成立于2013年4月,是由Linux基金会管理管理的开源SDN项目。项目的目的是提供一个开放的,全功能的,厂商中立的SDN解决方案。目前ODL有超过40个公司作为成员,例如Cisco,IBM,Huawei等。乐观人士认为:ODL对networking的意义就像Linux对computing的意义一样。

        ODL controller是一个纯软件的实现,基于Java OSGI,运行在自己的JVM中,理论上,任何支持Java的设备都能运行ODL。采用OSGI作为框架,基于这点可以看出ODL内部是一个个相对独立的模块。ODL项目最开始的定位是SDN controller,在它的第三个版本(Lithium版本),ODL将自己的定位变成了SDN Platform。也就是说ODL的定位开始转变成以SDN为核心构建生态系统。

5.2 ODL架构

5.2.1 ODL架构分层

        ODL的架构大致如下,可以分为三层。

  • Application Layer:逻辑业务层,不关心底部网络设备,网络协议的实现。通过RESTful接口和OSGI接入到Control Layer。
  • Coordination,Control Layer:对应SDN控制器,实现网络功能,并将抽象网络模型转换成实际的网络底层数据,并下发到网络设备。Control Layer连接了Application Layer和Network Device Layer。使得Application Layer不必关心Network Device的变化性,而只需要关心业务逻辑,另一方面,同一个application通过Control Layer可以适配多种Network Device。
  • Network Device Layer:网络设备层,各种各样的网络设备和网络协议,以及接入到ODL的plugin。

5.2.2 networking-odl架构

        OpenStack Neutron通过networking-odl项目接入到OpenDayLight,目前networking-odl的架构如下图所示:

        前面说过Neutron server可以部署多个,以达到HA和水平扩展的目的。ODL接入OpenStack Neutron也考虑了多个Neutron server的情况。Networking-odl包括了同步DB和通过RESTful API访问OpenDayLight。在OpenDayLight也加入了适配Neutron的module。OpenDayLight的详细架构如下图所示:

        简单看一下ODL的架构组成部分:

5.2.3 ODL southbound protocol

ODL用来支持多种网络协议和网络设备的多个plugin的集合,通过OSGI框架与Service Abstraction Layer连接。为了支持OpenStack Neutron的接入,在ODL southbound protocol中加入了OVSDB的支持。ODL南向协议不仅支持OpenFlow,还支持很多其他协议,因此ODL可以认为是广义上的SDN。

5.2.4 Service Abstraction Layer

ODL中,SAL是最重要的组成部分。SAL接收从Controller Platform来的service request,通过自身的plugin manager找到最合适的plugin,也就是southbound protocol,进而通过这个plugin操作特定的网络设备。另一方面,SAL接收network devices的消息,通过plugin manager抽象消息,再转发给northbound模块。SAL是做northbound和southbound的实际转换工作。

5.2.5 Controller Platform

        包含了Basic Network Service Function和Platform Service Function。前者是基本网络功能,后者是厂商平台对应的模块。为了适配OpenStack Neutron,在Platform Service Function中有一个OVSDB Neutron模块。

5.2.6 Northbound APIs

        为Cloud Orchestrator和application提供接口。接口包括了RESTful和OSGI。

参考链接

理解OpenStack与SDN控制器的集成_筋斗云计算的博客-CSDN博客_openstack sdn

OpenStack与SDN控制器的集成 | SDNLAB | 专注网络创新技术

为OpenStack而生的SDN控制器——OVN_筋斗云计算的博客-CSDN博客_openstack sdn控制器

openstack架构详解图_大规模SDN云计算数据中心组网的架构设计_weixin_39804523的博客-CSDN博客

开源SDN控制器和商用SDN控制器一览_weixin_33714884的博客-CSDN博客

OVN – OVN OpenStack(二)_cuibin1991的博客-CSDN博客

OpenStack中SDN泛谈1 (Neutron&ODL&ONOS) - 知乎

OpenStack中SDN泛谈3 (OVN&Dragonflow) - 知乎

OpenStack中SDN泛谈4 (SDN发展与架构) - 简书

 《重识云原生系列》专题索引: 

  1. 第一章——不谋全局不足以谋一域
  2. 第二章计算第1节——计算虚拟化技术总述
  3. 第三章云存储第1节——分布式云存储总述
  4. 第四章云网络第一节——云网络技术发展简述
  5. 第四章云网络4.2节——相关基础知识准备
  6. 第四章云网络4.3节——重要网络协议
  7. 第四章云网络4.3.1节——路由技术简述
  8. 第四章云网络4.3.2节——VLAN技术
  9. 第四章云网络4.3.3节——RIP协议
  10. 第四章云网络4.3.4节——OSPF协议
  11. 第四章云网络4.3.5节——EIGRP协议
  12. 第四章云网络4.3.6节——IS-IS协议
  13. 第四章云网络4.3.7节——BGP协议
  14. 第四章云网络4.3.7.2节——BGP协议概述
  15. 第四章云网络4.3.7.3节——BGP协议实现原理
  16. 第四章云网络4.3.7.4节——高级特性
  17. 第四章云网络4.3.7.5节——实操
  18. 第四章云网络4.3.7.6节——MP-BGP协议
  19. 第四章云网络4.3.8节——策略路由
  20. 第四章云网络4.3.9节——Graceful Restart(平滑重启)技术
  21. 第四章云网络4.3.10节——VXLAN技术
  22. 第四章云网络4.3.10.2节——VXLAN Overlay网络方案设计
  23. 第四章云网络4.3.10.3节——VXLAN隧道机制
  24. 第四章云网络4.3.10.4节——VXLAN报文转发过程
  25. 第四章云网络4.3.10.5节——VXlan组网架构
  26. 第四章云网络4.3.10.6节——VXLAN应用部署方案
  27. 第四章云网络4.4节——Spine-Leaf网络架构
  28. 第四章云网络4.5节——大二层网络
  29. 第四章云网络4.6节——Underlay 和 Overlay概念
  30. 第四章云网络4.7.1节——网络虚拟化与卸载加速技术的演进简述
  31. 第四章云网络4.7.2节——virtio网络半虚拟化简介
  32. 第四章云网络4.7.3节——Vhost-net方案
  33. 第四章云网络4.7.4节vhost-user方案——virtio的DPDK卸载方案
  34. 第四章云网络4.7.5节vDPA方案——virtio的半硬件虚拟化实现
  35. 第四章云网络4.7.6节——virtio-blk存储虚拟化方案
  36. 第四章云网络4.7.8节——SR-IOV方案
  37. 第四章云网络4.7.9节——NFV
  38. 第四章云网络4.8.1节——SDN总述
  39. 第四章云网络4.8.2.1节——OpenFlow概述
  40. 第四章云网络4.8.2.2节——OpenFlow协议详解
  41. 第四章云网络4.8.2.3节——OpenFlow运行机制
  42. 第四章云网络4.8.3.1节——Open vSwitch简介
  43. 第四章云网络4.8.3.2节——Open vSwitch工作原理详解
  44. 第四章云网络4.8.4节——OpenStack与SDN的集成
  45. 第四章云网络4.8.5节——OpenDayLight
  46. 第四章云网络4.8.6节——Dragonflow

0 人点赞