这个部分是我们的重点,也就是方案设计,重点讲述了我们的实验是怎么实现的,也将展现许多实验细节(以后会在上面用差不多一天的实现来写实验报告,反思才是最珍贵的,我们提出的更加好的理论,会充分详细,还有就是想说,不能再水了,明天就把那个撬开,不能再忍了,还有不是不能做,而是没有动力了(比如买衣服),开始强迫,开始找浙源想想怎么办,重点是先不要在这里,出去什么都好说,周围环境对我很重要)


目录:

课程作业目的

场景设计与实验预期

我们一个一个慢慢来写好他


1 实验目的及预期

———————————————————————————————

1.1 实验目的

个人认为这次课程的作业的目的大概有三个大方向:

  • 熟悉SDN:首先可以很直接地从实验这个项目看出,这是在锻炼我们的动手能力,同时也是使得我们对于SDN的认识更加的深刻
  • 了解前沿计算机网路知识:我想这也是老师最初开设这门课的初心,我们信息安全专业需要掌握更加多的关于计算机网路的知识
  • 激发计算机网路知识的兴趣:学习我个人认为也是要开心的,所以如果这个课程使得我们产生了有关计算机网路的兴趣,那也算是意外收获

-----------------------------------------------------------------------------------------------

1.2 实验预期

由于这次实验我们主要的目的是要实现比较SDN路由和传统路由方式的区别。所以我们在实验上有几个预期:

  • 基本达到实验要求,实现SDN
  • 实现负载均衡

因为当时是在对于实验比较模糊的阶段,所以没有什么太过具体的要求

———————————————————————————————

2 实验准备

———————————————————————————————

(个人部分就写在这里面)

因为这个部分比较多,所以我们还是需要进行先分类。首先我们会说明方案的设计,然后是说明实验的分工,接著就是实验重点的实现,我们也会进行再分类,主要为:

  • 实验环境安装:(会讲述一部分问题在其中,次要因为不是我的主要部分)
  • 环境的熟悉:
    • 了解SDN怎么建立连接
  • 实验实现:
    • 建立拓扑图
    • 确定路由思路
    • 创建流表
    • 数据抓包

-----------------------------------------------------------------------------------------------

2.1 实验分工

我们最初的分工是先统一安装环境,但是由于安装环境太过于困难,所以我们转换了分工,先有我的队友安装环境,我来实现实验。这样不至于完成不了实验。

-----------------------------------------------------------------------------------------------

2.2 实验环境安装

我们本次实验安装的是ubuntu-14.05,mininet,opendaylight控制器

mininet安装:

安装git:apt install git
从github获取Mininet源码:git clone git://github.com/mininet/mininet
获取源码树并安装Mininet:cat INSTALL
完整安装命令:cd mininet ./util/install.sh –a
若出现Enjoy mininet!则安装成功,但是往往需要多次执行最后一步才能成功

opendaylight安装:

  • 官方下载安装包:

distribution-karaf-0.6.1-Carbon.zip
apache-maven-3.6.0.tar.gz
若出现官网打不开,下载速度很慢,下载一部分失败建议使用VPN

  • 安装Oracle Java:

add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer
查看版本:
java --version

  • 安装maven:

tar xvzf apache-maven-3.6.0-bin.tar.gz
gedit /etc/profile
添加:
M2_HOME=/opt/apache-maven-3.5.0
CLASSPATH=$CLASSPATH:$M2_HOME/lib
PATH=$PATH:$M2_HOME/bin export
PATH CLASSPATH M2_HOME
source /etc/profile
mvn –version
若失败,则需要多次执行source /etc/profile

  • 安装ant:

apt-get install ant

  • 安装Opendaylight

unzip distribution-karaf-0.6.1-Carbon.zip
cd home/Downloads/distribution-karaf-0.6.1-Carbon/bin
./karaf
修改host:
cd home/Downloads/distribution-karaf-0.6.1-Carbon/etc
gedit org.apache.karaf.management.cfg
rmiRegistryHost = 0.0.0.0 改为: rmiRegistryHost = 127.0.0.1
rmiServerHost = 0.0.0.0 改为:rmiServerHost = 127.0.0.1

由于安装部分不是我负责,所以以上细节可能理解不是很深刻

-----------------------------------------------------------------------------------------------

2.3 实验环境的熟悉

-----------------------------------------------------------------------------------------------

———————————————————————————————

3 实验方案和技术细节

———————————————————————————————

3.1 拓扑设计

我们直接使用了老师给定的拓扑图

因为我们的实验要求中,使用h4作为伺服器,所以我们本著从易到难的思想来做。

=======================================================

3.2 设计方案

因为我们希望的是从传统路由开始不断加上一些约束条件来看看,所以我们主要设置了三个方案。

case1:传统路由用于性能对比

case2:在传统路由的基础上加上了以ipv4地址作为路由的选项

case3:在case2的基础上我们设置了tcp和udp

路线:

设计的路线

我们通过上述路线来进行试验,我们已经使用不同颜色的线进行标记

======================================================

3.3 查看默认配置

======================================================

3.4 方案一实现

======================================================

3.5 方案二实现

有了方案一实现的经验我们后面的方案实现就简单了很多,其中主要的区别就是流表的修改和捕捉到数据不同。

3.5.1 流表修改

其中需要多填写一项layer-3-match(ipv4-match)->ipv4-source:10.0.0.1/32

其他的流表几乎和之前不同,注意点就是不要重复,或者先删除原来的流表

3.5.2 数据捕捉

流表:

主机ping测试:

h1 ping h4- client

h1 ping h4- server

wireshark:

======================================================

3.6 方案三实现

同样该方案中大体没有改变,主要改变为埠号,流表项和测试结果。这里以TCP作为例子

3.6.1 埠项

s4:3->1,1->3

s7:1->3,3->1

3.6.2流表项

我们需要填写ip-match->ip-protocal:6

3.6.2 捕捉结果

1 TCP

h3 ping h4-client
h3 ping h4 -server

2 UDP

h1 ping h4
h3 ping h4

———————————————————————————————

4 实验问题及解决方案

———————————————————————————————

实话说我们遇到的问题可能一万字都说不完。所以我们挑出了最主要的问题。

4.1 流表的填写

(给点时间调整到最好状态,作业做完之后的调整,多看几遍的时间,微调的时间逼迫出来,查错)

最初我们完全不知道流表的含义,看著流表那么多的选项无从下手,我们只能尝试,上网搜资料,从中得到灵感。

-----------------------------------------------------------------------------------------------

4.2 环境的安装

虽然说我们的分工任务中,我是没有实验安装,但是其实我们进行这个实验的时间中。安装是占了大部分的时间的。我们在安装完实验环镜之后的实验过程就还算比较顺利,但是在此之前我们可以说是快要疯了。最后还是一个个解决了

-----------------------------------------------------------------------------------------------

4.3 软体的使用方法

虽然我们在上面的看起来很溜,但是其实我们是经过了无数的尝试之后才得到的结果。或许是能录不足吧

推荐阅读:

相关文章