软件定义网络笔记(PART 2)

软件定义网络基本架构

SDN的主流技术架构

在这里插入图片描述

ONF定义SDN基本架构

在这里插入图片描述

ONF定义SDN体系架构

                      “四个平面”      “两大接口”
在这里插入图片描述

四个平面

数据平面

  1. 若干网元(Network Element):包含一个或多个SDN 数据路径( Datapath );
  2. SDN Datapath:逻辑上网络设备,负责转发和处理数据;
  3. 控制数据平面接口(Control Data Plane Interface, CDPI)代理、转发引擎(Forwarding Engine)表和处理功能(Processing Function)

   数据面(转发面)关键技术
在这里插入图片描述
控制平面

  1. 北向接口(Northbound Interfaces, NBI)代理、SDN控制逻辑(Control
    Logic)和控制数据平面接口驱动(CDPI Driver);
  2. 两个任务:
    将SDN应用层请求转换到SDN Datapath;
    为SDN应用提供底层网络的抽象模型(状态或事件)。

   控制面关键技术

  1. 控制器,网络操作系统(NOS)或网络控制器。
  2. 智能、核心均在SDN 控制器中实现
  3. 开源SDN控制器: NOX、POX、FloodLight、 RYU 、OpenDayLight、 ONOS等。

应用平面

  1. SDN应用逻辑与北向接口( NBI )驱动;
  2. 通过北向接口与SDN控制器交互;

   应用逻辑

   应用交付能力(负载均衡、访问控制、应用加速):

扫描二维码关注公众号,回复: 13036459 查看本文章
  1. 降低系统的开支和成本;
  2. 网元的虚拟化和集中化控制;
  3. 网络快速部署,故障快速发现与解决;
  4. 更高的智能,自动化运作,应用可感知的网络

管理平面

   静态的工作:网元初始化配置,指定控制器、定义控制器及应用的控制范围。

两大接口

南向接口

   1.控制平面和数据平面之间的接口(CDPI) 。
   2.功能:转发行为控制、设备性能查询、统计报告、事件通知等。

ONF体系架构:标准化的南向接口协议(Openflow),不依赖于底层具体厂商的交换设备。

   南向接口关键技术

  • 转发面开放协议(南向接口协议):允许控制器控制交换机的配置以及相关转发行为。
  • ONF定义的转发面开放协议:Openflow协议

在这里插入图片描述
北向接口

  1. 应用平面与控制平面之间的接口(NBI),向应用层提供抽象的网络视图,使应用能直接控制网络的行为。
  2. 开放的、与产商无关的接口。

   北向接口关键技术

  • SDN北向接口设计:控制器将网络能力封装后开放接口,供上层业务调用。
    -REST API成为SDN北向接口的主流设计

floodlight的北向API集合

交换机状态采集、静态流表推送、防火墙策略等多种类型的接口。

SDN的核心思想

解耦(Decoupling )

数据平面与控制平面的解耦

  • 通过解耦合,控制平面负责上层的控制决策,数据平面负责数据的交换转发,双方遵循一定的开放接口进行通信;
  • 实现网络逻辑集中控制的前提;
  • 两个平面独立完成体系结构和技术的发展演进,有利于网络的技术创新与发展。

传统网络:例如二层需要交换转发MAC表,网络层需要路由器需要交换转发路由表

SDN与传统网络的差异

  •  SDN 将网络设备的控制平面集中上收到Controller;
  •  网络设备上只保留转发平面(转发表项);
  • 软件可以实现灵活的控制面功能满足用户多元化需求
  • 硬件成为简单哑资源,专注转发

在这里插入图片描述

解耦带来的问题与挑战

  • 网络规模的扩大,单一控制器成为网络性能的瓶颈;>>>>多个分布式的控制器
  • 多控制器如何交换路由信息,保持分布式网络节点状态的一致性,是一个重要的挑战;
  • 控制平面的响应延迟,导致数据平面的可用性问题。

抽象(Abstraction)

从用户的角度而言在这里插入图片描述

网络功能的抽象

ONF网络架构实现转发抽象、分布状态抽象和配置抽象:

  1. 转发抽象(forwarding abstration):隐藏了底层的硬件实现,转发行为与硬件无关;
    把各种转发表项如mac表,路由表,MPLS标签表,ACL访问控制表统一抽象成流表
    在这里插入图片描述

  2. 分布状态抽象(distribution abstration):屏蔽分布式控制的实现细节,为上层应用提供全局网络视图;
    控制层将设备的分布式状态抽象成全局的网络视图,从而达到逻辑上的集中控制
    在这里插入图片描述

  3. 配置抽象(specification abstration):网络行为的表达通过网络编程语言实现,将抽象配置映射为物理配置。
    左边是传统的对单个网络设备编程方法
    右边是SDN网络利用控制器提供的API对整个抽象的网络视图进行编程

    在这里插入图片描述

可编程(Programable)

传统网络的管理接口: CLI、SNMP等,是初级的网络编程方式;

CLI一般指命令行界面。命令行界面(英语:command-line interface,缩写:CLI)
SNMP一般指简单网络管理协议。简单网络管理协议(SNMP) 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。
在这里插入图片描述

现今的网络管理者需要基于整个网络的,而不是基于某一设备的可编程。
网络可编程相关研究:主动网络(Active Networking)、4D架构
在这里插入图片描述

网络可编程接口:

  1. 北向接口:REST(Representational State Transfer) API,RESTCONF协议
  2. 南向接口:OpenFlow、OF-Config、NETCONF、OVSDB、XMPP、PCEP、I2RS、OPFlex等协议;
  3. 东西向接口:负责控制器之间的通信,未形成统一标准。
  4. 在这里插入图片描述

数据平面可编程技术:Intel主导的DPDK、斯坦福大学主导的P4(Programming Protocol-independent Packet Processors)等

参考资料:中国大学MOCC SDN网络课程

猜你喜欢

转载自blog.csdn.net/weixin_46239293/article/details/112640516
今日推荐