华为RIP总结

更新时间:2024-01-21 09:49:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

华为RIP总结

1

RIPv1

RIP是Routing Information Protocol(路由信息协议)的简称。

RIP是一种基于距离矢量(Distance-Vector)算法、简单的内部网关协议。

RIP主要应用于规模较小的、可靠性要求较低的网络。对于环境复杂的大型网络,一般不使用RIP协议。

1.1 RIPv1报文结构

Command:表示的是RIP报文类型,RIPv1中只有两种取值request和response

Request表示请求路由条目,路由器启动或者RIP进程重启的时候就发送路由请求,请求所有的路由条目(似乎好像不能请求明细路由)。

response则是应答发送路由条目。

Version:RIPv1中版本为1。

Address family identifier:RIPv1中为2,表示使用IPv4协议。

IP address:发送路由的网络号或者是主网络号,环回接口默认主网汇总,物理接口默认不

主网汇总。

Metric:度量值,每次发送路由的时候都会加+1,最大值16 如下RIPv1的response报文

1.2 RIPv1特点

(1)有类别的路由协议

(2)广播更新,广播地址255.255.255.255 (3) 基于UDP协议,源目端口号520

1.3 RIPv1发送和接受路由规则

RIPv1接受规则:

(1)收到一条路由之后,发现如果前缀(response报文中ip address)是主类网络号(例如10.0.0.0),直接加入路由表中, 掩码是8/16/24。那么路由条目就是10.0.0.0/8。(这一点和cisco不一样)

(2)如果发现前缀不是主网络号(例如response报文中ip address是10.1.1.0),检查是否和接受接口IP地址在同一主网,如果不在同一主网就生成有类的主网路由,放入路由表,掩码是8/16/24。那么路由条目就是10.0.0.0/8.

(3)如果前缀不是主网络号,但是和接受接口IP地址在同一主网,那么就会用接口的掩码检查是网段地址还是主机地址

如果是网段地址,生成路由,掩码是等于接收接口的掩码,放入路由表 如果是主机地址,生成32位的主机路由

路由器A发送的RIP应答报文

路由器B接受的路由

RIPv1发送规则

发送的路由没有掩码,将要发送的路由前缀和出接口网段进行匹配

如果不在同一主网,则为主网边界,将自动汇总成有类网络号,发送前缀到出接口 如果在同一主网,检查要发送的路由的前缀是否是32位掩码 如果是32位的掩码,就发送32位前缀路由到出接口 如果不是32位的掩码,检查前缀和出接口掩码是否相同 如果不同,抑制发送或者汇总为主网络号

如果相同,不会边界自动汇总,发送正确路由到出接口

2 RIPv2

2.1 RIPv2报文结构

Command:报文类型。Request和response,有时候也叫update Version:版本号2

Address family identifier:如果是2就表示传递的是ipv4路由,如果是0xffff,那么就表示这

是个口令验证的实体不是ipv4的路由条目,这就是为什么RIPv2没有认证字段可以支持认证。

Route Tag:路由标示,一般用于引入外部路由的时候,给外部路由打标,标示路由的起源 IP address:网络地址

Subnet mask:网络掩码,ripv1中没有这个字段。 Next hop:下一跳

Metric:这个和ripv1是一样的

2.2 RIPv2特点

(1)无类别路由协议

(2)组播更新,组播地址224.0.0.9 (3)基于UDP,端口号为520

(4)支持外部路由Tag; 支持路由聚合和CIDR;支持指定下一跳;支持认证

3 定时器

RIP主要使用三个定时器(华为路由器没有抑制计时器,这个和cisco不一样) 更新定时器 老化定时器 垃圾收集定时器 三个定时器之间的关系

路由器每30s发送一次路由应答或者更新

如果收到了对应的路由,老化计时器就会复位180s。如果路由器180s没有收到路由更新或者是收到metric是16的路由更新时就会将路由的metric值置为16,这条路由从路由表(display ip routing-table )中清除,但是不会从RIP的数据库(display rip 1 database)中清除,因为路由器还要告诉其他相邻的路由器这条路由是不可达的。,否则就会发生环路。 老化计时器记录的路由超时,在rip数据库表中metric为16跳的路由,这种路由发给其它路由器只要是为了防止环路,由于rip是不可靠的UDP传输的协议,所以 路由器并不是发送一次就把16跳的路由删除,而是会保持120s(相当于发送4次),120s过后就会从database中删除这条16跳的路由。

