openflow tutorial 开始openflow的学习(一)
首先不废话介绍openflow了,自己也还搞不清楚究竟是个什么玩意儿,概括不出什么内容来,先做试验,有个大体的感性了解回来再总结吧。
第一步,搭建环境,这一步就是安装工具,不同的系统环境搭建不一致,我的环境大体如下:

首先把虚拟机搞起来,Set up Virtual Machine,这一步主要是下载OpenFlowTutorial-101311.zip,里面是虚拟机的镜像OpenFlowTutorial-disk1.vdi
For the .zip archive, you need to set up a new VirtualBox VM. Open VirtualBox.
- Select New
- Press Continue in the next prompt.
- Name your VM OpenFlowTutorial, Operating System Linux, Version Ubuntu. Click Continue.
- Set the memory at 512MB and click Continue
- At that point VB should ask you to Create a new hard disk, or use the existing one. Select "Use existing hard disk".
- Click the icon to select the hard disk. This will open the Virtual Media Manager Window.
- Press Add, and find the extracted OpenFlowTutorial*.vdi from the previous steps. Click Select and then Continue.
- Your VM installation is complete. Press Done.
接下来要给虚拟机配置一下网络,首先要明确我们配置网络是干啥:
1.虚拟机可以上网;
2.宿主机可以通过putty访问虚拟机;
这就是tutorial里面要设置NAT和host-only两个网卡选项的原因。

从虚拟机ping主机和外网都可以ping通了。
接下来就要在主机上通过SSH登陆虚拟机了。因为我是win7,所以使用putty,首先在Hostname中输入hostonly对应的IP地址。

然后打开下面的SSH,选中enable X11 forwarding

另外再主机中将本地连接设置为共享给hostonly,并且hostonly的IPv4要自动获取ip。否则不能从putty打开ssh。
通过ssh进入虚拟机之后,要在主机windows下安装Xming,然后打开Xming,然后在ssh中输入xterm -sb 500,就可以打开一个设置后的窗口Xming。

接下来就是在实验中使用各种工具:openflow controller ,openflow switch,dpctl,wireshark,iperf,mininet,cbench。
Start Network

接下里就是跟着手册输入命令,做实验。

第一个实验主要是尝试建立如上图的拓扑结构,然后,h2和h3之间进行ping操作,修改流表进行控制。另外这里还介绍了两个工具,一个是wireshark抓包工具和iperf用于checking speeds between two computers.
首先在拓扑刚建立的时候,h2和h3是ping不通的,因为没有添加流表。

这里涉及dpctl dump-flows tcp:127.0.0.1:6634,查看流表的命令。接下来通过
$ dpctl add-flow tcp:127.0.0.1:6634 in_port=2,actions=output:3
$ dpctl add-flow tcp:127.0.0.1:6634 in_port=3,actions=output:2
添加流表,我这里是h3和h4的,所以测试mininet> h3 ping -c3 h4,如下:

这个流表是有时间限制的,默认是60秒,可以通过
$ dpctl add-flow tcp:127.0.0.1:6634 in_port=2,idle_timeout=120,actions=output:3
来进行修改流表存在的时间。另外下面介绍了两个工具:wireshark和iperf,可以尝试着看看。
iperf只是一个命令,可以直接在ssh中输入,查看speed。
openflow tutorial 开始openflow的学习(一)的更多相关文章
- Ruby on Rails Tutorial 第2版 学习笔记
Ruby on Rails Tutorial 第2版 在线阅读:http://railstutorial-china.org/ 英文版:http://ruby.railstutorial.org/ru ...
- OpenFlow Switch学习笔记(一)——基础概念
OpenFlow Switch v1.4.0规范是在2013年10月14号发布,规范涵盖了OpenFlow Switch各个组件的功能定义.Controller与Switch之间的通信协议Open F ...
- OpenFlow Switch学习笔记(二)——OpenFlow Ports
OpenFlow Ports是OpenFlow Switch与剩余网络之间传递Packet的网络接口.OpenFlow Switches之间通过OpenFlow Ports彼此相互逻辑连接.一个Ope ...
- OpenFlow能解决私有云网络VLAN问题么
本文转载自:http://network.51cto.com/art/201202/314310.htm 在关于私有云网络的文章中,我们首先探讨了物理网络是否影响私有云.本文我们将讨论如何通过软件定义 ...
- openflow 和 sdn (软件定义网络) 原理和教程
OpenFlow概述 OpenFlow简介 通俗的讲,OpenFlow是使用类似于API进程配置网络交换机的协议.OpenFlow的思路很简单,网络设备维护一个FlowTable并且只按照FlowTa ...
- SDN原理 OpenFlow协议 -1
本文基于SDN原理视频而成:SDN原理 OpenFlow OpenFlow 协议 和 传统的路由选择协议 有很多相似的地方,同时在某些地方也具有一定的颠覆性. 路由表,由IP地址和子网掩码组成.MAC ...
- OpenFlow技术白皮书-V1.0
1. 概述 OpenFlow是由斯坦福大学的Nick McKeown教授在2008年4月ACM Communications Review上发表的一篇论文OpenFlow: enabling inn ...
- OpenFlow和SDN的历史和原理介绍
OpenFlow相关的历史.新闻:http://blog.csdn.net/jincm13/article/details/7825754起源与发展[https://36kr.com/p/503598 ...
- 基于 Open vSwitch 的 OpenFlow 实践
目录 文章目录 目录 前文列表 Open vSwitch 基本概念 Open vSwitch 与 OpenFlow 的关系 通过 Open vSwitch 实践 OpenFlow 屏蔽数据包 重定向数 ...
随机推荐
- spring源码测试
org.springframework.context.annotation.ComponentScanParserTests.componentScanWithAutowiredQualifier( ...
- android 屏幕适配1 ——dimens.xml的适配
1.如果是才开始做项目,已经有设计图:720*1280 1).默认values文件夹:1dp=1px values/dimens_x.xml: name: x1~x720 value:1px~72 ...
- CSS3过渡效果实现菜单划出效果
下载地址 这是大体上的原理,当然案例比这个多 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...
- HTML5 Canvas 中的颜色、样式和阴影的属性和方法
颜色.样式和阴影的属性与方法 fillStyle 设置或返回用于填充绘画的颜色.渐变或模式 strokeStyle 设置或返回用于笔触的颜色.渐变或模式 ...
- python MySQLdb、socket与进线程
1 centos下 安装MySQLdb模块 a 首先需要先安装 setuptool b yum install -y mysql_devel 头文件 c yum install -y python_d ...
- JQUERY1.9学习笔记 之基本过滤器(一) 动态选择器
动态选择器:animated Selector 描述:当选择器运行时,选择动态进程中的所有元素.(对动态进程起作用) jQuery( ":animated" ) 注释::anima ...
- php 基于phpexcel制作的导出excel类
最近要写个项目,由于项目中导出excel太多,因此写个类便于使用. <?php /**如果是gbk的编码,请转为UTF8 *@使用方法. *引入类库. * $excel = news excel ...
- Linux_service cloudera-scm-server start failed
see log : /var/log/cloudera-scm-server/cloudera-scm-server.log
- 深入理解C#:编程技巧总结(二)
原创文章,转载请注明出处! 以下总结参阅了:MSDN文档.<C#高级编程>.<C#本质论>.前辈们的博客等资料,如有不正确的地方,请帮忙及时指出!以免误导! 在上一篇 深入理解 ...
- Swift—下标-备
看下面的示例代码是不是使用过: var studentList: String[] = ["张三","李四","王五"] studentL ...