1 / 12
文档名称:

距离向量路由算法实验报告.doc

格式:doc   大小:41KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

距离向量路由算法实验报告.doc

上传人:bai1968104 2021/2/22 文件大小:41 KB

下载得到文件列表

距离向量路由算法实验报告.doc

文档介绍

文档介绍:信息安全_专业 1002_班 2012年12月20日
姓名吴文珊 学号_
实验题目
模拟距离向量路由算法的路由表交换过程,演示每轮交换后路由表的变化,动态生成网络拓扑图,从初始路由表开始,进行交换路由表,演示每轮交换后的路由表的变化。观察和讨论多少轮交换后路由表稳定。
需求分析
本程序用C编写,完成距离向量路由算法的模拟。
(1)输入的形式与输出值的范围:输入时要求输入节点个数、初始网络拓扑图中边的条数(即:邻居节点的对数),节点名称、每条边的弧头、弧尾节点、边权值。名字定义为字符串形式,节点个数、边条数、边权值为整形变量;
(2)输出的形式:输入信息后,程序输出每轮交换之后新的的路由表
(3)程序所能达到的功能:完成节点信息的输入、随机选取节点交换向量,并更新路由表,显示经过多少轮交换路由表稳定,并停止交换。
(4)测试数据:
节点个数:4
边条数 :4
节点名称:a b c d
弧头 弧尾 权值
a b 3
b d 6
c a 2
d a 6
最终距离向量矩阵如下:
a b c d
a 0 3 2 6
b 3 0 5 6
c 2 5 0 8
d 6 6 8 0
概要设计
(1)为了实现上述功能,须定义结构体的抽象数据类型
(2)本程序包含了 个函数:
void visit(VertexType ver)//访问顶点的函数
void input(VertexType &ver) //输入顶点信息的函数
int LocateVex(MGraph G,VertexType u)//查找顶点u,并返回
void CreateDN(MGraph &G)//构造有向网G
GetVex(MGraph G,int v)//得到图中顶点V
void Display(MGraph G)//显示路由表
void ShortestPath_Floyd()
各函数间关系如下:
CreateDN() LocateVex()
visit()
Main() Display()
GetVex()
ShortestPath_Floyd()
详细设计
实现概要设计中定义的所有的数据类型,对每个操作给出伪码算法。对主程序和其他模块也都需要写出伪码算法。
节点类型
struct VertexType//最简单的顶点信息类型(只有顶点名称)
{
char name[MAX_NAME];//顶点名称
char routers[MAX_VERTEX_NUM][MAX_NAME];//定义最短路径中到目的节点的上一跳
} ;
struct MGraph//图的结构
{
VertexType vexs[MAX_VERTEX_NUM];//顶点向量
AdjMatrix arcs;//邻接矩阵(二维数组)
int vexnum,arcnum;//图的当前顶点数和弧数
GraphKind kind; //图的种类标志
} ;
typedef struct //边(弧)信息结构
{
VRType adj;//顶点关系类型,对带权图,表示权值
}
struct VertexType//最简单的顶点信息类型(只有顶点名称)
{
char name[MAX_NAME];//顶点名称
char routers[MAX_VERTEX_NUM][MAX_NAME];//定义最短路径中到目的节点的上一跳
} ;
struct MGraph//图的结构
{
VertexType vexs[MAX_VERTEX_NUM];//顶点向量
AdjMatrix arcs;//邻接矩阵(二维数组)
int vexnum,arcnum;//图的当前顶点数和弧数