第四章--SDN数据平面

数据平面是执行网络数据包处理的实体. 网络可编程能力取决于数据平面的可编程能力

4.2 通用可编程转发模型

传统的路由器都是协议相关

openflow将数据转发处理抽象成通用的match-action模型

特征:

  1. 转发行为由控制平面决定
  2. 由基础转发原语组成
  3. 高性能/低功耗
  4. 避免厂商锁定

4.2.1 通用硬件模型

处理流程: 从某个端口进去->协议解析模块完成解析->交给对应的流表->匹配到了流表的某一项->用这个规则去处理//(当没有匹配成功)->丢弃/交给控制器

控制平面的三种指令:

  • 操作指令
    对数据包的具体操作

  • 跳转指令
    数据包在多个流表之间的跳转

  • 专用指令
    实现某种特定网络的数据流处理

    流表

    在这里插入图片描述

匹配域
和输入端口,包头标识域,metadata比较
instrction
指定flow中数据包的跳转动作,执行操作指令集的操作
计数器
统计各种细信息
优先级
好多匹配成功的表,先执行谁?
失效时间
超过了固定生存时间/一段时间内没有匹配到->流表项的内容就被清空

组表

由多个组表项组成

在这里插入图片描述

group Idetifier
唯一标识这个表项
Group Type

  • 全选择类型(All)
    执行所有的动作集的动作,实现组播和广播功能

  • 选择类型(Select)
    只执行一个动作集,如果这个动作集选择的端口被物理断开,那么就转发给其他的可选择端口,而不是丢弃(减小的网络故障的可能)

  • 间接类型
    只支持一个动作集,快速高效汇聚简单

  • 快速恢复类型
    只执行第一个激活的动作集,让转发模型自己调整,不要每次都请求控制器(多用于容灾备份场合)

Meter 表

实现了测量的功能 控制盒测量某个flow数据包的传输速率

在这里插入图片描述

Meter Band
每个Meter Band指定一个网络数据流的传输速率阈值

BandType定义了超出阈值的处理方式:丢弃或者修改DSCP的Remark(实现了一个简单的DiffServ)


接下来讨论另一种抽象模型:计数器

计数器广泛存在于流表,流表项,端口,队列,Group,Group Bucket,Meter 和计量带中,按照纳秒进行高精度统计

是状态信息表在openflow中的具体实现

另一种抽象模型:端口

  1. 物理端口和真实端口一一对应

  2. 逻辑端口是一种抽象概念

  3. 保留端口,如下:

在这里插入图片描述
在这里插入图片描述

4.2.2 通用处理指令

三部分: 网络处理控制指令Instruction; 网络数据操作指令Actions; 专用网络处理指令

网络处理控制指令

对flow数据包的操作指令集写入,应用,删除*(做一个新的流表项)*
或者指令flow数据包在多个表中跳转

每个流表项可以含有多个控制指令,组合成一个指令集和

操作指令
对数据包执行操作丢弃,赋值,转发,修改

专用指令
代表:Table-miss表:最低优先级

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值