1、原理
sdn交换机与控制器之间采用Openflow协议进行通信。
openflow 交换机和控制器之间的交互步骤
SDN交换机和控制器在建立TCP连接的基础上,进行如下通信:
1、首先互相发送Hello消息互相协商Openflow协议版本。
2、发送Hello消息之后控制器向将换机发送Featrues Request消息,获取交换机的ID、缓冲区数量、端口信息等特性,因此交换机相应的回Features Reply。
3、set config是控制器用来配置交换机发送的数据包。
4、当流表中没有关于新到达流的数据包或者即使有关于新到达流的流规则但其行为是发往控制器的时候,交换机向控制器发送Packet In消息。
5、而Packet Out消息是控制器指定的某个数据包的处理方法。
2、目的
本文主要目的是通过wireshark监控sdn交换机与控制器之间的交互过程,以加深Openflow协议的理解。
3、操作步骤
查看控制器与交换机之间的TCP连接
#打开wireshark
wireshark
#登录ryu控制器
cd ryu/ryu/app
ryu-manager simple_switch_13
# 建立拓扑,指定远程控制器,连接端口以及openflow协议版本
sudo mn --controller=remote,port=6633 --switch=ovsk,protocols=OpenFlow13