RIP(Routing Information Protocol)

·RIP属于IGP,是Distance-Vector协议。

·RIP协议的特点:
1)RIP是基于UDP的,端口号520
  2)周期性以广(组)播向邻居发送更新。
3)做完整更新,将整个路由表的信息传递给邻居。
4)Metric(度量值)只跟跳数有关。
  5)只支持等价的负载均衡

·解决DV环路问题:
1)Defining a Maximum:16跳。
2)Split Horizon:从一个接口收到的信息不再从此接口发出。
3)Route Poisoning:将不可达路由直接设成Infinity(16跳)。
4)Holddown Timers:所有邻居都将此路由“冻结”,
如在“冻结”期内该路由恢复,继续采纳该路由
如在“冻结”期收到更好的路由,将采纳更好的路由
如在“冻结”期收到更差的路由,不采纳该路由
5)Triggered Updates:
避免周期性更新占用带宽,只有当拓扑变化时才发送更新。

 

<RIP v1>

RIP-v1的特点:
·以广播255.255.255.255发送更新。
·在跨越主类网络边界时,会自动汇总成主类网络。
·不支持VLSM,更新时不携带掩码信息,只以主类方式通告。

Classful Rouing:(落后的)
RIPv1 / IGRP

R2(config)#router rip
R2(config-router)#network 10.0.0.0(只能以主类的方式宣告)

R2#show ip protocols

    Interface             Send  Recv 
    Serial0/0             1     1 2  (默认)                             

R2(config-router)#version 1

Interface             Send  Recv
    Serial0/0             1     1   (指定v1)

R2#deb ip rip

 

<RIP v2>

RIP-v2的特点:
·以组播地址224.0.0.9发送更新。
·默认情况下在跨越主类网络边界时,会自动汇总,但是也可以关闭自动汇总,进行手动汇总
·RIPv2支持VLSM,更新发送时携带掩码信息。也只能以主类方式通告。

正常情况下,RIP-V2是发送组播更新,下面这条命令强制让RIP使用广播更新
R1(config-if)#ip rip v2-broadcast 

虽然v2携带了掩码信息,但跨越不同网络边界时,默认还是会自动汇总成主类。
R1(config-router)#no auto-summary    通过这一命令可关闭自动汇总

·RIP在auto-summary时,会将本地及收到的路由都汇总成主类然后发出。

R2(config)#router rip
R2(config-router)#version 2  启用V2版

    Interface             Send  Recv
    Serial0               2     2   (指定v2)

<实现V1和V2版的兼容性>

R1(config-if)#ip rip send version 1       设定接口只发送出V1版的更新
R1(config-if)#ip rip receive version 1    设定接口只接收V2版的更新

R1(config-if)#ip rip send version 1 2     设定接口同时发送V1和V2版的更新

 

<RIP Timer>

1)Update (30S)
随机变量是更新周期的15%,即4.5S (25.5S-30S)

2)Invalid (180S)
180S后置为Possible Down,之后立即启动hold Down计时器。

3)Hold Down(180S)
实际只用到60S
4)Flush(240S)
240S还没收到路由更新,才将此路由删除。

测试Possible Down:
1)设置Passive-interface
2)中间接SW
3)中间是FR
4)认证不匹配

R2(config-router)#timers basic 10 20 20 40

Cisco路由器配置——RIP_休闲

 

<被动接口>
在RIP协议中,如果一个接口被设定为被动接口,这个接口将不能向外发送路由更新,不过还可以接收对端发送过来的路由更新。

R2(config-router)#passive-interface loopback 0
将接口设为被动接口,只收不发。

R2#show ip protocols

R2(config-router)#passive-interface default
R2(config-router)#no passive-interface loopback 0

 

<单播更新>
默认RIP只发送广播或组播更新包,下面的命令让RIP发出单播包  
需把接口设为被动接口  否则组播和单播一起发

R1(config)#router rip
R1(config-router)#neighbor 10.0.0.2

<路由汇总>
在RIP中关闭自动汇总后,可以在某一个接口去做手动的汇总。但要注意,汇总出的网络号不能越过主类网络。

R2(config-if)#ip summary-address rip 172.16.0.0 255.255.0.0
(在路由流向的出接口作)

RIP中汇总的特点:

·本地存在有明细路由,才能从做汇总的接口发出汇总路由。

·直到明细的最后一条路由消失,汇总才会消失。

·取明细路由的最小metric值

 

<水平分割>
在绝大多数的接口运行RIP,水平分割默认都有是开启的

Enable : Ethernet / Serial / BRI / FR子接口(p2p/mp)
Disable : FR物理接口  这个接口比较特殊,默认是关闭的

