码迷,mamicode.com
首页 > 其他好文 > 详细

RIP学习笔记

时间:2018-05-13 15:03:31      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:网络/安全   路由交换   

RIP V1&RIP V2比较

V1

V2

有类(传递路由没有掩码)

无类

广播更新

组播更新

FLSM(定长子网掩码)

VLSM(变长)

v1收到路由的路由器以ip报文里的源IP作为下一跳

携带tagsubnetnext-hop

?

支持路由聚合,CIDR,认证

UDP 520

UDP 520

RIPv1报文结构

技术分享图片

l? 有类别路由协议(不携带子网掩码)

l? 广播更新

l? 基于UDP,端口号为520UDP,不可靠传输。ipv6使用521RIPNG

l? FLSM

RIPv1报文结构

l? RIP每条消息包含两个部分,分别为HeaderRoute Entries。其中Header包含CommandVersionRoute Entries最多包含25个路由条目,每个路由条目包含Address Family Identity、路由可达的IP地址和跳数(metirc)

l? 报文格式各个字段解释如下:?

n? ?Command:取值12,当取值为1时表示该消息为请求消息;当取值为2时表示该消息为响应消息。

n? Version:当取值为1时表示该消息为RIPv1消息;当取值为2时表示该消息为RIPv2消息。

n? Address Family Identity:对于IPv4协议,该字段取值为2。当该消息是对整张路由表的请求消息时,该字段取值为0

n? IP Address:该字段表示路由的目的地址。这一项可以是网络地址、主机地址

n? Metric:该字段是指RIP中的跳数。虽然该字段取值范围为0-2^32,但是在RIP中,该字的取值范围为1-16

v1request报文

技术分享图片

v1response报文

技术分享图片

RIPv1特点

