Java教程
实验3:OpenFlow协议分析实践
本文主要是介绍实验3:OpenFlow协议分析实践,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
实验3:OpenFlow协议分析实践
一、实验目的
能够运用 wireshark 对 OpenFlow 协议数据交互过程进行抓包;
能够借助包解析工具,分析与解释 OpenFlow协议的数据包交互过程与机制。
二、实验环境
下载虚拟机软件Oracle VisualBox;
在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
(一)基本要求
搭建下图所示拓扑,完成相关 IP 配置,并实现主机与主机之间的 IP 通信。用抓包软件获取控制器与交换机之间的通信数据包。
主机
IP地址
h1
192.168.0.101/24
h2
192.168.0.102/24
h3
192.168.0.103/24
h4
192.168.0.104/24
配置如下
查看抓包结果,分析OpenFlow协议中交换机与控制器的消息交互过程,画出相关交互图或流程图。
hello
控制器6633端口(我最高能支持OpenFlow 1.0) ---> 交换机34354端口
交换机34354端口(我最高能支持OpenFlow 1.5)--- 控制器6633端口
Features_Request
控制器6633端口(我需要你的特征信息) ---> 交换机34354端口
Set Config
控制器6633端口(请按照我给你的flag和max bytes of packet进行配置) ---> 交换机34354端口
Port_Status
当交换机端口发生变化时,告知控制器相应的端口状态。
Features_Reply
交换机34354端口(这是我的特征信息,请查收)--- 控制器6633端口
Packet_IN
Packet_Out
Flow_Mod
分析抓取的flow_mod数据包,控制器通过6633端口向交换机34354端口、交换机34356端口下发流表项,指导数据的转发处理
交互图如下
回答问题:交换机与控制器建立通信时是使用TCP协议还是UDP协议?
答:使用TCP协议。
四、个人总结
实验难度:适中,没有遇到太大的困难
实验过程遇到的困难及解决办法:查看wireshark抓包时,我看那个弹框一直在增加,一直到了几千行,在过滤Openflow数据包时还在增加,没办法观察截图。后面发现左上角可以停止,重新抓包后,过了一下按停止就解决了问题,可以正常观察截图。
个人感想:在本次实验中,我并没有遇到太多的问题,一方面是之前的实验碰到过很多小问题,这些问题在这次实验中出现时,我有经验解决它们,另一方面是这次实验老师提供的pdf文档有比较详细的步骤,我按步骤比较顺利完成了。从这次实验中,我通过使用wireshark抓取数据包,学习了OpenFlow协议下控制器和交换机的交互过程,对控制器与交换机交互过程有了进一步的理解,同时在实践操作方面也有了一定的提升。
这篇关于实验3:OpenFlow协议分析实践的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
您可能喜欢
TiDB 资源管控的对撞测试以及最佳实践架构
07-04
万字长文聊聊Web3的组成架构
07-03
springboot项目无法注册到nacos-icode9专业技术文章分享
07-02
结对编程到底难不难?答案在这里
06-26
《2023版Java工程师》课程升级公告
06-19
matplotlib作图不显示3D图,怎么办?
06-15
03-Loki 日志监控
06-15
04-让LLM理解知识 -Prompt
06-15
做软件测试需要懂代码吗?
06-05
14-ShardingSphere的分布式主键实现
06-05
为什么以及如何要进行架构设计权衡?
06-03
全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
05-31
全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
05-31
【Java】百万数据excel导出功能如何实现
05-30
我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
05-30
栏目导航
前端开发
HTML5教程
CSS教程
Javascript
jQuery教程
AJAX教程
Node.js教程
XML教程
正则表达式
后端开发
Go教程
C/C++教程
消息队列MQ
Net Core教程
Asp.net教程
Java教程
PHP教程
移动端开发
微信公众号开发
小程序开发
Swift教程
IOS教程
Kotlin教程
Android开发
数据库
Redis教程
MongoDB教程
PostgreSQL教程
Oracle教程
MariaDB教程
SqLite教程
MySql教程
SqlServer教程
服务器运维
Kubernetes
Docker容器
linux shell
Nginx教程
网站安全
PowerShell教程
Linux教程
人工智能
TensorFlow教程
Python教程
机器学习
人工智能学习
区块链
区块链技术
游戏开发
游戏编程
Unity3D教程
网站运营
网站策划
网站优化
建站知识
大数据/云计算
云计算
Hadoop教程
软件工程
软件/开发工具使用
Git教程
资讯