天天写介绍SDN的估计大家都烦,看了跟没看一样,来篇实战的。

为什么敢说最权威最详细呢,还是下的功夫的区别。另外,比我李青林还笨的程序员,大概率搞不定这一坨一坨的麻烦事,比我牛逼的,肯定不屑于写这么土的文章,那好吧,我来完成它。正是因为我也不懂,所以我知道跟我一样笨的人哪些点可能不懂,不懂的地方我们就详细一点。

OpenFlow Tutorial是openflow基金会的关于openflow的最简单的入门实践。原文自己百度题目就好了。如果英文好并且你看到这篇文章的时候正好是这篇文章发表的时候,那么恭喜你,照着手册练一把就完事了。但是,linux他妈的天天更新啊,openflow天天更新啊,mininet天天更新啊,wireshark天天更新啊,这他妈不是跟windows一样你下载双击一下就搞定了啊!~

文章的第一部分就是先安装相关的科研软件了啊。当然,有个叫SDN-ALL-IN-ONE的光盘里,可以直接下下来自带wireshark,mininet等等,但是,我们还是希望大家多动手,毕竟我们还没到总工的级别,那么我们还是自己多锻炼动手能力。(七分实干,三分吹牛就很好了)

好吧,我们怎么实战呢?嗯,先下载个linux版本,无非red hat家的跟unbuntu家的。Centos?opensuse?debian?别逗了,这些真不是你搞业务的人玩的。嗯,那就下载个乌班图家的不要太新的版本,我选了14.04 lts,lts的意思就是长期支持,相对好点。

然后找个虚拟机装起来,再然后呢?这就到了泪点,说多了全是泪。笔者之前直接安装mininet开搞,然后要抓包安装wireshark,在然后发现wireshark不能抓openflow包啊,再然后解决呗,嗯,自己下载了openflow的代码手动编译openflow支持wireshark的插件,哎,发现没有glib的头文件,艹!然后装glibdev,再然后,因为软件依赖,怎么都装不上了。。。。

嗯,那么我们换个办法,格式化硬盘,重装系统。。。。先装libglib2.0dev,再安装其他乱七八糟的软件。嗯,unbuntu家还是sudo apt-get install 软件名就可以,应该知道的吧?嗯,回到openflow编译阶段,重新编译openflow源代码妈的又出错了

snow@snow-VirtualBox:~/openflow-1.0.0/utilities/wireshark_dissectors/openflow$ sudo make

[sudo] password for snow:

packet-openflow.o packet-openflow.c

/usr/include/glib-2.0/glib/gtypes.h:32:24: fatal error: glibconfig.h: No such file or directory

#include <glibconfig.h>

嗯,这个还是好搞得,强行拷贝吧。sudo cp /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h /usr/include

再多说一句,openflow源代码很有意思,一部分用makefile管理的,一部分用automake管理的,编译这个还是只make下就好了。

嗯,终于编译出了wireshark的解析插件,累死。。好吧,重启下wireshark看看包长得什么样?

什么?点进去告诉你wireshark更新了跟老的插件结构体不对应?呵呵~zhezhenshirilegoule~~~

用插件支持openflow解析,有点累了,当然还有一种编译插件的方法,不想搞了。。。换个思路了,这么流行的包格式,抓包厂家不更新吗?

嗯,到wireshark的网站上看看它的版本日志,看看他哪个版本支持了openflow,嗯,发现其实1.12以上的都支持,那他妈的为什么apt get出来的不支持呢!嗯,这就是linux啊,就这个德行。

好吧,自己下载wireshark的源代码,自己编译一把把。

sudo wget https://1.as.dl.wireshark.org/src/wireshark-1.12.8.tar.bz2  --no-check-certificate

注意,这个版本号要自己登陆到网站上看看,说不定人家版本经理改了路径,加了个后缀什么滴。

$ ./configure

$ make //这个编译过程有点漫长。。另外说一下,在虚拟机里究竟不要加多核编译了-j8了,j8不j8没什么区别

$ sudo make install

$ sudo ldconfig

嗯,这下好了,sudo wireshark,filter里填写openflow,终于可以开搞openflow了。

这个方法,基本两年内照着我写的搭建,应该都能搭建出来di~~~

到现在,恭喜你,基本的环境搭建好了。最后,欢迎大家自己手动试验一下,有好方法教我做人,我也是被linux教会了做人。

转载于:https://www.cnblogs.com/liqinglin/p/5061584.html

