软件定义网络(PART 3)

article/2025/9/25 22:53:35

软件定义网络PART 3

  • 数据平面
    • SDN数据平面
      • 传统网络数据平面
      • 传统网络数据平面的特点
      • SDN数据平面
      • SDN数据平面的特点
      • OpenFlow Switch通用转发模型
      • 通用可编程转发模型
    • OpenFlow 概述
      • OpenFlow架构三个组成部分
      • OpenFlow主要版本及特性
      • 单流表到多级流表的架构
    • Open Flow 流表
      • 什么是流表(flow table)?
      • 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表来完成。包处理流程:
在这里插入图片描述
FIB表:forward information datebase 转发信息库

传统网络数据平面的特点

  • 数据转发处理都是协议相关的;
  • 只支持有限的用户配置,不支持编程自定义。

SDN数据平面

在这里插入图片描述

SDN数据平面的特点

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

OpenFlow Switch通用转发模型

在这里插入图片描述

通用可编程转发模型

在这里插入图片描述

OpenFlow 概述

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

论文感兴趣的可以评论滴滴我

在这里插入图片描述

OpenFlow架构三个组成部分

  • 流表(Flow Table),每个动作(Action)关联一个流表项(FlowEntry),指示交换机如何进行流(Flow)的处理;
  • 安全通道(Sccure Channel),OpenFlow交换机通过安全通道与远 端控制器连接,负责控制器与交换机之间的交互;
  • OpenFlow协议(Flow Table)(Protocol),定义了一种南向接口标准,为控制 器与交换机之间的通信提供了一种开放标准的方式。

2009年12月,ONF发布了具有里程碑意义的可用于商业化产品的OpenFlow 1.0版本规范。

OpenFlow是ONF主推的南向接口协议,目前已成为SDN主流的南向接口协议之一。

已经有多个版本的OpenFlow规范(OF)被发布。

OpenFlow主要版本及特性

在这里插入图片描述

 - Open Flow可扩展匹配:既能增加关键字匹配字段,也能节省流表空间- 流表同步机制:多流表共享相同匹配字段,且可定义不同的动作- 计量表:控制关联流表数据包传输效率- 出向流表:入向匹配过程基础上添加了出向匹配

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

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

单流表到多级流表的架构

在这里插入图片描述

Open Flow 流表

什么是流表(flow table)?

的概念:

  • 同一时间,经过同一网络中具有某种共同特征(属性)的数据,抽象为一个流。比如,可以将访问同一目的地址的数据视为一个流
  • 流一般由网络管理员定义,根据不同的流执行不同的策略;
  • OpenFlow体系中,数据以“流”为单位进行处理。

流表:针对特定流的策略表项的集合,负责数据包的查找与转发。一张流表包含了一系列的流表项(flow entries)

OpenFlow v1.0流表项

在这里插入图片描述
流表项包括三个域:

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

流表及其组成

在这里插入图片描述
openflow 交换机 = 安全通道 + 流表
这里的图不准确,准确来说,controller 与安全通道相连接 ,其深意可以自行百度,安全通道是什么?

OpenFlow v1.0流表项-包头域

在这里插入图片描述
在这里插入图片描述
包头域包含传统网络OSI模型的前四层:

  • 第一层:入端口(Ingress Port) ,即消息在哪个端口进入交换机;
  • 第二层:源MAC地址(Ether source),目的MAC地址(Ether dst),以太网类型(Ether Type),VLAN标签(VLAN id),VLAN优先级(VLAN priority);
  • 第三层:源IP(IP src),目的IP(IP dst),IP协议字段(IP Proto),IP服务类型(IP ToSbits);
  • 第四层:TCP/UDP源端口号(TCP/UCP src port),TCP/UDP目的端口号(TCP/UDP dst port)。

OpenFlow v1.0流表项-计数器

针对交换机中的每张流表、每个数据流、每个设备端口、每个转发队
列进行维护,用于统计数据流量的相关信息:

  • ➢对每张流表,统计当前活动的 表项数、数据包查询次数、数据包匹配 次数等;
  • ➢ 对每个数据流,统计接收到的数据包数、字节数、数据流持续时间等;
  • ➢ 对每个设备端口,除统计接收到的数据包数、发送数据包数、接收字 节数、发送字节数等指标之外,还可以对各种错误发生的次数进行统计;
  • ➢ 对每个队列,统计发送的数据包数字节数,还有发送时的溢出错误次数等。

OpenFlow v1.0流表项-动作表

用于指示交换机在收到匹配的数据包后应该如何对其进行处理

