这次我们主要讨论下OpenFlow Switch的核心组件之一——Flow Tables,以了解其内部的 matching 以及 action handling 机制.下文将会分为几个部分来逐步详述OpenFlow Switch内部数据包的流转机制. 1.Pipeline Processing 遵循OpenFlow Switch规范的OpenFlow交换机大致分为 OpenFlow-only 和 OpenFlow-hybrid 两类.OpenFlow-only 交换机仅仅只支持OpenFlow规…
OpenFlow Ports是OpenFlow Switch与剩余网络之间传递Packet的网络接口.OpenFlow Switches之间通过OpenFlow Ports彼此相互逻辑连接.一个OpenFlow Switch准备了若干个可用的OpenFlow Ports用于OpenFlow processing,不过这里所说的OpenFlow Ports与传统的硬件交换机的网络接口并不是一样的概念,有些传统硬件交换机的网络接口在OpenFlow Switch里并不适用,OpenFlow Swit…
OpenFlow Switch v1.4.0规范是在2013年10月14号发布,规范涵盖了OpenFlow Switch各个组件的功能定义.Controller与Switch之间的通信协议Open Flow Protocol等.下文主要是基于个人理解整理的一些学习笔记,理解不到位的地方还请大家多多指教. 一.基础概念图: 首先我们先看下Open Flow Switch的整体结构,以便有一个初步的感性认识,如下图所示: 从上面架构图中,我们可以看到Open Flow Switch主要是由以下几个部…
本文主要详述OpenFlow Switch的另外两个主要组件——Group Table和Meter Table,它们在整个OpenFlow Swtich Processing中也起到了重要作用. 1.Group Table Group Table给OpenFlow Switch提供了更加高级的数据包转发特性(比如select或者all),其由多个Group Entries组成,而每个Group Entry结构如下所示: 每个Group Entry根据其Group Identifier来唯一定位,…
这次我们着重详述来自于网络中的数据包在OpenFlow Switch中与Flow Entries的具体匹配过程,以及当出现Table Miss时的处理方式,下面就将从这两方面说起. 1.Matching 当一个来自于外部网络的数据包进入到OpenFlow Switch中时,OpenFlow Switch将会按照如下图所示的方式来处理这些数据包,如前面的学习笔记中讲述的那样,会先从Pipeline的第一个Flow Table首先进行Lookup,然后可能继续进入到其他的Flow Table进行Lo…
本文主要重点讨论OpenFlow Switch规范的指令集,它们深刻影响着数据包在Switch中的处理行为,下面开始从以下几个部分谈起. 1.Instructions 每一个Flow Entry里都包含有一系列的Instructions,这些Instructions会在与该Flow Entry成功匹配的数据包上执行,进而导致数据包头信息的修改.Action Set的更新或者改变Pipeline Processing的处理行为.Instructions大致有下列几种类型,OpenFlow Swit…
Matching Fields in_port=port Matches OpenFlow port port dl_vlan=vlan Matches IEEE 802.1q Virtual LAN tag vlan. dl_vlan_pcp=priority Matches IEEE 802.1q Priority Code Point (PCP) priority, which is specified as a value between 0 and 7, inclusive. A hi…
作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往往是通过心跳检测来判断配置的变更,通过zk的回调机制,我们可以实现比心跳更为快速的配置检测机制,包括配置的新增,修改和删除 流程也比较简单: 环境准备 一个zk集权,ip和端口分别为: 192.168.205.145:2181 192.168.205.146:2181 192.168.205.147…
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  …
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴出各个模块一览表,封装完毕我就更新一个状态,并且补上模块说明 模块名方法名方法说明封装状态用户基础模块userModeluserLogin用于用户登陆时的方法已封装regUser注册用户的方法已封装heartCheck用户更新心跳时间的方法已封装heartCheck用户心跳检测的方法已封装funds…