路由配置与管理——RIP路由配置与管理1

RIP路由配置与管理

RIP路由是最简单的动态路由协议,主要用于中小网络。基本配置仅需在各路由器上创建所需的RIP进程,然后宣告各RIP路由器接口直接连接的网段所对应的自然网段就可以把各接口上连接的网段路由向邻居路由器进行通告。

RIP基础

RIP是一种较为简单的内部网关协议(IGP),包括RIPv1RIPv2两个版本。RIPv2RIPv1进行了扩充,支持CIDRVLSM技术,支持安全验证。

一、RIP的度量机制

RIP是一种基于距离矢量(Distance-Vector算法的协议,使用跳数(HopCount)作为度量来衡量到达目的网络的距离。设备到与它直接相连网络的跳数为0,然后每经过一个三层设备跳数增加1度量值等于从本网络到达目的网络间的三层设备数量,但并不是等于所经过的网段数

上图拓扑,4个路由器都运行RIP,现在配置从PC1所在网络到达PC2网络的RIP路由,则跳数是3PC1直接连接的R1不算在内,其他每个路由器算一跳)。4个路由器连接网络数为5个,所以跳数并不等于所经过的网段数。另外,在同一个路由器上直接连接的多个网络,彼此间的度量值为0,因为是直连路由

RIP通过UDP报文进行路由信息的交换,使用端口号为520是一个不可靠的路由协议RIP规定度量值取值0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。

在定期自动更新过程中,RIP路由器采用完整路由表更新方式,也就是每个RIP路由器会把自己的完整路由表发给相邻的RIP路由器。遵循几个基本原则:

①路由表项每经过一次邻居路由器之间的传递,其度量值加1

②路由器在收到新的路由更新表项时,会在其路由表中添加新的路由表项,其度量值是在接收到的路由表项度量基础上加1,同时在新添加的路由表项中标注其下一跳地址就是发送路由器更新的邻居路由器的接口

③收到原有路由表项的路由更新时,先对有更新的路由表项的度量加1,然后与对应的路由表项中原度量值进行比较,仅接收度量值更小或相等的更新,忽略度量值比原来的值更大的路由更新。

对上图,R2中原来的路由表项如11-2,现在又收到来自R3的如11-3路由更新

R2来说,他在收到R3的路由更新后,首先对11-3所示的各路由表项的度量加1,同时路由表项中标注其下一跳地址就是发送路由器更新的邻居路由器的接口(这里是R33.1.1.2),结果如下图:

11-2对比可以看到到达2.1.1.03.1.1.0网络的度量值比原来还大,忽略更新。而到达4.1.1.05.1.1.0网络的度量值相等,进行路由表项更新,最终R2上的路由表还是如11-2图所示。

    如果一个接口连接的网络没有指定(也就是没有宣告所有直接连接的网络),则它不会在任何RIP更新中被通告。

二、RIP协议定时器

RIP在路由更新和维护路由信息时主要使用以下4个定时器。

