软件定义网络PART 4

南向接口协议

南向接口协议概述

什么是南向接口协议?

  • 为控制平面的控制器和数据平面的交换机之间的信息交互而设计的协议。
    在这里插入图片描述

南向接口协议的设计目标(主要作用)?

 1.实现数据平面与控制平面的信息交互

  • 向上收集数据平面信息;
  • 向下下发控制策略,指导转发行为。

 2.实现网络的配置与管理;
 3.实现路径计算,包括链路属性(带宽与开销)、链路状态、和拓扑信息等;

南向接口协议有哪些?

在这里插入图片描述

OpenFlow协议

  • ONF定义的一种南向接口标准,为控制器交换机之间的通信提供了一种开放标准的方式
    在这里插入图片描述

OF-Config协议

  • OpenFlow管理与配置协议(OpenFlow Management and Configuration Protocol,OF-Config):一种OpenFlow交换机配置协议。可以理解为openflow协议的伴侣协议
    在这里插入图片描述

OVSDB协议

  • 开源交换机数据库管理协议(Open vSwitch Database Management Protocol,OVSDB):负责管理开源的软件交换机OpenvSwitch,OVS)的开放虚拟交换机数据库,实现对虚拟交换机可编程访问和配置管理
    在这里插入图片描述

NETCONF 协议

  • NETCONF协议采用Client/Server结构。通过NETCONF,SDN控制器对网络设备进行配置管理

SDN Controller as Server
SDN Switch as client 在这里插入图片描述

XMPP

  • 可扩展消息处理现场协议(eXtensible Messaging and Presence Protocol,XMPP):用于即时消息传递、状态、多方聊天、语音和视频呼叫、协作、轻量级中间件、内容联合和通用的XML数据路由的开放技术。
    在这里插入图片描述

PCEP

  • 路径计算单元协议(Path Computation Element Protocol,PCEP):为MPLS网络域间流量工程(Traffic Engineering,TE)等应用提出的,以支持集中化的路径计算。
    在这里插入图片描述

百度MPLS戳这里:MPLS

	MPLS
	多协议标签交换(英语:Multi-Protocol Label Switching,缩写为MPLS):
	是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。
	
	多协议的含义:
	是指MPLS不但可以支持多种网络层层面上的协议,还可以兼容第二层的多种数据链路层技术。

	MPLS是利用标记(label)进行数据转发的。当分组进入网络时,要为其分配固定长度的短的标记,
	并将标记与分组封装在一起,在整个转发过程中,交换节点仅根据标记进行转发。

在这里插入图片描述

I2RS

  • 路由系统接口(Interface to the Routing System,I2RS):IETF主推的SDN南向接口协议;
  • 核心思想:在传统网络设备的路由及转发系统上定义开放接口,使外部应用或控制实体可读取路由器中的信息,基于拓扑变化、流量统计等信息动态下发路由状态、策略到转发设备上,以支持网络的可编程能力。
    在这里插入图片描述

OpFlex

  • OpFlex是思科公司提出的南向接口协议;
  • OpFlex是ACI内部的策略控制协议。
    在这里插入图片描述

Open Flow 协议

Openflow消息类型

  • Controller‐to‐Switch消息
  • Asynchronous消息 [eɪˈsɪŋkrənəs]
  • Symmetric消息

controller-to-switch 消息

  • 控制器发起,可能会要求交换机回复对应的消息。

在这里插入图片描述

asynchronous消息列表

  • 交换机主动发起的,用于告知控制器新数据包的到达和交换机状态的改变

在这里插入图片描述

symmetric消息列表

  • 任意一方发送,无需对方的许可或请求

在这里插入图片描述

扫描二维码关注公众号,回复: 13036454 查看本文章

Openflow消息格式

  • Openflow协议数据包:Openflow HeaderOpenflow Message

Openflow Header格式:

在这里插入图片描述

Openflow Header的数据结构

/* Header on all OpenFlow packets. */
struct ofp_header {
uint8_t version; /* OpenFlow的协议版本号*/
uint8_t type; /*消息类型,是个常数*/
uint16_t length; /*数据包字节数*/
uint32_t xid; /*数据包的标识id*/
};

openflow包数据类型ofp_type是枚举类型,每个消息类型被定义为一个常数:
在这里插入图片描述

基于Openflow的SDN通信流程

左边的图通过hello信息连接建立的过程:
◆控制器开启TCP的6633端口等待
交换机的连接
◆交换机启动时,尝试连接到指
定控制器端口;
◆安全通道采用TLS( Transport
Layer Security)连接加密;
◆双方通过交换证书进行认证
后续的过程可以参考上方的信息

右边的图是抓包软件下的不同类型的数据包
在这里插入图片描述
在这里插入图片描述
两PC终端的信息交互过程:
①主机向网络发送数据包
②OF交换机流表无匹配项,通过
Packetln事件将数据包上报给控制器
③控制器下发流表(或PacketOut)
④数据包转发
⑤同②
⑥同③
⑦数据包转发

OF-Config概述

