当前位置: 首页 > news >正文

动态路由RIP配置

什么是动态路由 RIP

RIP 是一种较为简单的内部网关协议( IGP ),基于 UDP ,端口号为 520 ,包括 RIPV1 和 RIPv2 两个版本。RIPv2 对 RIPv1 进行了扩充,支持 VLSM 和 CIDR ,支持安全验证。
由于 RIP 的功能较为简单,在配置和维护管理方面也远比 OSPF 和 IS-IS 容易,因此 RIP 主要应用于规模较小的网络,例如校园网以及结构较简单的地区性网络。对于更为复杂的环境和大型网络,一般不使用 RIP 。
基本原理:
RIP 是一种基于距离矢量( Distance-Vector )算法的协议,它使用跳数( Hop Count )作为度量值来衡量到达目的地址的距离。在 RIP 网络中,缺省情况下,设备到与它直接相连网络的跳数为 0 ,通过一个设备可达的网络的跳数为 1 ,其余依此类推。也就是说,度量值等于从本网络到达目的网络间的设备数量。为限制收敛时间,RIP 规定度量值取 0~15 之间的整数,大于或等于 16 的跳数被定义为无穷大,即目的网络或主机不可达。由于这个限制,使得 RIP 不可能在大型网络中得到应用。
RIPv1 和 V2 的比较:
RIPv1 是有类路由协议,RIPv2 是无类路由协议;
RIPv1 不能支持 VLSM ,RIPv2 可以支持 VLSM;
RIPv1 没有认证的功能,RIPv2 可以支持认证,并且有明文和 MD5 两种认证;
RIPv1 没有手工汇总的功能,RIPv2 可以在关闭自动汇总的前提下,进行手工汇总;
RIPv1 是广播更新,RIPv2 是组播更新;
RIPv1 对路由没有标记的功能,RIPv2 可以对路由打标记( tag ),用于过滤和做策略;
RIPv1 发送的 updata 最多可以携带 25 条路由条目,RIPv2 在有认证的情况下最多只能携带 24 条路由;
RIPv1 发送的 updata 包里面没有 next-hop 属性,RIPv2 有 next-hop 属性,可以用与路由更新的重定。
RIP 的工作过程分析:
初始状态:路由器开启 RIP 进程,宣告相应接口,则设备就会从相关接口发送和接收 RIP 报文;
构建路由表:路由器依据收到的 RIP 报文构建自己的路由表项;
维护路由表:路由器每隔 30 秒发送更新报文,同时接收相邻路由器发送的更新报文以维护路由表项;
老化路由表项:路由器为构建的路由表项启动 180 秒的定时器。180 秒内,如果路由器收到更新报文,则重置更新定时器和老化定时器;
垃圾收集表项:如果 180 秒过后,路由器没有收到相应路由表项的更新,则启动时长为 120 秒的垃圾收集定时器,同时将该路由表项的度量置为 16 ;
删除路由表项:如果 120 秒之后,路由器仍然没有收到相应路由表项的更新,则路由器将该表项删除。
RIP 协议定时器:
更新定时器( Update timer ):当此定时器超时时,立即发送更新报文,缺省为 30秒发送一次;
老化定时器( Age timer ):RIP 设备如果在老化时间内没有收到邻居发来的路由更新报文,则认为该路由不可达;
垃圾收集定时器( Garbage-collect timer ):如果在垃圾收集时间内不可达路由没有收到来自同一邻居的更新,则该路由将从 RIP 路由表中彻底删除;
抑制定时器( Suppress timer ):当 RIP 设备收到对端的路由更新,其度量值 cost 为 16 ,对应路由进入抑制状态,并启动抑制定时器。为了防止路由震荡,在抑制定时器超时之前,即使再收到对端路由 cost 小于 16 的更新,也不接受。当抑制定时器超时后,就重新允许接受对端发送的路由更新报文。
RIP 路由的更新规则:
如果更新的某路由表项在路由表中没有,则直接在路由表中添加该路由表项;
如果路由表中已有相同目的网络的路由表项,且来源端口相同,那么无条件根据最新的路由信息更新其路由表;
如果路由表中已有相同目的网络的路由表项,但来源端口不同,则要比较它们的度量值,将度量值小的一个作为自己的路由表项;
如果路由表中已有相同目的网络的路由表项,且度量值相等,则保留原来的路由表项。

相关文章:

  • 机器学习-梯度下降实验
  • 如何使用github协作(修改远端仓库)
  • 工具使用之notepad++配置C/C++编译环境
  • javaweb期末开发项目笔记
  • Mysql安置配置过程中的问题及解决方法
  • 机器学习实验四 ——基于距离的层次聚类
  • 机器学习第二关——k-means算法流程
  • eclipse中怎么删除Web App Libraries重复的jar包
  • 常见Http响应状态码
  • 记录EduCoder实验平台的感受(答案匹配机制)
  • 二手车交易系统数据库的表格设计
  • eclipse建servlet 注解正确 却无法访问
  • 软件项目管理EAC、ETC的计算
  • 三点估计法计算完工可能性
  • 求解某项目的关键路径和总工期
  • 【刷算法】从上往下打印二叉树
  • 2018一半小结一波
  • nodejs:开发并发布一个nodejs包
  • 聊聊flink的BlobWriter
  • 用 Swift 编写面向协议的视图
  • 优秀架构师必须掌握的架构思维
  • 2017年360最后一道编程题
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #HarmonyOS:基础语法
  • (12)Linux 常见的三种进程状态
  • (HAL库版)freeRTOS移植STMF103
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (定时器/计数器)中断系统(详解与使用)
  • (二)WCF的Binding模型
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (一)Neo4j下载安装以及初次使用
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)iOS字体
  • (转)socket Aio demo
  • (转)Windows2003安全设置/维护
  • (转)用.Net的File控件上传文件的解决方案
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • **PHP分步表单提交思路(分页表单提交)
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .CSS-hover 的解释
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET 动态调用WebService + WSE + UsernameToken
  • .Net中间语言BeforeFieldInit
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @Bean, @Component, @Configuration简析
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • [ C++ ] template 模板进阶 (特化,分离编译)
  • [20150629]简单的加密连接.txt
  • [2016.7 day.5] T2
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)