4 水平分割

水平分割指的是RIP从某个接口学到的路由,不会从该接口再发回给邻居设备。在帧中继和X.25等NBMA网络中,水平分割功能缺省为禁止状态。

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

如拓扑所示,R2从某一接口学习到路由10.0.0.0/8,不会再通过该接口发送回给R1。如果没有水平分割,R2将从R1收到的10.0.0.0/8的路由在发送会给R1,那么R1会将该路由再次发送给R2,这样该路由条目10.0.0.0/8就会在R1和R2之间不停的转发直至度量值到达16。 特殊情况

在NMBA网络中,水平分割缺省是禁用的。

5 毒性逆转

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

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

利用毒性逆转,可以清除对方路由表中的无用路由。 实现情况

配置毒性逆转后,R2在接收到从R1发来的路由10.0.0.0/8后,向R1发送一个这条路由不可达的消息(将该路由的开销设置为16),这样R1就不会再利用从R2学到的路由10.0.0.0/8,因此就可以避免路由环路的产生。 现实情况

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

水平分割和毒性逆转的差别

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

6 触法更新

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

触发更新不会触发接收路由器重置自己的更新定时器 下一跳地址不可达,不会触发触发更新。

将图中红色的接口g0/0/0关闭之后,路由器B就会触发更新,触发更新时会将从此接口收到的路由的metric置为16发送给路由器C

(注意:华为路由器发送触发更新的时候会发送全部不可达更新,这个和cisco是一样的,但是在发送response之前,华为会先发送路由条目metric为16的request报文)

7 路由聚合

同一个自然网段内的不同子网的路由在向外(其它网段)发送时聚合成一个网段的路由发送。

仅RIPv2支持路由聚合。

包括基于RIPv2进程的有类聚合和基于接口的聚合。 聚合时会使用最小的metric值 路由聚合

? RIPv2支持路由聚合,因为RIPv2报文携带掩码位,所以支持子网划分。在RIPv2中进行路由聚合可提高大型网络的可扩展性和效率,缩减路由表。 ? 基于RIPv2进程的有类聚合即实现自动聚合。 ? 基于接口的聚合即实现手动聚合。

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

7.1 接口路由汇总

[R1-GigabitEthernet0/0/0]rip summary-address 10.0.0.0 255.0.0.0 R2收到R1发送的汇总的路由条目

7.2 进程路由汇总(summary默认自动汇总)

[R1-rip-1]summary

R1进程汇总summary之后不会发送汇总路由,这是因为R1接口开启了水平分割(至于为什么华为这么设计,不清楚)

如果关闭R1的水平分割就会生成汇总路由,进程下汇总路由会汇聚所有的路由 [R1-GigabitEthernet0/0/0]undo rip split-horizon

R1发送汇总路由的时候就会把所有明细路由毒性化发给邻居路由器 此种情况下,直连的发送接口(g0/0/0)路由也会汇总,会发送

7.3进程路由汇总(summary always)

[R1-rip-1]summary always

在进程中直接“总是汇总”的话就不需要关闭R1接口g0/0/0的水平分割功能,就可以直接发送汇总路由

此种情况下,直连的发送接口(g0/0/0)路由也会汇总,但是不发送

7.4 关闭自动汇总

当开启了自动汇总之后,关闭自动汇总,这是华为路由器会将汇总了的路由毒性化。 [R1-rip-1]undo summary

7.5路由聚合实例

现公司A修改了自己的网络,并提出了一些需求:

对网络10.0.X.0/24的网络进行有类聚合,在R1上操作; 对网络172.16.X.0/24的网络进行最优聚合,R3和R4禁止从接口G0/0/1学习到该聚合路由,在R3和R4上操作。

为减少路由条目,公司A决定进行路由聚合配置。RIPv2聚合分为两类,一类是基于主类网络的自动聚合,一类是手工聚合。我们可以在R1采用手工聚合的方法,在R3和R4上使用自动聚合的方法。

命令含义

? summary [ always ]:在未使能水平分割的基础上使能RIPv2自动路由聚合,则不用配置参数always;不论水平分割是否使能,都使能RIPv2自动路由聚合,则需要配置参数always。如果配置了水平分割或毒性反转,有类聚合将失效。因此在向自然网段边界外发送聚合路由时,相关视图下的水平分割和毒性反转功能都应关闭。