RIP是一个基于UDP的路由协议,并且RIPv1的数据包不能超过512字节(RIP报文头部占用4个字节,而每个路由条目占用20八位组字节。因此,RIP消息最大为4+(25*20)=504个字节(即最大25条路由,如果启用认证为24条路由,再加上8个字节UDP头部,所以RIP数据报的大小(不含IP包的头部)最大可达512个字节。)。RIPv1的协议报文中没有携带掩码信息,所以RIPv1在处理数据包时会根据主类网段掩码或者接口地址掩码处理数据包。因此RIPv1无法支持路由聚合,也不支持不连续子网。RIPv1的协议报文中没有验证字段,所以RIPv1也不支持验证。

为什么最大可达512个字节:RIPv1开发出来主要的目的是作为ARPA net的路由协议,而在那个时候SLIP、串行链路、拨号链路、T1链路等低速链路是最为普遍的,这些链路的MTU也就是500 - 600 Byte不等,所以不能用以太网的MTU来衡量了。

RIPv2报文结构

技术分享图片

l? 无类别路由协议(携带子网掩码)

l? 组播更新,组播地址224.0.0.9

l? 基于UDP,端口号为520

l? 支持外部路由Tag; 支持路由聚合和CIDR;支持指定下一跳;支持认证

l? VLSM

RIPv2报文结构

l? lRIPv2的报文格式的基本结构和RIPv1相同。RIPv2使用了RIPv1中部分未用字段以提供扩展功能。

l? 报文格式部分字段解释如下:

n? Route Tag:用于标记外部路由或者路由引入到RIPv2协议中的路由。

n? Subnet Mask:用来标识使用IPv4地址的网络和子网部分。

n? Next Hop:表示比通告路由器地址更好的下一跳地址。如果该字段为0.0.0.0,则说明通告路由器地址为最优下一跳地址。

n? RIPv2配置认证时,RIPv2会对报文第一条Route Entries进行修改。具体修改如下

u? Address Family Identity字段改为0XFFFF

u? Route Tag字段改为Authentication Type字段。

u? IP AddressSubnet MaskNext HopMetric会变为口令字段。

RIPv2相较RIPv1的改进包括如下几点

l? 支持外部路由标记(Route Tag,可以在路由策略中根据Tag对路由进行灵活的控制。

l? 实际上不同RIP进程间相互引入路由也可以使用Tag?

l? 报文中携带掩码信息,支持路由聚合和CIDR

l? 支持指定下一跳,在广播网上可以选择到最优下一跳地址。

l? 支持以组播方式发送更新报文,只有运行RIPv2的设备才能收到协议报文,减少资源消耗。

l? 支持对协议报文进行验证,增强安全性。

在多于两台设备组建的广播网络环境中,Next Hop字段会发生变化,从而使路径最优。

MD5认证实际上是把路由表项和共享密钥进行与运算,然后路由器将运行运算结果和路由条目发送给对端邻居。

v2request报文

技术分享图片

v2response报文

技术分享图片

RIP主要使用三个定时器

l? 更新定时器:它定时触发更新报文的发送,更新周期默认为30。(实际25.5-30之间)

l? 老化定时器RIP设备如果在老化时间内没有收到邻居发来的路由更新报文,则认为该路由不可达。老化定时器超时后,该路由条目设置为16180

l? 垃圾收集定时器:如果在垃圾收集时间内(默认为更新定时器的4倍,即120),不可达路由没有收到来自同一邻居的更新,则该路由将被从路由表中彻底删除。

三个定时器之间的关系

l? RIP 的更新信息发布是由更新定时器控制的,默认为每30 秒发送一次。?

l? 每一条路由表项对应两个定时器:老化定时器和垃圾收集定时器。当学到一条路由并添加到路由表中时,老化定时器启动。如果老化定时器超时,设备仍没有收邻居发来的更新报文,则把该路由的度量值置为16(表示路由不可达),并启动垃圾收集定时器。如果垃圾收集定时器超时,设备仍然没有收到更新报文,则在路由表中删除该条目。

注意事项

l? 如果在没有触发更新的前提下,一个路由表项最多需要300秒才能被删除(老化时间180+垃圾收集时间120)。

l? 如果存在触发更新,那么一个路由条目最多需要120秒才能被删除(即为老化时间)。

技术分享图片

水平分割

水平分割指的是RIP从某个接口学到的路由,不会从该接口再发回给邻居设备。

特殊情况:在帧中继和X.25NBMA网络中,水平分割功能缺省为禁止状态

作用RIP采用水平分割不但减少了带宽消耗,还可以防止路由环路。

技术分享图片

毒性逆转

毒性逆转指的是RIP从某个接口学到路由后,将该路由的开销设置为16(即指明该路由不可达),并从原接口发回邻居设备。

如果同时配置了毒性逆转和水平分割,则只使用毒性逆转功能

作用:利用毒性逆转,可以清除对方路由表中的无用路由。

现实情况:缺省情况下不使能毒性逆转。一般情况下,在华为设备中均使能水平分割(除NBMA网络外)而禁用毒性逆转。

水平分割和毒性逆转的差别:水平分割和毒性逆转都是为了防止RIP中的路由环路而设计的,但是水平分割是不将收到路由条目再按原路返回来避免环路,而毒性逆转遵循坏消息比没消息好的原则,即将路由条目按原路返回,但是该路由条目被标记为不可达(度量值为16)。

技术分享图片

触发更新

触发更新是指路由信息发生变化时,立即向邻居设备发送触发更新报文,通知变化的路由信息。

触发更新不会触发接收路由器重置自己的更新定时器

l触发更新缩短了收敛时间,触发更新可以缩短网络收敛时间,在路由表项变化时立即向其他设备广播该信息,而不必等待定时更新。如果没有触发更新,缺省情况下,失效的路由条目会在路由表停留最多300(老化定时器+垃圾收集定时器)

下一跳地址不可达,不会触发触发更新

技术分享图片

路由聚合

l? RIPv2支持路由聚合(仅RIPv2支持路由聚合),因为RIPv2报文携带掩码位,所以支持子网划分。在RIPv2中进行路由聚合可提高大型网络的可扩展性和效率,缩减路由表。

l? 基于RIPv2进程的有类聚合即实现自动聚合。

l? 基于接口的聚合即实现手动聚合。

l? 如果被聚合路由携带了Tag,那么路由聚合发生之后,Tag信息将被清除。

l? rip summary-address ip-address mask [ avoid-feedback ] 增加avoid-feedback是为了聚合后从接口发送给对端后,接口不在收相同的聚合路由(防止路由环路),其他友商可能会在聚合后生产一条null0的黑洞路由有相同效果。

工作过程分析

l? 初始状态:路由器开启RIP进程,宣告相应接口,则设备就会从相关接口发送和接收RIP报文。进程初始启动发送request(可以单播、组播、广播,v1默认单播,v2默认组播),后面都是response报文(可以单播,组播,广播,v1默认广播,v2默认组播,可以手动设置为单播)

l? 构建路由表:路由器依据收到的RIP报文构建自己的路由表项。

l? 维护路由表:路由器每个30发送更新报文以维护自己的路由表项。

l? 老化路由表项:路由器为将自己构建的路由表项启动180的定时器。180秒内,如果路由器收到更新报文,则重置自己的更新定时器和老化定时器。

l? 垃圾收集表项:如果180秒过后,路由器没有收到相应路由表项的更新,则启动时长为120的垃圾收集定时器,同时将该路由表象的度量置位16

l? 删除路由表项:如果120之后,路由器仍然没有收到相应路由表象的更新,则路由器将该表相删除。

技术分享图片

?

RIP v1发送规则

注意发送时没有子网掩码。

将要发送前缀路由和出接口网段匹配:

1.????? 如果不在同一主网,此为主网边界,将前缀自动汇总为有类网络号,发送前缀到出接口;

2.????? 如果在同一主网,检查要发送的前缀是否为32位掩码:

a)???? 如果是,发送32为前缀到出接口;

b)???? 如果不是,检查前缀和出口掩码是否相同:

