搭建一个简单的SDN网络环境

article/2025/9/26 22:26:42

第1小题:简单网络

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

 

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

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

 

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

拓扑结构自定,所用设备、软件等自选,只要能够实现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 h2
    PING 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 ms
    64 bytes from 10.0.0.2: icmp_req=2 ttl=64 time=0.394 ms
    64 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 s1
    OFPT_FEATURES_REPLY (xid=0x1): ver:0x1, dpid:0000000000000001
    n_tables:255, n_buffers:256
    features: capabilities:0xc7, actions:0xfff1(s1-eth1): addr:82:e0:d8:10:f6:92config:     0state:      0current:    10GB-FD COPPER2(s1-eth2): addr:6a:ef:a1:77:19:8cconfig:     0state:      0current:    10GB-FD COPPERLOCAL(s1): addr:2e:25:ee:8e:1e:45config:     PORT_DOWNstate:      LINK_DOWN
    OFPT_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的相关知识,有些配置还不是很了解,希望大家给予指正,相互学习,谢谢~~



http://chatgpt.dhexx.cn/article/3XWG9QTF.shtml

相关文章

Hyperledger Fabric网络环境手动配置及其链码自动化部署

目录 5.1 网络环境的搭建 5.1.1 生成组织结构与身份证书 5.1.2 生成创世区块和通道 5.1.3 启动Fabric网络 5.1.4 创建Fabric-SDK-GO对象并建立通道 5.1.5 Fabric-SDK-Go实现链码的自动部署 5.2 链码实现 5.1 网络环境的搭建 5.1.1 生成组织结构与身份证书 Hyperledger Fabric…

Linux 实用指令 -- 网络配置(查看网络IP和网关、 ping 测试主机之间网络连通、Linux网络环境配置(指定固定ip))

文章目录 1. 网络配置1.1 查看网络IP和网关1.1.1 查看虚拟网络编辑器1.1.2 这里可以修改ip地址&#xff08;修改虚拟网络的ip&#xff09;1.1.3 这里可以修改网关&#xff08;虚拟网络的网关&#xff09;1.1.4 查看windows环境的中VMnet8网络配置 1.2 ping 测试主机之间网络连通…

Linux系统配置网络环境的图文教程(完整版)

Linux系统配置网络环境步骤 1、网络配置查看 记住NAT设置中的子网IP、子网掩码、网关IP三项&#xff0c;接下来配置文件主要是这三项。 2、编辑Linux中的网络配置文件 命令&#xff1a;vi /etc/sysconfig/network-scripts/ifcfg-ens33 #注 网络配置文件名可能会有不同&#…

2022电工杯:5G 网络环境下应急物资配送问题(优化)

题目 问题一 图一&#xff1a; 附件一&#xff1a; 要求&#xff1a; 问题二 图二&#xff1a; 要求&#xff1a;&#xff08;基于第一问增加了飞机&#xff09; 问题三 附件二&#xff1a; 应该就说修改一下第二问范围&#xff1a; 问题四 图三&#xff1a; …

tiktok手机网络环境怎么设置?tiktok怎么破播放量?

tk很多没有播放的原因&#xff0c;有一部分是来源于手机&#xff0c;残留着国内的使用痕迹&#xff0c;不要插卡&#xff0c;使用一部闲置的手机来做调试&#xff0c;手机不是很卡&#xff0c;能刷视频就可以&#xff0c;常见的水果机比较好用&#xff0c;以下就是手机设置的一…

Linux系统网络环境配置(初学者必看)!!

Linux系统网络环境配置 大家好&#xff0c;我是作者小白&#xff0c;很高兴在这里跟大家分享在Linux初学者必须经历的一个问题&#xff0c;那就是在VM Ware中网络环境配置&#xff0c;步骤很简单&#xff0c;相信你看一遍就能立马上手&#xff0c;那我们开始吧&#xff01;&am…

VMware 网络环境配置(win7系统)

我们在装完VMware虚拟机以及windows7系统之后&#xff0c;需要虚拟机与本地计算机通信&#xff0c;或者需要虚拟机上网&#xff0c;这就需要我们进行虚拟机的网络配置。这篇文章将简单介绍VMware网络配置的三种方式&#xff0c;并完成NAT模式下的网络配置。 一、VMware的网络配…

【网络模拟】网络环境模拟搭建

