软件定义 络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表来完成。包处理流程:
SDN数据平面的特点
- 处理流程中的:解析(Parser)、转发(Forwarding)和调度(Scheduling)都是可编程、协议无关的;
- 传统 络设备的二层或三层转发表抽象成流表;
OpenFlow Switch通用转发模型
OpenFlow 概述
2008年, Nick等在SIGCOMM会议上发表论文“OpenFlow: Enabling Innovation in Campus Networks”,首次提出OpenFlow交换机架构,将OpenFlow协议用于校园 络的试验创新。
ONF将1.0和1.3版本作为长期支持的稳定版本,此后一段时间内后续版本的发展要维持版本的兼容性。学习重点技术规范文件:
- openflow-spec-v1.0.0
- openflow-spec-v1.3.0
单流表到多级流表的架构
- 包头域(Head Fields) :涵盖了链路层、 络层和传输层大部分标识;
- 计数器( Counters ) :用于统计数据流量相关信息,可以针对交换机
中的每张流表、每个数据流、每个设备端口、每个转发队列进行维护; - 动作表(Actions) :指示与该流表项匹配的数据包应该执行的下一步 操作。
流表及其组成
OpenFlow端口类型:
端口(Ports):交换机传递数据包的 络接口,交换机通过接口和其他交换机建立逻辑连接
- 物理端口
- 逻辑端口: 是对物理端口的虚拟化,提高可复用性,逻辑端口的数据包需要有tunnel_id;
- 保留端口 :指定通用的转发动作(包括:ALL、CONTROLLER、TABLE、IN_PORT、ANY、LOCAL、NORMAL、FLOOD)。
OpenFlow保留端口:
● ALL:转发给所有出端口,但不包括入端口
● CONTROLLER:封装数据包并转发给控制器
● TABLE:对packet_out数据包执行流表操作
● LOCAL:转发给本地的 络栈;
● IN_PORT:从入端口发出
● NORMAL:利用交换机的传统转发机制处理数据包
● FLOOD:按照最小生成树从设备出端口洪泛发出
数据包处理流程
每个包按照优先级依次去匹配流表中表项,匹配包的优先级最高的表项即为
匹配结果。匹配成功,对应的计数器将更新,同时实施转发动作;如果没能
找到匹配的表项,则转发给控制器。
各个版本流表项结构变化
组表 (Group Identifier):一个32位无符 整数,组表项的唯一标识。计量表(Meter Table)
- 通过计量表,OpenFlow交换机可以实现简单的QoS功能,比如速率限
制等,还可以与每个端口队列结合,实现更加复杂的QoS框架,如DiffServ; - 每个计量表由多个计量表项(Meter Entries)组成。
- 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进行处理,非常感谢!