更新定时器(Update timer:当此定时器超时时,立即发送路由更新报文,缺省为30s发送一次。

老化定时器(Age timerRIP设备如果在老化时间内没有收到邻居发来的路由更新报文,则认为该路由器不可达。当学到一条路由并添加到RIP路由表中时,老化定时器启动。如老化定时器超时,设备仍没有收到邻居发来的更新报文,则把该路由的度量值值为16(表示路由不可达),并启动“垃圾收集定时器”。

垃圾收集定时器(Garbage-collec timer:如果在垃圾收集时间内没有收到原来某条不可达路由的更新,则该路由将被从RIP路由表中彻底删除。

抑制定时器(Suppress timer:当RIP设备收到对端的路由更新,其度量值为16,则对应路由进入抑制状态,并启动抑制定时器,缺省值为180s。这时为了防止路由震荡,在抑制定时器超时之前,即使再收到对端路由度量值小于16的更新,也不接受。当抑制定时器超时后,就重新允许接受对端发送的路由更新报文。

三、RIP路由更新机制

RIP有两种更新机制:一是定期更新,二是触发更新。“定期更新”是根据设置的更新定时器定期发送RIP路由通告。该通告报文中携带了除“水平分割”机制抑制的RIP路由之外的本地路由器中的所有RIP路由信息。“触发更新”则是RIP路由器仅在有路由表项发生变化时发送RIP路由通告,并仅携带本地路由表中有变化的路由信息

无论哪种更新,RIP路由的更新规则如下:

①如果更新的某路由表项在路由表中没有,则直接在路由表中添加该路由表项。

②如果路由表中已有相同目的网络的路由表项,且来源端口相同,那么无条件根据最新的路由信息更新其路由表。

③如果路由表中已有相同目的网络的路由表项,但来源端口不同,则要比较它们的度量值,将度量值较小的一个作为自己的路由表项。

④如果路由表中已有相同目的网络的路由表项,且度量值相同,则保留原来的路由表项。

1RIP路由定期更新机制

RIP路由器总是会每隔30s(缺省值,可修改)通过UDP 520端口以RIP广播应答方式向邻居路由器发送一个路由更新包,包中包括了本地路由器上的完整的路由表(除被“水平分割”机制抑制的路由表项),用来向邻居路由器提供路由更新,同时用来向邻居路由器证明自己的存在。RIP的路由表中主要包括“目的网络”、“下一跳地址”和“距离”这3个字段。

如果一个路由器在180s内没有收到某个邻居路由器发来的路由更新,则这个路由器就会标记该邻居路由器为不可达路由器,使这个邻居路由器进入抑制周期。当路由器处于抑制周期内,它仍然可向前转发报文,但网络中的其他路由器不学习到达该路由器所连网络的路由信息,除非是一条更好的到达该路由器所连网络的路由信息,如本来是3跳,在抑制周期内学到了一条2条的路由信息。但抑制后期过后,即使更差的路由信息也接受。

如果300s内还没有收到这个路由器的路由更新,则本地路由器会在路由表中删除与该邻居路由器相关的路由表项。

可见,路由更新不仅影响着整个RIP网络中的路由器上路由表的更新和所有需要到达或经过该路由器的报文路由,还影响着其他邻居路由器对他存在的判定。

2RIP路由定期更新机制解析示例

①开始,所有路由器中的路由表只有自己直连的网络的路由表项信息。不是RIP路由表项,是直连路由表项,无需下一跳,度量“距离”均是0

②接着,各路由器就会按设置的周期(缺省30s)向邻居路由器发送路由更新。假设R2先收到来自R1R3的路由更新,并更新了自己的路由表,如图11-7,它新添加了分别通过R1R3到达10.0.0.030.0.0.0网络的路由表项,度量值为1

R2更新自己的路由表后,会把完整的路由表发给邻居路由器R1R3。路由器R1R3分别再进行更新。R1首先把从R2上接收到的如图11-7路由表每项度量加1,得到路由表如11-8.

④然后R1把图11-8路由表与自己原来的路由表11-6左图进行比较,凡是新添加的和度量值小于等于原来的路由表项均将更新,度量值更大的路由表项忽略。经过行比较发现两条新的路由表项,30.0.0.040.0.0.0直接在路由表中添加。已有的两条1020忽略更新。同样R2在收到R2路由更新后更新自己的路由表。

RIP路由协议存在一个问题,就是网络收敛比较慢,以11-5为例,三个路由器建立了稳定的路由表后,假设R1路由器和网10.0.0.0的连线断开了。R1更新自己的路由表,将10.0.0.0的路由表项距离改为16(即不可达),30s后发给R2,但是,R2R3得到的路由更新是“经过R2到达10.0.0.0网络的距离是2”,明显度量值更小,于是R2将此路由表项更新为“经过R3到达10.0.0.0的距离为3”,然后通过路由更新发给R3,此时R3的路由表中更新为“经过R2到达10.0.0.0网络的距离为4”,R3再通过路由更新发给R2,如此反复,直到该路由表项的距离达到16R2R3才知道10.0.0.0网络不可达。(这个过程是记数到无穷大机制)为解决这一不足,出现了水平分割技术,就是同一路由表项更新不再从接收该路由表项的接口发送出去。

四、RIP路由收敛机制

任何距离矢量类路由选择协议都有一个问题,路由器不知道网络的全局情况,必须依靠相邻路由器来获取网络的可达信息。由于采用UDP协议协议进行的路由更新信息在网络上传播慢,所以所有距离矢量路由算法都有一个收敛慢的问题。这将导致网络中各路由器路由信息不一致现象。RIP可以使用以下机制减少因网络上的不一致带来的路由选择环路的可能性:

1、记数到无穷大机制

RIP允许最大跳数值为15,大于15的目的地址被认为是不可达的。这个数字在限制了网络大小的同时也防止了一个叫做“记数到无穷大”的问题。

2、水平分割法

“水平分割”(Split Horizon)就是使路由器不向对应路由更新表项输入的方向回传此条路由表信息,使它只沿一个方向通告。即如果一条路由信息是从某个端口学习到的,那么从该端口发出的路由更新中将不再包含该条路由信息,其目的就是为了避免出现路由更新环路。

水平分割在不同网络中的实现有所区别。在广播网、P2PP2MP网络中是按照接口进行水平分割的,如图11-12.

RouterA会向RouterB发送到网络10.0.0.0/8的路由信息,如果没有配置水平分割,RouterB会将从RouterA学习到的这条路由再发送回给RouterA。这样,RouterA可以学习到两条到达10.0.0.0/9网络的路由:一条为跳数为0的直连路由;另一条为下一跳指向RouterB,跳数为2的路由。当RouterA到网络10.0.0.0的路由变成不可达,并且RouterB还没有收到路由不可达的信息时,RouterB会继续向RouterA发送10.0.0.0可达的路由信息。即RouterA会接收到错误的路由信息,认为可以通过RouterB到达10.0.0.0网络;而RouterB仍旧认为可以通过RouterA到达10.0.0.0网络,从而形成环路。配置水平分割后,RouterB将不会再把到网络10.0.0.0的路由发回给RouterA,由此避免了路由环路的产生。

对于NBMANon-BroadcastMultiple Access)网络,由于一个接口上连接多个邻居,所以是按照邻居进行水平分割的。从某一接口的对端邻居处学习到路由,不会再通过该接口发送回去。

3、毒性反转

“水平分割”功能是路由器用来防止把一个借口得来的路由又从此接口回传,导致路由更新环路出现。“毒性反转”(Poison Reverse)方法是在更新信息中包括这些回传路由,但会把这些回传路由的跳数直接设为16(无穷),直接使该路由变为不可达路由。即如果一条路由信息是从某个端口学习到的,那么从该端口发出的路由更新分组中将继续包含该条路由信息,但将这条信息的metric置为16,这能够更快的消除路由信息的环路。但增加了路由更新的负担。

4、保持定时器法

“保持定时器法”是设置路由信息被抑制的时间,缺省为180s。当路由器接收到一个不可达的路由更新时,路由器会把这条路由更新置于无效抑制状态,不再接收对应路由的更新信息,也不向外发送这条路由更新信息,一直持续到接收到一个带有更好度量的对应路由更新分组,或者这个保持计时器到期为止。

上图,由于线路原因,从路由器1发往路由器2的路由更新被延迟到达,致使路由器2不能及时更新,所以路由器2仍会以更新后的错误路由信息向路由器3发送。使用“保持定时器法”后,不会发生这种情况,因为路由器3在收到来自路由器1的网络A不可达的路由更新后,将在180s内不接受通向网络A的新的路由信息,而经过这段时间后,路由器2也正确进行了更新,不会再发送错误路由信息给路由器3

五、RIP报文格式

RIP有两种版本:RIPv1RIPv2RIPv1是有类别路由协议(ClassfulRouting Protocol),只支持以广播方式发布协议报文。RIPv1的协议报文中没有携带掩码信息,只能识别ABC类这样的自然网段的路由(如果连接的是子网,则在进行路由更新通告只能聚合成自然网段的聚合路由向外通告),不支持任意掩码长度的子路由聚合,也不支持不连续子网(Discontiguous Subnet)。RIPv2是一种无分类路由协议(Classless Routing Protocol)。RIPv2RIPv1具有的优势:

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

②报文中携带掩码信息,支持任意掩码长度的路由聚合和CIDRClassless Inter-Domain Routing,无类别域间路由),即能识别子网路由。

③支持指定下一跳,在广播网上可以选择到目的网段的最佳下一跳IP地址。

④支持以组播方式发送更新报文,减少资源消耗,但只有支持RIPv2的设备才能接收这种更新报文。

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

“不连续子网”是指在网络中,某几个连续子网在中间被另一个其他网段的子网或网络隔开了。

如上图11-14,由172.16.0.0/16划分的子网172.16.1.0/24172.16.2.0/24被中间的192.168.0.0/24192.168.1.0/24分隔开了,这就是一个不连续子网。

11-15图是一个连续子网,因为在R3的左边和右边所连接的子网都不是由一个网络划分的子网,也就是完全不同的子网。

为什么RIPv1不支持不连续子网呢?原因就是RIPv1路由器接口在收到不是与接收接口IP地址处于同一自然网段的路由更新时会自动进行路由聚合(如果是处于同一自然网段下,则不会聚合,是以具体子网路由显示的),而且该自动聚合功能是不可关闭的。如11-14所示不连续子网中,R3左边接口在收到R1R2连接网段172.16.1.0/24RIP路由通告后,由于它与该接口IP地址所在网段192.168.0.0/24不在同一自然网段下,所以会在R3上自动聚合成为172.16.0.0/16自然网段的聚合路由,其下一跳是R3左边接口;同理R3右边接口也会对所收到的R4R5所连接的172.16.2.0/24子网进行自动聚合,且聚合路由也是172.16.0.0/16自然网段路由,其下一跳是R3右边接口,这时R3就不能识别了,因为两边的聚合路由是一样的,但下一跳不一样,这时在R3RIP路由表中会存在两个不同的下一跳,但目的网络均为172.16.0.0/16的路由,就会被认为网络中出现了环路

如果在11-14R2R3之间连接的是172.16.3.0/24网段,则R3在收到R1R2之间连接网段172.16.1.0/24的路由时,在R3上就不会被聚合成172.16.0.0/16,而是以172.16.1.0/24的子网路由显示。也就不会出现环路,网络也不能说成是不连续子网了。

RIP使用UDP报文在邻居路由器间交换路由表,使用UDP端口号为520.通常情况下RIPv1报文为广播报文;RIPv2报文为组播报文,组播地址为224.0.0.9,缺省每隔30s向邻居路由器发送一次路由更新报文。如果设备经过180s没有收到来自对端的路由更新报文则将所有来自此设备的路由信息标志为不可达,若300s内仍为收到更新报文就将这些路由从路由表中删除。

1Command

命令字段,占1个字节,用来指定数据报分组是请求分组,还是响应分组。在RIPv1中主要有以下4四种分组类型Request(请求,对应值为1)、Response(响应,对应值为2)、Traceon(启用跟踪标记,对应值为3,自RIPv2版本后已淘汰)、Traceoff(关闭跟踪标记,对应值为4,自RIPv2后已淘汰)。请求分组是请求邻居路由器发送全部或部分路由表信息的分组,响应分组可以是路由器主动提供的周期性路由更新分组或者是对请求分组的响应。

2Version

版本字段,占1个字节,RIPv1版本值为1RIPv2版本值为2

3Unused

未使用字段,2字节,值固定为0

4Address Family IdentifierAFI

地址族标识字段,2字节,指出所使用的地址族。RIP设计用于携带多种不同协议的路由信息,每个项都有地址族标志来表明使用的地址类型,IP地址的AFI2

5Route Tag

路由标记字段,2字节,仅适用于RIPv2RIPv1不适用(值固定为0)。它提供区分内部路由(由RIP学得)和外部路由(由其他协议学得)的方法。它携带着一个EGPBGP的自治系统号。因为RIPv1中不支持该字段,所以RIPv1不支持由其他类型路由重发布为RIP路由。

6IP Address

IP地址字段,4字节,用于指定路由的目的网络地址,可以是标准网段地址、子网地址。

7Subnet Mask

子网掩码字段,4字节,用于指定目的网络的子网掩码,仅适用于RIPv2RIPv1中该字段值固定为0。因为RIPv1不支持无类别网络,也就是不支持子网路由(但可以连接子网,只是在生成RIP路由表项会以有类网络路由显示),仅支持标准的有类网络,所以具体网段的子网掩码是固定的。

8Next Hop

下一跳字段,4字节,仅适用于RIPv2RIPv1中该字段值固定为0。因为RIPv1版本采用的是广播方式发送,无具体的下一跳。它指出RIP路由的下一跳的IP地址。如果为0.0.0.0,则表示发布此条路由信息的路由器地址就是最佳下一跳地址。

9Metric

RIP路由的Metric(度量)值字段,也就是“跳数”值,4字节,最大有效值为15。值为16时表示该路由不可达。

整个RIP报文的各字段可分为“头部”(Header)和“路由表项”(Route Entries)两大部分。“头部”包括CommandVersionUnused3个字段,其余字段都属于“路由表项”。在一个RIP报文中,最多可以有25个路由表项,也就是在一个RIP分组中最多可含有25个地址项,即一个分组中最多可一次性通告25RIP路由表项。

RIP路由表项部分包括目的IP地址/掩码、下一跳IP地址、度量,对比静态路由的组成可以看出前三项是一样的,不同的只是在静态路由中还可以配置出接口,另外在静态路由中的“优先级”其实与RIP路由中的“度量”作用差不多,都可体现对应路由的优先级。

RIP配置与管理

RIP的配置任务主要体现在路由器对RIP特性的支持。AR G3系列路由器支持的RIP特性主要包括RIP的基本功能、RIPv2增强特性、水平分割、毒性反转、控制RIP路由的选路、控制RIP路由信息的发布和接收、调整RIP网络性能参数和RIPBFD联动。

一、配置RIP基本功能

RIP基本功能主要包括以下几方面:

1、启动RIP进程

全局启动RIP进程是进行所有RIP配置的前提。如果在全局启动RIP前,在接口视图下配置了RIP相关命令,这些配置只有在全局RIP启动后才会生效。

2、在指定网段使能RIP

也就是通常所说的网络宣告。RIP只在进行网络宣告时所指定网段上的接口才能运行,对于不在指定网段上的接口,RIP既不在通过它接收和发送路由,也不将它的接口路由转发出去。因此,RIP启动后必须指定其工作网段。

3、(可选)配置NBMA网络的RIP邻居

通常情况下,RIP使用广播或组播IP地址发送报文。如果在不支持广播或组播报文的NBMA网络(如X.25ATMFR等网络)链路上运行RIP,则必须在链路两端手动互相指定RIP的邻居,这样报文就会以单播形式发送到对端。

4、(可选)配置RIP的版本号

一般情况下,只需配置全局RIP版本号即可。如果需要在指定接口配置与全局不同的RIP版本号,则在指定接口下配置接口的RIP版本号。


当接口中配置的RIP版本与全局配置的RIP版本不同时,则该接口以本地接口配置的RIP版本为准。在接口上配置不同的RIP版本,接口允许发送的请求报文和允许接收的响应报文的版本可能会有所不同。

①如果不配置RIP版本,则以广播方式发送RIPv1报文,接收广播的RIPv1RIPv2报文

②如果配置为RIPv1,则只以广播方式发送v1报文,接收广播的v1报文。

③如配置为RIPv2,则只以组播方式发送v2报文,接收组播或广播的v2报文

④如配置为组播的RIPv2multicast),则以组播方式发送,接收组播v2报文

⑤如配置为广播的RIPv2broadcast),则以广播方式发送v2报文,接收v1v2的报文

