RIP动态路由选择协议

routing information protocol     IGP   小范围   路由器限制为15台  超过可能无法收敛  
收敛概念  在一个域内  各个路由器知道各个网段的链路信息   接口  彼此学习  同步过程  称为收敛
好的路由选择协议收敛快     反之收敛慢   rip为30s    最差的路由选择协议
贝尔曼福特    DV  宣告   一个域内多个路由器的多个接口都需要宣告
所有宣告接口的直连路由通过RIP学习到的已经加入路由表的RIP路由   被发送    路由器收到且更新   默认30s一次
RIPV1:有类路由协议     flsm    固定等长子网掩码
RIPV2:无类路由选择协议      同时支持flsm和vlsm   等长和不等长的子网掩码

 

RIP OVERVIEW
 
RIP 路由协议 - 骡子 - stupidmule@126 的博客
 
RIP 判断路径好坏用跳数     跳数值越少   越好    但事实并不是
如果两条路径度量值一样  都最小     则两条都加入到路由表中并行工作    负载
rip支持ecmp   等价负载均衡 rip默认最多支持4条等价路径  设置最大为16  比较管理距离  再比较度量值   将度量值最小的路径加入到路由表中  
计时器默认为30s
ripv2   passive-interface    被动接口     -------宣告此接口运行rip协议   但是不发送更新报文   直连的pc端接口就不会处理无用的报文
 
 
 
路由汇总-----减小路由条目   且不影响转发效率      减小路由检索的时间
rip v1不支持手工汇总    v2支持手工汇总
有类 路由器  rip v1仅支持自动汇总:auto-summary    对于rip    接口发送路由条目    协议会对比路由条目的前缀和发送此条目接口的ip地址 是否在同一主类网段   原封不动的发走    ;如果不在同一个子网段   将前缀自动转换一个它所对应的主类的网段;原因是只能传递前缀不能传递掩码。
高级路由器(无类路由器)  默认自动开启自动汇总(因为不精确  可以用手工汇总替代)   所以需要关闭自动汇总    no auto-summary   以防止路由黑洞      注意路由黑洞的概念
ripv2  支持认证
认证    运行动态路由选择协议    报文中有秘钥    接受者检查判断是否合法的路由器发送的    主要是安全性的考虑
路由器的路由选择协议报文时域内合法的路由器发送的
认证分为明文和密文认证    md5散列算法     不可逆
公有协议    华为路由器仅支持明文认证   但是思科两种都支持
 
RIP Configuration
#router rip
#version 2
#netwrok network-number
其中的network为宣告    
分为1    主类宣告     ---模糊宣告    network 后面跟主类网络号
2 精确宣告   ---针对接口宣告  
举例
例1 r2后面有两个网段一个是172.16.2.0/24 另一个是   172.16.3.0/24   他们两个可以汇总成172.16.2.0/23   
172.16.00000010.0        另一个是172.16.00000011.0   前23位均一致所以得出172.16.2.0/23
将汇总的网段地址 借一位 又只可以得出172.16.2.0 /24  和172.16.3.0/24这两个地址 所以是精确的地址汇总没有 问题
例2  同上如果是两个地址172.16.1.0/24    172.16.2.0/24   换成二进制为 172.16.00000001.0  和172.16.00000010.0 
则前22位一致  所以掩码为22   汇总地址为172.16.0.0/22   再将此地址分子网可以得出172.16.0.0/24     172.16.1.0/24     172.16.2.0/24     172.16.3.0/24   四个不同的网段     但是本例中并没有.3   和.0的子网段   r1如果 发送.0和.3的报文会发给r2,但是r2没有此地址的子网   就会丢弃这两个网段的报文  r1并不知道  会连续不断的发 送   即形成路由黑洞
实验1
  RIP 路由协议 - 骡子 - stupidmule@126 的博客

1.要求 : r4获取r5的dhcp服务器分配的IP地址   其中r1 2 3运行rip路由选择协议   

2.命令
r2:
#router rip
#version 2
#no auto-summary     禁止掉路由汇总
#network 24.0.0.0     针对的是接口fa0/0
#network 12.0.0.0     针对接口serial 1/0
同理   r1    r3都设置
发送更新报文之前要先将度量值加1   然后再发走
避免路由黑洞   需要汇总的网段   二进制值需要连续才可以    需要设计网络是注意配置正确的ip网段
 
