距离矢量路由协议——RIP
距离矢量路由协议RIP:
众所周知,RIP(Routing Information Protocol),即路由信息协议,是一种距离矢量路由协议,它与IGRP,OSPF等一样都是属于IGP(Interior Gateway Protocol)——内部网关协议,它是一种历史很悠久的协议,但是迄今为止,RIP还在小型网络中很流行,因为它是基于跳数来对路径进行度量的(仅仅只靠跳数来进行度量也成为了RIP为人所诟病的地方),这样使得RIP相比之下显得最简单,并且大多数的路由器也都支持RIP。 RIP路由更新周期为30秒,无效时间是180秒,也就是说在180秒之内没有收到路由更新,将把路由置为无效,RIP把每经过一个路由器称为经过了一跳,而每经过一跳,RIP就会将它的度量值(metric)加1,这样的话,跳数越多则路径越长,而RIP会优先选择一条到达目标网络跳数少的路径,它支持的最大跳数是15跳,超过15跳则被认为是不可达。RIP用两种数据包传输更新:请求和更新,每个有RIP 功能的路由器默认情况下每隔30 秒利用UDP 的520 端口向与它直连的网络邻居广播(RIP v1)或组播(RIP v2)路由更新。因此路由器不知道网络的全局情况,如果路由更新在网络上传播慢,将会导致网络收敛较慢,造成路由环路。为了避免路由环路,RIP 采用水平分割、路由毒化和毒性逆转、定义最大跳数、触发更新、抑制计时器5个机制来避免路由环路。
RIP 协议分为版本1 和版本2。不论是版本1 或版本2,都具备下面的特征:
1. 是距离矢量路由协议;
2. 使用跳数(Hop Count)作为度量值;
3.默认路由更新周期为30 秒;
4. 管理距离(AD)为120;
5. 支持触发更新;
6. 最大跳数为15 跳;
7. 支持等价路径,默认4 条,最大6 条;
8. 使用UDP 520 端口进行路由更新。
RIPv2的特性:基于RIPv1,在本质上是具有内建路由选择增强的距离向量协议,RIPv2使用组播而不是广播,支持触发更新,是无类的协议,还支持认证,支持不连续的子网和VLSM,可以关闭自动汇总,支持手动汇总。
RIPV1和RIPV2的区别:
RIP的路由环路:
原因:假设R1,R2是邻居。
因为路由表每30s从邻居收到信息更新一次。如果R2向某网络地址的端口坏掉(R2路由表中直接删掉这条信息),但还没到30s它就不会向它的直接邻居R1发通告说:我这边已经走不通了。此时R1带着网口坏掉以前的路由表来告诉R2。R2查找自身,R1路由表中原来从R2获取到的信息现在R2没有了,R2就将这条路由信息加入进来,形成环路。
解决办法:
1. 定义最大跳计数
2. 水平分割(Split Horizon)
3. 路由中毒(Router Poisoning)和毒性反转
4. 触发更新(Triggered Updates)
5. 抑制定时器
RIP的基本命令:
Router0(config)#router rip (启动动态路由协议RIP)
Router0(config-router)#network [网络号] (通告有类网络)
Router0#show ip route (查看路由表信息)
Router1(config)#router rip
Router1(config-router)#passive-interface fa0/0(配置被动接口,该接口不再向外发送路由更新包,但仍然会接收其它路由器发过来的路由更新包。)
RIPV1不支持不连续的子网实验:
上图路由器均用RIP配置的话,那么RIPv1默认自动路由聚合,那么不同子网的192.168.1.1/25和192.168.1.129/25就会自动聚合成192.168.1.0/24从而在R2的路由表中就会有通向192.168.1.0/24的两条地址。
RIPV2支持不连续的子网:
Router(config)# router rip
Router(config-router)# version 2 配置RIP v2版本
Router(config-router)# no auto-summary 关闭自动汇总,路由器在主类网络的边
距离矢量路由协议——RIP的更多相关文章
- 距离矢量路由协议举例——RIP
1. 工作原理 •RIP 是一种分布式的基于距离矢量的路由选择协议. •RIP 协议要求网络中的每个路由器都要维护从它自己到其它每个目的网络的距离记录. •RIP 协议中的"距离" ...
- 路由协议-RIP协议
一.路由协议的发展历程和分类 距离矢量路由协议--听信"谣言",使用跳数作为度量值,最大16(0-15)跳:RIP 链路状态路由协议--"地图"路由协议:OSP ...
- rip是典型的距离矢量动态路由协议。Ospf是链路状态型的协议
网络工程师十个常见面试问题-看准网 https://m.kanzhun.com/k-mianshiwenti/1465113.html 两者都属于IGP协议,rip是典型的距离矢量动态路由协议.Osp ...
- 路由协议RIP、EIGRP、OSPF
前提 在网络拓扑中,我们经常多个路由连接不同子网,路由之间要转发不同子网的包,前提是路由之间要知道对方路由的存在. 因此这次我要写的是有关维护路由之间存在的协议,RIP.EIGRP和OSPF,静态路由 ...
- 动态路由协议RIP
RIP Routing Information Protocol,属IGP协议,是距离矢量型动态路由协议(直接发送路由信息的协议为距离矢量型协议),使用UDP协议,端口号520. 贝尔曼福特算法 RI ...
- 动态路由协议 RIP
RIP:Routing Information Protocol.RFC1058. 距离矢量协议:有间隔的多少和方向.传递的是路由条目.每个路由器不知道网络的完整拓扑结构,OSPF知道. 度量值:每种 ...
- HCNA Routing&Switching之动态路由协议RIP
前文我们了解了动态路由的基本概念,以及动态路由和静态路由的区别,优缺点,动态路由的分类,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14995317.html ...
- s5-11 距离矢量路由选择协议
距离矢量路由选择(Distance Vector:DV) 每个路由器维护一张表,表中列出了当前已知的到每个目标 的最佳距离,以及为了到达那个目标,应该从哪个接口转发. 距离矢量路由选择(Distanc ...
- 1.3-动态路由协议RIP①
Dynamic Routing Protocol:动态路由协议 现代IP网络中,主要的动态路由协议: AD/管理距离: 1:DV/距离向量协议:RIP(120)/IGRP(100) 2:LS/链路状态 ...
随机推荐
- java创建线程的两种方式及源码解析
创建线程的方式有很多种,下面我们就最基本的两种方式进行说明.主要先介绍使用方式,再从源码角度进行解析. 继承Thread类的方式 实现Runnable接口的方式 这两种方式是最基本的创建线程的方式,其 ...
- MySQL-第九篇分组和组函数
1.组函数 组函数:即多行函数,组函数将一组记录作为整体计算,每组记录返回一个结果,而不是每条记录返回一个结果. 2.常用的组函数有: 1>avg([distinct|all]expr):计算多 ...
- P5030 长脖子鹿放置
题目背景 众周所知,在西洋棋中,我们有城堡.骑士.皇后.主教和长脖子鹿. 题目描述 如图所示,西洋棋的"长脖子鹿",类似于中国象棋的马,但按照"目"字攻击,且没 ...
- P2469 [SDOI2010]星际竞速(费用流)
P2469 [SDOI2010]星际竞速 最小路径覆盖问题 每个星球必须恰好去一次,而每次高速航行都是从一个星球到另一个星球. 那么高速航行的起点可以保证被去过 高速航行和空间跳跃可以是互相独立的 将 ...
- 构建自己的AngularJS,第一部分:作用域和digest 转摘:http://www.ituring.com.cn/article/39865
构建自己的AngularJS,第一部分:Scope和Digest 原文链接:http://teropa.info/blog/2013/11/03/make-your-own-angular-part- ...
- C# IEnumerable与IQueryable ,IEnumerable与IList ,LINQ理解Var和IEnumerable
原文:https://www.cnblogs.com/WinHEC/articles/understanding-var-and-ienumerable-with-linq.html 使用LINQ从数 ...
- Java 8实战之读书笔记五:超越Java 8
四.超越Java 8 第13章 函数式的思考 下面是这一章中你应该掌握的关键概念. 从长远看,减少共享的可变数据结构能帮助你降低维护和调试程序的代价. 函数式编程支持无副作用的 ...
- 关于在IE下JavaScript的 Stack overflow at line 错误可能的原因
该错误只在IE中出现,出现该提示的原因主要有两种: 1. 重定义了系统的触发事件名称作为自定义函数名如: onclick / onsubmit … 都是系统保留的事件名称,不允许作为重定义函数名称 ...
- IDEA中添加自定义的方法快捷方式
IDEA中快速添加自己自定义的方法方法,想要什么快捷方法都行 作为一个从MyEclipse转IDEA的程序员,原来写main就能补全main方法,写syso就能补全System.out.println ...
- JavaScript面向对象编程(2)-- 类的定义
最近这一段时间事情太多了,没有时间再继续写,幸好这两天有点小闲,先小写一下JavaScript中面向对象一中推荐的方法.本文承接上一篇JavaScript面向对象编程(1) -- 基础. 上篇说过,J ...