二、配置RIPv2特性

RIPv2RIPv1的不同在于,RIPv2支持VLSM(可变长子网掩码)和CIDR(无类别域间路由),并支持验证功能,从而功能更加完善,安全性更高。

RIPv2特性配置中主要包括两方面任务,均是可选配置:

1、配置RIPv2的路由聚合

使用路由聚合可以大大减小路由表的规模。通过对路由进行聚合,隐藏一些具体的路由,可以减少路由震荡对网络带来的影响。

RIP支持两种聚合方式:自动路由聚合和手动路由聚合。自动路由聚合只能聚合成对应的自然网段,是在系统视图下全局使能的;而手动路由聚合可以是超网路由,是在具体RIP路由器接口下配置的。RIPv1仅支持自动路由聚合,但自动路由聚合功能不可关闭,也就是不可配置;RIPv2同时支持自动和手动路由聚合,且可关闭自动路由聚合功能,以便将子网路由向外发布。自动聚合的路由优先级低于手动指定聚合的路由优先级

缺省情况下,如配置了水平分割或毒性反转,有类的自动路由聚合功能将失效。因此在向自然网段边界外发送聚合路由时,相关视图下的水平分割和毒性反转功能都应该关闭。

2、配置RIPv2报文的认证方式

可通过配置RIPv2报文的认证来提高RIP网络的安全性。RIPv2支持对协议报文进行认证,并提供简单认证和MD5认证两种方式。简单认证使用未加密的认证字段随报文一同传送,其安全性比MD5要低。