OF-Config协议

  • OF-Config协议就是一种OpenFlow交换机管理配置协议(OpenFlow Management and Configuration Protocol)
  • OpenFlow的伴侣协议( Considered a complementary protocol );

OF-Config协议与OpenFlow协议版本对应关系

在这里插入图片描述
在这里插入图片描述

协议设计需求(Requirements)

  • 配置需求(Specification Requirements)
  • 操作运维需求( Operational Requirements )
  • 管理协议需求( Management Protocol Requirements)

配置需求(Specification Requirements)

1.控制器连接设置

  • 控制器IP地址、控制器端口号和传输协议(TLS或TCP)。

2.多控制器(Multiple Controllers)

  • 多控制器连接的参数配置

3.OpenFlow逻辑交换机

  • 各种资源的配置,如端口或队列。

4.连接中断(Connection Interruption)

  • 配置连接失效后进入的模式
    两种模式:失败安全模式和失败独立模式

5.加密(Encryption)

  • 身份认证方式

6.队列(Queues)

  • 最小速率(min‐rate)、最大速率(max-rate)、自定义速率(experimenter)

7.端口(Ports)

  • 禁止接收(no-receive)、禁止转发(no-forward)、禁止Packet-in消息(no–packetin)、管理状态(admin-state)

8.能力发现(Capability Discovery)

  • 发现能力特性

9.Datapath ID

操作运维需求(Operational Requirements)

  • 支持OF交换机被多个OpenFlow配置点配置
    在这里插入图片描述

  • 支持一个OpenFlow配置点管理多个OF交换

在这里插入图片描述

  • 支持一个OpenFlow逻辑交换机被多个控制器控制

在这里插入图片描述

  • 支持配置OpenFlow交换机的端口和队列;
  • 支持OpenFlow逻辑交换机的能力发现;
  • 支持配置隧道,如IPinGRE、VXLAN及NVGRE

管理协议需求(Management Protocol Requirements)

  • 保障安全性,支持对交换机和配置点双向认证
  • 支持配置请求和应答的可靠传输
  • 支持由配置点或交换机进行连接设置
  • 能够承载局部交换机配置以及大范围交换机配置
  • 支持配置点在交换机配置参数及接收来自交换机的配置参数
  • 支持在交换机创建、更改及删除配置信息,并支持报告配置结果
  • 支持独立发送配置请求,并支持交换机到配置点的异步通知
  • 支持记忆能力、可伸展性以及报告自身属性和能力

OF-CONFIG的数据模型

  • OF-CONFIG采用XML来描述其数据结构
  • 数据模型由类和类的属性构成

每个openflow交换机包括多个openflow逻辑交换机实例
在这里插入图片描述

OF-CONFIG的数据模型多种标识符

  • OpenFlow Capable Switch
  • OpenFlow Configuration Point
  • OpenFlow Logical Switch
  • Logical Switch Capabilities
  • OpenFlow Controller
  • OpenFlow Resource (Superclass)
  • OpenFlow Port
  • OpenFlow Port Feature
  • OpenFlow Queue
  • External Certificate
  • Owned Certificate
  • OpenFlow Flow Table

OpenFlow交换机数据模型为例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

OF-CONFIG传输协议

•通过NETCONF协议来传输其内容(RFC6241)

NETCONFIG协议

什么是NETCONF协议

•新一代网管协议;
•网络配置协议NETCONF(Network Configuration Protocol)提供一套管理网络设备的机制;
•2003年成立了NETCONF工作组,2011年更新版的RFC 6241发布。

NETCONF协议优点(与SNMP比较)

在这里插入图片描述

NETCONF协议其他特点

•区分配置数据和状态数据,提供不同的操作进行数据的增删改查。

  • 配置数据(configuration data):对网络设备进行配置的数据;
  • 状态数据(state data):反映设备状态的数据
  • 存在多个配置数据库
    在这里插入图片描述

NETCONF协议框架

在这里插入图片描述

NETCONF传输层

•为NETCONF连接提供可靠的序列号发送机制;
•提供了认证、数据完整性和安全性保障;
•SSH作为其承载协议;

NETCONF RPC层

•采用基于RPC的通讯机制;
•:请求
•:响应

NETCONF操作层

•对数据库信息的获取、配置、复制和删除等功能
在这里插入图片描述

NETCONF内容层

•描述了网络管理所涉及的配置数据:
在这里插入图片描述
•使用YANG语言进行建模,YANG具有以下特点:

  • 层级树形结构
  • 可以直接映射到XML
  • 可读性好,易学习
  • 可复用、可扩展

操作举例-<get-config`>

在这里插入图片描述

操作举例-<edit-config`>

在这里插入图片描述

操作举例-<copy-config`>

•创建或替换整个配置数据库
•如果目标存在, 则覆盖;否则,创建一个新的库
在这里插入图片描述

操作举例-<delete-config`>

• 配置数据库不能被删除
在这里插入图片描述
参考资料:中国大学 MOCC SDN网络课程

猜你喜欢

转载自blog.csdn.net/weixin_46239293/article/details/112725016