实验2  手工路由汇总
 
RIP 路由协议 - 骡子 - stupidmule@126 的博客
 1.要求检测r1和r3只收到一条去往172.16.3.0 和172.16.2.0  /24这两个网段的23掩码的路由条目
让r4和r6都获取dhcp服务器分配的ip地址
2.命令
r2   fa0/0地址172.16.2.2       
fa 0/1 地址172.16.3.2
宣告路由  回包   注意宣告时  将所哟接口都宣告包括 12.1.1.0   
#router rip
#version 2
#network 172.16.0.0
中继dhcp报文   给r6   
#int fa0/1
#ip helper-address 35.1.1.5
 
r4   ip address dhcp
r6   ip address dhcp 
 
r5重新设置dhcp服务
# ip dhcp pool 3       给r6分配     3为名字
#network 172.16.3.0 255.255.255.0   必须设置
#default-router 172.16.3.2    必须设置
#dns-server 172.16.3.2    必须设置
 
 
#ip dhcp pool 2  给r4分配   2为名字
#network 172.16.2.0 255.255.255.0
#default-router 172.16.2.2
#dns-server 172.16.2.2
 
注意r5    r4   r6都需要指定网关
 
查看r4和6得到ip地址
 
在上面实验的基础上做手工汇总 

r2#int ser1/1

#ip summary-address rip 172.16.2.0 255.255.254.0    注意掩码为23位
如果路由条目乱  需要重新收敛  需要清路由表     下面的命令
#clear  ip route *
#show run int ser1/1   查看路由接口明细
 
rip协议中   修改路由条目的度量值来选择某条路由条目   用工具    偏移列表
修改管理距离   只能在本地修改  
RIP 路由协议 - 骡子 - stupidmule@126 的博客
  例子1        修改路由的管理距离
r2#access-list 10 permit 35.1.1.0    创建以个acl   允许35.1.1.0网段的路由报文经过   名称为10
#router rip 针对rip协议
#distance 119 12.1.1.1 0.0.0.0     修改来自12.1.1.1接口的路由管理距离为119   默认为120
 
查看效果
#so show ip route
r  35.1.1.0 【119/2】 via 12.1.1.1     serial1/1
 
#traceroute  35.1.1.5    到目的地所经过的路径
 
例子2 去掉管理距离修改
#router rip
#no distance 119 12.1.1.1 0.0.0.0 10
#end
 
#show run | section router rip  过滤查看rip的信息    unix命令
 
第二种方式增加度量值     r2到35网段使用r1到r3   可以 增加r2-r3之间的度量值加大   使用偏移列表
 
命令:
#router rip
#offset-list 10 in 2 serial 1/0      解释为在serial1/0接口接收到的来自名称为10的acl表明的35网段的的数据的度量值加2
 
 
 
特性1 优选路由
#show ip route 13.1.1.0 255.255.255.0
可以查看路由明细 其中包括两条不同的路由 存在优先选择 度量值一样 管理距离一样 那么路由器如何判断哪个用作优选的路由呢 根据路由器接口 谁先学到 谁就是优选的路由
 
特性2   认证   防止不可控的路由器发路由更新报文    可以在认证的路由器中设置秘钥    秘钥认证通过才接受更新的报 文
  实例   明文认证   和密文认证   1分20       cisco支持明文和密文两种    华为等其他仅支持密文
1.先创建钥匙链    每个钥匙链中可以创建多个钥匙   用id表示
r1#config t
#key chain R1   钥匙链名称为r1
config--keychain-key#key  1    钥匙id设置为1
#key-string cisco   明文秘钥
 
 
 
r2#key chain r2
#key 1          1为key的id   
#key-string cisco       为秘钥值     这里注意   秘钥一致需要满足id和值都相同     
 
2.启用认证   在路由器的接口   
r2#interface ser1/1
#ip rip authentication key-chain r2    使用哪个钥匙链
#ip rip authentication mode text      使用明文秘钥     此命令才是执行认证
 
#ip rip authentication mode md5    此为密文认证   使用md5函数   针对钥匙id
 
同时需要在链路的对端启用认证
r1#interface se1/0
#ip rip authentication key-chain r1
#ip rip authentication mode text
 
