SDN-based Network Management Solution 摘要:
在此项目中,我们开发了一种网络管理应用程序,以监视和控制由支持OpenFlow的交换机和支持SNMP的设备组成的企业网络。 我们正在利用由控制器集中式软件定义网络控制器旋转的REST接口来运行此应用程序。 我们正在使用的SDN控制器是一个名为OpenDaylight(ODL)的开源控制器。 我们已使用SNMP和OpenFlow南向插件与网络设备进行通信。 为了测试该应用程序,我们在GNS3中模拟了一个网络,该网络结合了传统设备和OpenFlow交换机。
介绍:用Opendaylight控制器结合提供的SNMP等插件,搭建网络拓扑。我们检索网络统计信息,链路统计信息以及有关基础设备(例如交换机和路由器)的信息,以控制和改善网络性能。尽管SDN具有许多优点,但它仍然缺乏良好的网络管理解决方案,并且难以让运营商实现全面部署、完全替代其原有的网络管理解决方案。因此有必要用SDN来结合传统网络管理方法(因为现在的底层都是传统的)进行管理。
OpenDaylight介绍:模型驱动的服务抽象层(MDSAL):它将YANG模型用作行业标准,以将基础设备映射到网络应用程序,以随时支持现有网络中的技术和硬件。
支持标准网络管理的模块化插件式南向接口方法, 与这些其他设备和OpenFlow一起也受支持(就是可以统一管理)。
基于内部的北向接口抽象了基础架构的详细信息,并且SDN功能支持各种网络应用程序。
网络虚拟化以及灵活的策略机制在多服务环境中提供了多租户。
它用于与控制器在相同地址空间中运行的应用程序。
A.OSGi 服务:
OSGi是一个JAVA框架,可为OSGi模块和服务提供模块化和版本控制以及控制器和生命周期管理的可扩展性。 它有助于在运行时将插件加载到控制器中。
B.双向RESTful Web服务
与控制器不在同一地址空间中的应用程序使用REST服务。
南行中支持许多协议,这些协议动态链接到SAL(服务抽象层)。 SAL提供请求的服务,而与网络设备和控制器之间使用的基础协议无关。
Opendaylight主要组件
A.服务抽象层
SAL有助于分离北向应用程序和南向协议插件。 SAL是控制器的模块化设计的中心部分,该模块支持多个南向协议。 拓扑管理器使用SAL提供的设备发现之类的服务来构建拓扑和设备功能。 插件提供有助于构建服务的功能。 如上所示,控制业务逻辑将服务请求发送到SAL,服务管理器通过插件管理器将它们映射到相应的插件,并使用最合适的插件与网络设备进行交互。
B.模型驱动的服务抽象层为模型驱动的服务抽象层(MD-SAL)建立了新的体系结构。 控制器的插件可以是服务/数据使用者或服务/数据提供者。 提供商通过其API在此生成服务和数据。 消费者消费提供者提供的服务。 例如,OpenFlow插件用于添加,修改和删除交换机中的流。 作为OpenFlow插件服务的使用者之一的转发规则管理器为客户端提供了高水平的流编程服务。 这提供了组合北向和南向API的机会。 YANG使用一种用于数据和服务抽象的建模语言。 它提供:1建模单个系统组件。 2定义关系和语义元素。 3对控制器组件提供的功能和XML数据的结构进行建模。
C. Karaf:可以将应用程序和组件部署到由OSGi运行时组件Apache Karaf提供的轻量级容器上。 Karaf的某些功能包括动态配置,热部署,供应,本机OS集成,日志记录系统,远程访问,管理实例。 下载OpenDaylight控制器软件包后,它将附带所有功能,并且必须手动安装这些功能。 Karaf帮助安装功能。
插件
OpenFlow接口可实现SDN架构的转发层和控制层之间的交互。 它有助于实现OpenFlow。 它支持OpenFlow 1.0和OpenFlow 1.3x。 它基于模型驱动的服务抽象层。
OpenFlow 1.3插件支持错误处理,消息处理,状态管理,映射功能,连接处理,事件处理以及传播到上层的功能。
OpenFlow插件功能可以分为四个区域,如下所示:
设备管理器:设备管理器提供了与交换机的低级交互。 它有助于跟踪并执行对请求实体的响应分发。
连接管理器:确定交换机功能和身份并提供早期协商。
统计管理器:它有助于维持计数器与开关之间的同步。
RPC管理器:它有助于将MD-SAL请求路由到设备。