OpenFlow Tutorial 最详细翻译(一)相关推荐

  1. mysql配置文件简易代码_MySQL配置文件my.cnf 例子最详细翻译

    转的 MySQL配置文件my.cnf 例子最详细翻译,可以保存做笔记用. #BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负 ...

  2. mysql 初始化my.cnf_MySQL配置文件my.cnf 例子最详细翻译

    转的 MySQL配置文件my.cnf 例子最详细翻译,可以保存做笔记用. #BEGIN CONFIG INFO #DESCR: 4GB RAM,只使用InnoDB,ACID,少量的连接,队列负载大 # ...

  3. 【论文】模型剪枝(Network Pruning)论文详细翻译

    前言: 这是关于模型剪枝(Network Pruning)的一篇论文,论文题目是:Learning both weights and connections for efficient neural ...

  4. 【论文】轻量级网络squeezenet论文的详细翻译

    前言: 整体上翻译了squeezenet:AlexNet-level accuracy with 50X fewer paramenters and 0.5MB model size.这篇论文,便于英 ...

  5. SegFormer论文记录(详细翻译)

    SegFormer论文记录 代码:GitHub - NVlabs/SegFormer: Official PyTorch implementation of SegFormer 论文:https:// ...

  6. OpenFlow Tutorial

    平台:PC机器*1 平台细节:Ubuntu12.04+Floodlight+Mininet2.0,其中,需要使用到虚拟机软件,我使用的是virtualbox.整个环境如下: PC机器上安装Floodl ...

  7. Bug heroes虫虫英雄······超详细翻译+基本攻略

    转载自:http://apple.zone.it.sohu.com/forums/thread-4588491-1-1.html 游戏真的很不错!感谢威锋[url=u-htm-action-show- ...

  8. 计算机bios的作用是什么意思,电脑BIOS是什么? 又有什么作用呢? BIOS的详细翻译就在这里!...

    Basic input Output System",缩写为我们所说的BIOS.BIOS是电脑启动加载的第一个软件,它是一组固定在电脑主板上的ROM芯片上的程序,它保存着电脑最重要的输入输出 ...

  9. 鸿蒙宴原文及翻译,《鸿门宴》文言文原文及全文详细翻译

    新东方初中生资料下载 姓名 手机号 短信验证码 图片验证码 年级 请选择 7年级 8年级 9年级 行政区 请选择 请选择 请选择 {"name":{"label" ...

最新文章

  1. 数据库工具phpstudy
  2. PHP会话管理——Session和Cookie
  3. python剪切文件如何恢复_用python实现的可以拷贝或剪切一个文件列表中的所有文件...
  4. JQuery Datatables单元格内显示数据太长,截取部分显示功能
  5. windows Tracert命令
  6. ECCV 2020 Oral 中谷歌论文盘点,点云与3D方向工作居多
  7. javascript数据结构与算法---队列
  8. 台哥算法练习 - 自己写的一个LinkedList
  9. 无盘服务器游戏盘大了IO多,BXP无盘详细图文系统教程4
  10. Java零基础学习-每日单词(日更)
  11. 【第27篇】MobileNetV2:倒置残差和线性瓶颈
  12. 如何把设计稿转换成html,将设计稿转换成WEB页面职业者
  13. python返回值return用法_Python中return函数返回值代码实例用法
  14. 编写一个 spootboot 程序,有二个方法,一个问早上好,一个说再见
  15. C 语言 —— 循环结构
  16. 今天开始学java(十五)内部类与匿名内部类
  17. 什么叫克隆人_【语文阅读理解】到底什么是克隆人
  18. linux系统调用创建无名管道,linux 无名管道pipe和有名管道FIFO
  19. Flutter 利用 Hero 动效实现列表详情页的无缝切换
  20. python中datetime模块是以什么时间为基础_Python基础之datetime模块

热门文章

  1. Redmine与GitLab集成
  2. 您的 CAD 软件中有什么?
  3. win 上安装cad2002的心得
  4. python 滚动广告词
  5. 五大行业如何拆解数据指标,做出领导满意的可视化驾驶舱
  6. Tablespace-SYSTEM during PDB create skipped since source is in r/w mode or this is a refresh clone
  7. 插入USB禁用触摸板
  8. 自动驾驶汽车传感器数字孪生建模(一)
  9. 为智能建筑设计物联网传感器桥
  10. 如何一键重装Win11系统 一键重装系统方法