RIP协议笔记

时间:2024-03-15 22:41:22

一、 Rip简介

早期在unix系统上使用,1988年才发布第一个rip协议标准“RFC1058”,是一种距离矢量(Distance-vector)协议。

1. 特点:

  • 只关心跳数,下一跳,不关心整网拓扑。
  • 基于传闻的路由协议。

2. 场景: 适用于规模小且可靠性要求低的网络环境,部署简单,因为其跳数限制,不适用于大型网络。
3. 工作原理:

- 开启RIP发送RIP请求
- 接受请求发出响应
- 网络稳定周期更新。25.5s--30s

二、Rip的报文结构

RIP协议笔记

rip v1 版本的报文结构

Rip报文结构由头部(header)+路由条目(Route Entries)组成。

  • Command:此字段1个字节,用来表示消息类型。1为requerst,2为response。
  • Version:此字段1个字节,用来表示RIP的版本,1为V1,2为V2
  • Address family identifier:2个字节,地址族标识,ipv4值为2,请求整张路由表值为0
  • ip address:4个字节。表示路由的目的地址。
  • Metric:4个字节,指RIP中跳数。取值范围是2^32,但在RIP中取值为1-16。

Ripv1特点:

  • 有类路由协议,基于UDP协议,端口号为520。RIPng端口号521
  • 不支持VLSM,CIDR,不支持认证,广播更新。
  • RIPv1数据包不能超过512字节,其中去掉UDP报文8个字节,RIP头部4个字节,剩余500个字节携带路由条目,每个路由条目最大为20个字节,所以最大携带25条路由条目。

RIP协议笔记

rip v2 版本的报文结构

较之V1多了3个字段,其他一样。

  • Route tag:2个字节,为路由打标记,方便做路由策略是调用路由。
  • Subnet mask:4个字节,子网掩码来标识网络位和主机位。可以支持vlsm,cidr
  • next-hop:4个字节,表示比通告路由器更好的下一跳地址。
    字段为全0,表示通告路由器为最优下一跳地址。

RIPv2的特点:

  • 组播更新,地址为224.0.0.9
  • 无类路由协议,支持VLSM,CIDR
  • 支持路由打标记。
  • 支持下一跳。
  • 支持认证。

什么是有类路由协议,什么是无类路由协议?
  有类就是固定的掩码,8位,16位,24位。
  无类就是掩码不固定,没有边界。22,23等。
有类路由协议与无类路由协议的区别?
  是否支持VLSM CIDR
  发送路由是否携带掩码
RIPv2为什么没有认证字段却支持认证?
  当RIPV2配置认证时,修改第一个路由条目当中,address family字段值为0xFFFF,route tag字段会改为Authentication type字段,ip address、sub mask、next-hop和metric变为口令字段。

v1与v2的区别是什么?

  • v1是广播更新,不支持vlsm,cidr,不支持认证,有类路由协议
  • v2支持组播更新,组播地址是224.0.0.9。支持vlsm,cidr,支持认证,支持打标记。无类路由协议,支持下一跳。

rip是否支持单播?
     rip可以单播指邻居,同时发送单播报文和组播报文,可以结合silent interface使接口不发送组播报文,只能发送指定邻居的单播报文。

Next-hop字段的作用:

  • 避免次优路径,当遇到比通告路由器更好的路径时使用。
  • 在MA网络,下一跳字段才有意义。
  • 通告路由器的出接口与到达外部路由的下一跳地址在同一网段,将直接使用外部路由的下一跳最为next-hop字段中的值。
    RIP协议笔记
    当R2将静态路由重分发到RIPv1域内之后,R1会将收到的去往3.0.0.0/8的路由条目的下一跳设为通告路由器的接口也就是R2的e0/0/0接口。是一条次优路径。将RIP版本改为v2之后,因为v2中的next-hop字段,通告的路由条目的下一跳改为R3的e0/0/0接口地址。

三、Rip的交互过程

request:请求报文
response:更新报文

什么时候发送请求报文?
  1、rip进程刚起来时发送。
  2、重置路由表时

什么时候发送响应报文。
  1、回应request。
  2、周期更新

四、RIP计时器

  1. 更新计时器:定时更新报文的发送。周期30s
  2. 老化计时器:如果在老化时间180s内还没有收到邻居发来的更新路由,则认为此路由不可达,从路由表中删除。同时在数据库中跳数设为16跳,等待垃圾计时器的时间。
  3. 垃圾收集定时器:如果在垃圾收集时间120s内,失效路由没有收到邻居的更新,则从数据库中彻底删除。

注意:

  • 如果设备不具有触发更新功能,一个路由表项从失效到删除最多300s(老化+垃圾)
  • 如果设备存在触发更新,立马从路由表中删除,120s后从数据库中删除。