➢ 每个流表项可以对应有零至多个动作,如果没有定义转发动作,那么数据包将被默认丢弃;
➢同一流表项中的多个动作的执行可以具有不同优先级,但是在数据包的发
送上并不保证其顺序
➢如果流表项中出现有OpenFlow交换机不支持的参数值,交换机将向控制器返回相应的出错信息

必备动作(Required Actions) 、可选动作(Optional Actions)
➢ 必备动作:需要所有OpenFlow交换机默认支持
➢ 可选动作:需要交换机告知控制器它所能支持的动作种类

流表动作列表:

在这里插入图片描述

OpenFlow端口类型:

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

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

OpenFlow保留端口:

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

数据包处理流程

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

在这里插入图片描述
匹配表N 理解为给表项的分组头域精度不同产生的匹配优先级
STP: Spanning Tree Protocol 生成树协议
类型: 链路管理协议
作用: 避免单点故障、网络回环
可应用于计算机网络中树形拓扑结构建立,主要作用是防止网桥网络中的冗余链路形成环路工作。但某些特定因素会导致STP失败,要排除故障可能非常困难,这取决于网络设计 。生成树协议适合所有厂商的网络设备,在配置上和体现功能强度上有所差别,但是在原理和应用效果是一致的。

包头解析匹配流程

在这里插入图片描述

各个版本流表项结构变化

在这里插入图片描述

组表(Group Table)

  • 组表为OpenFlow交换机提供了更高级的数据包转发特性(如 select和all),从而实现组播、负载均衡、容灾备份和聚合等功能;
  • 一个组表由多个组表项(Group Entries)组成。
    在这里插入图片描述
  • 组表号(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)组成。

在这里插入图片描述

  • 计量表号(Meter Identifier):一个32位无符号整数,计量表项的唯一标识。
  • 计量带(Meter Bands):一个无序的Meter Band集合,每个Meter Band指明了带宽速率以及处理数据包的行为。
  • 计数器(Counters):被该计量表项处理过的数据包的统计量。

SDN交换机

