路由算法之——传统SPF路由
2016-05-26 20:43
295 查看
摘要
本文主要讲述传统SPF路由算法。
1. 背景
底层的拓扑结构如图所示,这里的所有相关拓扑数据全部来源于TOTEM工具箱,相关拓扑,请求数据本人已经上传,感兴趣的读者点击下载即可拓扑请求相关数据下载链接
2. 主要代码
%% 最短路径路由
for i = 1:length(req)
for j = 1:length(req)
if req(i,j) ~= 0
[hop, route] = dijkstraSingle(dist, i, j);
for t = 1:(length(route)-1)
bwAvl(route(t),route(t+1)) = bwAvl(route(t),route(t+1))-req(i,j);
end
end
end
end
%% SPF链路(A single-shortst path)使用率
temp = bw - bwAvl;
spf = zeros(12,12);
res=[];
for i = 1:length(bw)
for j = 1:length(bw)
if bw(i,j) ~= 0
spf(i,j) = temp(i,j)/bw(i,j);
if spf(i,j) ~= 0
res = [res, spf(i,j)];
end
end
end
end
figure('name','SPF链路使用率');
bar(res,0.2);
title('SPF链路使用率(A single-shortest path)');
xlabel('链路');
ylabel('链路带宽使用率');
3. 链路(有向图)负载状况
本文主要讲述传统SPF路由算法。
1. 背景
底层的拓扑结构如图所示,这里的所有相关拓扑数据全部来源于TOTEM工具箱,相关拓扑,请求数据本人已经上传,感兴趣的读者点击下载即可拓扑请求相关数据下载链接
2. 主要代码
%% 最短路径路由
for i = 1:length(req)
for j = 1:length(req)
if req(i,j) ~= 0
[hop, route] = dijkstraSingle(dist, i, j);
for t = 1:(length(route)-1)
bwAvl(route(t),route(t+1)) = bwAvl(route(t),route(t+1))-req(i,j);
end
end
end
end
%% SPF链路(A single-shortst path)使用率
temp = bw - bwAvl;
spf = zeros(12,12);
res=[];
for i = 1:length(bw)
for j = 1:length(bw)
if bw(i,j) ~= 0
spf(i,j) = temp(i,j)/bw(i,j);
if spf(i,j) ~= 0
res = [res, spf(i,j)];
end
end
end
end
figure('name','SPF链路使用率');
bar(res,0.2);
title('SPF链路使用率(A single-shortest path)');
xlabel('链路');
ylabel('链路带宽使用率');
3. 链路(有向图)负载状况
相关文章推荐
- 实战---CGLib实现动态代理
- int main(int argc,char* argv[])详解
- 基于opencv的Gabor特征提取
- java 时间和日期的格式化
- quartz集群调度机制调研及源码分析
- RPC通信框架——RCF介绍(替换COM)
- 旧版本Ubuntu添加源
- CAFFE学习笔记(五)用caffe跑自己的jpg数据
- [JSOI2016]反质数序列
- Java抽象类与接口的区别
- sdut 3264 山理工第七届校赛--学区房问题
- ant的使用
- 6_15 给任务排序(UVa10305)<拓扑排序>
- linux内核分析ELF文件分析实践报告
- caffe 编译出错
- Robberies
- Codeforces Round #329 div2
- Windows错误码解析
- Android自定义View之如期相遇的百分比进度条RatioProgress
- 如何理解:int main(int argc, char** argv)