zoukankan      html  css  js  c++  java
  • 软件定义网络基础---OpenFlow流表

    一:流表

    (一)流的概念

    我们把同一时间经过同一网络中,具有某种共同特征或属性的数据,抽象为一个流
    比如:我们将访问同一个地址的数据视为一个流
    流一般是由网络管理员定义的,可以根据不同的流执行不同的策略,
    在OpenFlow中,数据都是作为流进行处理的。
    所以流表就是针对特定流的策略表项的集合,负责数据包的查找和转发
    一张流表包含了一系列的流表项flow entries

    (二)流表项组成 (包头域、计数器、动作表3个)

    (三)包头域

    (四)计数器 

     

     (五)动作表

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

    动作分类

    OpenFlow端口类型 

    动作转发,与交换机的端口直接相关。OpenFlow交换机的端口是交换机传递数据包的网络接口。
    交换机通过接口和其他交换机建立逻辑连接

    物理端口、逻辑端口不做介绍

    流表动作列表 

    二:数据包

    (一)数据包的处理流程

    其中匹配表按照优先级进行排序,从高到低
    如果匹配成功,对应计数器进行更新并去执行相应动作
    如果表项没有对应的动作执行,则数据包将会被丢弃
    如果没有找到匹配的表项,则封装数据包转发给控制器

    (二)包头解析匹配流程

    包头解析是为了得到数据分组的12元组(包头域)

    1.初始化包头
    2.根据以太网类型得到VLAN或三层IP的信息
    3.根据IP分组头中的协议类型,确定是TCP/UDP/ICMP协议
    4.得到四层的TCP/UDP的源目的端口号或者ICMP类型和编码

    三:后续版本的变化

    (一)流表项结构的变化

    (二)1.3版本中的组表和计量表 

     

     

  • 相关阅读:
    16 继续讲C#中的条件执行。if...else if...else
    15 C#中的条件执行,if else
    14 C#编程中的逻辑运算
    13 继续C#中的方法,带返回值的方法介绍
    12 C#中的方法
    在使用实体框架(Entity Framework)的应用中加入审计信息(Audit trail)跟踪数据的变动
    11 在C#中写文件
    10 在C#中读取文件
    9 在C#控制台程序(console)中让用户输入
    大数据组件图谱
  • 原文地址:https://www.cnblogs.com/liujunjun/p/12230645.html
Copyright © 2011-2022 走看看