RIPv2报文认证需要在具体的RIP路由器接口上配置。


三、配置防止路由环路

通过配置RIP的水平分割和毒性反转,可以有效防止路由环路。水平分割和毒性反转也是在具体的RIP路由器接口上配置的,在配置水平分割和毒性反转前,需要完成RIP基本功能的配置。

四、控制RIP的路由选路

通过控制RIP的路由选路,使得网络满足复杂环境中的需要。可选配置任务:

1、配置RIP协议优先级

当多个路由协议发现目的地相同的路由时,通过配置RIP的协议优先级来改变路由协议的有限顺序。

2、配置接口的附加度量值

对于RIP接收和发布路由,可通过调整RIP接口的附加度量值来影响路由的选择(度量值越小越优先)。附加路由度量值是指在RIP路由原来度量值的基础上所增加的度量值(跳数)。

3、配置最大等价路由条数

通过配置RIP最大等价路由条数,可以调整进行负载分担的路由数目。


五、控制RIP路由信息的发布

RIP路由信息的发布进行精确控制,可以满足复杂网络环境中的需要。

1、配置RIP发布缺省路由

在路由表中,缺省路由以到网络0.0.0.0(掩码为0.0.0.0,代表任意网络)的路由形式出现。当报文的目的地址不能与路由表的任何目的地址匹配时,设备将选取缺省路由转发该报文。

2、配置RIP引入外部路由信息

RIP可以引入其他进程或其他协议学习到的路由信息,从而实现与其他协议的网络互通。

3、禁止接口发送更新报文

通过配置禁止接口发送更新报文,可以防止路由环路。禁止接口发送更新报文有两种方式:一是在RIP进程下全局配置接口为抑制状态;二是在接口视图下禁止具体接口发送RIP报文。全局配置的优先级要高于在接口视图下的配置。



 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值