我是靠谱客的博主 阳光蓝天,最近开发中收集的这篇文章主要介绍SDN软件定义网络 学习笔记(4)--数据平面1. 简介2. SDN数据平面架构3. SDN芯片与交换机参考资料,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

SDN软件定义网络 学习笔记(4)--数据平面

  • 1. 简介
  • 2. SDN数据平面架构
    • 2.1 传统网络交换设备架构
    • 2.2 SDN交换设备架构
    • 2.3 数据平面架构图
  • 3. SDN芯片与交换机
    • 3.1 SDN芯片
    • 3.2 SDN硬件交换机
    • 3.3 SDN软件交换机
  • 参考资料

1. 简介

       数据平面是执行网络数据包处理的实体,数据平面的交换设备专注于高速转发数据分组,而转发的决策由控制平面的控制器通过南向接口协议统一分发。
 

2. SDN数据平面架构

2.1 传统网络交换设备架构

       交换机可以识别数据分组中的 MAC 地址,并基于 MAC 地址来转发数据分组;路由器可以识别数据分组中的 IP 地址,并基于 IP 地址来转发数据分组和实现路由。

       如下图所示,传统网络交换设备的功能架构主要由控制平面和数据平面组成,它们在物理上是紧密耦合的,逻辑上是相互分离的。

       控制平面通过网络操作系统和底层软件,生成、维护交换设备内部的转发表,并实现对网络的配置管理。数据平面通过硬件转发芯片对数据分组进行高速转发,基本功能主要包括转发决策、背板转发以及输出链路调度等几个方面。

  • 转发决策
           交换设备的各种转发行为均和协议相关,工作原理都是在端口收到数据分组时,将数据分组中的目的地址与设备自身存储的MAC 地址表或路由表进行匹配,从而确定数据分组转发的目的端口。表项匹配的工作是由交换设备中的交换芯片来实现的。
  • 背板转发
           交换机通过背板把各个端口连接起来,数据分组经转发决策后,由背板从入端口转发到目的端口。
           交换机背板的交换结构可以分为共享总线结构、共享内存结构和 CrossBar 结构。
  • 输出链路调度
           各个端口针对接收线路和发送线路各有一个缓冲队列,当数据分组发往交换机时,发出的数据分组暂存在交换机的接收队列中,然后等待下一步处理。

       总结:传统网络的数据平面和控制平面物理上是完全紧密耦合的,控制平面实现网络的控制逻辑,数据平面执行网络控制逻辑,比如,解析包头和转发数据包到某些端口。但紧密耦合导致设备升级时相互依赖,用户无法自行管理和调用网络设备,网络相对僵化,不够灵活。
 

2.2 SDN交换设备架构

       SDN 将交换设备的数据平面与控制平面完全解耦,所有数据分组的控制策略由远端控制器通过南向接口协议下发,网络的配置管理也同样由控制器完成。

       如下图所示,SDN换设备的基本功能仍然包括转发决策、背板转发、输出链路调度,但在功能的具体实现上与传统网络的交换设备有所不同。

  • 转发决策
           以OpenFlow协议为例,数据分组进入 SDN 交换机后,先与流表进行匹配查找,若与其中一个表项匹配成功则执行相应处理动作,若无匹配项则上交控制器,由其决定处理决策。这些流程依旧需要依赖网络设备内的交换芯片实现。
  • 背板转发
           就目前的网络设备来说,设备的速率瓶颈点主要还是在交换芯片上,背板提供满足要求的交换速率并不是太大问题。
  • 输出链路调度
           正常情况下,数据分组发往交换机某一端口或准备从交换机某一端口发
    出时,均需在端口队列中等待处理。
           而支持 QoS 的交换机则可能要对报文根据某些字段进行分类以进入有优先级的队列,对各个队列进行队列调度以及修改报文中的 QoS 字段以形成整个链路的有机处理流程等。

       总结:背板转发和输出链路调度功能没有给 SDN 交换机带来太大挑战,但转发决策却给 SDN 交换机在技术实现上带来了很大的难题。

       OpenFlow交换机的流表可以包含多层次网络特征,如交换、路由、防火墙、网管等。这就要求交换芯片的性能需要很高,才能通过查找这样一张复杂流表来对进入交换机的数据分组进行转发决策。
 

2.3 数据平面架构图

       传统数据平面架构和SDN通用可编程数据平面的架构如下图所示:

 
 

3. SDN芯片与交换机

3.1 SDN芯片

       SDN 交换设备所要实现的协议相对简单而且固定,对稳定性的要求较高,因此 ASIC(专用集成电路) 芯片无疑是 SDN 最佳的选择。

       芯片厂商暂时不会投入大量精力去开发 SDN 专用芯片,而是采用折中的方式,在传统芯片的基础上增加支持 SDN 的功能。

       芯片市场中主要支持 SDN 的产品有博通 StrataXGS Trident Ⅱ系列芯片、Intel FM6764 芯片、盛科 GreatBelt 系列芯片、华为以太网络处理器 ENP等。
 

