主要介绍SDN架构和转发模型

一:传统网络设备

(一)传统设备控制平面和数据平面

(二)数据平面的任务

数据平面对数据包的处理,主要通过查询由控制平面所生成的转发信息表来完成

(三)传统网络数据平面数据包的处理流程

(四)传统网络数据转发处理特点

比如某一设备的数据平面,只能对某几种特定协议的数据包进行解析

功能模块固定,在网络生产时就已经固定。例如:

二:SDN数据平面架构

(一)主要变化

第一:在该SDN数据平面中,包处理流程中的所有模块,包括解析、转发和调度,都是可编程、协议无关的

第二:传统网络设备中的二层或三层转发表被抽象成流表

三:OpenFlow转发模型

(一)SDN数据平面实现的一次尝试

(二)OpenFlow交换机转发模型

在该转发模型中,OpenFlow交换机将传统网络数据平面中的各种查找表抽象成一种通用的流表结构。
同时将数据转发处理,抽象成通用的匹配-动作过程(Match-Action过程)

每个流表可以实现:

(三)OpenFlow交换机通用转发模型---代表性和缺点

代表性

OpenFlow交换机转发模型是现有通用可编程数据平面中的代表。目前主流SDN物理交换机和虚拟交换机都实现了对OpenFlow的支持

缺点

无法达到理想的通用可编程转发模型的要求

四:可编程协议无关交换机架构(PISA架构)

(一)与OpenFlow相比

改进了OpenFlow交换机在支持新网络协议方面的不足(可编程可以实现对新网络协议的支持--动态)

注:解析器和匹配-动作单元只有在被编程后,才能做具体的数据包处理工作。PISA芯片在没有配置前,不会实现任何的数据平面协议,所以说PISA是协议无关的架构

软件定义网络基础---SDN数据平面的更多相关文章

  1. 软件定义网络基础---SDN控制平面

    一:SDN控制平面 一个或多个SDN控制器组成,是网络的大脑.  对底层网络交换设备进行集中管理,状态监测.转发决策以及处理和调 度数据平面的流量:  通过北向接口向上层应用开放多个层次的可编程能 ...

  2. 软件定义网络基础---SDN的核心思想

    一:SDN包含的核心思想:解耦,抽象,可编程 二:解耦 (一)SDN网络解耦思想 解耦是指将控制平面和数据平面进行分离,主要为了解决传统网络中控制平面和数据平面在物理上紧耦合导致的问题 控制平面和数据 ...

  3. 软件定义网络基础---SDN的主流构架

    一:基于不同标准的主流构架 二: ONF定义的SDN基本构架 (一) 四个平面.两大接口 三:四个平面 (一)数据平面 数据平面是由若干网元(Netword Element)构成,每个网元包括一个或多 ...

  4. 软件定义网络基础---SDN的发展

    一:发展初期阶段--提出 架构.设计思想和实现技术的提出 二:发展中期阶段--企业加入,推动发展 三:SDN的发展趋势 (一)SD-DC SDN被大规模应用数据中心的服务器和设备部署运维,产生了软件定 ...

  5. 软件定义网络基础---SDN的产生

  6. 《软件定义网络:SDN与OpenFlow解析》

    <软件定义网络:SDN与OpenFlow解析> 基本信息 原书名:SDN: Software Defined Networks 原出版社: O'Reilly Media 作者: (美)Th ...

  7. 解析与动作联动得SDN数据平面

    一种解析与执行联动的SDN可编程数据平面 现有问题和目标 在传统协议处理方式中,各层的协议类型和组合方式固定,使得添加或修改协议很困难(因为需要修改网络设备的解析模式) 基于解析和执行联动结构的可编程 ...

  8. 软件定义网络基础---REST API的设计规范

    一:REST API的设计 REST API是基于HTTP协议进行设计的,由HTTP动词+URI组成 (一)HTTP动词 (二)资源的原型 文档(Document): 文档是资源的单一表现形式: 集合 ...

  9. 软件定义网络基础---NETCONF协议

    netconf协议最早被作为网管协议被提出来的,与SNMP网管协议相比较:SNMP的优势在于网络设备的监测,在大规模网管应用中有很大不足,正是针对这种不足之处,提出了NETCONF协议 一:NETCO ...

随机推荐

  1. python_并发编程——管道

    1.管道 from multiprocessing import Pipe conn1,conn2 = Pipe() #返回两个值 conn1.send('wdc') #发送 print(conn2. ...

  2. try catch 场景

    面试官:什么情况下用到try-catch?程序员:代码执行预料不到的情况,我会使用try-catch.面试官:什么是预料不到的情况呢?程序员:比如我要计算a除以b,但是b是变量,如果b等于0程序就会出 ...

  3. 超实用的JQuery小技巧

    JQuery是一个 JavaScript 库,她极大的简化了我们对 JavaScript 的编程. 今天我们总结了下平常项目中用到的一些小技巧,仅供参考. 1.替换元素 //替换元素 $(docume ...

  4. 通过php安装Imagick扩展给动态gif图片打水印

    通过php安装Imagick扩展给动态gif图片打水印 一直以来php处理图片都是以gd为主流,直到近些年Imagick的使用才渐渐变多. gd通常用来缩放图片,给图片打水印等基本功能,对于复杂效果如 ...

  5. C++第三章课后作业答案及解析---指针的使用

    今天继续完成上周没有完成的习题---C++第三章课后作业,本章题涉及指针的使用,有指向对象的指针做函数参数,对象的引用以及友元类的使用方法等 它们具体的使用方法在下面的题目中会有具体的解析(解析标注在 ...

  6. 集成腾讯Bugly日志- Android(1)

    Bugly 是腾讯公司为移动开发者开放的服务之一,这里主要指 Crash 监控.崩溃分析等质量跟踪服务. 一.登录BUGLY官网 1.登录BUGLY官网以后,选择新建产品,选择IOS或ADNROID平 ...

  7. learning java ATW ScrollPane

    import java.awt.*; public class ScrollPaneTest { public static void main(String[] args) { var f = ne ...

  8. uic

    uic user interface complieruic mainwindow.ui >> ui_mainwidow.h

  9. 飞扬的小鸟 DP

    飞扬的小鸟 DP 细节有点恶心的DP,设\(f[i][j]\)表示横坐标为\(i\)(从\(0\)开始)高度为\(j\)时,屏幕点击的最小次数为\(f[i][j]\),转移便很好写了,这里要注意枚举当 ...

  10. golang-复习1

    结构体: 是一种数据类型 type Person struct{  //l类型定义,地位等价与 int byte boo string ……通常放在全局位置 name string sex byte ...