RIP(路由信息协议)
1. 基本信息
- 版本:RIP V1 RIP V2 RIP NG(IPV6)
- IGP 协议 DV算法(尔曼——福特算法) V1有类别 V2无类别
- 基于UDP封装,端口号520
- Metric值计算方式:用跳数作为度量值,路由每传递一个路由器度量值加一(路由条目向外传递即在出接口时将metric值增加一传给下一路由器),范围为1-15,16为不可达。
- V2支持手工汇总(支持VLSM不支持CIDR)、支持路由认证 V1均不支持
-
更新方式:30s周期更新+触发更新 更新地址:RIP V1使用255.255.255.255 RIP V2使用224.0.0.9 描述:通过周期性的发送数据包来传递路由条目(request请求包 respons应答包)周期时间为30s
RIP30s周期更新会导致同步更新问题(所有路由器同时更新)会产生大量负载,可能造成网络开销过大,降低网络传输效率。此问题采用异步更新机制进行解决
- 支持等开销负载均衡,cisco默认4最大16,华为最大8
- Cisco定义优先级为120华为定义优先级为100
- Cisco设备中RIPV2不支持CIDR
HCNP DAY、2 RIPRIP(路由信息协议)
2. 异步更新
RIP30s周期更新会导致同步更新问题(所有路由器同时更新,又称广播风暴)会产生大量负载,可能造成网络开销过大,降低网络传输效率。
此问题采用异步更新机制进行解决
所谓异步更新机制就是在更新计时器到期时运行一个随机散列函数,随机生成一个0-0.15之间的随机值,然后用该值乘以30,再用30s减去得到的值,最终结果就是路由条目更新所需要等待的时间。有了异步更新机制RIP周期更新周期在25.5-30之间
3. 数据包
(参考连接:http://www.023wg.com/message/message/cd_feature_rip_format.html)
RIP数据包格式:
RIP报文由头部(Header)和多个路由表项(Route Entries)部分组成。其中Header包含Command和Version RIP是一个基于UDP协议的, 其数据包不能超过512字节,除去UDP包头8字节剩余504字节,在除去RIP报文的头部信息4字节剩下500字节为路由表项,每个路由条目包含Address Family Identity、路由可达的IP地址和跳数,在未做认证情况下一个路由条目占20字节,在做了认证的情况下,一个路由条目最少占21字节。故在未做认证情况下每个response报文最多可携带25条路由条目,在做了认证的情况下,每个response报文最多可携带24个路由条目。若路由条目过多,则发送多个response报文。
V1数据包结构
字段解释:
Command 取值为1或2,1表示request包,2表示response包
Version 取值为1或2,1表示RIPV1,2表示RIPV2
Address Family Identity 地址族标识,其值为2时表示IP协议。对于Request报文,此字段值为0
IP address 路由的目的地址
Metric 跳数
V2数据包结构:
V2数据包结构相对V1 只增加了一些V1的为扩展功能
字段解释:
Must be zero 零域
Route tag 用于标记外部路由或引入到RIPV2协议中的路由
Subnet mask 网络掩码
Next hop 最优下一跳地址,若为0.0.0.0则表示通告路由器下一条地址即为最优
4. 计时器
Cisco:
- update更新计时器 30s
- Invalid无效计时器 180s
- Holddown抑制计时器 180s
-
Flush 刷新计时器 240s
华为:
- Update 更新计时器 30s
- Invalid无效计时器 180s
- 垃圾回收计时器 120s
5. 防环机制:
最大跳数15跳
(16跳为不可达,限制网络规模)
触发更新
(网络拓扑结构未发生改变时进行周期更新,网络拓扑结构发生改变时立即进行更新)
抑制计时器
(cisco设备中存在抑制计时器,在无效计时器180s后开启抑制计时器,在抑制计时器期间若收到该路由条目则抑制其加表,抑制计时器减少了路由的浮动,增加了网络的稳定性)
垃圾回收计时器
(华为设备中存在垃圾回收计时器,当路由经过180s无效计时器后会被删表,同时开启垃圾回收计时器,在垃圾回收计时器期间收到更劣路由则抑制加表,若收到更优条目则将该条目重新加表)
水平分割机制
(从一个接口收到的路由不从此接口发出)
毒性逆转水平分割机制
(当一条路由条目失效时,会将该失效路由条目的度量值改为不可达,在从接口发出,接收到该路由条目的路由器都需要向源路由器回复毒化路由进行确认)
6. 基础配置
Cisco:
运行RIP协议
指定版本
关闭自动汇总
network宣告
Huawei:
运行RIP协议(华为设备中RIP协议支持多进程,声明时需要加上进程号,进程号只具有本地意义)
指定版本
关闭自动汇总
network宣告(华为设备宣告网段必须为主类网段,否则宣告不成功)
- (激活接口)将本路由器上接口地址对应八位组固定的接口激活,激活接口可以发送并接收RIP报文
- (通告接口对应路由)将激活接口对应的接口路由通告进入RIP
7. 缺省路由
Cisco设备中有以下五种,华为设备中只能下发缺省和汇总产生缺省
- 下发缺省
HCNP DAY、2 RIPRIP(路由信息协议) - 汇总产生
HCNP DAY、2 RIPRIP(路由信息协议) - 重发布产生(将其他形式的缺省路由例如静态缺省重发布进入RIP)
HCNP DAY、2 RIPRIP(路由信息协议) - 在RIP和EIGRP中可对静态出接口写法的静态路由通过network引入到协议中
HCNP DAY、2 RIPRIP(路由信息协议) - 存在主类地址,可将主类地址定义为默认网络
HCNP DAY、2 RIPRIP(路由信息协议)
8. 触发更新
Cisco设备默认关闭需要手工开启(在低速链路上开启)
Huawei设备默认开启
9. 手工汇总(前提必须关闭自动汇总)
作用:
- 减少路由条目,减小路由表大小,加快查表速度
- 增加网络的稳定性(当其中一条明细路由消失时,对其他路由器的路由表不会造成影响)
配置位置:在路由传播的出方向接口上实施,最好在明细路由所在路由器的出接口方向上配置
开销值计算:取明细路由中开销值最小的
存在条件:至少有一条明细路由存在
- 在cisco中支持VLSM但不支持CIDR
- 在huawei中既支持VLSM也支持CIDR
- 在IGP协议中,发送了汇总路由会自动抑制明细路由的发送
- 不会自动产生指向NULL0的防环路由
HCNP DAY、2 RIPRIP(路由信息协议)
10. 路由认证
明文认证(认证密码以铭文形式发送)
MD5认证(认证密码以密文形式发送)
11. 路由控制
修改AD值:
全局修改(所有路由条目的AD值均修改)
修改metric值:(在接口进行修改,分为in方向和out方向(控制层面))
在in方向修改表示在原基础上加几
在out方向修改表示将metric增加值修改至几
metricin和 metricout都可跟ACL或控制列表来对路由条目进行精确匹配,达到只对某条路由进行控制的效果(metric值调整只能增加,不能减小,减小会导致环路)
匹配ACL
查看ACL
过滤路由(同cisco中的分发列表)自身不具备过滤功能,需要借助ACL
12. 被动接口(华为中称为静默接口)
V1采用广播方式发送更新报文,V2采用组播形式发送更新报文
被动接口可以针对广播或组播的路由信息进行只收不发的操作,这样会导致路由器可以接收其他路由器传来的路由信息,但不会向其他路由器传输自己所有的路由信息
Cisco配置:
必须在协议中配置
设置所有接口为被动接口
设置单个接口为被动接口
华为配置:
13. 单播邻居
发送RIP数据包通过单播的方式进行发送,启用单播邻居并不影响组播更新包的发送
Cisco配置:
华为配置:
查看现象:
单播邻居+被动接口可实现单播被动,即两路由器间通过单播形式发送RIP数据包,并且不能通过广播或组播形式发送数据包。
14. 更新源检测
rip发送更新之前要执行多项检查,具体步骤如下:
第一步,检查即将发送出去的更新路由是否与更新源接口(即发送接口)处于同一主类网络;如果是,参考第二步;如果不是,参考第三步
第二步,如果是,那么还要检查该更新路由是否与源接口的子网掩码相同,如果相同则发送;如果不相同,则丢弃(除非是主机路由且路由器支持主机路由);
第三步,如果不是,那么自动汇总成主类路由,发送出去。
rip接收更新之前也要执行多项检查,具体步骤如下:
第一步,即将接收的更新路由与接收接口所在的网络是否是同一主类网络,若是,参考第二步;若不是,参考第三步;
第二步,若是同一主类网络的话,那么接收该更新路由,并且以接收接口的子网掩码作为该路由的子网掩码,如果该更新路由包含主机位(相对于接收接口的掩码位来讲),则该路由以32位主机路由作为掩码。
第三步,若不是同一主类网络,那么检查该更新主网络的任一子网是否已存在路由表中,并且是从另一接口更新所学得的,如果存在且从另一接口所学,执行第四步;不是,执行第五步
第四步,如存在且从另一接口所学,那么忽略此更新;
第五步,如果不存在,那么以主类网络掩码接收该更新,如果该更新包含子网位或主机位,则使用32位主机掩码位。
关闭更新源检测:
Cisco配置:
华为配置:
15. 版本兼容
RIP存在两个版本,由于V1和V2所传输的数据包字段和类型都不同,所以运行不同版本协议的路由器无法读取运行其它版本路由器所发送的数据包,便无法产生路由条目,解决该问题可更改接口发送数据包类型
Cisco配置:(在接口配置)可以修改接收数据包格式也可修改发送数据包格式
以上两个命令均可同时配置1 2
华为配置:(在接口配置)只能修改发送报文的格式
16. 更改计时器
在未开启触发更新时,RIP网络的收敛速度较慢,为了加快收敛可以采用更改计时器的方法来实现,修改计时器时需要按照比例进行修改,cisco设备计时器比例1:6:6:8华为设备计时器比例1:6:4
Cisco设备在RIP进程中进行修改
华为设备在RIP进程中进行修改
修改计时器时需按比例修改,若修改时老化时间小于更新时间,则会导致路由表翻滚,网络不稳定。
现象:
17. RIPV1和RIPV2的区别
- RIPv1是有类路由协议,更新过程中不携带子网信息,RIPv2是无类路由协议,更新过程中携带子网信息;
- RIPv1不支持VLSM、CIDR,RIPv2支持VLSM、CIDR(cisco设备不支持CIDR);
- RIPv1没有认证功能,RIPv2支持认证,且有明文和MD5两种认证;
- RIPv1自动汇总不能关闭,且不支持手动汇总,RIPv2可以关闭自动汇总,且支持手动汇总;
- RIPv1是广播更新,RIPv2是组播更新;
- RIPv1对路由没有标记功能,RIPv2可以对路由打标记(tag),用于过滤和作策略;
- RIPv1发送的updata最多可以携带25条路由条目,RIPv2在有认证的情况下最多只能携带24条路由条目;
- RIPv1发送的updata包里没有next-hop属性,RIPv2有next-hop属性,可以用于路由更新的重定。