rip java_RIP路由选择算法

本文档通过Java模拟了RIP路由选择算法,包括路由器初始化、路由表的建立和更新过程。实验中,路由器定期广播路由信息,当180秒未收到更新,将记录设为无效。此外,还展示了简单的GUI界面用于展示路由表状态。
摘要由CSDN通过智能技术生成

一、实验目的

模拟 RIP 路由选择算法的工作原理。

二、实验内容

针对上述网络结构,模拟 RIP 路由选择算法的工作原理,包括各个路由表的 建立更新过程,设计简单的图形界面。

三、实验原理

1.路由器刚启动时,对其路由表进行初始化。

2.路由表建立后,路由器周期性地向相邻路由器广播自己的路由表信息。假 设 R1,R2 是一个自治系统中两个相邻的路由器。如果 R1 中没有这项纪录,R1 在 路由表中增加该项,由于要经过 R2 转发,所以距离加 1;如果 R1 路由表中的一 项记录比 R2 发送的一项记录距离值减一还要大,R1 则在路由表中修改该项,距 离根据 R2 提供的值再加 1。 3.RIP 路由更新算法中,每隔 30 秒在相邻的路由器之间减缓依稀路由更新信 息,产生一个随机延迟信息,当记录在 180 秒内没有收到刷新信息时,,路由器 将该记录置为无效,如果无效的记录持续时间超过 120 秒,则请出该项信息。

四、实验代码

1.Client类:

package RIM;

public class Client {

public static StringBuffer source = new StringBuffer();

public static StringBuffer aim = new StringBuffer();

public static final int SUM = 10;

private static Router[] routers = createRouter();

public static void makeAll() {

for(Router r : routers){

source.append(r.getInfo());

}

for(Router r : routers)

r.send();

for(Router r : routers){

aim.append(r.getInfo());

}

}

public static void refresh(){

source = new StringBuffer();

for(Router r : routers){

source.append(r.getInfo());

}

for(Router r : routers)

r.send();

aim = new StringBuffer();

for(Router r : routers){

aim.append(r.getInfo());

}

}

public static Router[] createRouter(){

Router[] routers = new Router[SUM];

for (int i = 0; i < SUM; i++){

routers[i] = new Router("Router"+i);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值