SDN交换机----交换芯片

  • 通用CPU;
  • 专用集成电路芯片(Application-Specific Integrated Circuit,ASIC);
  • 现场可编程门阵列(Field Programmable Gate Array,FPGA)芯片;
  • 网络处理器(Network Processor,NP
    在这里插入图片描述

设计支持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交换机选型考虑参数

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

     盒式交换机,机架式交换机和框架交换机都是属于交换机中的一种类别,它根据实际使用场景的不同以及配置参数等等方面而在定价和销售定位方面有所区别,大家在实际购买的时候需要结合自己的需求以及预算选择一款最合适的产品。1、机架式交换机:是可以安装在标准19“机柜中的网络设备,美观度好看;2、框架式交换机:是自带外框架的网络设备,一般情况也可以安装在19”网络机柜中,美观度一般;3、盒式交换机:我理解的就是落地式、塔式交换机,放在机柜中的托板上,美观度较差;
    
  • 背板带宽从几个Gbps到几百Gbps不等,背板带宽也不是越高越好,只要满足端口线速转发就可以。

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

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

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

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

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

  • 时延(延迟)

  • 功耗

  • 支持OpenFlow版本

  • 机架单元

  • 网管功能

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

文章有什么问题或错误的地方可在评论区或私信联系我,谢谢!

http://chatgpt.dhexx.cn/article/lxeT5eaE.shtml

相关文章

软件定义网络SDN----新型网络体系结构

1.传统路由器 传统路由器的功能: 为主机间的通信提供转发服务路由选择 路由器之间的传送信息: 主机间的分组路由信息 SDN这种新型网络体系结构的核心思想:把网络的控制层面和数据层面分离,而让控制层面利用软件来控制数据层面…

软件定义网络SDN(计算机网络-网络层)

目录 软件定义网络SDN 数据平面和控制平面 SDN 最重要的三个特征 控制平面与数据平面分离 SDN 的数据平面 软件定义网络SDN SDN的本质特点是控制平面和数据平面的分离以及网络的可编程性,从而实现了网络流量的灵活控制,方便用户管理和配置网络以及部…

软件定义的网络(下)

我们在这里对这两种SDN实现方案分别做个简单描述。 (1)以网络为中心的SDN 以网络为中心的SDN的技术核心是OpenFlow协议,OpenFlow技术最早由斯坦福大学于2008年提出,它是一种通信协议,用来提供对网络设备诸如交换机和…

【计算机网络详解】——软件定义网络SDN(学习笔记)

目录 🕒 1. 概念🕒 2. OpenFlow 协议 🕒 1. 概念 软件定义网络(Software Defined Network,SDN)的概念最早由斯坦福大学的Nick McKeown教授于2009年提出。SDN最初只是学术界讨论的一种新型网络体系结构。SD…

软件定义的网络(上)

数据中心作为IT资源的集中地,是数据计算、网络传输、存储的中心,为企业和用户的业务需求提供IT支持。 网络作为提供数据交换的模块,是数据中心中最为核心的基础设施之一,并直接关系到数据中心的性能、规模、可扩展性和管理性。随着…

SDN(软件定义网络)数据平面

数据平面 传统网络数据平面 数据平面主要执行网络控制逻辑,数据包的处理主要通过查询由控制平面所生成的FIB表来完成 FIB表是转发信息表(Forwarding Information Base的缩写,它是网络设备根据路由表生成的转发表,用来指导数据包的…

浅谈软件定义网络SDN

浅谈软件定义网络SDN 前言学习主要内容一、SDN简介二、SDN的三个主要特征转控分离集中控制开放接口 三、SDN的工作原理SDN网络架构的三层模型SDN网络架构下的三个接口SDN基本工作原理 四、SDN的使用场景场景1:SDN在数据中心网络的应用场景2:SDN在数据中心…

软件定义网络(Software Defined Network, SDN)

软件定义网络(Software Defined Network, SDN)在InfoWorld于2011年11月公布的将影响未来10年的十项新技术中排名第二。2012年7月,SDN代表厂商Nicira被VMware以12.6亿美元收购,随后Google宣布成功在其全球10个IDC网络中部署SDN,这促使SDN引起业…

软件定义网络基础(SDN①)

1.SDN的产生: SDN(软件定义网络)的产生源于传统网络无法满足现代网络环境对网络灵活性、可扩展性和安全性等方面的要求。传统网络架构中,网络设备(如交换机和路由器)负责控制和转发数据流量,网络…

什么是软件定义网络 (SDN)

什么是软件定义网络? 软件定义网络 (SDN) 是一种架构,它抽象了网络的不同、可区分的层,使网络变得敏捷和灵活,SDN 的目标是通过使企业和服务提供商能够快速响应不断变化的业务需求来改进网络控制。 在软件定义的网络中&#xff…

秋天来了

秋风清,秋月明, 落叶聚还散,寒鸦栖复惊, 相思相见知何日,此时此夜难为情。 李白《三五七言》 中秋月东海陈光剑 开窗一望中秋月,皎如飞镜临丹阙。东坡望月叹悲欢,舞弄清影在人间。太白举杯邀明月…

足坛最火红人VS三国神将,谁会胜?

张飞武艺高强,勇猛过人,作战能力强,是刘备手下的一把利器,但是他性格过于暴躁,自控能力较差。与张飞有着相似之处的足球明星是科斯塔,因为他是切尔西足球俱乐部的一把利剑。科斯塔球风稳健有力,…

火烧火燎

通电后,如果电路板中出现电源线短路会出现什么情况?那就会出现火烧火燎的情况。 首先是一些电路板中脆弱的器件遭殃。0603封装的0欧姆电阻在施加3V短路电压的时候,瞬间就烧坏了。瞬间电流估计超过了10A。 如果短路器件个头再大一些&#xff0…

新年快乐,大展宏图

祝程序员们,写代码快如闪电,挣钞票日进斗金

新年新气象。

今天每层Pantry里都多了个小玩具。上pp吧:)

在那薪火点燃的地方

年终总结,从去年的今天说起——作品展 时间大约:2013-3-1~2014-5-20 去年的现在,刚开学,提高班便如火如荼地投入到了作品展的准备当中,各自都忙得不亦乐乎。从结组到定主题,从查资料到写代码,从…

农村的新年烟花

英文关键词: Photograph of Colorful fireworks, rural children holding fairy sticks, cold fireworks,,8Khyper quality, --v 4 --upbeta 中文关键词:五颜六色的烟花照片,拿着仙女棒的农村孩子,冷烟花,8 Kh yp er质量,-v 4-up…

和cesuim类似的三维GIS平台_绿城南宁,火红的三维GIS

十月,绿城南宁,三角梅、朱槿和红鸡蛋花满城开放,花香、果香弥漫,一片姹紫嫣红的景象。10月24日,2020中国地理信息产业大会14个分论坛在南宁召开,100多场报告涵盖新一代三维GIS软件技术、自然资源空间信息化…

春天来了

春天了了 带尺寸的图片: 居中的图片: 居中并且带尺寸的图片: 当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。 如何插入一段漂亮的代码片 去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码…

宝可梦火红存档修改器

花了好久的功夫,终于把宝可梦火红的存档修改器编完了。实现了包括训练师姓名、ID、金钱、宝可梦种族、技能、物品等属性的修改。我把宝可梦火红的GBA文件、模拟器,还有我编写的修改器都打包上传到百度网盘了。下载地址:链接:https…