Controller与Switch建立连接
Posted Learn by doing!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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建立连接的主要内容,如果未能解决你的问题,请参考以下文章
什么时候应该使用 ng-controller 与 data-ng-controller? [复制]
Jmeter-逻辑控制器之Switch控制器(Switch Controller)
性能工具之JMeter Throughput Controller vs Weightted switch controller
RYU连接ovs--主动被动
JMeter元件详解之Switch Controller
HTTP协议优化措施