《路由信息协议 rip》由会员分享,可在线阅读,更多相关《路由信息协议 rip(17页珍藏版)》请在金锄头文库上搜索。
1、RIP 路由协议内部网关协议 RIP(Routing Information Protocol) 1. 工作原理 路由信息协议 RIP 是内部网关协议 IGP 中最先得到广泛使用的协议。 RIP 是一种分布式的基于距离向量的路 由选择协议。 RIP 协议要求网络中的每一个路由器都 要维护从它自己到其他每一个目的网络 的距离记录。 “距离”的定义 从一路由器到直接连接的网络的距离定 义为 1。 从一个路由器到非直接连接的网络的距 离定义为所经过的路由器数加 1。 RIP 协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数 就加 1。 这里的“距离”实际上指的是“最短
2、距离”, “距离”的定义 RIP 认为一个好的路由就是它通过的路由器的 数目少,即“距离短”。 RIP 允许一条路径最多只能包含 15 个路由器 。 “距离”的最大值为16 时即相当于不可达。可 见 RIP 只适用于小型互联网。 RIP 不能在两个网络之间同时使用多条路由。 RIP 选择一个具有最少路由器的路由(即最短 路由),哪怕还存在另一条高速(低时延)但路 由器较多的路由。 RIP 协议的三个要点 仅和相邻路由器交换信息。 交换的信息是当前本路由器所知道的全 部信息,即自己的路由表。 按固定的时间间隔交换路由信息,例如 ,每隔 30 秒。 路由表的建立 路由器在刚刚开始工作时,只知道到直
3、接连 接的网络的距离(此距离定义为1)。 以后,每一个路由器也只和数目非常有限的 相邻路由器交换并更新路由信息。 经过若干次更新后,所有的路由器最终都会 知道到达本自治系统中任何一个网络的最短 距离和下一跳路由器的地址。 RIP 协议的收敛(convergence)过程较快,即 在自治系统中所有的结点都得到正确的路由 选择信息的过程。 2. 距离向量算法收到相邻路由器(其地址为 X)的一个 RIP 报文: (1) 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都 改为 X,并把所有的“距离”字段的值加 1。 (2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤: 若项目中
4、的目的网络不在路由表中,则把该项目加到路由表中。否则若下一跳字段给出的路由器地址是同样的,则把收到的项目 替换原路由表中的项目。否则 若收到项目中的距离小于路由表中的距离,则进行更新, 否则,什么也不做。 (3) 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路 由器记为不可达路由器,即将距离置为16(距离为16表示不可达 )。 (4) 返回。路由器之间交换信息 RIP协议让互联网中的所有路由器都和 自己的相邻路由器不断交换路由信息, 并不断更新其路由表,使得从每一个路 由器到每一个目的网络的路由都是最短 的(即跳数最少)。 虽然所有的路由器最终都拥有了整个自 治系统的全局路由信息,
5、但由于每一个 路由器的位置不同,它们的路由表当然 也应当是不同的。 4 字节RIP 报文3. RIP2 协议的报文格式 路由信息 (20 字节/路由) 可重复出现 最多 25 个IP 数据报路由标记网络地址地址族标识符距离 (1-16)IP 首部UDP 首部首部路由部分必为 0版本命令4 字节子网掩码下一跳路由器地址UDP 用户数据报RIP2 的报文 由首部和路由部分组成 RIP2 报文中的路由部分由若干个路由信息组 成。每个路由信息需要用 20 个字节。地址族 标识符(又称为地址类别)字段用来标志所 使用的地址协议。 路由标记填入自治系统的号码,这是考虑使 RIP 有可能收到本自治系统以外的
6、路由选择信 息。再后面指出某个网络地址、该网络的子 网掩码、下一跳路由器地址以及到此网络的 距离。 RIP 协议的优缺点 RIP 存在的一个问题是当网络出现故障时,要 经过比较长的时间才能将此信息传送到所有 的路由器。 RIP 协议最大的优点就是实现简单,开销较 小。 RIP 限制了网络的规模,它能使用的最大距离 为 15(16 表示不可达)。 路由器之间交换的路由信息是路由器中的完 整路由表,因而随着网络规模的扩大,开销 也就增加。 R2R1网 1网 3网 2正 常 情 况1 1 1 2 R1R1 说:“我到网 1 的距离是 1,是直接交付。”“1”表示“从本路由器 到网 1”“1”表示“距
7、离是 1”“”表示“直接交付”R2R1网 1网 3网 2正 常 情 况1 1 1 2 R1R2 说:“我到网 1 的距离是 2,是经过 R1。”“1”表示“从本路由器 到网 1”“2”表示“距离是 2”“R1”表示 经过 R1R2R1网 1网 3网 2R2R1网 1网 3网 2网 1出了故障正 常 情 况1 1 1 16 1 2 R11 2 R1R1 说:“我到网 1 的距离是 16 (表示无法到达),是直接交付。”但 R2 在收到 R1 的更新报文之前,还发送原来的报文, 因为这时 R2 并不知道 R1 出了故障。R2R1网 1网 3网 2R2R1网 1网 3网 2网 1出了故障正 常 情
8、况1 1 1 16 1 2 R11 2 R1R1 收到 R2 的更新报文后,误认为可经过 R2 到达 网1,于是更新自己的路由表,说:“我到网 1 的 距离是 3,下一跳经过 R2”。然后将此更新信息发 送给 R2。1 3 R2R2R1网 1网 3网 2R2R1网 1网 3网 2网 1出了故障正 常 情 况1 1 1 16 1 2 R11 2 R1R2 以后又更新自己的路由表为“1, 4, R1”,表明 “ 我到网 1 距离是 4,下一跳经过 R1”。 1 3 R2 1 4 R1R2R1网 1网 3网 2R2R1网 1网 3网 2网 1出了故障正 常 情 况1 1 1 16 1 3 R21 5 R21 16 R21 2 R11 2 R11 4 R11 16 R1这样不断更新下去,直到 R1 和 R2 到网 1 的距离都增 大到 16 时,R1 和 R2 才知道网 1 是不可达的。 这就是好消息传播得快,而坏消息传播得慢。网络出 故障的传播时间往往需要较长的时间(例如数分钟)。这 是 RIP 的一个主要缺点。