- 1 - 网络程序设计 课程设计报告 题 目 RIP协议设计 专业及班级 网络工程1101班 学 号 姓 名 日 期 2012年 7月 3日 - 2 - 一、 课程设计目的 了解RIP协议的原理和应用等相关知识,通过距离矢量算法来实现最短传输路径的路由选择。通过本次课程设计,可以对 RIP协议的工作原理和实现机制,路由表的建立和路由信息的更新等有更直观和清晰的认识。 程序运行后能与路由器的RIP协议程序正确通信。 查阅相关RFC。 提供配置命令,程序运行后能动态设置协议参数。 收到的数据先放入循环队列,再从队列中取出依次处理。 使用定时器处理超时事件。 二、 设计与实现 2.1 RIP协议的报文格式分析 对于 RIP报文有两种版本的格式,Version 1和Version 2。两种报文稍有不同,如所示分别为 RIPv1和RIPV2: 命令 版本 全零 地址族 全零 IP 地址 全零 全零 度量值 前 20 个字节的重复 命令 版本 路由选择 地址族 路径标签 IP 地址 子网掩码 下一个站点的IP 地址 度量值 前 20 个字节的重复 3 RIP报文中至多可以出现25个AFI、互联网络地址和度量域。这样允许使用一个RIP报文来更新一个路由器中的多个路由表项。包含多个路由表项的RIP报文只是简单地重复从 AFI到度量域的结构,其中包括所有的零域。 图表 2显示了路由信息域中只带一个目的地的 RIP报文。 1 字节命令 1 字节版本 2 字节0 域 2 字节 AFI 2 字节 0 域 4 字节 网络地 址 4 字节 0 域 4 字节 0 域 4 字节 度量 图表 1 图表 3具有两个表项的 RIP报文 1 字节 命令 1 字节 版本 2 字节 0 域 两字节 AFI 2 字节 0 域 4 字节 网络地址 4 字节 0 域 4 字节 0 域 4 字节 度量 4 字节 网络 地址 4 字节 0 域 4 字节 0 域 4 字节 度量 图表 2 地址域可以既包括发送者的地址也包括发送者路由表中的一系列IP地址。请求报文含有一个表项并包括请求者的地址。应答报文可以包括至多2 5个RIP路由表项。 2.2 RIP的工作原理 RIP协议是矢量距离算法在局域网上的直接实现,RIP将协议的参加者分为主动机和被动机两种。主动机主动地向外广播路径刷新报文,被动机被动地接受路径刷新报文。一般情况下,网关作主动机,主机作被动机。 RIP规定,网关每 30秒向外广播一个报文,报文信息来自本地路由表。RIP的度量是基于跳数(hops count)的,每经过一台路由器,...