Controller与Switch建立连接
连接建立
控制器和交换机认识的过程。
- 用于交互Openflow版本,如果不同则没有后续。
- 同1。
- 特征请求,控制器询问交换机的特征信息。
- 交换机回复控制器,相当于把整个交换机的所有配置都告诉控制器了。
- 控制器对交换机的简单设置。
- 由于交换机刚开启时没有Flow Table,当交换机收到包的时候不知道怎么办,它会把这个包通过packet in的方式交给控制器,询问控制器怎么做。
- 对于6的计算结果回复。
- 同6。
- 同7。
- 端口状态,如果交换机端口状态变动,通过这个包来告诉控制器,控制器及时更新数据库。
消息列表
Controller to Switch消息 | 备注 |
---|---|
Feature | Controller用这个消息类型询问交换机支持的功能(feature request/reply) |
Configuration | Controller用这个消息类型配置或查询交换机参数(get/set config) |
Moddify-State | 操作流表和group表或者port属性 |
Read-State | 获取交换机的各种状态信息,比如Counter |
Packet-out | 向外发送匹配某条流表项的数据报文 |
Barrier | 保证不同消息的顺序 |
Role-request | 当交换机有多个Controller时,Controller用这个消息向交换机宣告自己的角色 |
Asynchronous-Configuration | 用于告诉交换机,它对哪些交换机发送过来的消息感兴趣 |
Switch to Controller消息 | 备注 |
---|---|
Packet-in | 当有报文匹配某条流表项,该项action是output to Controller-port时或交换机的流表为空时,这个报文就通过Packet-in的消息送到Controller |
Flow-removed | 当某条流表项被删除的时候,则Flow-removed消息告知Controller |
Port-status | 当端口状态变化时,交换机用这个消息类型向Controller通告状态变化 |
Error | 当交换机出现错误的,用这个消息类型告知Controller |
symmetric消息 | 备注 |
---|---|
Hellow | Controller和Switch初始建立会话的,相互发送hello初始化 |
Echo | 用于确认Controller和Switch的连通性和延迟每5s |
Experimenter | 实验位,可以让厂商有各自的私有扩展 |
协议交互
- h1通过ARP协议获得h2的MAC地址,然后向h2发数据包,下面是过程。
- 交换机没有大脑(傻逼),只要不能匹配流表项,就要向Controller询问。
- ICMP
Controller与Switch建立连接的更多相关文章
- 【转】SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误
SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误 最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS ...
- TCP的三次握手(建立连接)和四次挥手(关闭连接)
参照: http://course.ccniit.com/CSTD/Linux/reference/files/018.PDF http://hi.baidu.com/raycomer/item/94 ...
- TCP三次握手建立连接
基本过程: ISN(初始序号)随时间变化,每一个连接具有不同的ISN,防止在网络延迟中分组被重新发送. 请求端发送SYN(同步序号 )=1,seq=ISN(32bits序号,每4ms+ ...
- 高性能网络编程(一)----accept建立连接
编写服务器时,许多程序员习惯于使用高层次的组件.中间件(例如OO(面向对象)层层封装过的开源组件),相比于服务器的运行效率而言,他们更关注程序开发的效率,追求更快的完成项目功能点.希望应用代码完全不关 ...
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
在visual studio 中添加数据库应用时,报错,提示如下: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL ...
- 通俗易懂地讲解TCP建立连接的三次握手和释放连接的四次挥手
TCP建立连接时,为什么要进行三次挥手? 每一次TCP连接都需要三个阶段:连接建立.数据传送和连接释放.三次握手就发生在连接建立阶段. 在谢希仁著<计算机网络>第四版中讲三次握手的目的是为 ...
- Sql server2012连接Sql server 2008时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误。(provider:SSL Provider,error:0-接收到的消息异常,或格式不正确。)
以前连接是正常的,就这两天连不上了.(没有耐心的直接看末尾解决办法) 错误消息如下: 1.尝试读取或写入受保护的内存.这通常指示其他内存已损坏.(System.Data) 2.已成功与服务器建立连接, ...
- 在与SQL Server建立连接时出现于网络相关的或特定于实例的错误
客户遇到一个问题,用“服务器名\实例名”远程连接另外一台命名实例的时候连接失败,报“在与SQL Server建立连接时出现于网络相关的或特定于实例的错误,未找到或无法访问服务器.请验证实例名称是否正确 ...
- java基础-jdbc——三种方式加载驱动建立连接
String url = "jdbc:mysql://localhost:3306/student?Unicode=true&characterEncoding=utf-8" ...
随机推荐
- 基于 HTML5 Canvas 的机房温度云图展示
前言 在物联网的大趋势下,机房的设备信息以及一些环境信息变成了数据摆在了人们面前.在这个大数据的时代,数据的可视化不仅体现在数据值本身,更应该通过数据的变化来获取一些信息.我们今天的主题,机房温度云图 ...
- 2.Hadoop集群安装进阶
Hadoop进阶 1.配置SSH免密 (1)修改slaves文件 切换到master机器,本节操作全在master进行. 进入/usr/hadoop/etc/hadoop目录下,找到slaves文件, ...
- 数据立方体(Cube)
如上图所示,这是由三个维度构成的一个OLAP立方体,立方体中包含了满足条件的cell(子立方块)值,这些cell里面包含了要分析的数据,称之为度量值.显而易见,一组三维坐标唯一确定了一个子立方. 多位 ...
- LIFO栈 ADT接口 数组实现
LIFO 栈结构 typedef int ElemenType; struct seqStack{ ElemeType data[MaxSize]; int top; }; typedef struc ...
- 生成并调用so动态库
本文更新于2019-01-03. 生成库 头文件fn.h如下: #ifndef __FN_H__ #define __FN_H__ #ifdef __cplusplus extern "C& ...
- leetcode记录-组合两个表
表1: Person +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | PersonId | int | | Firs ...
- 20155216 2016-2017-2 《Java程序设计》第一周学习总结
教材学习中的问题和解决过程 根据自己的理解,每章提出一个问题 第一章:课本中介绍的JDK安装时在windows系统下的安装,而我们学习的是在Linux系统下的安装,运用Linux系统学习编程(尤其是J ...
- 20155220 2016-2017-2《Java程序设计》第五周学习总结
20155220 2016-2017-2<Java程序设计>第五周学习总结 教材学习内容总结 异常处理 Java异常处理通过5个关键字try.catch.throw.throws.fina ...
- 20155307《Java程序设计》实验二实验报告
一.单元测试和TDD 用程序解决问题时,要学会写以下三种代码: 伪代码 产品代码 测试代码 正确的顺序应为:伪代码(思路)→ 测试代码(产品预期功能)→ 产品代码(实现预期功能),这种开发方法叫&qu ...
- 20155327 实验一《Java开发环境的熟悉》实验报告
实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验知识点 JVM.JRE.JDK的安装位置与区别: 命令行运行javac:jav ...