软件定义网络(PART 3)

软件定义网络PART 3

  • 数据平面
    • SDN数据平面
      • 传统网络数据平面
      • 传统网络数据平面的特点
      • SDN数据平面
      • SDN数据平面的特点
      • OpenFlow Switch通用转发模型
      • 通用可编程转发模型
    • OpenFlow 概述
      • OpenFlow架构三个组成部分
      • OpenFlow主要版本及特性
      • 单流表到多级流表的架构
    • Open Flow 流表
      • 什么是流表(flow table)/li>
      • OpenFlow v1.0流表项
      • 流表及其组成
      • OpenFlow v1.0流表项-包头域
      • OpenFlow v1.0流表项-计数器
      • OpenFlow v1.0流表项-动作表
        • 流表动作列表:
      • OpenFlow端口类型:
        • OpenFlow保留端口:
      • 数据包处理流程
        • 包头解析匹配流程
      • 各个版本流表项结构变化
      • 组表(Group Table)
      • 计量表(Meter Table)
    • SDN交换机
      • SDN交换机—-交换芯片
      • 设计支持OpenFlow架构的交换芯片
      • 主流交换芯片产品
      • SDN交换机
      • SDN物理交换机
        • 基于ASIC芯片的SDN品牌交换机
        • 基于ASIC芯片的SDN白盒交换机
      • SDN虚拟(软件)交换机
      • SDN交换机选型考虑参数

数据平面

SDN数据平面

传统网络数据平面

数据平面主要执行网络控制逻辑,数据包的处理主要通过查询由控制平面所生成的FIB表来完成。包处理流程:

软件定义网络(PART 3)

SDN数据平面的特点

  • 处理流程中的:解析(Parser)、转发(Forwarding)和调度(Scheduling)都是可编程、协议无关的;
  • 传统网络设备的二层或三层转发表抽象成流表;

OpenFlow Switch通用转发模型

软件定义网络(PART 3)

OpenFlow 概述

2008年, Nick等在SIGCOMM会议上发表论文“OpenFlow: Enabling Innovation in Campus Networks”,首次提出OpenFlow交换机架构,将OpenFlow协议用于校园网络的试验创新。

软件定义网络(PART 3)

ONF将1.0和1.3版本作为长期支持的稳定版本,此后一段时间内后续版本的发展要维持版本的兼容性。学习重点技术规范文件

  • openflow-spec-v1.0.0
  • openflow-spec-v1.3.0

单流表到多级流表的架构

软件定义网络(PART 3)
流表项包括三个域:
  • 包头域(Head Fields) :涵盖了链路层、网络层和传输层大部分标识;
  • 计数器( Counters ) :用于统计数据流量相关信息,可以针对交换机
    中的每张流表、每个数据流、每个设备端口、每个转发队列进行维护;
  • 动作表(Actions) :指示与该流表项匹配的数据包应该执行的下一步 操作。

流表及其组成

软件定义网络(PART 3)
软件定义网络(PART 3)

OpenFlow端口类型:

端口(Ports):交换机传递数据包的网络接口,交换机通过接口和其他交换机建立逻辑连接

  • 物理端口
  • 逻辑端口: 是对物理端口的虚拟化,提高可复用性,逻辑端口的数据包需要有tunnel_id;
  • 保留端口 :指定通用的转发动作(包括:ALL、CONTROLLER、TABLE、IN_PORT、ANY、LOCAL、NORMAL、FLOOD)。

OpenFlow保留端口:

● ALL:转发给所有出端口,但不包括入端口
● CONTROLLER:封装数据包并转发给控制器
● TABLE:对packet_out数据包执行流表操作
● LOCAL:转发给本地的网络栈;
● IN_PORT:从入端口发出
● NORMAL:利用交换机的传统转发机制处理数据包
● FLOOD:按照最小生成树从设备出端口洪泛发出

数据包处理流程

每个包按照优先级依次去匹配流表中表项,匹配包的优先级最高的表项即为
匹配结果。匹配成功,对应的计数器将更新,同时实施转发动作;如果没能
找到匹配的表项,则转发给控制器。

软件定义网络(PART 3)

各个版本流表项结构变化

