距离矢量路由协议——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/链路状态 ...
随机推荐
- [Python3 练习] 010 找出藏在字符串中的“密码”
题目:找出藏在字符串中的"密码" (1) 描述 1) 题源 1 Python Challenge, level 3 2) 题源 2 小甲鱼老师的 Python 课程,第 20 讲课 ...
- Struts2之上传
单文件上传 上传页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...
- Java JNA (三)—— 结构体使用及简单示例
JNA简介 JNA全称Java Native Access,是一个建立在经典的JNI技术之上的Java开源框架(https://github.com/twall/jna).JNA提供一组Java工具类 ...
- CS184.1X 计算机图形学导论(第五讲)
一.观察:正交投影 1.特性:保持平行线在投影后仍然是平行的 2.一个长方体,对处在只有深度不同的位置上的同一物体来说,它的大小不会改变. 3.透视投影:平行线在远处会相交(例如铁轨) 4.glOrt ...
- bzoj4145 [AMPPZ2014]The Prices 状压 DP
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4145 题解 好像这道题有不少方法呢. ...谁叫这道题有点简单,所以方法多呗. 我的方法: 求 ...
- 【leetcode】1023. Camelcase Matching
题目如下: A query word matches a given pattern if we can insert lowercaseletters to the pattern word so ...
- SSM项目用ajax来显示数据
<script type="text/javascript"> //1:页面加载完成后,直接去发送ajax请求,要到分页的数据 $(function(){ $.ajax ...
- spring-cloud:eureka server单机、双机、集群示例
1.运行环境 开发工具:intellij idea JDK版本:1.8 项目管理工具:Maven 4.0.0 2.GITHUB地址 https://github.com/nbfujx/springCl ...
- HTTP请求流程基础知识
HTTP协议解析: HTTP即超文本传输协议,是一种详细规定了浏览器和万维网服务器之间互相通信的规则,它是万维网交换信息的基础,它允许将HTML文档从WEB服务器传输到WEB浏览器. URL(统一资源 ...
- 10.21 crond定时任务练习
1.玩crond必须以下任务开启 [root@wen ~]# chkconfig --list crond crond 0:off 1:off 2:on ...