搭建网络SDN(企业网络环境搭建)

1.     搭建环境要求:图1中控制器可以自主选择,既可选择各种开源的控制器(例如:Floodlight、Ryu、Nox、Beacon、Trema、OpenDaylight等),也可选择由本次大赛设备提供商所提供的闭源控制器。拓扑中各网络部件既可以是仿真环境实现(例如mininet,OpenvSwtich),有条件的队伍也可以通过物理设备实现,两种方案不影响必答题的评分。2.     操作

大家好,又见面了,我是你们的朋友全栈君。

第1小题:简单网络

说明:由于对于SDN架构的理解在学界和业界并没有统一,为了方便参赛队员选择,对于初学者,大赛推荐OpenFlow作为南向接口来实现SDN环境,以下给出分别针对采用OpenFlow和采用其他接口的具体要求(分A、B两种情况)。

 

A. 针对采用OpenFlow作为南向接口的参赛队伍的要求:

参赛队伍首先需要搭建一个SDN架构的网络环境,初学者可以参照图1所示的一个最简单的拓扑结构,熟练的参赛队员可以自定义复杂一点的拓扑结构,两者并不影响评委评分。

 

B. 针对不是采用OpenFlow作为南向接口的参赛队伍的要求:

拓扑结构自定,所用设备、软件等自选,只要能够实现SDN架构的网络环境即可。

搭建网络SDN(企业网络环境搭建)

图1:简单的示例拓扑

1.      搭建环境要求:图1中控制器可以自主选择,既可选择各种开源的控制器(例如:Floodlight、Ryu、Nox、Beacon、Trema、OpenDaylight等),也可选择由本次大赛设备提供商所提供的闭源控制器。拓扑中各网络部件既可以是仿真环境实现(例如mininet,OpenvSwtich),有条件的队伍也可以通过物理设备实现,两种方案不影响必答题的评分。

2.     操作要求:对流表进行操作使得Host1和Host2能够互相ping通,然后再修改流表使得它们不能ping通。

3.     报告书要求:报告书的主要内容需要包含以下几点:

(1)  详细描述实验网络环境的搭建思路,给出搭建出来的结构拓扑图,列举选择的具体设备或者仿真软件、工具软件,并说明其在实验中的作用。

(2)  给出实现2中操作要求的具体操作步骤,以截图或者文本方式展示,要求给出初始以及前后两次对流表操作后流表内容的截图。

(3)  给出实验数据(界面截图、表格等都可)来说明实现了(2)中的要求。

说明:以上列举的为硬性要求,在报告书中必须给出。但报告书内容的组织可以灵活处理,自由发挥,不限于上述要求的内容。

 

实验报告如下:

一、搭建网络环境需求:

  1. ubuntu12.04版本;
  2. 默认安装所有 Mininet相关的相关套件,如:OpenFlow、POX 等工具会默认保存在当前用户的家目录,即利用mininet仿真软件进行处理;
  3. 在mininet软件下进行相关命令的配置来完成实验的目的。