? rip summary-address ip-address mask [ avoid-feedback ]:用来设置一个RIP路由器发布一个聚合的本地IP地址。通过指定avoid-feedback关键字,本接口将不再学习到和已发布的聚合IP地址相同的聚合路由,从而可以起到防止产生路由环路的作用。 具体用法

? 命令summary [ always ] 为RIP视图命令。

? rip summary-address ip-address mask [ avoid-feedback ]接口视图命令。

参数意义

? summary [ always ]

always:如果不配置always参数,在配置水平分割或毒性反转的情况下,有类聚

合将失效。因此在向自然网段边界外发送聚合路由时,相关视图下的水平分割和 毒性反转功能都应关闭。

? rip summary-address ip-address mask [ avoid-feedback ]接口视图命令

ip-prefix-name:需要聚合的网络IP地址。 mask:网络掩码。

avoid-feedback:禁止从此接口学习到相同的聚合路由。

8 RIP状态机

9 配置RIP的路由属性

假如你是公司A网络管理员,公司A网络如下图所示。现公司A要求:

? R3优选R2到达网络10.0.0.0/24,需在R1上进行配置;

? R3上到达网络172.16.0.0/24的度量值调整为3,需在R3上操作。

案例描述

? 本案例中,R1、R2和R3所在网段为192.168.1.0/24;R3、R4和R5所在网段为

192.168.2.0/24。所有路由器均运行RIPv2,通告互联接口地址。对案例分析,可以得出要想左右R3的路由选择,一般情况下,我们可以通过修改度量值来实现。

部分说明

? 注意该路由表项为缩减的路由表项,只是摘取了相关信息。路由表象中的Flags字段

R表示该路由是迭代路由,D表示该路由下发到FIB表。 ? “下一跳”

不能直接匹配到该设备的出接口时,可以通过一次或几次路由替换找到转发的出接口,该路由则成为迭代路由。

? FIB即路由转发表,由路由表生成,可以通过命令display fib命令用来查看转发信息

表。

命令含义

? rip metricin用于在接收到路由后,给其增加一个附加度量值,再加入路由表中,使

得路由表中的度量值发生变化。运行该命令会影响到本地设备和其他设备的路由选择。

? rip metricout用于自身路由的发布,发布时增加一个附加的度量值,但路由表中的

度量值不会发生变化。运行该命令不会影响本地设备的路由选择,但是会影响其他设备的路由选择。

具体用法

? rip metricin/metricout均为接口视图命令。 参数意义

? rip metricout { value | { acl-number | acl-name acl-name | ip-prefix ip-prefix-name } value1 },设置接口在发布

路由时增加的度量值。

value:对发送的路由增加的度量值。取值范围是1~15。缺省值为1。 acl-number:指定基本ACL的编号。取值范围是2000~2999。 acl-name acl-name:指定访问控制列表名称。区分大小写。

ip-prefix ip-prefix-name:指定IP地址前缀列表的名称。该名称必须唯一。 Value1:对通过ACL或ip-prefix方式过滤的路由增加度量值。 注意事项

? 当用ACL或ip-prefix方式来设置接口发送RIP路由增加的度量值时,指定value1为

通过过滤策略的RIP路由增加的度量值,没有通过过滤的RIP路由增加的度量值为1。 ? 运用rip metricin/metricout会影响其他设备的路由选择。

10 控制RIP路由信息的发布

下面是公司A的网络,假设公司A邀请你进行网络改造,现公司A对网络的要求如下:

? R4的所有接口只能接收更新,需在R4上进行配置; ? R2的接口G0/0/0不能发送RIP报文,需在R2上操作。

为了实现公司A的需求,即不发送或者更更新,我们一般情况通过配置抑制接口或undo rip input/output来实现。模拟器在做这个实验时候可能会出现现象不一致的情况,所以要把模拟器重启下

注意事项

? 当配置所有接口为抑制状态后,不能再激活其中的一个接口,即silent-interface all

命令的优先级高。本案例中由于R4抑制了所有接口,所以R4不能激活本身的其他接口。

实验现象

? 我们通过查看R3的路由表项可以看出,R3由于不能通过R4收到关于网络

172.16.0.0/24的更新,所以只能选用从R5收到的关于网络172.16.0.0/24的更新;同时,由于R3不能收到R2收到关于网络10.0.0.0/24的更新,只能选用从R1收到关于网络10.0.0.0/24的更新。

命令含义

? silent-interface命令用来抑制接口,使其只接收报文,用来更新自己的路由表,而不

