<RIP(Routing Information Protocol)>
·RIP协议的特点:
1)RIP属于IGP,是Distance-Vector协议。
2)RIP是基于UDP的,端口号520
3)周期性以广(组)播向邻居发送更新。
4)做完整更新,将整个路由表的信息传递给邻居。
5)Metric(度量值)只跟跳数有关。
6)只支持等价的负载均衡
·解决DV环路问题:
1)Defining a Maximum:16跳。
2)Split Horizon:从一个接口收到的路由不再从此接口发出。
3)Route Poisoning:将不可达路由直接设成Infinity(16跳)。
4)Holddown Timers:所有邻居都将此路由“冻结”,
如在“冻结”期内该路由恢复,继续采纳该路由
如在“冻结”期收到更好的路由,将采纳更好的路由
如在“冻结”期收到更差的路由,不采纳该路由
5)Triggered Updates:
避免周期性更新占用带宽,只有当拓扑变化时才发送更新。
<RIP的报文类型>
RIP协议定义了两种消息类型:
1、请求消息request
2、响应消息response
请求消息可以请求整个路由表的信息,也可以仅请求某些特定的路由信息。通常当RIP刚启用时,会向每一个启用的RIP协议的接口发出带有请求消息的数据包。
响应消息则用来将路由器的路由发送给其他路由器。通常会周期发送。
<RIP v1>
RIP-v1的特点:
·以广播地址255.255.255.255发送更新。
·路由在跨越主类网络边界时,会自动汇总成主类网络。
·不支持VLSM,更新时不携带掩码信息
配置:
router rip //在路由器上启用RIP协议
network 10.0.0.0 //宣告网络,只能主类宣告
·在CISCO路由器上,运行RIP后,默认即不是V1版也不是V2版,而是一种特殊状态。
show ip protocols //查看当前运行的协议
Interface Send Recv
Serial0/0 1 1 2 (默认)
router rip
version 1 //如果你想运行V1版,打上这条命令
Interface Send Recv
Serial0/0 1 1 (指定v1)
debup ip rip //本命令可调试路由更新
<RIP v2>
RIP-v2的特点:
·以组播地址224.0.0.9发送更新。
·默认情况下路由在跨越主类网络边界时,会自动汇总,但是也可以关闭自动汇总,进行手动汇总
·RIPv2支持VLSM,更新发送时携带掩码信息。
配置:
router rip
version 2 //启用V2版
Interface Send Recv
Serial0 2 2 (指定v2)
·正常情况下,RIP-V2是发送组播更新,下面这条命令强制让RIP使用广播更新
int s0
ip rip v2-broadcast //在接口下配置
·虽然v2携带了掩码信息,但跨越不同网络边界时,默认还是会自动汇总成主类。
router rip
no auto-summary //通过这一命令可关闭自动汇总
·RIP在auto-summary时,会将本地及收到的路由都汇总成主类然后发出。
<实现V1和V2版的兼容性>
int s0
ip rip send version 1 //设定接口只发送出V1版的更新
ip rip receive version 1 //设定接口只接收V2版的更新
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)认证不匹配
router rip
timers basic 10 20 20 40 //修改四个计时器
<被动接口>
在RIP协议中,如果一个接口被设定为被动接口,这个接口将不能向外发送路由更新,不过还可以接收对端发送过来的路由更新。
router rip
passive-interface s1/0 //将接口设为被动接口,只收不发
router rip
passive-interface default //将所有接口设为被接口
router rip
no passive-interface s1/0 //取消一个被动接口
debug ip rip
<路由汇总>
在RIP中关闭自动汇总后,可以在某一个接口去做手动的汇总。但要注意,汇总出的网络号不能越过主类网络。RIP不支持CIDR。
R1(config)#int s1/1
R1(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物理接口 这个接口比较特殊,默认是关闭的
int s0
no ip split-horizon //本命令在接口下关闭水平分割
<单播更新>
默认RIP只发送广播或组播更新包,下面的命令让RIP发出单播包
router rip
neighbor 10.0.0.2
<偏移列表>
可以用来增加路由的metric值,需要先用ACL抓出路由
access-list 1 permit 2.2.2.0 0.0.0.0
router rip
offset-list 1 out 3 ethernet 0/0 //对ACL1所匹配的路由加三点的metric值
或:
offset-list 0 out 3 ethernet 0/0
(0代表对所有路由)
<RIP v2 Authentication>
认证技术可以提高网络的安全性,只有互相认证成功的两台合法路由器之间才能传递路由信息。
RIP支持两种认证方式:
1、明文认证
2、md5认证
第一步:定义密码库
key chain R2 //本地有效
key 1 //建议两端一致
key-string cisco
可以定义多个KEY值,按从小到大的顺序进行匹配,发送KEY值时也是发送最小的一个,还可以设定KEY值的有效时间。
第二步:在接口下应用密码库
int s0
ip rip authentication key-chain R2
第三步:在接口下指定认证模式
int s0
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口是不能打的
int s0
ip rip triggered (E0/Lo0不支持)
(两端都配)
debug ip rip
<RIP区域生成默认路由>
为了让一个网络中的路由器都能自动获得默认路由,从而可以访问外部网络,我们可以利用路由协议来自动下发默认路由。
1)Redistribute Static:
ip route 0.0.0.0 0.0.0.0 serial 0
router rip
redistribute static
2)Network 0.0.0.0:
ip route 0.0.0.0 0.0.0.0 serial 0(写下一跳不行)
router rip
network 0.0.0.0
3)default-information originate:
router rip
default-information originate
4)default-network:
ip default-network 12.0.0.0(写成主类)#
如写成ip default-network 12.1.1.0就不行
<负载均衡>
负载均衡指的是将去往一个特定目的地的多条路由同时放进路由表,用来做流量的转发。
负载均衡有两种:
1、等价负载均衡--将metric值相等的路由同时放入路由表用来做流量转发。
2、不等价负载均衡--将metric值不相等的路由也同时放入路由表用来做流量转发。
·RIP只支持等价的负载均衡。也就是说用来做负载均衡的路由metric必须一致。
·默认RIP只支持四条路径的负载均衡,在新的IOS中可以通过命令修改为最多16条
router rip
maximum-paths 2 //最多16条
show ip protocols //可以用来查看