RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,主要用于规模较小的网络中,比如校园网以及结构较简单的地区性网络和自治系统(AS)内的路由信息的传递。
这种协议的路由器只关心自己周围的世界,只与自己相邻的路由器交换信息,范围限制在15跳(15度)之内,再远,它就不关心了。RIP应用于OSI网络七层模型的网络层。
对于更为复杂的环境和大型网络,一般不使用 RIP。各厂家定义的管理距离(AD,即优先级)如下:华为定义的优先级是100,思科定义的优先级是120。
RIP 是一种基于距离矢量(Distance-Vector)算法的协议,它通过 UDP 报文进行路由信息的交换, 使用的端口号为 520。 RIP 使用跳数来衡量到达目的地址的距离,跳数称为度量值。在 RIP 中,路由器到与它直接相连网 络的跳数为 0,通过一个路由器可达的网络的跳数为 1,其余依此类推。为限制收敛时间,RIP 规 定度量值取 0~15 之间的整数,大于或等于 16 的跳数被定义为无穷大,即目的网络或主机不可达。 由于这个限制,使得 RIP 不适合应用于大型网络。 为提高性能,防止产生路由环路,RIP 支持水平分割(Split Horizon)和毒性逆转(Poison Reverse) 功能。
每个运行 RIP 的路由器管理一个路由数据库,该路由数据库包含了到所有可达目的地的路由项,这些路由项包含下列信息:
• 目的地址:主机或网络的地址。
• 下一跳地址:为到达目的地,需要经过的相邻路由器的接口 IP 地址。
• 出接口:本路由器转发报文的出接口。
• 度量值:本路由器到达目的地的开销。
• 路由时间:从路由项后一次被更新到现在所经过的时间,路由项每次被更新时,路由时间 重置为 0。
• 路由标记(Route Tag):用于标识外部路由,在路由策略中可根据路由标记对路由信息进行 灵活的控制。关于路由策略的详细信息,请参见“三层技术-IP 路由配置指导”中的“路由策略”。
RIP 的运行过程如下:
(1) 路由器启动 RIP 后,便会向相邻的路由器发送请求报文(Request message),相邻的 RIP 路由器收到请求报文后,响应该请求,回送包含本地路由表信息的响应报文(Response message)。
(2) 路由器收到响应报文后,更新本地路由表,同时向相邻路由器发送触发更新报文,通告路由 更新信息。相邻路由器收到触发更新报文后,又向其各自的相邻路由器发送触发更新报文。 在一连串的触发更新广播后,各路由器都能得到并保持新的路由信息。
(3) 路由器周期性向相邻路由器发送本地路由表,运行 RIP 协议的相邻路由器在收到报文后,对 本地路由进行维护,选择一条佳路由,再向其各自相邻网络发送更新信息,使更新的路由 终能达到全局有效。同时,RIP 采用老化机制对超时的路由进行老化处理,以保证路由的实 时性和有效性。
启动rip须注意:
• 如果在启动 RIP 前在接口视图下配置了 RIP 相关命令,这些配置只有在 RIP 启动后才会生效。
• RIP 不支持将同一物理接口下的不同网段使能到不同的 RIP 进程中。
• RIP 不支持在同一物理接口下使能多个 RIP 进程。
1.无类路由协议2.支持变长子网掩码(VLSM)3.更新方式为组播,组播地址: 224.0.0.94.支持明文(不安全,抓包就可以看到密钥)及密文认证(MD5加密,思科私有),默认关闭,需要手动配置认证,更新报文中携带密钥,邻居路由器会用自己的密钥进行对比,若一致则接收,否则丢弃5.路由表查询机制是由小类-->大类(按位查询,最长匹配,精确匹配,先检查32位子网掩码的)6.支持不连续子网7.支持手动汇总,但默认开启自动汇总,因此需要关闭自动汇总:no auto-summary
Rip引入外部路由
组网需求
• Switch B 上运行两个 RIP 进程:RIP 100 和 RIP 200。Switch B 通过 RIP 100 和 Switch A 交 换路由信息,通过 RIP 200 和 Switch C 交换路由信息。
• 在Switch B上配置RIP进程200引入外部路由,引入直连路由和RIP进程100的路由,使得 Switch C 能够学习到达 10.2.1.0/24 和 11.1.1.0/24 的路由,但 Switch A 不能学习到达 12.3.1.0/24 和 16.4.1.0/24 的路由。
配置 Switch A。
<SwitchA> system-view
[SwitchA] ospf [SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] network 10.5.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] network 10.2.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] quit
配置 Switch B。
<SwitchB> system-view [SwitchB] ospf [SwitchB-ospf-1] area 0 [SwitchB-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255 [SwitchB-ospf-1-area-0.0.0.0] network 10.6.1.0 0.0.0.255 [SwitchB-ospf-1-area-0.0.0.0] quit
配置 Switch C。
<SwitchC> system-view [SwitchC] ospf [SwitchC-ospf-1] area 0 [SwitchC-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255 [SwitchC-ospf-1-area-0.0.0.0] network 10.2.1.0 0.0.0.255 [SwitchC-ospf-1-area-0.0.0.0] quit [SwitchC-ospf-1] quit