发送RIP报文。如果一个接口被抑制,该接口所在网段的直连路由仍然可以发布给其它接口。该命令与peer (RIP)命令协同使用,可向指定设备发布路由。 ? undo rip output/input命令用来允许接口发送/接收RIP报文。 具体用法

? silent-interface为RIP视图命令。

? undo rip output/input为接口视图命令。 参数意义

? silent-interface { all | interface-type interface-number } all:抑制所有接口。

11 控制RIP路由信息的接收

公司A网络拓扑如图所示。现公司A对网络具体需求如下:

? R3不能接收R4发送的路由,在R3上进行操作。

? 为了实现公司A的需求,即接收特定邻居发送的路由,我们可以考虑命令

filter-policy gateway。

命令含义

命令filter-policy { acl-number | acl-name acl-name } import,基于ACL过滤学到的路由信息。 命令filter-policy gateway ip-prefix-name import,基于目的地址前缀过滤邻居发布的路由信息。 具体用法

命令filter-policy { acl-number | acl-name acl-name } import为RIP视图命令。 命令filter-policy gateway ip-prefix-name import为RIP视图命令 参数意义

命令filter-policy { acl-number | acl-name acl-name } import acl-number:用于过滤路由信息目的地址的基本ACL编号。 acl-name acl-name:指定访问控制列表名称。区分大小写,开头第一个字符必须是英文字母。

ip-prefix:使用IP地址前缀列表过滤路由。 ip-prefix-name:用于过滤路由信息目的地址的地址前缀列表名。 命令filter-policy gateway ip-prefix-name import gateway:基于发布网关过滤路由。

ip-prefix-name:用于过滤路由信息目的地址的地址前缀列表名。 实验现象

我们通过命令filter-policy gateway来指定邻居过滤。这里我们在R3上指定不从R4接收路由信息。

12 调整优化RIP网络

现公司A需要对网络进行优化,需求如下:

? 调整Update和Age定时器分别为10秒和60秒,Garbage-collect请自行决定; ? RIP路由信息在接口up/down之后,容易产生信息不同步的情况,请使用相

关命令解决该问题。

R1和R2通过网段192.168.1.0/24进行互联。R1左侧连接网段10.0.0.0/24,R2右侧

连接网段172.16.0.0/24。全网运行基本的RIPv2,并通过各自所在的网段。仅给出R1的display信息,且该信息只是截取与本案例相关的信息。

命令含义:

? 命令timers rip update age garbage-collect:命令用来调整定时器。

? 命令rip authentication-mode md5 nonstandard password-key key-id,配置RIP-2使用

MD5密文的验证方式,验证报文使用非标准报文格式。nonstandard 指定MD5密文验证报文使用非标准报文格式(IETF标准)。

? 命令rip replay-protect [ window-range ],使能replay-protect功能。window-range指

定面向连接的收发缓冲区大小,缺省window-range为50。

具体用法

? 命令timers rip update age garbage-collect为RIP视图命令。

? 命令rip authentication-mode md5 nonstandard password-key key-id为接口视图命令 ? 命令rip replay-protect [ window-range ]为接口视图命令。 参数意义

? 命令timers rip update age garbage-collect update:路由更新报文的发送间隔。 age:路由老化时间。 garbage-collect:路由被从路由表中删除的时间(标准中定义的garbage收集时间)。 注意事

? 如果这三个定时器的值如果配置不当,会引起路由不稳定。它们的配置值关系是:

update

假设运行RIP的接口状态变为Down之前发送的最后的RIP报文的Identification(该字段为IP头部中的字段)为X,该接口状态变为Up后,再次发送RIP报文的Identification会变为0。如果对方没有收到这个Identification为0的RIP报文,那么后续的RIP报文都将被丢弃,直到收到Identification为X+1的RIP报文。这样就会导致双方的RIP路由信息不同步、丢失。通过使能Replay-protect功能,可以得到接口Down之前所发送RIP报文的Identification,再次发送RIP报文的Identification会顺次加一,从而避免了上述情况的发生。

13 RIP故障诊断

在故障排除之前,需要考虑正常通信的过程

用户10.0.0.2和用户172.16.0.2相互ping通的过程如下:

10.0.0.2主机配置了正确的IP地址、掩码和网关IP地址, 10.0.0.2发现目标地址与自己的IP在不同的网段 通过ARP获得网关10.0.0.1的MAC地址 10.0.0.2封装数据包成数据帧,发送给网关

