距离向量路由协议 - RIP(Routing Infomation Protocol)
前言
RIP协议的特点
- 距离矢量路由协议,属于IGP协议;
- 适用于中小型网络,由RIPv1和RIPv2两个版本;
- 基于UDP,目标端口号是520
- 周期性更新
- 支持
水平分割、毒性逆转和触发更新
等防环特性。
RIP协议工作原理
- 路由器运行RIP后,会首先发送路由更新请求,收到请求的路由器会发送自己的RIP路由进行响应;
- 网络稳定后,路由器会
周期性(30s)
发送路由更新信息。
RIP-度量
- RIP使用
跳数
作为度量值来衡量到达目的网络的距离; - 缺省情况下,
直连网络的路由跳数为0
。当路由器发送路由更新时,会把度量值加1(RIP协议在发送可达信息数据包的时候跳数就会+1)
; - RIP规定
超过15跳(当跳数为16时)
为网络不可达。
RIPv1 vs RIPv2
RIPv1
-
RIPv1时
有类
别路由协议,不支持VLSM和CIDR。 -
以
广播
的形式发送报文。 -
不支持认证
。
RIPv2
-
RIPv2为
无类
别路由协议,支持VLSM,支持路由聚合
与CIDR。 -
支持以广播或者
组播(224.0.0.9)
方式发送报文。 -
支持明文
认证
和 MD5 密文认证。
RIPv1报文格式
RIPv2 报文格式
RIPv2认证
RIP认证配置
注:在配置RIP-2报文的认证方式时,如果使用plain选项,密码将以明文形式保存在配置文件中,存在安全隐患。建议使用cipher选项,将密码加密保存。
-
执行命令system-view,进入系统视图。
-
执行命令interface interface-type interface-number,进入接口视图。
-
(可选)对于以太网接口,执行命令undo portswitch,配置接口切换到三层模式。
缺省情况下,以太网接口处于二层模式。
-
配置RIP-2报文的认证方式。
-
执行命令rip authentication-mode simple { plain plain-text | [ cipher ] password-key },配置RIP-2报文为简单认证方式。
-
执行以下命令,配置RIP-2报文为MD5密文认证方式。
- rip authentication-mode md5 usual { plain plain-text | [ cipher ] password-key }
- rip authentication-mode md5 nonstandard { keychain keychain-name | { plain plain-text | [ cipher ] password-key } key-id }
- rip authentication-mode hmac-sha256 { plain plain-text | [ cipher ] password-key } key-id,配置RIP-2报文为HMAC-SHA256密文认证方式。
注:Simple和MD5认证存在安全风险,推荐配置HMAC-SHA256密文认证方式。如果配置MD5认证,则必须配置MD5的类型。usual类型表示MD5密文认证报文使用通用报文格式(私有标准),nonstandard类型表示MD5密文认证报文使用非标准报文格式(IETF标准)。
仅S5720EI、S5720HI、S6720S-EI和S6720EI支持keychain keychain-name参数。
RIP-环路
- 当网络发生故障时,RIP网络有可能产生路由环路。
当RTB的右边的接口由于故障关闭之后RTB会立即更新路由表将 metric改为16,但是由于RIP协议是周期性更新,RTB会等30s发送更新的包,
在这个时候收到来自RTA的包,告诉RTB,RTA到达目标网络即10.0.0.0/8的跳数为2,RTB此时就会将 metric改为2 然后,等30s将metric = 3 的包发送给RTA,
如此往复就形成了环路
环路避免
水平分割
- 路由器从某个接口学到的路由,不会从该接口再发回给邻居路由器。
即当RTA 从RTB那里学习到的路由信息,更新后不会再发送给RTB
触发更新
- 触发更新是指当路由信息发生变化时,立即向邻居设备发送触发更新报文
当RTB的路由信息发生变化之后,立即发送更新后的信息给RTA
毒性逆转
- 毒性反转是指路由器从某个接口学到路由后,将该路由的跳数设置为16,并从原接收接口发回给邻居路由器。
毒性逆转与水平分割是相互矛盾的,所以当同时使用水平分割和毒性逆转时,以毒性逆转为主
RIP配置命令
- rip [进程号] 不写默认为1
- version 2 开启RIPv2版本 数字 1 表示开启 RIPv1版本
- Network [网络号] 宣告网络,将该Ip地址的接口开启RIP功能 ,只需要输入接口的
主类网络地址
即可 ,意思是按照ABC分类的网络地址 - rip metricin 5 设置接口接收路由增加度量值 意思是接收包的时候度量值 + 5
- rip metricout 5 设置接口发送路由修改度量值 意思是发出包的时候度量值直接变成 5
- rip split-horizon 开启水平分割,默认开启
- rip posion-reverse 开启毒性逆转,默认关闭
注:水平分割和毒性逆转都是在对应的接口下面配置
- undo rip input 禁止接口接收rip数据包
- undo rip ouput 禁止接口发送RIP数据包
- silent-interface g0/0/0 配置被动接口,只收不发
在协议模式下配置
- display rip 验证RIP信息
- display rip [进程号] interface [接口] verbose 查看是否开启rip