3.2 SDN硬件交换机

       目前,Cisco、HP、Juniper、阿朗、华为这五大供应商占据了全球交换机市场的绝大多数份额。SDN 逐渐流行起来后,网络设备市场的门槛开始降低,涌现了大量新兴创业公司。

       考虑到多数 SDN 用户的需求是 SDN 和传统网络并存,现阶段纯 SDN 的应用场景并不广泛,多数厂商推出的 SDN 硬件交换机都是支持混合模式的,而不是纯 SDN 交换机。

       所谓混合模式 SDN 交换机,是指设备商并非将原来的交换机推倒重来,而是利用本身已有的操作系统优势,在系统里增加对 OpenFlow 协议的支持。

       其具体思路是,数据分组进入混合模式交换机后,交换机根据端口或 VLAN 进行区分,亦或经过一级流表的处理,以决定数据分组是传统二、三层处理模式还是 SDN 处理模式。传统二、三层处理模式由交换机已写定的协议完成,SDN 处理模式则由SDN 控制器管理。

       网络设备市场中比较有代表性的几款 SDN 硬件交换机有:

  • 基于 ASIC 芯片的 SDN 品牌交换机
           NEC IP8800 系列交换机、IBM RackSwitch G8264 交换机、HP SDN 系列交换机、Arista 7150S 系列和 7500E 交换机、DCN CS16800 系列交换机、Cisco Nexus 9000 系列交换机、Juniper EX9200 系列交换机、H3C S12500 系列交换机、博科 ICX7450 交换机等等
  • 基于 ASIC 芯片的 SDN 白盒交换机
           盛科 V330/V350 V580 白盒交换机、Pica8 SDN 白盒交换机系列等等。
           每台白盒交换机交换机都需要一个独立于硬件的网络操作系统,用户自行安装网络操作系统和应用程序,由网络管理人员编程来控制设备转发行为,实现自营业务的灵活创新和快速部署。
  • 基于 NP 的 SDN 交换机
           华为 S12700 系列等。
  • 基于 NetFPGA 的 SDN 交换机
     

3.3 SDN软件交换机

  • Open vSwitch
           Open vSwitch是一款开源软件交换机。基本部件分为 3 个部分:

       (a)ovs-vswtichd 守护进程,慢速转发平面,位于用户空间,完成基本转发逻辑,包括地址学习、镜像配置、LACP、外部物理端口绑定、基于源 MAC 和 TCP 负载均衡或主备方式,支持 OpenFlow 协议,可通过 sFlow、NetFlow 或 SPAN端口镜像方式保证网络可视性,配置后数据交由 ovsdb-server 进程存储和管理;

       (b)核心数据转发平面,即 openvswitch_mod.ko 模块,它位于内核空间,完成数据分组查询、修改、转发,隧道封装,维护底层转发表等功能;

       (c)其三是控制平面,分布在不同物理机上的软件交换机通过 OpenFlow 控制集群组成分布式虚拟化交换机,还实现了不同租户虚拟机隔离功能;

       每个数据转发保持一个 OpenFlow 连接,没有在转发平面出现的数据流在第一次通过软件交换机时,都被转发到 OpenFlow 控制平台处理,OpenFlow 根据一至四层信息特征匹配,定义转发、丢弃、修改或排队策略,第二次数据转发时就直接由核心转发模块处理,加快了后续数据处理过程。

  • Pantou
           Pantou是一个基于 OpenWrt 实现 OpenFlow 的创新项目,它可以将商用无线路由器或无线接入点(AP)转换成 OpenFlow 交换机。
  • Indigo
           Indigo开源项目是Floodlight项目内的子项目,Indigo是基于OpenFlow的SDN软件交换机,它运行在硬件交换机上,并利用以太网交换机的硬件功能来线速运行 OpenFlow。
  • LINC
           LINC 是纯软件的 OpenFlow 交换机,支持 OpenFlow v1.2、OpenFlow v1.3.1以及 OF-CONFIG v1.1.1。LINC 的主要软件模块包括:OpenFlow 交换机、OpenFlow 协议模块和 OF-CONFIG 模块
  • OpenFlow Click
           OpenFlow Click 是由美国麻省理工大学 Eddie Kohler 博士等人开发的一款优秀的软件工具,专门用于构建基于 Linux 操作系统的软件路由器。Click 以模块化为核心思想,把路由器功能划分为若干粒度合适的模块

 

参考资料

《SDN软件定义网络核心原理与应用实践》
《重构网络:SDN架构与实现》

另:本文是对以上参考资料的学习笔记整理

最后

以上就是阳光蓝天为你收集整理的SDN软件定义网络 学习笔记(4)--数据平面1. 简介2. SDN数据平面架构3. SDN芯片与交换机参考资料的全部内容,希望文章能够帮你解决SDN软件定义网络 学习笔记(4)--数据平面1. 简介2. SDN数据平面架构3. SDN芯片与交换机参考资料所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部