标签:图片 ota 端口 拓扑 选择 超级用户 通道 type tables
可视化界面搭建网络拓扑
在超级用户模式下,在目录/mininet/examples 下,运行 miniedit.py 文件
按照拓扑图,选择对应的设备进行连接,完成拓扑图的搭建
配置 PC 的 IP 信息
在主机、交换机、控制器上点击鼠标右键,选择 Properties 即可设置其属性
Wireshark 抓包并分析
在超级用户下,使用sudo wireshark 命令开启 wirshark 软件,点击“any”,让其获取全部的数据包,之后再通过过滤器输入“openflow_v1”或“openflow_v4”,过滤出 OpenFlowv1.0 或OpenFlowv1.3 的数据报文,进行分析。
1. HELLO
HELLO 是使用来协商控制器和交换机之间openflow协议的版本号的消息。
0x01代表版本1,即 openflow1.0
Type类型为 HELLO,表示为0
2. FEATURE_REQUEST
FEATURE_REQUEST 消息是控制器用来查询交换机特性消息,如交换机ID,缓冲区数量,端口及端口属性等。
Type类型为 FEATURE_REQUEST,标识为5
Length 代表消息长度,除去消息报头
Transation ID 用来表示同一个事件
3. FEATURE_REPLY
交换机收到feature_request消息之后会回复feature_reply消息来报告自己的特性。
Datapath id 数据通道标识符,用来表示交换机的身份。在每一个控制器中独一无二。
n_buffers 一次最多缓存的数据包数量,即交换机自己的缓存能力。
n_tables 表示交换机支持的流表数量。
capabilities 交换机端口所支持的功能,有流表,端口,STP,队列,ARP 等。
actions 该bitmask表示交换机所支持的 actions,有转发和修改包头两种。
Port 交换机连接的端口消息。端口MAC地址,链路数据等。
4. SET_CONFIG
SET_CONFIG 消息是控制器对交换机进行配置的消息。控制器可以配置交换机的 MTU,报文分片处理等能力。
5. PACKET_IN
当交换机遇到不知道如何转发的报文时,使用 Packet_IN 消息将无法处理的报文封装起来发送给控制器,交给控制器去判断处理。并且交换机会将该数据包缓存。
Buffer_id Packet-IN 消息所携带的数据包在交换机中的缓存 ID。
Total length 帧的长度。
In port 数据包进入交换机的入端口号。
Reason packet-in事件的产生原因,分为两种:OFPR_NO_MATCH和OFPR_ACTION。
6. PACKET_OUT
控制器可以使用 Packet_Out 消息,告诉交换机某一个数据包如何处理
In port 数据包进入交换机的入端口号。
Actions length 动作信息的长度。
7. FLOW_MOD
FLOW_MOD 消息的作用是下发流表项。通过 Flow_Mod 消息可以对流表进行添加、删除、变更设置等操作
Command 表示flow-mod消息的动作。一共五种,实现对流表的增、删、改操作。
Idle time-out 流表匹配数据计时器,如果该时间内流表匹配信息还未到达则删除流表。
hard time-out 流表项老化时间。一项流表在交换机中存在的时间超过该时间则删除流表项。
Priroity 流表项优先级,数字越大越优先。
Buffer Id 交换机上保存的,发送至控制器请求处理的流表的编号。
8. ECHO_REQUEST
控制器和交换机通过 ECHO_REQUEST 和 ECHO_REPLY 报文保持连接
9. ECHO_REPLY
标签:图片 ota 端口 拓扑 选择 超级用户 通道 type tables
原文地址:https://www.cnblogs.com/cyquen/p/13370939.html