77范文网 - 专业文章范例文档资料分享平台

基于SDN的最短路径算法(dijkstra)实现

来源:网络收集 时间:2019-03-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

基于SDN的最短路径算法(dijkstra)实现

一.实验要求

把路由算法作为APP加入到控制器中,使SDN网络实现根据拓扑情况自动选择路由的功能。

二.实验环境及思路

本实验的控制器采用Floodlight,向Floodlight添加模块zhlruote以实现控制器路由功能。

将上题中采用的dijkstra最短路径算法加入到控制器中,控制器根据选择出的路由下发流表给交换机,从而使主机节点能够相互通信。实验中各个链路的带宽约束及带宽需求bdw通过zhlroute模块在init()方法中读取input.txt文件获得,源节点与目的节点通过packetin消息获得。

zhlroute模块初始化完成后,监听PacketIn消息,收到消息后进行判断,如果需要转发,则通过returnRoute()方法获取目的节点到源节点的完整路径,并对路径上的节点进行遍历以下发流表。在获取路由路径时,使用

floodlight提供的拓扑管理模块(TopologyManager.java)来获取各链路的连接状态(包括连接节点及端口,存储于clusters类集中),通过对各个节点上与其相连的链路的遍历来获取源节点到目的节点的完整路径。

模块整体流程图如图1所示:

1

图1:zhlroute模块流程图

三.实验步骤

(1)修改第一大题中用到的创建拓扑的myfirst.py文件,创建如下所示拓网络拓扑:拓扑中包括8台交换机和8台主机,交换机根据其SwitchDPID(00:00:00:00:00:00:00:00到00:00:00:00:00:00:00:08)由低到高分别标记为s1到s8,主机h1-h8(ip)分别与s1-s8相连。

2

图2:网络拓扑

图3:网络拓扑

(2)启动floodlight,注意将forwarding模块禁止启动加载,然后对zhlroute模块进行连通性测试,结果如图4。说明各主机可以进行通信,zhlroute模块能够发现路径并下发流表。

3

图4:zhlroute模块功能测试

实验中带宽约束及带宽需求(bdw)通过读取input.txt文件获得,input.txt文件内容如下(本实验中的源节点与目的节点从PacketIn消息中获得,不通过input.txt文件获得):

leftnodeID,rightnodeID,bandwidth

1,3,100 1,4,100 2,3,100 2,4,100 3,4,100 3,5,100 3,6,100 4,5,100 4,6,100 5,6,100 5,7,100 5,8,100 6,7,100 6,8,100 ;

srcNodeID,dstNodeID,bandwidth 3,8,90

(3)进行路径分析测试,在模块中添加语句System.out.println(route)以输出获取

到的Route,输入以下命令:测试主机h1与h7能否通信并获取经过的路径信息。

4

elcipse控制台中输出的信息(整条路径)如下:

Route

[id=RouteId

[src=00:00:00:00:00:00:00:07

port=1],

port=5], port=5],

dst=00:00:00:00:00:00:00:01],

port=2], port=2], port=2],

switchPorts=[[id=00:00:00:00:00:00:00:07, [id=00:00:00:00:00:00:00:05, [id=00:00:00:00:00:00:00:03, Route

[id=RouteId

[id=00:00:00:00:00:00:00:07,

[id=00:00:00:00:00:00:00:05, [id=00:00:00:00:00:00:00:03,

[id=00:00:00:00:00:00:00:01, port=2], [id=00:00:00:00:00:00:00:01, port=1]]]

[src=00:00:00:00:00:00:00:01

port=1],

port=2], port=2],

dst=00:00:00:00:00:00:00:07],

port=2], port=5], port=5],

switchPorts=[[id=00:00:00:00:00:00:00:01, [id=00:00:00:00:00:00:00:03, [id=00:00:00:00:00:00:00:05,

[id=00:00:00:00:00:00:00:01,

[id=00:00:00:00:00:00:00:03, [id=00:00:00:00:00:00:00:05,

[id=00:00:00:00:00:00:00:07, port=2], [id=00:00:00:00:00:00:00:07, port=1]]]

输出的route中,每条完整路径由id确定(源节点和目的节点)。完整路径包括了路径所经过的每个端口的信息(所属交换机、端口号)。

上面输出的route信息中,路径节点包括(1,3,5,7),即该路径经过了s1、s3、s5、s7交换机,结果和路由算法题中的结果一致,说明该模块成功完成了上题中的路由算法功能。

(4)修改输入数据,再次进行路径分析测试

修改input.txt文件中的数据如下所示:

leftnodeID,rightnodeID,bandwidth 1,3,80 1,4,100 2,3,60 2,4,100 3,4,100 3,5,95 3,6,100 4,5,80 4,6,110 5,6,90 5,7,120 5,8,100 6,7,95 6,8,100

5

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于SDN的最短路径算法(dijkstra)实现在线全文阅读。

基于SDN的最短路径算法(dijkstra)实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/524184.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: