主要介绍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. 《CoderXiaoban》第九次团队作业:Beta冲刺与验收准备1

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验十三 团队作业9:BETA冲刺与团队项目验收 团队名称 Coderxiaoban团队 作业学习目标 (1)掌握软件黑盒 ...

  2. python爬虫——爬取网页数据和解析数据

    1.网络爬虫的基本概念 网络爬虫(又称网络蜘蛛,机器人),就是模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序.只要浏览器能够做的事情,原则上,爬虫都能够做到. 2 ...

  3. 2019-2020-1 20199312《Linux内核原理与分析》第十一周作业

    实验简介 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段.这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭,溢出 ...

  4. 2019/8/20 Test

    题目 简述 做法 \(BSOJ2237\) 求\(\displaystyle{k\in G:\sum_{i\in G\vee j\in G}\frac{C^k_{i,j}}{C_{i,j}}}\),其 ...

  5. Spring入门(一)——IOC

    1. IOC定义 Inversion of Control,减低计算机代码间的耦合度,对象的创建交给外部容器完成,不用再new了 2. 流程 2.1 创建Bean对象 package bean; pu ...

  6. 使用apache 的 ab命令压力测试nginx服务器

    nginx压力测试方法: #ab命令 #安装ab #Centos系统 yum install apr-util #Ubuntu系统 sudo apt-get install apache2-utils ...

  7. python模块之psutil

    一.模块安装 1.简介 psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息. ...

  8. Halting Problem

    Halting Problem: 传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4049 总结一个小规律:题目中给的 ...

  9. C语言scanf函数返回值小记

    scanf scanf是C标准库stdio里面定义的用于获取用户输入的函数,具体的介绍可以在CppReference上看到.scanf的返回值是已经成功赋值的变量个数,也就是说在 scanf(&quo ...

  10. js off 缓动动画

    动画也有很多种,一起来学习,缓动动画吧 缓动动画 1.缓动动画原理=盒子位置+(目标盒子位置-现在盒子位置)/10 2.步长越来越小 3.让步长越来越小的公式      步长=(目标位置-本身位置)/ ...