openflow协议

前言

在当今网络架构中,OpenFlow技术作为SDN(软件定义网络)的关键支持技术之一,为网络流量控制提供了更加灵活和智能的解决方案。Wireshark作为一个优秀的网络协议分析工具,可以帮助我们深入了解OpenFlow协议背后的数据交换过程。在本文中,我们将通过Wireshark工具来分析OpenFlow协议,探索其工作原理和数据交换过程。

1. OpenFlow简介

OpenFlow是一种通信协议,用于在网络设备之间进行通信,并 能够实现控制数据流的灵活性和集中管理。OpenFlow协议通过控制器来管理网络设备,并根据网络流量的需求对网络设备进行动态配置和管理。

2. Wireshark简介

Wireshark是一款开源的网络协议分析工具,可以帮助用户捕获和分析网络数据包。通过Wireshark工具,我们可以深入了解数据包的传输过程,进而解决网络问题和优化网络性能。

3.实验步骤

PS:教程不包括安装Ununtu、niminet等教程,文献参考https://www.cnblogs.com/eleven955/p/15328388.html

3.1实验前置任务


1.首先在ubuntu系统中启动mininet可视化界面

mininet/examples/miniedit.py

然后按照下图所示,搭建拓扑图
 

OpenFlow Wireshark协议分析:深入了解网络流量控制


2.点击左上角的Exit里的Preferences,配置偏好设置,并按照下图进行设置
 

OpenFlow Wireshark协议分析:深入了解网络流量控制


 

OpenFlow Wireshark协议分析:深入了解网络流量控制


3.将修改好的拓扑图保存为*.py的格式,如下图所示
 

OpenFlow Wireshark协议分析:深入了解网络流量控制


 

OpenFlow Wireshark协议分析:深入了解网络流量控制


 

OpenFlow Wireshark协议分析:深入了解网络流量控制


使用vim打开文件,编辑每个终端的IP地址,当然,您也可以提前在拓扑图中编辑IP地址。

vim name.top

OpenFlow Wireshark协议分析:深入了解网络流量控制


保存好之后,主要任务的前置任务就算完成了

3.2基础实验


首先再打开一个终端,用来启动Wireshark进程

wireshark
如果您使用的账户非root模式,请在指令前加上sudo

OpenFlow Wireshark协议分析:深入了解网络流量控制


之后使用使用第一个终端运行保存好的拓扑图py文件

python {name}.py
pingall

打开Wireshark开始分析数据包
当控制器和交换机建立连接时,它们会通过发送 "OFPT_HELLO" 消息进行握手。这个握手过程用于确保双方都理解彼此的通信协议版本,并为后续的通信建立基础。,其中包含了源端口号(6633)与目的端口号(59784)
 

OpenFlow Wireshark协议分析:深入了解网络流量控制


并且可以看到使用的传输协议是TCP协议
 

OpenFlow Wireshark协议分析:深入了解网络流量控制


查看openflow_v6的数据包
 

OpenFlow Wireshark协议分析:深入了解网络流量控制


查看openflow_v1的数据包的OFPT_FEATURES_REQUEST,OFPT_FEATURES_REQUEST用于控制器向交换机请求交换机的特性和能力。当控制器与交换机建立连接后,通常会发送此类消息以获取关于交换机的信息,以便控制器可以了解交换机的功能和配置。
 

OpenFlow Wireshark协议分析:深入了解网络流量控制


查看openflow_v1的数据包的OPTF_SET_CONFIG,OPTF_SET_CONFIG可以确保控制器和交换机之间的行为一致,并能够对交换机的行为进行精细的控制。
 

OpenFlow Wireshark协议分析:深入了解网络流量控制


查看openflow_v1的数据包的OPTF_PACKET_IN,OPTF_PACKET_IN用于将从交换机收到的数据包传送给控制器。当交换机无法根据当前的流表项处理接收到的数据包时,会生成一个 "OFPT_PACKET_IN" 消息,并将数据包及相关信息发送到控制器。
 

OpenFlow Wireshark协议分析:深入了解网络流量控制


查看openflow_v1的数据包的OPTF_PACKET_OUT, 通过“OFPT_PACKET_OUT”消息,控制器可以实现对数据包的编程式控制,用于实现特定的网络行为、策略或功能。
 

OpenFlow Wireshark协议分析:深入了解网络流量控制

OpenFlow Wireshark协议分析:深入了解网络流量控制

  • 四、个人总结

 

本次实验是结课实验,实验难度相对于平常练习会有难度一些,需要建立拓扑后在wireshark中操作,首先要能够熟练使用wireshark,其次就是找包的时候数据很多,容易错过,需要很细心。通过阅读openflow的源码,能理清楚其中的数据结构,并和实际抓到的包的详细信息对应起来,从而理解openflow协议的数据包交互过程。除此之外,对wireshark中过滤器的使用也有了更深刻的了解,对openflow协议有了更深刻的认识,整理实验报告的过程中能够加深对整个交互过程的理解,截图较多,整理起来需要足够的耐心。实验中遇到的问题都得到了解决,对mininet的一些命令行操作也更加的熟练。

  • 14
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值