计算机网络实验报告2014年

更新时间:2023-09-30 02:30:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机网络

实 验 报 告

学生姓名

学 号 09091219 专业班级 计科12 指导教师

学 院 信息科学与工程学院 完成时间 2014年5月

实验一 网络路由层协议模拟实验

【实验目的和要求】

1. 掌握VB、VC++、VS或JAVA等集成开发环境编写路由仿真程序的方法; 2. 理解并掌握距离向量路由协议和链路状态路由协议的工作原理。

【实验内容】

模拟距离向量路由算法的路由表交换过程,演示每轮交换后路由表的变化。

基本要求(动态生成网络拓扑图,节点间的距离随机生成。从初始路由表开始,进行交换路由表,演示每轮交换后的路由表的变化。观察和讨论多少轮交换后路由表稳定)

【实验原理】

距离矢量路由算法”的基本思想如下:每个路由器维护一个距离矢量(通常

是以延时是作变量的)表,然后通过相邻路由器之间的距离矢量通告进行距离矢量表的更新。每个距离矢量表项包括两部分:到达目的结点的最佳输出线路,和到达目的结点所需时间或距离,通信子网中的其它每个路由器在表中占据一个表项,并作为该表项的索引。每隔一段时间,路由器会向所有邻居结点发送它到每个目的结点的距离表,同时它也接收每个邻居结点发来的距离表。这样以此类推,经过一段时间后便可将网络中各路由器所获得的距离矢量信息在各路由器上统一起来,这样各路由器只需要查看这个距离矢量表就可以为不同来源分组找到一条最佳的路由。

【编程语言和环境】

1. Windows操作系统,编程语言C++

2. 编程环境VC

【实验具体设计实现及结果(含流程图及关键代码说明)】

采用网络拓扑结构

C 9 F 4 2 B A 5 3 G 5 8 D 1 E

源代码:

#include \#include \

#include \ //atoi的头文件

#define ROUTNUM 7 //定义路由的个数为7个

typedef struct {

int dis; //存延迟大小 int from; //存下一跳的路由 }RoutNode;

RoutNode data[ROUTNUM][ROUTNUM];

/*路由表,能存7行7列数据,数据为权值*/

void InitData(FILE* pfile); /*从数据文件读取数据,初始化路由表*/ void OutputRoutData(); /*输出所有的路由表*/

void Communication(int recv, int send);/*send点向recv点发送自己的路由表*/ void Exchange(); /*所有节点进行一次数据交换, 更新路由表*/

void main() { int start, end, i, j; FILE *pfile; pfile = fopen(\ if (pfile == NULL) { printf(\文件打开错误,按任意键退出.\\n\ getch(); return; } else printf(\路由表初始:\\n\ InitData(pfile); fclose(pfile); for (i = 0; i 0) printf(\ printf(\ } //显示各路由的路由表

本文来源:https://www.bwwdw.com/article/5ddd.html

Top