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" ...
随机推荐
- appache 端口 更改
外网访问---->hosts文件映射服务名(127.0.0.1 xiaotian.cn)-->appache中httpd文件监听相关端口号(*:8080)--->appache中的v ...
- 初识hadoop之分布式文件系统(HDFS)
Hadoop常用发行版: Apache Hadoop CDH Cloudera Distributed Hadoop HDP Hortonworks Data Platfrom 分布式文件系统(H ...
- 自定义udf添加一列
//创建得分窗口字典 var dict= new mutable.HashMap[Double, Int]() ){ dict.put(result_Score(i),i) } //自定义Udf函数 ...
- 96. Partition List [easy]
Description Given a linked list and a value x, partition it such that all nodes less than x come bef ...
- Java使用POI导出excel(上)——基本操作
相关的介绍参考自:http://zc985552943.iteye.com/blog/1491546 一.概述 1.概念 受上文博文博主的启发,有必要先对excel的各个概念先做了解! //上述基本都 ...
- 20155233 2016-2017-2 《Java程序设计》第1周学习总结
20155233 2016-2017-2 <Java程序设计>第1周学习总结 教材学习内容总结 本周主要学习教材的第一章.第二章,了解了Java的发展历程,最基本的Java环境的搭建,以及 ...
- Nginx入门篇(六)之反向代理和负载均衡
一.Nginx负载均衡集群 介绍 负载均衡(Load Balance)集群提供了一种行之有效的办法,来扩展网络设备和服务器负载.带宽和吞吐量,同时加强了网络数据处理能力,提供了网络的灵活性和可用性. ...
- AngularJS中Directive指令系列 - 基本用法
参考: https://docs.angularjs.org/api/ng/service/$compile http://www.zouyesheng.com/angular.html Direct ...
- TMDXEVM6678L EVM开发板初使用(1)
1. 板子上电风扇转个不停,震动很大. 2. 有点懵逼,第一步干啥,首先安装板子的软件开发包,资料下载地址http://www2.advantech.com/Support/TI-EVM/6678le ...
- PHP基础知识试题
转载于:http://www.php.cn/toutiao-415599.html 1.PHP中传值与传引用的区别,什么时候传值,什么时候传引用? 按值传递:函数范围内对值任何改变在函数外部都会被忽略 ...