特性3     不宣告的网段    加入rip路由表的方式     优化方式   最后一跳
即不宣告r2的fa 0/1 和fa 0/0的两个网段   但是要求rip更新路由条目时包含172.16.0.0的这两个网段
目的是不让fa0/0和fa0/1这两个接口不发送rip路由更新报文  以节省带宽和cpu资源
方式一    重分发直连      为强行的路由引入
在上面的例子中
r2#router rip
#no network 172.16.0.0  去掉宣告的172.16的网段
R3#no network 35.0.0.0  去掉宣告的35.0.0.0的网段
此时已经不存在这两个路由条目
 
r2#config t
#route-map r2 permit 10   创建route-map   名称为r2
#match interface fa0/0  fa0/1  抓取这两个接口的路由
#router rip
#redistribute connected route-map r2   重分发   调用route-map r2
 
 
同理r3
#route-map r3 permit 10
#match interface fa 0/1
#router rip  进入rip进程
#redistribute connected route-map r3
 
 
注意查看接口运行的配置信息
#show run int serial 1/1
 
方式二   被动接口   宣告之后 设置被动接口   passive-interface
在上例中去掉重分发
    r2,r3#router rip
#no redistribute connected
#network 35.0.0.0
#network 172.16.0.0
 
r2#network 172.16.0.0
#passive-interface fa 0/0    声明被动接口
#passive-interface fa 0/1
 
同理r3的设置
r3#network 35.0.0.0
#passive-interface fa 0/1
 
 
动态路由协议的特性
 
1.路由失效计时器     针对rip     一般为180s  路由失效的时间    多久没有被更新   会被删除
240s    路由刷新时间
a 周期性的发送路由更新报文   使其在路由表中保活的技术称为  路由追踪技术   低端
b 另一种技术称为  基于邻接关系 的路由更新技术   节约带宽  节约资源  很小的hello报文   先建立邻居    然后再传送路由更新报文   没有路由条目计时器    周期性的发送hello报文   初始为建立邻居   之后的为维护邻接关系     邻居的保活时间为15s    在此时间内发送hello报文即可          适用于高档协议  
rip   路由协议只有a
 
2.水平分割   
一个接口收到路由条目之后    此接口不能再发出收到的这条路由   避免产生环路
 
 
3.计数到无穷大  
 路由中毒    水平分割机制   表示此接口可以携带收到的这条路由信息   即反向的发还回去    但是度量值要设置 为不可达        将度量值设置为超过最大值极限的度量值
例子  针对rip   可以设置为度量值16   即不可达  即跳数1-15为有效    超过此范围的跳数就不可达  0为路由重分发 时使用
4.触发更新
默认30s周期发送更新    
触发更新     只要路由条目有变化    不管计时器是多少    都发送更新
5.抑制计时器
6.异步更新
一组路由器  运行同一款路由选择协议的时候   不要同时发送路由更新   导致带宽 cpu资源的浪费
目的是避免网络周期性的波动   更加优化
 
 
 
网络的两个部分    
1.控制层面
IP routing table 路由表 cam表的建立 路由条目如何获悉
路由获取 直连 静态配置 动态配置
2.数据层面
应用程序数据实际传输的层面
 
 
  排错  步骤  上例中r4想与r5通信
控制层面1.r4连接的网关即r2是否有到r5的路由   如果成功则完成了一半
数据层面2.当有路由时    是否有数据层面的因素导致的问题
问题可能有数据层面的设置
  a acl  访问控制列表
b 队列
c 管制/整形  QOS
d PBR  策略路由
e MPLS TE
 
使用工具  ping  通即可     测试端到端的双向三层联通性  
 
控制层面 
确认网关的命令
#show ip route
上例中r2有到r5的路由   如果没有
a   先看是否宣告接口     show IP protocol    注意置为被动接口时   不显示
b show run | section router rip  和show ip interface  brief   组合查看
c 以上都宣告了 又能力收到  的但是路由表中没有  则表示更新没有被加表
出现的两种情况
1.认证不匹配      
2.直连接口地址不在同一个子网段   收到更新报文后对比源地址的网段是否与接受接口的网段一致   默认情 况下如果不一致则丢弃
可以通过命令更改不同子网段的发送的更新报文可以加表  
命令
#router-rip
#no validate-update-source    忽略报文源地址
  3.宣告的接口可能被设置为被动接口
不能发送广播和组播的路由更新

 

posted on 2017-11-27 09:21  学习记录园  阅读(14664)  评论(0编辑  收藏  举报