2.交换机元素 OpenFlow1.5核心概念翻译与理解-OpenFlow1.5中文版
来源:互联网 发布:网络诈骗图片大全 编辑:程序博客网 时间:2024/06/06 03:38
2.交换机元素
一个OpenFlow交换机包含多个流表(flow table)与一个组表(group table),他们完成封包匹配与转发的功能;同时还包含于控制器相连的信道(见Figure 1)。交换机与控制器之间的通信交互都是通过OpenFlow协议来完成的。
借助OpenFlow协议,控制器可以增加,更新以及删除流表中的流表项(flow entry),包含主动与被动两种模式。交换机上的每个流表都是一个流表项的集合,流表项由匹配域,计数器,指令集组成。
封包匹配从第一个流表开始,且可能会跳转到流水线(pipeline)上的下一个流表上继续匹配(见5.1)。流表的匹配是有优先级的,通常会执行第一个匹配到的流表项(见5.3)。匹配到一个流表项后,控制器会执行与该流表项相关的指令(见5.5)。如果没有找到匹配的流表项,控制器就会执行配置的默认缺省规则,例如,将封包转发给控制器,丢弃封包或者可能会把封包转发给下一跳的流表(见5.4)。
流表项上的指令不是包含动作就是修改流水线处理封包的过程。动作包含封包转发,封包修改还有组表处理。流水线处理指令使得封包可以送到随后的流表中进行进一步处理,让信息以环境变量的形式在流表之间沟通。当匹配到的流表项没有指明跳转下一个流表时,流水线停止运作,此时封包通常会被修改或转发(见5.6)。
流表项的动作可能将封包转发至端口,通常情况下是交换机上的物理端口,也有可能是交换机上定义的逻辑端口或是本文中定义的保留端口(见4.4)。保留端口指明通用的转发规则,如:转发给控制器,使用非OpenFlow方式转发,泛洪,诸如普通的物理端口一样的处理功能(见4.5)。交换机定义的逻辑端口制定了链路聚合组,隧道或者是回环接口。
流表项上的动作也可能将封包导向一个组,组中包含对封包的额外处理。组代表了一个动作集,用于泛洪和更复杂的转发语义(如多径,快速重构路由,链路聚合)。作为通用的间接层,可以将多个流表项导向同一个组(如:多个IP封包转发到相同的下一跳)。这种抽象能动达到快速有效率地修改跨流表项的共同的输出动作。
组表中包含了组项(group entries)。每个组项包含了一系列的动作桶,依赖于不同的组类型动作桶里有不同的语义(见5.10.1)。封包送达到组后,将会执行组里的动作。
在保证匹配和指令语义正确的前提下,交换机设计者们可以使用任何方法来实现这些特性。例如,一个流表项可能会使用“all”组将封包组播给多个端口,这时交换机设计者就可以选择一个硬件的端口掩码来让硬件进行组播。又如,可以通过不同数字的硬件表来实现OpenFlow交换机的流表匹配。
0 0
- 2.交换机元素 OpenFlow1.5核心概念翻译与理解-OpenFlow1.5中文版
- 6.OpenFlow信道与控制信道 OpenFlow1.5核心概念翻译与理解-OpenFlow1.5中文版
- 1.引言 OpenFlow1.5核心概念翻译与理解-OpenFlow1.5中文版
- 3.词汇表 OpenFlow1.5核心概念翻译与理解-OpenFlow1.5中文版
- 4.OpenFlow端口 OpenFlow1.5核心概念翻译与理解-OpenFlow1.5中文版
- 5.OpenFlow表 OpenFlow1.5核心概念翻译与理解-OpenFlow1.5中文版
- OpenFlow1.0协议解析
- OpenFlow1.0协议解析
- OpenFlow1.3协议解析
- OpenFlow1.0学习笔记
- OpenDaylight与Mininet应用实战之OpenFlow1.0协议分析
- 原生支持OpenFlow1.3协议的Mininet安装与验证
- 原生支持OpenFlow1.3协议的Mininet安装与验证
- OpenDaylight OpenFlow1.3测试环境
- openflow1.3中文翻译版笔记
- kc-cbench支持OpenFlow1.3再次修改
- wireshark编译&基于openflow1.3协议开发
- 对路由器进行Openflow1.3配置
- 【考研】高数求函数极限
- 客户端和服务端通信加解密
- 开发者工具中js代码不能自动同步
- 对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?
- Android Studio中如何使用Git和GitHub详解【图文】(二)
- 2.交换机元素 OpenFlow1.5核心概念翻译与理解-OpenFlow1.5中文版
- 贪心法部分背包问题的实现
- HUST 1010 字符串匹配(最小循环节问题)
- Populating Next Right Pointers in Each Node ---LeetCode
- 应用被强杀了怎么办
- 地图显示周边信息
- leetcode--- Kth Largest Element in an Array---快排
- 3.词汇表 OpenFlow1.5核心概念翻译与理解-OpenFlow1.5中文版
- 【第一章】 Spring概述 ——跟我学Spring3