抛弃传统网络?SDN协议、标准、接口对比分析!

news/2025/1/16 5:57:19/

概要:

随着网络规模的不断扩大和复杂性的增加,传统的网络架构已经难以满足日益增长的网络需求。SDN(Software Defined Networking)技术的出现,为网络的管理和控制带来了革命性的变化。SDN的核心思想是将网络的控制和管理从传统的分散式硬件设备中剥离出来,实现了集中化的网络控制。 


 

1. SDN架构

SDN控制器:SDN控制器是整个SDN架构的核心,它负责管理和控制整个网络。SDN控制器通过与网络设备进行通信,实现对网络设备的集中化配置、监控和管理。SDN控制器通常是基于开源软件实现,比如OpenDaylight和ONOS等。

网络设备:网络设备是SDN架构中的重要组成部分,它们负责数据平面的处理和转发。网络设备可以是传统的路由器、交换机等硬件设备,也可以是软件定义的网络设备,如Open vSwitch等。

SDN应用程序:SDN应用程序是基于SDN控制器的应用程序,它们负责实现各种网络服务,比如负载均衡、流量控制、安全管理等。SDN应用程序可以是开源软件,也可以是自己开发的定制化应用程序。

SDN北向接口:SDN北向接口是SDN控制器提供给上层应用程序的API接口。通过SDN北向接口,上层应用程序可以实现对网络的集中化控制和管理。SDN北向接口通常是基于REST或XML-RPC等协议实现的。

SDN南向接口:SDN南向接口是SDN控制器与网络设备之间的API接口。通过SDN南向接口,SDN控制器可以实现对网络设备的集中化配置、监控和管理。SDN南向接口通常是基于OpenFlow或NETCONF等协议实现的。

 

2. SDN的工作原理

控制器与网络设备通信:SDN控制器与网络设备之间通过SDN南向接口进行通信。控制器向网络设备发送控制命令,如配置、更新和删除流表项等。

控制器获取网络拓扑信息:控制器通过与网络设备交互,获取网络拓扑信息,包括连接关系、设备属性和链路状态等。这些信息将用于制定网络的全局视图。

制定网络策略:基于获取的网络拓扑信息,控制器制定网络策略,如流量调度、路径选择和服务质量保障等。控制器根据网络策略生成相应的流表项,并下发到网络设备中。

数据平面流量转发:网络设备根据收到的流表项进行数据包的转发。数据包进入网络设备后,根据流表项的匹配规则进行流量转发或处理,从而实现控制器指定的网络策略。

监控和反馈:网络设备将与数据转发相关的信息反馈给控制器,包括流量统计、链路状态变化和异常报告等。控制器根据这些信息进行网络监控和故障管理,同时根据需要更新和调整网络策略。

 

3. 为什么需要Yang

如何建立网络设备的数据模型,以及如何描述网络设备的各种协议和服务。为了解决这个问题,IETFInternet Engineering Task Force)的NETMODNetwork Modeling Working Group)组织开发了一种建模语言,名为YANGYet Another Next Generation)。它提供了一种结构化的方式来描述网络设备的数据模型。通过定义模块、类型、数据节点和容器等元素,可以构建出复杂的网络数据模型。YANG还定义了一系列的数据类型和函数,用于描述网络设备中的各种数据类型和计算。这些数据类型和函数可以用于数据模型的验证和约束,确保网络设备中的数据格式正确和一致。

SDN中,YANG被广泛用于描述网络控制器和网络设备之间的通信协议,比如OpenFlow协议和NETCONF协议。YANG定义了用于描述这些协议的数据模型,以及与网络设备交互的API接口。通过使用YANG,网络控制器可以对网络设备进行配置、监控和管理。

4. YANG的工作原理

定义数据模型:使用YANG语言定义网络设备的数据模型,包括设备的属性、配置项、状态信息和操作等。数据模型描述了网络设备的结构和行为。

构建数据树:基于定义的数据模型,构建出网络设备的数据树。数据树是一种层次结构,用于组织和表示网络设备中的数据。

数据交互:通过YANG定义的数据模型,实现网络设备与SDN控制器之间的数据交互。SDN控制器可以通过YANG定义的数据模型向网络设备发送配置命令、获取设备状态和执行操作等。

数据验证和约束:YANG定义了一系列的数据类型和函数,用于验证和约束网络设备中的数据。控制器在与网络设备进行数据

交互时,可以使用YANG定义的数据类型进行数据的验证,确保数据的格式正确和一致。同时,YANG还支持定义约束条件,如范围限制、唯一性约束和依赖关系等,以确保网络设备中的数据满足特定的规范和要求。

自动生成代码和API基于YANG定义的数据模型,可以使用相应的工具自动生成代码和API。这些代码和API可以用于快速开发SDN控制器和应用程序,实现对网络设备的集中化管理和控制。

 