???????????????? i.????????? 如果不同,抑制发送或者汇总为主网络号;

?????????????? ii.????????? 如果相同,没有边界,发送正确前缀到出口。

RIP v1接受规则

收到一个前缀后

3.????? 如果发现是主网络号,直接放入路由表,掩码是8/16/24

4.????? 如果不是主网络号,检查是否与接口在同一主网:

a)???? 如果不在,生成有类路由,掩码按有类路由计算,放入路由表;

b)???? 如果在同一主网,用接口掩码去掩,然后检查该前缀是否是网段地址还是主机地址:

???????????????? i.????????? 如果是网段地址,生成路由,掩码等于自己的接口掩码,放入路由表;

?????????????? ii.????????? 如果掩出来发现不是网段地址,就默认是主机,生产32位主机路由,放入路由表。

?

技术分享图片

R1发送路由解析:

5.????? 10.2.2.2:同一主网且掩码为32

6.????? 10.3.3.0:同一主网,相同掩码,发送24位前缀

7.????? 10.0.0.0:同一主网,不同掩码,汇总为主网络号

8.????? 192.168.1.0:不同主网,自动汇总为有类网络号

9.????? 172.16.0.0:不通主网,自动汇总为有类网络

R2接受路由解析:

10.?? 10.2.2.2/32:前缀不是主网络号---是同一主网---掩出后不是网段地址---默认主机路由

11.?? 10.3.3.0/24:前缀不是主网络号---是同一主网---等于接口掩码

12.?? 10.0.0.0/8:主网络号匹配

13.?? 192.168.1.0/24:主网络号匹配

14.?? 172.16.0.0/16:主网络号匹配

silent-interface RIP开启后只接受不发送,OSPF是收发都禁止。

silent-interface+指定peer实现单播更新,

如果只配置指定peer,那么v1既发单播又发广播,v2既发单播又发组播

排错:

15.?? 检查接口是否在RIP中使能

16.?? 检查对方发送版本号和本地接口接收的版本号是否匹配

17.?? 检查在RIP中是否配置了策略,过滤掉收到的RIP路由:

18.?? RIP使用的端口520是否被禁用

19.?? 检查接口是否配置了undo rip input/output或者rip metricin设置度量值多大

20.?? 检查接口是否配置了抑制接口

21.?? 检查路由度量值是否大于16

22.?? 检查链路两端的接口认证方式是否匹配:如果报文认证失败,则需正确配置

技术分享图片

?

RIP学习笔记

标签:网络/安全   路由交换   

原文地址:http://blog.51cto.com/xxy12345/2115684

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!