您的位置:首页 > 理论基础 > 计算机网络

SDN 下用ODL实现QoS保障(2)-创建网络拓扑

2017-11-08 12:43 1376 查看

1.确定一个网络拓扑结构

为了实验的效果更加显著,实验用的拓扑不能过于简单,因此经过考虑之后决定设计一个带有环的网络拓扑,而不是常见的树状网络。



(此图片来自网络,如有侵权,请联系我删除)

在这个树状网络中,我们可以看到,连接任意两台主机的路径是唯一的。为了在后期实现寻路相关的功能,经过考虑我们舍弃了树状网络拓扑结构,决定采用以下这种环路结构。

这个网络拓扑相对较为复杂,存在着一些线路上的冗余,比较像真实的网络环境(个人感觉)。



(此图感谢gy提供)

确定完拓扑结构之后,顺便确定一下网络其他参数如下:

带宽为100M,延迟10ms。

2.编写Mininet拓扑脚本(Python2.7)

既然网络结构已经确定了,下面的任务就是根据Mininet的接口实现上述的网络拓扑了。

在这里我们使用的是Mininet提供的其中一种拓扑的构建方法。实际上Mininet的拓扑的构建,官方还提供了一种图形化的构建工具,请有兴趣的读者不妨自行尝试一下,看看与一下的构建方式的具体的区别是什么(实际上是有较大区别的)。

我们新建一个名为my_topo.py的拓扑Python脚本,内容如下:



在与 my_topo.py 的同级目录下,新建一个start_my_topo.sh 的脚本文件。

文件内容如下:

sudo mn --custom my_topo.py --topo mytopo  --controller=remote,ip=127.0.0.1,port=6633 --mac  --link tc,bw=100,delay=10ms,max_queue_size=1000  --switch ovsk,protocols=OpenFlow13


相关的参数介绍:

–controller :因为Mininet与ODL我们放到一块了,因此Mininet找ODL只需要在本机找就能找到了,如果ODL与Mininet不在同一个主机下,务必修改IP地址为ODL主机实际的IP地址。

–link tc,bw=100,delay=10ms,max_queue_size=1000: 确定网络的带宽,延迟,队列等参数

–switch ovsk,protocols=OpenFlow13 : 确定拓扑中的交换机支持通信的协议为OpenFlow13。

接下来运行这个脚本就可以了



回到ODL页面Reload拓扑



很奇怪只显示交换机并没有显示主机,这时只需要在mininet命令行页面输入:

pingall 命令。



这是再Reload一下看看,所有主机都出现了



至于为什么会这样,这个问题的答案先保留着。

至此,创建网络拓扑的工作完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: