#include <stdio.h>
#include <windows.h>
#include <time.h>
typedef struct RoutTable{//定义路由表
unsigned char tn; //目的网络地址
unsigned char d; // 距离
char next; //下一跳路由
}RTable;
void insertTable(RTable rt[], int *count, unsigned char tn,
unsigned char d, char next);
void init(RTable rt[],int *count);
void prt(RTable rt[], int count);
void updateRIP(RTable rt[],int *count,RTable rtu[], int *count2);
void receiveRIP(RTable rt[], int *count);
int main(){
RTable rt[100], rtu[100];
//rt表示我们需要维护的本地路由器,路由表最多有100条表项目
//rtu表示接收到的相邻路由器的路由表
int count = 0, count2 = 0; //分别表示rt和rtu两个路由器实际的路由数
init(rt,&count); //对路由器rt进行初始化,count采用地址传递方式
prt(rt,count); //打印路由器表rt
while(1){
Sleep(3000); //每间隔3000ms就更新一次路由器(模式周期更新,实际的算法要求30ms更新一次)
receiveRIP(rtu,&count2); //收到来自相邻路由器的路由表
printf("接收到的路由信息:\n");
prt(rtu,count2);
updateRIP(rt,&count,rtu,&count2);
printf("更新后的路由信息:\n"
计网:RIP路由协议(c语言)
最新推荐文章于 2024-04-27 09:47:41 发布