Floodlight 中 ChannelPipeline 结构图

1. IdleStateHandler 当Channel上没有执行相应的读写操作一定时间的时候出发一个 IdleStateEvent 事件;

2. ReadTimeoutHandler 读超时处理;

3. HandshakeTimeoutHandler 设置一个定时器检查连接的状态,握手阶段 ;

4 . OFChannelHandler 核心,处理所有的业务。

Floodlight 中 ChannelPipeline 结构图

时间: 2024-10-05 23:00:49

Floodlight 中 ChannelPipeline 结构图的相关文章

Floodlight中 处理packetin消息的顺序(1)

当Controller和SW建立连接之后,就可以处理来自SW的各种OF msg.当接收到 packetin 消息之后,会将其分发给各个监听了这个OFMessage的listeners,所以如果我们要设计自己的控制器模块,只需要实现相应的接口方法,约定执行顺序即可.接口IListener 主要抽象了监听器模块的名字,执行顺序,接口IOFMessageListener则抽象了我们的Controller如何处理具体的这个openflow消息.这里通过阅读代码来判断这些模块处理packetin消息的相对

Floodlight 中创建消息对象的方法

在 floodlight 中创建各种openflow message 和 action 等采用的是简单工厂方式,BasicFactory类(实现OFMessageFactory接口,)会根据消息的类型创建不同的对象,达到更好的封装效果:此外这里调用的是枚举类型的方法.下面是具体代码: ----------工厂接口,还有OFActionFactory,约束需要具体工厂完成的事情 public interface OFMessageFactory { // 根据消息类型得到具体的实例 public 

Floodlight中的临时流表

运行Floodlight,在Mininet中新建一个拓扑之后,并未添加相关的流表项,但是主机之间却可以相互通信.执行pingall操作,任意两个主机之间都能通.相当于没有任何路由表的路由器,它是怎么让这些网络中的主机通信的呢? 原因在于Floodlight默认启用了Forwarding模块.说这个模块之前,首先说说Floodlight 中流表的两种添加方式:主动式和反应式. 官网上的文档是这么说的:http://docs.projectfloodlight.org/display/floodli

Floodlight 在 ChannelPipeline 图

我们知道,在Netty架构,一个ServerBootstrap用于生成server端的Channel的时候都须要提供一个ChannelPipelineFactory类型的參数,用于服务于建立连接的Channel,流水线处理来自某个client的请求.所以这里的 OpenflowPipelineFactory 就是Floodlight 为建立连接的openflow交换机创建ChannelPipeline. 1. IdleStateHandler 当Channel上没有运行对应的读写操作一定时间的时

Floodlight中 处理packetin消息的顺序(2)

前面通过阅读代码知道了怎样推断各个模块处理某个消息的先后顺序.那么内部是怎样实现的呢? 每当一个模块表示对一个消息感兴趣的时候,就会调用IFloodlightProviderService(详细有Controller类实现)的addOFMessageListener方法进行注冊订阅,核心工作是由 ListenerDispatcher类来完毕:1)每次添加一个观察者的时候都会推断其是否是终结点(也就是不被其它的listener所依赖),由于终于确定这些观察者顺序的时候就是由这些终结点開始往前进行D

easyUI中树结构图的使用:

主要在Json字符串的生成,必须生成tree所需要的特定json字符格式.创建EasyTreeData类用于生成json字符串 namespace JPKL.Common { [DataContract] [Serializable] public class EasyTreeData {/// <summary> /// ID /// </summary> [DataMember] public string id { get; set; } /// <summary>

[原创]Floodlight+ovs的基本使用

一.配置好openflow交换机 配置好交换机的管理地址,可先用串口登,使管理口地址与controller地址在同一个网络中. 在交换机上配置controller地址: 如: 先用命令新建一个bridge,并加入其接口. [[email protected] ]# ovs-vsctl set-controller br0 tcp:192.168.1.1:6633 --->此地址为controller IP地址 二.将若干PC机与交换机接口相连,并在controller上查看floodlight的

Floodlight Controller 路由原理

SDN的出现可以使得各种复杂的路由协议从原本的Device OS中剥离出来,放在SDN Controller中,Controller用一种简单的协议来和所有的Router进行通信,就可以获得网络拓扑,从而计算路由,有更好的可扩展性(scalable,而不会出现Full-Mesh).Floodlight 中路由的原理利用的是LLDP这个协议,当第一个OF SW连接过来的时候,Controller会构造LLDP frame(用openflow消息包装),然后下发给这个交换机,那么这个SW就会向与其相

使用XSLT统计存储在XML中的日志信息

今天研究了下VS在读取低版本项目时对其进行升级的迁移报告"UpgradeLog.XML",这个报告是一个XML文件,但是加载了一个XSLT文件"UpgradeReport.xslt".这个XSLT文件除了用于逻辑计算的部分外,还包含了一些javascript代码,并引用了一个CSS文件"UpgradeReport.css"用来配置样式. 于是我照猫画虎,用XSLT实现了一个简易版的XML日志统计界面,只实现了统计各类日志的功能. "Lo