首先不废话介绍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的学习(一)的更多相关文章

  1. Ruby on Rails Tutorial 第2版 学习笔记

    Ruby on Rails Tutorial 第2版 在线阅读:http://railstutorial-china.org/ 英文版:http://ruby.railstutorial.org/ru ...

  2. OpenFlow Switch学习笔记(一)——基础概念

    OpenFlow Switch v1.4.0规范是在2013年10月14号发布,规范涵盖了OpenFlow Switch各个组件的功能定义.Controller与Switch之间的通信协议Open F ...

  3. OpenFlow Switch学习笔记(二)——OpenFlow Ports

    OpenFlow Ports是OpenFlow Switch与剩余网络之间传递Packet的网络接口.OpenFlow Switches之间通过OpenFlow Ports彼此相互逻辑连接.一个Ope ...

  4. OpenFlow能解决私有云网络VLAN问题么

    本文转载自:http://network.51cto.com/art/201202/314310.htm 在关于私有云网络的文章中,我们首先探讨了物理网络是否影响私有云.本文我们将讨论如何通过软件定义 ...

  5. openflow 和 sdn (软件定义网络) 原理和教程

    OpenFlow概述 OpenFlow简介 通俗的讲,OpenFlow是使用类似于API进程配置网络交换机的协议.OpenFlow的思路很简单,网络设备维护一个FlowTable并且只按照FlowTa ...

  6. SDN原理 OpenFlow协议 -1

    本文基于SDN原理视频而成:SDN原理 OpenFlow OpenFlow 协议 和 传统的路由选择协议 有很多相似的地方,同时在某些地方也具有一定的颠覆性. 路由表,由IP地址和子网掩码组成.MAC ...

  7. OpenFlow技术白皮书-V1.0

    1.  概述 OpenFlow是由斯坦福大学的Nick McKeown教授在2008年4月ACM Communications Review上发表的一篇论文OpenFlow: enabling inn ...

  8. OpenFlow和SDN的历史和原理介绍

    OpenFlow相关的历史.新闻:http://blog.csdn.net/jincm13/article/details/7825754起源与发展[https://36kr.com/p/503598 ...

  9. 基于 Open vSwitch 的 OpenFlow 实践

    目录 文章目录 目录 前文列表 Open vSwitch 基本概念 Open vSwitch 与 OpenFlow 的关系 通过 Open vSwitch 实践 OpenFlow 屏蔽数据包 重定向数 ...

随机推荐

  1. java里面List和Array的区别是什么?

    java里面的List和Array的区别是什么? 1:数组是定长,list是自动增长.2:数组效率高,list效率低.总结:数组牺牲功能增加效率,list牺牲效率增加功能. http://bbs.cs ...

  2. Lesson 7: Responsive Typography In Action

    Lesson 7: Responsive Typography In Action 排版一直都是设计和传达的基础.虽然现在的设计和印刷品设计差别很大,但核心原则还是不变的. Article 1: Bo ...

  3. (三)Angularjs - 小实例

    AngularJS处理数据表格 使用 np-repeat 指令 <table> ... <!-- 这里使用ng-repeat指令来重复数据生成表格 --> <tr ng- ...

  4. UEFI模式下安装Win 7系统

    转载自:http://huayi898.blog.163.com/blog/static/2581351620144442319155/ 下载win7_64bit原版官方系统 1.用软碟通制作U盘启动 ...

  5. Java中的内部类、匿名类的使用

    代码(test.java): interface ie{ public void print(); } class outer{} public class test{ public class in ...

  6. MySQL是否在扫描额外的记录

    在确定查询只是返回需要的数据之后,接下来应该看看查询为了返回结果是否扫描了过多的数据.对于MySQL,最简单的衡量查询开销的三个指标如下: 1响应时间,2扫描行数,3返回行数 没有那个指明能够完美的衡 ...

  7. LR:Code - 60990,Code - 10343 问题解决

    Code - 60990 Error: Two Way Communication Error: Function two_way_comm_post_message /two_way_comm_po ...

  8. phpcms v9为联动菜单字段添加验证提醒功能 解决标题不能为空

    v9系统中,如果你在模型中添加了联动菜单字段就算你在字段设置中设置了最小值为1,提交内容之前你不选择联动菜单中的值,也不会出现类似类似“标题不能为空”这样的提示下面提供解决办法打开phpcms\lib ...

  9. xml代码

    修改和删除: <?php$doc=new DOMDocument();$doc->load("php.xml");$root=$doc->documentElem ...

  10. Ubuntu下搭建本地WordPress站点

    想在本地搭建WordPress博客站点作测试用?本教程一步一步教您在Linux上搭建一个LAMP(Linux, Apache, MySQL, PHP)服务器并部署WordPress博客. 请注意在复制 ...