对于SDN交换机的技术,其实也适用于传统的交换机,只不过控制部分被分离出来而已。传统交换机的控制面主要是转发表的管理以及网络状态之类的各种表,现在这些都由控制器来担心。转发面主要由转发决策、背板和输出链路调度组成。

转发决策是指数据包从输入端口进入交换机后,接下来怎么办。在SDN架构上,就是查询流表。

背板是指作出决策后数据包到达输出端口所经过的地方。主要由两种背板设计方式,一是共享总线型,发往不同端口的数据包共享总线来传输,这个比较容易冲突,类比下以太网;二是交叉开关矩阵型,就是不同的输入端口与输出端口之间存在多条通路,可以类比一下矩阵。

输出链路调度是指在数据包到达输出端口后,需要排队输出。一般由两种缓存机制,一是端口缓存型,每个端口有各自的缓存空间,但有时很多数据都发到同一个端口会导致包的丢失(缓存不够用);二是共享内存型,将接受到的所有数据包放到共享的内存池,直到相关端口准备传输。

另外,交换机还有三种不同的数据交换模式。一是直通型,只对数据帧的前6个字节进行接收和分析,其余直接发到输出端口,优点是快,缺点是不检查数据完整性;二是存储转发型,对整个数据帧进行接受和分析,优点是不放过坏包,缺点是比较慢,但现在的交换机芯片都很快,所以一般采取这种方式;第三个是这两个的折中——零碎片型(快速转发型),对数据帧的前64个字节进行接收和分析,其余直接发到输出端口。为什么是前64个字节?据说是因为实践可知一般检查前64个字节足以发现大部分坏包。

《SDN核心技术剖析和实战指南》2.1交换机核心技术小结的更多相关文章

  1. 《SDN核心技术剖析和实战指南》2.3 OF-CONFIG配置管理协议小结

    OpenFlow协议定义了交换机和控制器交换数据的方式和规范,但并没有定义如何配置和管理必需的网络参数和网络资源,OF-CONFIG的提出就是为了对OpenFlow提供配置管理支持.如下图所示,OF- ...

  2. 《SDN核心技术剖析和实战指南》第一章小结

    第一章主要是概况.新技术有一个特点是,每家都有不同的说法.这里我只说说我比较认同的部分. SDN的核心概念大概有两个:转发面与控制面分离.开发可编程化.书里还说逻辑上集中控制,其实这个就可以从转发与控 ...

  3. SDN核心技术剖析和实战指南---读书笔记

    第一章 SDN定义如下: SDN是一种新兴的基于软件的网络架构及技术,其最大的特点在于具有松耦合的控制平面与数据平面.支持集中化的网络状态控制.实现底层网络设施对上层应用的透明. SDN和NFV: O ...

  4. 《SDN核心技术剖析和实战指南》3.3读书笔记

    这一节主要是介绍几种开源的SDN控制器. NOX/POX.最初的NOX混合了C++和Python两种编程语言,现在演变为两个版本.NOX版本主要面向Linux平台,利用C++开发,目标是提供快速的控制 ...

  5. 《SDN核心技术剖析和实战指南》3.1控制器核心技术读书笔记

    在SDN的架构中,控制器可以说是SDN的核心,它负责对底层转发设备的控制以及向上层应用提供可编程性的北向接口.从实现上看,主要分三个层面来考虑,南向接口技术,北向接口技术以及东西向的可扩展性能力.下面 ...

  6. 《SDN核心技术剖析和实战指南》2.4 OVS交换机实现分析小结

    Open vSwitch(OVS)是一款基于软件实现的开源交换机.它能够支持多种标准的管理接口和协议以及跨多个物理服务器的分布式环境.特别地,OVS提供了对OpenFlow协议的支持,并且能够与众多开 ...

  7. 《SDN核心技术剖析和实战指南》2.2OpenFlow交换机规范小结

    这节的内容相当多,主要是介绍OpenFlow标准特别是流表的相关特性. 典型的OpenFlow标准由三部分组成:安全通道,流表和OpenFlow协议.注意这个标准是一份设备标准,并不单指OpenFlo ...

  8. 大数据存储:MongoDB实战指南——常见问题解答

    锁粒度与并发性能怎么样? 数据库的读写并发性能与锁的粒度息息相关,不管是读操作还是写操作开始运行时,都会请求相应的锁资源,如果请求不到,操作就会被阻塞.读操作请求的是读锁,能够与其它读操作共享,但是当 ...

  9. Apache Beam实战指南 | 手把手教你玩转KafkaIO与Flink

    https://mp.weixin.qq.com/s?__biz=MzU1NDA4NjU2MA==&mid=2247492538&idx=2&sn=9a2bd9fe2d7fd6 ...

随机推荐

  1. AfxMessageBox和MessageBox差别

    假设用MFC的话,请尽量使用afxmessagebox,由于这个全局的对话框最安全,也最方便.   可是在WIN32 SDK的情况下仅仅能使用MESSAGEBOX. MessageBox()是Win3 ...

  2. maven的pom.xml深入理解

    maven的pom.xml的具体使用和各个xml标签的作用.这样设计的原理是什么? maven实战的第17章-18章是架构方面的知识

  3. C#获取当前系统磁盘符、系统目录、桌面等

    1.获取方式如下 Environment.SpecialFolder中定义了许多常用的目录 //获取当前系统磁盘符方法1,返回:C: string path = Environment.GetEnvi ...

  4. SQL 语句修改列名 属性 默认值

    --修改字段名exec sp_rename '表名.列名','新列名' --修改字段属性alter table 表名 alter column 列名 nvarchar(100) null; --修改默 ...

  5. android studio adb 打不开

    1.cmd-->C:\Users\Administrator>adb start-serveradb server is out of date. killing...error: cou ...

  6. Spring + CXF(REST):webservice not found

    可能原因:spring的bean:SpringBus的创建晚于spring的bean:Server的创建 解决办法:指定依赖注入顺序@DependsOn 先写着,留个空,后面补充

  7. mysql死锁--源于外键关联

    死锁 存在于行级锁 存在的条件 1.资源只能同时被一个线程占有 2.资源占有不能被强制剥夺 3.请求和保持占有(在请求占有资源的同时能保持现有资源的占有) 4.死循环(一般做程序的人最关注的点) 一到 ...

  8. zepto源码研究 - zepto.js - 6(模板方法)

    width  height  模板方法   读写width/height ['width', 'height'].forEach(function(dimension){ //将width,hegih ...

  9. pydev新工程

    http://www.cnblogs.com/linjiqin/p/3595891.html 明天再编辑一下

  10. Qt5如何设置静态编译,解决生成的可执行文件打开出错问题

    将https://yunpan.cn/cqGGURjmG2fEY  访问密码 8de5  中的压缩包Qt5-MSVC-Static-master.zip 解压到你的qt安装目录,一般就是C:\Qt下, ...