为什么要有垃圾收集计时器,如果没有会产生什么结果?
用于当网路不可达时,发送多次失效路由条目保证其他邻居能收到。.
举例:

RIP协议笔记
当SW1和R3之间的链路断掉之后,R2在180s内收不到3.3.3.3路由条目的更新,则将次路由从路由表中删除,并且发送3.3.3.3路由跳数为16跳的条目给R1。如果没有垃圾收集定时器,则发送一次就将此失效路由从数据库中删除,如果R1因网络拥塞没有收到此失效路由消息,则R1还认为3.3.3.3的网络可达。有了垃圾收集定时器则在120s可以发送4次失效路由更新。保证对端邻居能够收到,完成网络收敛。

五、RIP的防环机制

Rip为什么出现环路?
1、rip发送整张路由表
2、更新时间有15%抖动

  • 水平分割:从该接口收到的路由不会再从该接口发出。NBMA缺省禁用。
  • 毒性逆转:从该接口收到的路由会从该接口发出,但跳数设为16跳。
  • 触发更新:当路由表发生改变时,立即发送更新报文给其他路由器。
  • 最大跳数:路由器收到16跳路由会认为此路由失效。

注意事项:

  1. 同时配置水平分割和毒性逆转则毒性逆转生效。缺省默认使用水平分割。
  2. 触发更新:仅携带本地路由表中有变化的路由信息。
  3. 必须是路由的下一跳通告的16跳路由条目才从路由表中删除。

为 什么触发更新要使用 一 个随机计时器 ?这 个计时器的大小范围是什么 ?
避免触发更新风暴,25.5s–30s

六、RIP路由的控制与优化:

路由选路

metricin:接口下配置,收到的路由的跳数加上metricin的值。默认为0
可以针对某一条路由,也可针对从该接口进入的所有路由。
metricout:接口下配置,收到的路由的跳数加上该接口的metricout的值。默认为1
可以针对某一条路由,也可针对从该接口进入的所有路由。
display defalut-parameter rip		查看默认参数

RIP协议笔记
Rip的度量值实在入方向增加还是出方向增加?
  Rip路由度量值是发出时累加的。

以下案例均来自华为路由交换精英培训之RIP final.PPT

例:
RIP协议笔记
RIP协议笔记

路由信息发布:

selient-interface:接口只接受更新报文,不发送组播、广播消息
undo rip input:禁止接口接受报文
undo rip output:禁止接口发送报文

场景:连接用户的LAN,在广播网络中只有部分设备需要路由协议更新
例:
RIP协议笔记
RIP协议笔记

RIP特性:

summary always:无论接口水平分割或毒性逆转是否开启,都自动汇总。
rip summary-address xxxx xxxx avoid-feedback:从该接口发出的聚合路由不会再从该接口接受。

例:
RIP协议笔记

RIP协议笔记
RIP协议笔记

优化RIP网络

timers rip:修改RIP的计时器,视图下配置
rip replay-protect:接口下配置。在此接口down之前,发送的RIP报文中的IP报文字段中identification字段值为X,当接口UP之后此字段值为0。如果对方没有收到值为0的报文,那么后续的报文将被丢弃,认为已经接受过,直到接收到identification字段为X+1时,才接受。启用此特性之后,会获得接口DOWN之前的identification字段的值,再次发送RIP报文继续identifacation字段+1的值。避免了路由信息不同的、丢失问题。

例:
RIP协议笔记

RIP路由聚合

  • 自动聚合:默认开启,V1只能自动聚合,不支持手动聚合
    自动聚合后的路由都是主类的,水平分割开启时默认自动聚合不生效。
    RIPV1:不能关闭,缺省打开。
    RIPV2:关闭undo summary,开启配置summary always:
  • 手工聚合:不会在本地路由表生成黑洞路由;

路由汇总技巧:

汇总最优路由包含以下三个子网。
1.1.201.0/24
1.1.206.0/24
1.1.207.0/24

先计算出这三个子网的范围需要多大。
207-201=6 
2^3=8    //计算出取几位子网可以容纳 6
8*25=200   200+8=208   200---208里面包含201,206,207    //计算出网络号为200
24-3=21	//减去3位得超网掩码

汇总成1.1.200.0/21		

扩展:
RIP协议笔记
都运行版本1,那么R1会将路由自动汇总成主类网络发送,所以R2上有192.168.1.0/24的路由。
而10.1.12.1/32这条路由,因为和R1和R2之间所在同一主类网络,虽然RIPV1不发送掩码,但是R1发送主机地址给R2,R2会将主机地址识别为/32的路由。
RIP协议笔记
原因是rip默认开启了主机路由。
RIP协议笔记
在R1上关闭主机路由,那么R2会收到10.0的汇总路由。

undo host-route		//在Rip进程下敲此命令

RIP协议笔记