R1(config-if)#no ip split-horizon    本命令在接口下关闭水平分割

 

<偏移列表>

可以用来增加路由的metric值,需要先用ACL抓出路由

R2(config)#access-list 1 permit 2.2.2.0 0.0.0.255

R2(config-router)#offset-list 1 out 3 ethernet 0/0
(原有Metric + 3)

R2(config-router)#offset-list 0 out 3 ethernet 0/0
(0代表所有网络)

 

<RIP v2 Authentication>
认证技术可以提高网络的安全性,只有互相认证成功的两台合法路由器之间才能传递路由信息。

RIP支持两种认证方式:针对一段链路来做的
1、明文认证
2、md5认证

第一步:定义密码库
R2(config)#key chain R2   (本地有效)
R2(config-keychain)#key 1  (建议两端一致)(可以定义多个KEY值,按从小到大的顺序进行匹配,发送KEY值时也是发送最小的一个,还可以设定KEY值的有效时间。)
R2(config-keychain-key)#key-string cisco

第二步:在接口下应用密码库
R2(config-if)#ip rip authentication key-chain R2

第三步:在接口下指定认证模式
R2(config-if)#ip rip authentication mode [md5|text]

R1#show key chain
R1#debug ip rip

小知识:RIP中每一个路由更新报文最大可包含25条路由,做了明文认证后只能包含24条,做了MD5认证后只能包含23条。

R2(config-keychain-key)#Accept-lifetime 04:00:00 jan 2006 infinite 定时接收
R2(config-keychain-key)#Send-lifetime 04:00:00 jan 2006 04:01:00 jan 2006 定时发送
R2(config-keychain-key)#Send-lifetime 04:00:00 jan 2006 duration 300  有效期300S

注意:密码库中可以同时定义多个密码,在匹配时要按规则来匹配,明文认证和md5认证的匹配规则各不一样,下面分别说明。

明文认证匹配规则:

明文认证总结:只发送KEY ID最小的KEY,并不携带KEY ID,接收方与KEY列表中所有的KEY匹配,只要有一个能匹配上则通过认证。

md5认证匹配规则:

密文认证总结:只发送最小的KEY ID,并且携带KEY ID。当接收到时,先只匹配相同KEY ID密钥,如果不匹配,则通不过认证。但如果没有相同KEY ID,只向下查找一次大的KEY ID密钥,如果有相同的KEY ID,但不匹配也不通过认证,如果仍然没有不是相同的KEY ID则也不通过认证。

<Triggered>
周期更新:路由器周期性的向外发送出自已的路由更新
触发更新:路由器平时不会周期性的发送路由更新,只会在拓朴改变的情况下(也就是路由变化了),才会向外发送出路由更新。

RIP默认只做周期更新,通过使用命令,可以实现触发更新。

使用触发更新后:
·路由器不再周期发更新,只触发更新。
·会自动生成Timers basic 30 180 0 240
·只能打在低速点对点链路上,E0口是不能打的

R1(config-if)#ip rip triggered (E0/Lo0不支持)
(两端都配)

debug ip rip

*Mar   RIP: send v2 triggered update to 12.1.1.2

 

<RIP区域生成默认路由>
为了让一个网络中的路由器都能自动获得默认路由,从而可以访问外部网络,我们可以利用路由协议来自动下发默认路由。

1)Redistribute Static:

R1(config)#ip route 0.0.0.0 0.0.0.0 serial 0
R1(config)#router rip
R1(config-router)#redistribute static

2)Network 0.0.0.0:

R1(config)#ip route 0.0.0.0 0.0.0.0 serial 0(写下一跳不行)
R1(config)#router rip
R1(config-router)#network 0.0.0.0

3)default-information originate:

R1(config)#router rip
R1(config-router)#default-information originate

4)default-network:

R1(config)#ip default-network 12.0.0.0(写成主类)

如写成ip default-network 12.1.1.0

 

<负载均衡>
负载均衡指的是将去往一个特定目的地的多条路由同时放进路由表,用来做流量的转发。

负载均衡有两种:
1、等价负载均衡--将metric值相等的路由同时放入路由表用来做流量转发。
2、不等价负载均衡--将metric值不相等的路由也同时放入路由表用来做流量转发。

·RIP只支持等价的负载均衡。也就是说用来做负载均衡的路由metric必须一致。
·默认RIP只支持四条路径的负载均衡,在新的IOS中可以通过命令修改为最多16条

R1#show ip protocols

R1(config)#router rip
R1(config-router)#maximum-paths 6(最多16条)


查看原文:http://www.laogebo.com/archives/506.html