二、实验操作:

  1. 在ubuntu12.04环境下安装mininet相关插件,这里我采用了默认安装所有 Mininet相关的相关套件,如:OpenFlow、POX 等工具会默认保存在当前用户的家目录。
    <span style="font-size:14px;"># git clone git://github.com/mininet/mininet
    # cd mininet/util/
    # ./install.sh -a</span>
  2. 由于mininet软件 支持自定义网络,因此我们可以命令来查看自带的拓扑结构:
    <span style="font-size:14px;">wuyouke@ubuntu:~$ sudo mn
    *** Creating network
    *** Adding controller
    *** Adding hosts:
    h1 h2 
    *** Adding switches:
    s1 
    *** Adding links:
    (h1, s1) (h2, s1) 
    *** Configuring hosts
    h1 h2 
    *** Starting controller
    *** Starting 1 switches
    s1 
    *** Starting CLI:
    </span>

    也可以通过节点命令来查看节点的个数:

    <span style="font-size:14px;">mininet> nodes
    available nodes are: 
    c0 h1 h2 s1
    </span>

    正好可以满足本实验的要求,因此我们就可以借助于这个拓扑图而无需进行修改,当然我们可以通过其他命令来自定义拓扑结构,在以后的文章种再进行讲解。

  3. 通过mininet中的命令来查看各个节点的IP信息,即:
    <span style="font-size:14px;">mininet> dump<Host h1: h1-eth0:10.0.0.1 pid=3320> <Host h2: h2-eth0:10.0.0.2 pid=3322> <OVSSwitch s1: lo:127.0.0.1,s1-eth1:None,s1-eth2:None pid=3327> <Controller c0: 127.0.0.1:6633 pid=3312> </span>
  4. 接下来就是ping两台主机,并且事先后台运行wireshark抓包软件:
    <span style="font-size:14px;">sudo wireshark &</span><pre name="code" class="plain"><span style="font-size:14px;">mininet> h1 ping -c 3 h2PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.64 bytes from 10.0.0.2: icmp_req=1 ttl=64 time=1.15 ms64 bytes from 10.0.0.2: icmp_req=2 ttl=64 time=0.394 ms64 bytes from 10.0.0.2: icmp_req=3 ttl=64 time=0.058 ms</span>
  5. 在抓包软件中要首先进行filter:of。然后双击capture中选择lo端口来进行抓包饿哦,抓包图如下:
    <img src="https://img-blog.csdn.net/20141010102555984?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamsxOTkyMDUyMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" height="233" width="733" alt="" />
  6. 为了修改流表,因此我们将用到ovs相关的配置命令;
    <span style="font-size:14px;">wuyouke@ubuntu:~$ sudo ovs-ofctl show s1OFPT_FEATURES_REPLY (xid=0x1): ver:0x1, dpid:0000000000000001n_tables:255, n_buffers:256features: capabilities:0xc7, actions:0xfff 1(s1-eth1): addr:82:e0:d8:10:f6:92     config:     0     state:      0     current:    10GB-FD COPPER 2(s1-eth2): addr:6a:ef:a1:77:19:8c     config:     0     state:      0     current:    10GB-FD COPPER LOCAL(s1): addr:2e:25:ee:8e:1e:45     config:     PORT_DOWN     state:      LINK_DOWNOFPT_GET_CONFIG_REPLY (xid=0x3): frags=normal miss_send_len=0</span>

    以上是虚拟交换机s1的信息,获得dpid,端口openflow端口编号。

    <span style="font-size:14px;">sudo ovs-ofctl add-flow s1 idle_timeout=120,in_port=1,actions=drop
    </span>

    添加一条流规则:丢弃从1端口发来的任何数据包,此时再在sudo mn的模式下ping命令,就会发现两台主机是ping不通的。这时再次查看s1上面的流规则:

    <span style="font-size:14px;">wuyouke@ubuntu:~$ sudo ovs-ofctl dump-flows s1
    NXST_FLOW reply (xid=0x4):
     cookie=0x0, duration=27.463s, table=0, n_packets=0, n_bytes=0, idle_timeout=120,in_port=1 actions=drop</span>
  7. 以上实验已经完成!
  8. 附:由于刚刚学习SDN的相关知识,有些配置还不是很了解,希望大家给予指正,相互学习,谢谢~~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/128045.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 三种线程安全的单例模式(哪些集合是线程安全的)

    三种线程安全的单例模式(哪些集合是线程安全的)在单线程开发环境中,我们经常使用ArrayList作容器来存储我们的数据,但它不是线程安全的,在多线程环境中使用它可能会出现意想不到的结果。多线程中的ArrayList:我们可以从一段代码了解并发环境下使用ArrayList的情况:publicclassConcurrentArrayList{publicstaticvoidmain(String[]args)throwsInterruptedException{List<Integer>l

  • 免费申请国外免费域名超详细教程

    免费申请国外免费域名超详细教程1.首先申请免费域名网站:https://my.freenom.com/domains.php2.填入域名,这里我们以xcflag为列(尽量选择复杂一点的或者五个字母以上的域名,因为简单的有些域名是需要收费的),点击检查可用性。3.可以看到很多免费的域名(用的谷歌翻译插件,翻译有时候不是很准确,free翻译过来应该是免费而不是自由,之后会写一些关于谷歌插件的笔记,详细讲解)4.我们选择xcflag.tk点击立即获取,稍等一会点击购物车查看绿色按钮5.默认三个月试用,这里下拉框我们选择十二个月

  • 防抖(debounce) 和 节流(throttling)「建议收藏」

    防抖(debounce) 和 节流(throttling)「建议收藏」防抖和节流是针对响应跟不上触发频率这类问题的两种解决方案。在给DOM绑定事件时,有些事件我们是无法控制触发频率的。如鼠标移动事件onmousemove,滚动滚动条事件onscroll,窗口大小改变事件onresize,瞬间的操作都会导致这些事件会被高频触发。如果事件的回调函数较为复杂,就会导致响应跟不上触发,出现页面卡顿,假死现象。在实时检查输入时,如果我们绑定onkeyup事件发请求去…

  • 软件、硬件版本号命名规范 ,请收藏好![通俗易懂]

    软件、硬件版本号命名规范 ,请收藏好![通俗易懂]点击上方"编程技术圈"关注,星标或置顶一起成长后台回复“大礼包”有惊喜礼包!每日英文Ionceheardthat,theonlythingyoucand…

  • SDN网络下有哪些SDN交换机选择?「建议收藏」

    随着SDN技术的发展,SDN网络架构迎来了历史性的变革,SDN被认为是下一代网络变革的重要方向。而SDN交换机作为一款高性能,高密度的下一代交换机,为SDN大规模的商用部署和下一代网络技术的创新应用,起到了助推加速的作用。那么,什么是SDN网络,基于SDN技术的SDN交换机又是什么?面对不同类型的SDN交换机,我们又应该如何选择?接下来,本文将为您解答。SDN网络是什么SDN(SoftwareDefinedNetwork)即“软件定义网络”,SDN网络存在的目的是为了简化过多的网络结构,通过..

  • ActiveMQ入门系列一:认识并安装ActiveMQ(Windows下)

    一、什么是ActiveMQ度娘给出的定义:ActiveMQ的官网打出的标语(如上图):大意是:兼容性好并且功能强大的开源多协议消息中间件,那具体是怎么体现的呢?1.兼容性好:ActiveMQ可以

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号