5. YANG的实现原理

YANG的实现原理涉及两个主要方面:YANG语法解析和YANG

YANG语法解析:YANG语法解析是将YANG语言的源代码转化为计算机可以理解的内部表示形式的过程。在这个过程中,解析器会对YANG语法进行词法分析和语法分析,将源代码解析成语法树或其他形式的数据结构。

YANG模型处理:YANG模型处理是对解析后的YANG模型进行处理和管理的过程。这包括对模块、类型、数据节点和容器等元素进行解析和组织,构建出完整的数据模型。在这个过程中,还会进行数据类型验证、约束检查和语义分析等操作,以确保数据模型的正确性和一致性。

实现YANG的工具和框架通常提供了一套API和函数库,用于方便地创建、解析和操作YANG模型。这些工具和框架可以支持开发者快速构建YANG模型、生成代码和API,简化了YANG的实现过程。

总结起来,YANG作为SDN中的一种建模语言,通过定义数据模型和数据交互方式,提供了一种统一的描述和管理网络设备的方式。它的工作原理涉及YANG语法解析、模型处理和数据验证等过程。通过使用YANG,SDN控制器和应用程序可以与网络设备进行交互,实现对网络的集中化控制和管理。

在实际应用中,开发者可以使用各种开源的YANG工具和框架来实现YANG模型的创建、解析和使用。一些知名的YANG工具包括pyang、YangTools、OpenYuma和ConfD等。这些工具提供了丰富的功能和API,支持YANG模型的开发、编译、验证和解析,大大简化了YANG模型的实现过程。

YANG还可以和其他SDN相关的协议、标准和接口配合使用,比如NETCONF协议。NETCONF是一种用于配置网络设备的远程过程调用协议,它使用YANG作为数据建模语言,实现了网络设备的集中化配置管理。

除了NETCONF,YANG还可以和RESTCONF、SNMP等协议和标准配合使用,实现更加灵活的网络管理和控制。

欢迎点赞评论收藏转发,感谢。

                                                       ---END---

 


http://www.ppmy.cn/news/256901.html

相关文章

从零开始学习JavaScript:轻松掌握编程语言的核心技能⑥

从零开始学习JavaScript:轻松掌握编程语言的核心技能⑥ 1. JavaScript 对象2. JavaScript 类3. JavaScript prototype(原型对象)4. prototype 继承5. JavaScript Number 对象5.1 JavaScript 数字 6. JavaScript 字符串(String&…

【Docker】如何实现Docker 命令自动补全

前言 Docker 命令可以使用 tab 键补全。在命令行输入 Docker 命令时,只需输入前几个字符,然后按 Tab 键即可自动补全为正确的命令或参数。 例如,在命令行输入 docker r,然后按 Tab 键,就会自动补全为 docker run 命令…

情感分析实战(中文)-数据获取

情感分析实战(中文)-数据获取 背景:该专栏的目的是将自己做了N个情感分析的毕业设计的一个总结版,不仅自己可以在这次总结中,把自己过往的一些经验进行归纳,梳理,巩固自己的知识从而进一步提升,而帮助各大…

数据库信息速递 10年的数据库使用习惯变革,数据库的使用习惯在被改变 (译)...

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…

All One Needs to Know about Metaverse

本文是针对《All One Needs to Know about Metaverse: A Complete Survey on Technological Singularity, Virtual Ecosystem, and Research Agenda》的翻译,只针对文字部分,图表请查看原文。 关于元宇宙所有需要了解的:技术奇点、虚拟生态系…

《第一本无人驾驶技术书》

Monday: 第1章 无人车:正在开始的未来 现代信息技术发展史 20世纪60年代:仙童电子和Intel通过硅晶体微处理器技术的创新开创了信息技术的新时代(硅谷的起源) 20世纪80年代:软件系统发展、图形界面广泛应…

【AI视野·今日CV 计算机视觉论文速览 第209期】Mon, 31 May 2021

AI视野今日CS.CV 计算机视觉论文速览 Mon, 31 May 2021 Totally 46 papers 👉上期速览✈更多精彩请移步主页 Daily Computer Vision Papers Boosting Monocular Depth Estimation Models to High-Resolution via Content-Adaptive Multi-Resolution Merging Author…

基于决策树的泰坦尼克号数据集回归预测

目录 1、作者介绍2、决策树算法2.1 决策树原理2.1.1 基本原理2.1.2 节点的概念 2.2 构建决策树2.3 决策树优缺点 3、实验设计3.1 数据集简介3.2 代码实现3.3 运行结果 4、参考链接 1、作者介绍 任正福,男,西安工程大学电子信息学院,2022级研…