预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

计算机网络课程设计说明书RIP协议路由表调整算法的实现起止日期:2012年06月18日至2012年06月22日学生姓名班级通信学号成绩指导教师(签字)计算机与通信学院2012年6月22日目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc327998036"一、设计目的PAGEREF_Toc327998036\h1HYPERLINK\l"_Toc327998037"二、设计内容PAGEREF_Toc327998037\h1HYPERLINK\l"_Toc327998038"三、实验基本原理PAGEREF_Toc327998038\h1HYPERLINK\l"_Toc327998039"距离向量算法PAGEREF_Toc327998039\h1HYPERLINK\l"_Toc327998040"四、总体设计PAGEREF_Toc327998040\h2HYPERLINK\l"_Toc327998041"五、源程序PAGEREF_Toc327998041\h3HYPERLINK\l"_Toc327998042"六、程序运行情况PAGEREF_Toc327998042\h10HYPERLINK\l"_Toc327998043"1.初始化的路由表PAGEREF_Toc327998043\h10HYPERLINK\l"_Toc327998044"2.更新中的路由表PAGEREF_Toc327998044\h10HYPERLINK\l"_Toc327998045"3.更新完后的路由表PAGEREF_Toc327998045\h11HYPERLINK\l"_Toc327998046"七、实验总结PAGEREF_Toc327998046\h11HYPERLINK\l"_Toc327998047"参考文献PAGEREF_Toc327998047\h11RIP协议路由表调整算法的实现一、设计目的理解RIP协议的工作原理;掌握RIP的收敛实现;根据相邻路由器传来的路由信息修改本站路由表。二、设计内容【主要要求】熟悉RIP协议机制。完成路由表的更新。【方法提示】用一个二维数组存储路由表。用一个文件存储一个路由器的路由表,初始化为只含相邻网的路由(1跳)。设计一个函数,实现路由表调整算法。外循环:每个节点读取相邻节点的路由表,更新自己的路由表。内循环:读取一个相邻节点的路由表,更新一次自己的路由表。交互式确定,是否继续外循环(连续二次交换路由信息后路由表不在变化)。【程序输出】接收的相邻站的路由表。本站调整前的路由表。本站调整后的路由表。【调试数据】一个小网络的路由收敛过程如图,四个网络N、三个路由器R的小网N1――R1――N2-―R2――N3――R3――N4用四个文件存储四个路由器的路由表,初始化为只含相邻网的路由(1跳)。(观察结果,多少次交换路由信息后路由表收敛,即路由表不在变化)【选作】增加一个网络和一个路由器,相邻节点交换路由表,直至路由表收敛(不在变化)。删除一个网络和一个路由器,相邻节点交换路由表,直至路由表收敛(不在变化)。三、实验基本原理距离向量算法对每一个相邻路由器发送过来的RIP报文,进行以下步骤:对地址为X的相邻路由器发来的RIP报文,先修改此报文中的所有项目:把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值加1.每一个项目都有三个关键数据,即:到目的网络N,距离d,下一跳路由器是X。对修改后的RIP报文中的每一个项目,进行以下步骤:若原来的路由表中没有目的网络N,则把该项目添加到路由表中。否则,若下一跳路由器的地址是X,则把收到的项目替换原路由表中的项目否则若收到的项目中的距离d小于路由表中的距离,则进行更新,否则什么都不做。若3分钟还没有收到相邻路由器的更新路由表,则把次相邻路由器记为不可达的路由器,即把距离置为16.返回。四、总体设计RIP协议路由表调整算法的实现最重要的是距离向量算法的实现:对地址为X的相邻路由器发来的RIP报文,先修改此报文中的所有项目:把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值加1.每一个项目都有三个关键数据,即:到目的网络N,距离d,下一跳路由器是X。voidNetwork::change(inti){for(intj=0;j<tiao[i];j++){rts[i][j].distance=rts[i][j].distance+1;rts[i][j].next_route=rt[i].route;}}若原来的路由表中没有目的网络N,则把该项目添加到路由表中。intx,y;in