网关R1查找路由,确认下一跳的IP地址,通过ARP查找下一跳的MAC地址

? 由于R1的入接口和出接口未配置访问控制信息,R1转发数据到R2

? R2查找路由表,确认目标网络与自己直连,通过ARP获取目标主机的MAC

地址

? 封装数据,发送给目标主机,数据包返程过程略

Rip排查步骤

1. 确认ARP是否正常 2. 确认接口是否up

3. 检查接口是否在RIP中使能:使用命令display current-configuration configuration rip

可以看到当前使能RIP的网段信息,检查接口是否在其中。network命令使能的网络地址,必须是自然网段的地址。

4. 检查对方发送版本号和本地接口接收的版本号是否匹配:缺省情况下,接口只发送

RIPv1报文,但可以接收RIPv1和RIPv2报文。当入接口与收到的RIP报文使用不同的版本号时,有可能造成RIP路由不能被正确的接收。

5. 检查在RIP中是否配置了策略,过滤掉收到的RIP路由:如果被路由策略过滤掉,则

需修改路由策略。

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

7. 检查接口是否配置了undo rip input/output或者rip metricin设置度量值多大 8. 检查接口是否配置了抑制接口 9. 检查路由度量值是否大于16

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

? ? ? ? ?

14 案例1

公司B网络部分拓扑如下图所示。需要进行部分改造,且只能对R1进行操作,现提出需求如下:

? 不能删除现有配置,可以添加必要配置;

? R1只有接口S0/0/0运行RIP,R1通过单播发送更新报文;

? R1只接收172.16.0.0/24、 172.16.1.0/24、 172.16.2.0/24和172.16.3.0/24

这四条路由;

? R1已将网络10.X.X.0/24引入RIP,但是向R2仅发送一条10.0.0.0/16汇总路

由,请用最少配置命令,确保该聚合不能再通过接口S0/0/0学到。

分析过程

? R1和R2上的预配中,帧中继的配置是支持组播的。

? R1向R2发送更新时组播和单播发送更新的,主要是由于peer命令即发送组播的更

新,又发送单播的更新。

? R1和R2能相互学到对方的路由。

14.1 案例1—需求1

R1只有接口S0/0/0运行RIP,R1通过单播发送更新报文

通常情况下,peer命令会造成对端同时收到同一报文的组播(或广播)和单播两种形式报文。因此建议在配置该命令的同时,将相关接口改为被动(silent)模式。这样,发送的报文只有单播报文。

14.2 案例1—需求2

R1只接收172.16.0.0/24、 172.16.1.0/24、 172.16.2.0/24和172.16.3.0/24这四条路由 结果说明

? display rip route命令用来显示所有从其它路由器学来的RIP路由信息,以及与每条路由相关的不同定时器的值。其中Tag区分内部RIP路由和外部路由的标识,Tag=0表示该RIP路由为内部路由,Tag=1表示该RIP路由为外部路由。Flags为RA表示该RIP路由条目为激活路由,Flags为RG表示该RIP路由条目为非激活路由,并且已经启动了垃圾超时定时器。

14.3案例1—需求3

R1已将网络10.X.X.0/24引入RIP,但是向R2仅发送一条10.0.0.0/16汇总路由,请用最少配置命令,确保该聚合不能再通过接口S0/0/0学到。

结果说明

? 通过指定avoid-feedback关键字,本接口将不再学习到和已发布的聚合IP地址相同的聚合路由,从而可以起到防止产生路由环路的作用。

? filter-policy export 命令用来配置全局、协议、接口的出口过滤策略,只有通过过滤的路由才能被加入其路由表中,并通过更新报文发布出去。

15 案例2

公司C网络运行RIPv2,拓扑如下图所示。现公司C对网络有具体需求,需求如下:

? 不能删除现有配置,可以添加必要配置;

? 要求全网配置较强的华为特有认证模式,密码为Huawei,以保证网络的安

全;

? R1只接收172.16.X.0/24网段地址中第24位为1的网络,禁止使用前缀列表,

且最少命令;

? 全网路由发送RIP广播更新

15.1 案例2-需求1

要求全网配置较强的华为特有认证模式,密码为Huawei,以保证网络的安全

15.2 案例2-需求2

R1只接收172.16.X.0/24网段地址中第24位为1的网络,禁止使用前缀列表,且最少命令

15.3 案例2-需求3

全网路由发送RIP广播更新

本文来源:https://www.bwwdw.com/article/9o8o.html

Top