原先使用NEWT在Windows端搭建一套网络仿真的环境&#xff0c;现在搭建一套更加精确的网络控制器 网络模拟拓扑图 其中&#xff0c;网络控制器需要时一个双网卡的服务器&#xff0c;两个网口eth0和eth1 网桥的搭建 **网桥&#xff1a;**工作在网络链路层&#xff0c;可以连接…

eNSP模拟简单网络环境

eNSP模拟简单网络环境 实验环境 用ensp搭建图中拓扑&#xff0c;其中cloud1所在的网络为vmnet1&#xff0c;VMware Workstation中开启一台windows7计算机&#xff0c;网络桥接在VMnet1&#xff0c;IP地址配置为192.168.1.40/24.其他设备配置的地址参数拓扑图中的标示信息。 …

【卷积神经网络环境搭建学习笔记】

卷积神经网络环境搭建学习笔记 前言 首先&#xff0c;特别感谢B站UP主&#xff1a;肆十二- csdn链接&#xff1a;https://blog.csdn.net/ECHOSON/article/details/117964438 再次感谢这位up主的视频对我这个2022年3月10号这一天刚接触卷积神经的初学者带来的帮助&#xff0c;…

Hyperledger Fabric 网络环境的一点理解

Hyperledger Fabric 开发链码&#xff0c;一般都是测试网络开发&#xff0c;然后部署到生产网络。 下面介绍测试网络、生产网络的一点理解。 1 测试网络 使用cryptogen等工具建立测试网络&#xff0c;开发环境使用。 这里以https://github.com/hyperledger/fabric-samples 2…

网络环境和项目环境

网络环境&#xff08;免密码认证&#xff09; 1 客户端生成密钥对ssh-keygen -t rsa 2 公钥发给服务器公钥字符串存放到/home/dev/.ssh/authorized_keys(在/etc/ssh/sshd_config中的authorized_keys 配置项指定) 3 重启ssh服务项目环境 两个重点知识点 xshell下拷贝文件&…

cf网络不稳定或服务器异常,电脑玩穿越火线为什么提示网络环境异常 - 卡饭网...

win7电脑玩CF为什么老是提示游戏环境异常请重启机器后再试? win7电脑玩CF为什么老是提示游戏环境异常请重启机器后再试? 伴随着win7 64位旗舰版电脑的兼容性越来越好,许多用户也开始放弃了已经退出历史舞台的XP系统,转而将win7作为是自己最佳的选择,当然,这种变更多少有些无奈…

linux网络查看,Linux网络命令(网络环境查看和网络测试命令)

一、网络环境查看命令 1、ifconfig命令 查看与配置网络状态命令 2、ifdown 网卡名 ifdown lo #禁用网卡 3、ifup 网卡名 ifup lo # 启用网卡名是lo网卡 4、netstat 常见的有 netstat -tuln # 后面的选项不分先后 netstat -an # 表示查看所有网络连接 netstat -ant | grep LISTE…

VMWARE虚拟机网络环境配置

VMWARE虚拟机网络环境配置 1.查看物理机ip信息 命令&#xff1a;ipconfig2.配置网络适配器环境 ① 点击“控制面板”&#xff0c;选择“网络和Internet”② 点击“查看网络状态和任务”③ 点击“更改适配器设置”④ 选择VMnet8那个适配器&#xff0c;邮件选择“属性”⑤ 选择…

Ubuntu网络环境配置

在安装完vm和Ubuntu之后&#xff0c;我使用了Iifconfig&#xff0c;我的目的是查看该虚拟机是否网络连通了&#xff0c;是否可以使用网络&#xff0c;很遗憾的是&#xff0c;没有。下面进行网络环境配置的总结。 首先你需要做的是打开你windows上的网络和共享中心&#xff0c;…

办公网络环境搭建

一,简介 通过搭建环境,可以在任何地方(公司,家里,地铁...)使用客户端登录,来访问公司的其他机器,但不影响非公司网络的访问(百度,微博,淘宝...) 网络流程图 二,搭建前的准备 注意,以下开始,使用的ip都是假的,根据自己服务器ip自行更换 1,服务器A,centos7系统,内网ip 192.168.…

ubuntu网络及基础环境搭建(IP,防火墙,DNS,源 等)

之前有文章介绍过centos的基本环境搭建: 《centos7虚拟机网络与DNS上网配置》 《centos源配置和yum使用》 而针对ubuntu的环境配置&#xff0c;由于很多文件路径以及命令和centos有很大差别。这里针对ubuntu的基本环境搭建写个教程。 文章目录 一、基本网络环境配置&#xff0…