在说RIP以前,先来想一想什么是动态路由协议,动态路由协议是对多个路由协议的统称。根据自制系统(AS)能够分为内部网关协议和外部网关协议。这里的自治域指一个具备统一管理机构、统一路由策略的网络。而动态说明这些协议不须要过多的人工操做,是协议之间自动运行的。算法
IGP(内部网关协议)和EIG(外部网关协议)中又有不一样类型的协议:链路状态型和距离矢量型 以及比较特殊的EIGRP网络
简单的介绍一下这些协议ide
IGRP:Interior Gateway Routing Protocol 动态距离向量协议 Cisco私有学习
EIGRP:Enhanced Interior Gateway Routing Protocol 加强型的内部网关协议 Cisco私有大数据
RIP :Routing Information Protocol 路由选择信息协议 公有协议ui
OSPF:Open Shortest Path First 开放式最短路径优先 公有协议orm
IS-IS :Intermediate system to intermediate system 中间系统协议 公有协议router
BGP:Border Gateway Protocol 边界网关协议 公有协议blog
这些路由协议不用多说,都是生成路由表的,那么不一样协议之间有没有高低之分那,有。就是Administrative Distance 简称AD值。接口
AD值的做用就是判断 不一样协议 生成的 去往同一目标 的路由条目,运行那一条路由条目。
以下图
客户端去往Internet 的路径有两条
很显然 数据会经过运行OSPF 链路出去,由于他的AD值小,优先级就越高。
每种路由条目的AD值 (可信度)
路由协议
AD值
直连
0
静态
1
EBGP
20
内部GIGRP
90
OSPF
110
Is-is
115
RIP
120
外部EIGRP
170
BGP
200
未知
255.255.255.255
不论是哪种的动态路由协议(咱们能够把协议理解成为语言,每一种协议都是一门独特的语言)让路由器运行一种协议就是赋予了它一门语言,路由器经过相同的语言/协议来沟通网络情况或各自的“地图”。从而得到最好的路线(路由)。
在他们交流的时候总会通过如下几个步骤:
① 想起他路由器传递路由信息
② 接受其余路由发来的信息
③ 根据收到的信息得出最好的路由,并生成路由表
④ 可以根据网络的变化作出反应,调整路由
简单的总结一下就是 说话 收听 生成地图 维护地图 (有点形象化了)
关键是第三个 怎么生成最好的路由
每种路由协议都有本身的判断依据,依据就是 度量值 (Metric)
他就是来判断 同一种路由协议 收到 多条 去往 同一个目标的时候 来决策出“多条当中”
哪一条是最好的。
度量值的计算能够只考虑路径的一个特性,但路径更复杂的时候,度量值是综合了径的多个特性产生的。这些特性都包括:
- 跳数 :通过一个路由器就是一条,跳数越小越好。
- 带宽 : 不用多说, 带宽固然越高越好,也越有限。
- 负载 : 负载反应了一条带宽的使用状况,带宽占用越小优先级越高。可是负载这一特性 是动态变化的,因此对网络的稳定和路由器的运行都会有影响。
- 时延 : 值数据包通过一跳链路所花费的时间,时延越小说明网络链路越好,成为最佳路 径的可能性就越高。
- 可靠性 :用来判断一跳链路发生故障的可能性或概率,可靠性这一特性也是动态变化的。
- 成本: cost 成本值是逻辑上来表示一跳链路的大小,从原地址到目标地址cost值越小 就越有可能成为最优路径。
- 最大传输单元(MTU):指一条路径上所能连接的最大数据单位 (字节)。
如图 不一样的路由协议可能有不一样的路径选择 好比EIGRP会选择1M的链路,而RIP 就会选择上面那条链路
为何,由于这就是路由协议的算法,不一样的算法产生的结果就不一样。好比汉语成就了中国的长城,英语成就了胜利的女神什么的。。。
下面就说说RIP 他为何选择56K的链路
RIP属于距离矢量协议 公有协议
他的特色
① 按期更新,想其余路由器通告路由信息。通告的频率不能过于频繁(形成网络堵塞),也不能间隔太长时间,这样网络收敛就慢。收敛:网络的一个状态,收敛完成了,就表示整个网络稳定了。
② 邻居,在RIP中,邻居之间各自的路由表示共享的。比较统一的。
③ RIP I 宣告网络是经过广播的方式, RIP II 组播地址 224.0.0.9
④ 全路由表的更新方式。表示路由器之间交流的是整张路由表。
⑤ RIP 采用的是跳数做为本身的metirc 跳数越小,优先级就越大。而且RIP 规定了最大跳数是15跳 16跳就不可达 (RIP 的缺陷形成)
⑥ RIP 采用UDP 的520端口通讯
⑦ RIP的更新时间
触发更新 1~5 s 避免广播风暴(同一时间都广播本身的路由表)
更新时间 30s 每隔30s通讯一次
失效时间 180s 如路由器收到更新的路由后 过了180s后尚未收到路由跟新,就将这条路由设为失效 并通告这条消息
抑制时间 180s 上面那个180s事后,那条失效的路由尚未完全的失效,他还会用指望的心情在等待180s 到这条路由恢复
刷新时间 240s 在失效时间后的240s 将把失效的路由完全删除
RIP路由的生成:
初识状态 每一个路由只有本身的直连路由条目
第一次互相学习 30s
再一次互相交换路由表
最后 可以互相通讯
可是 RIP 的最大缺点是他能产生环路,咱们来看一下
当R3的直连down的时候 R3可以很快的发现(本身的接口) 就把这一条路由标记为不可达 ,准备将这条坏消息通告出去
可是,在R3通告以前 R2通告了
因而 R3学到了错误的路由 由于R2也不能到达40.0.0.0网段
因而 一错再错 R2和R3之间一值通告这条错误的路由,知道这条路由的跳数到16跳不可达
他的纠正机制有不少方法,其中一条就是定义了最大跳数15跳 16跳不可达
还有就是 水平分割
水平分割: 从一个借口收到的路由信息,将再也不从这个接口发送出去,另外也减小了通告信息所占用的带宽。在必定程度上减小了路由的环路。(默认开启的)
RIP 的配置
Router(config)# router rip 启用RIP 进程
Router(config-router)# network network-number 宣告网络号 如 network 12.12.12.0
Router(config-router)# version 2 使用rip版本2
Router(config-router)# split horizon 启用水平分割 (默认开启)
Router(config-router)# no split horizon 关闭水平分割
Router# show ip route 查看路由表
Router# show ip protocols 查看路由协议的配置
RIP1和RIP 2 的区别
RIP1能够接收到RIP 1 RIP2发来的宣告
RIP2 可接收RIP2的宣告