计算机网络1-距离矢量路由算法模拟

本文介绍了一次计算机网络实验,通过C语言模拟距离矢量路由算法。实验涉及网络拓扑图的存储,路由表初始化,节点间的路由更新,并分析了实验过程中的难点和注意事项,强调了实践在学习中的重要性。
摘要由CSDN通过智能技术生成

距离矢量路由算法实验

一、实验要求

 

 

网络拓扑图

 

实验过程描述

1、将上面的网络拓扑图保存待用

例如,可用二维数组保存,数组下标或索引可隐含表示网络节点。数组元素保存网络拓扑图边上的权值

2、为每个网络节点初始化并保存一张路由表

例如,可以用单链表表示一个网络节点的路由表,单链表的每个结点存储一个表项信息;表项信息是一个三元组(目的节点,下一跳,开销),可用结构体表示。结构体包括四个字段:目的节点,下一跳,开销,指向下一个结点的指针。以网络节点A为例,它的初始路由表仅包含两个表项,如下所示:

 

可将所有网络节点的路由表头指针保存在一个一维数组中,数组下标或索引可隐含表示网络节点。

3、给每个网络节点一次执行距离矢量路由更新的机会,可用一个循环达到此效果

例如,当A执行距离矢量路由更新时,它需要它的邻居B和G的路由表,这里可忽略B和G发送路由表的操作,直接使用即可。

A更新前的路由表不能丢弃,原因有二:一、需要与更新后的路由表比较,看是否有变化;二、在A的邻居节点执行距离矢量路由更新时,它使用的是A的旧表,尽管此方式并非实际所用,但我们要求采用此种方式模拟所有节点同时进行路由更新的效果。

距离矢量路由更新的过程见书。

需要记录这一次路由更新过程中,每个节点的路由表是否发生变化。可用一个布尔变量来标记,初始化这个布尔变量为“假”,若出现一个网络节点的路由表发生变化的情况就置为“真”。

4、若布尔变量为“真”,则累加一次更新记录,并重复开始步骤3;若为“假”,则所有节点的路由表稳定了,可以输出一个节点从初始到稳定的所有路由表数据以及更新次数。

 

二、实验分析与设计

1.用c语言来实现(结构化程序设计)

根据上述实验内容来做。一点一点实现即可。

2.实验中的注意点和难点。

    (1)注意内存回收

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值