软件定义网络(PART 3)
  • 组表号(Group Identifier):一个32位无符号整数,组表项的唯一标识。
  • 组表类型(Group Type):表明了对数据包的处理行为。其中必须支持的动作包括all和indirect,可选动 作包括select和fast failover;
  • 计数器(Counters):被该组表项处理过的数据包的统计量。
  • 动作桶(Action Buckets):一个Action Bucket的有序列表,每个Action Bucket又包含了一组Action集合 及其参数。
  • 计量表(Meter Table)

    • 通过计量表,OpenFlow交换机可以实现简单的QoS功能,比如速率限
      制等,还可以与每个端口队列结合,实现更加复杂的QoS框架,如DiffServ;
    • 每个计量表由多个计量表项(Meter Entries)组成。

    软件定义网络(PART 3)

    设计支持OpenFlow架构的交换芯片

    • ONF成立了转发抽象组(Forwarding Abstraction WG),负责数据平面新的转发抽象技术,并在现有交换芯片架构基础上提出了支持OpenFlow接口的折中方案(Table Typing Pattern,TTP),后更名为可协商的数据平面模型(Negotiable Data-plane Model,NDM);
    • 这种折中方案基于现有的交换芯片,在传统交换芯片基础上增加对OpenFlow的支持,因此,该方案被芯片厂商普遍接受,加快了交换芯片在产业界的落地。

    主流交换芯片产品

    • Broadcom StrataXGS系列交换芯片:三叉戟(Trident)和战斧(Tomahawk),两种系列的芯片应用于不同的用户场景;
    • Barefoot Tofino系列交换芯片:基于通用可编程数据平面PISA架构,并支持数据平面编程语言P4,提供高达12.8Tb/s的交换处理能力;
    • 盛科系列芯片:CTC5160、CTC7148、CTC8096。

    SDN交换机

    • SDN物理(硬件)交换机:多数为支持OpenFlow的混合模式交换机,支持传统二、三层处理模式和SDN处理模式;
    • SDN虚拟(软件)交换机:成本低、配置灵活,性能满足中小规模网络要求

    SDN物理交换机

    • 基于ASIC芯片的SDN品牌交换机;
      ? – Cisco 、NEC、Juniper、IBM、HPE、Arista、DCN等
    • 基于ASIC芯片的SDN白盒交换机;
      ? – BigSwitch、盛科、Pica8
    • 基于NP的SDN交换机;
    • 基于FPGA的SDN交换机:NetFPGA

    基于ASIC芯片的SDN品牌交换机

    • Cisco Nexus 9000系列:Nexus 9500、Nexus 9300
    • NEC IP8800系列交换机;
    • Arista 7160系列和7500R;
    • HPE FlexFabric 5700、5900、 12900系列;
    • Juniper EX9200系列
    • IBM RackSwitch G8264交换机;
    • DCN CS16800系列
    • H3C S12500系列
    • 博科ICX7450

    基于ASIC芯片的SDN白盒交换机

    • 盛科V330、V350、V580;
    • Pica8 P3290、P3295、P3297、P3920、P3922、P3930、P5101、P5401

    SDN虚拟(软件)交换机

    • Open vSwitch(OVS)
    • Cisco Nexus 1000V
    • H3C S1020V

    SDN交换机选型考虑参数

    • 背板带宽:交换机接口处理器和数据总线间所能吞吐的最大数据量,背板带宽越高,所能处理数据的能力就越强,背板带宽是机架式交换机的技术参数,对于盒式交换机一般没有背板带宽的概念。

    • 背板带宽从几个Gbps到几百Gbps不等,背板带宽也不是越高越好,只要满足端口线速转发就可以。

    • 对于线速转发的交换机,背板的带宽计算方法:端口数相应端口速率2(全双工模式)

    • 端口密度:代表着交换机的转发能力。端口密度:密度越大,设备的转发能力越强;

    • 端口速率:速率越高,设备的处理性能越强;

    • 支持模块类型:类型越多,实用性越强,可以应用于不同的网络环境,比如:LAN接口、WAN接口、ATM接口。

    • 端口带宽类型:越丰富越好,即支持40G、100G高速端口,又支持百兆、千兆低速端口,即支持XFP又支持SFP、SFP+、CFP等等多种光接口类型。

    • 时延(延迟)

    • 功耗

    • 支持OpenFlow版本

    • 机架单元

    • 网管功能

    参考资料:中国大学MOCC SDN网络课程、百度百科

    来源:落了一地秋

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2021年1月14日
    下一篇 2021年1月14日

    相关推荐