首页 > 其他分享 >动态路由-RIP协议

动态路由-RIP协议

时间:2024-01-04 22:31:32浏览次数:35  
标签:动态 R1 R2 0.0 metric RIP 2.0 路由

RIP简述

RIP协议

RIP(Routing Information Protocol),路由信息协议,是一种距离矢量算法的协议,使用跳数作为度量来衡量到达目的网络的距离。

RIP的特点

  • RIP是距离矢量路由协议,属于IGP协议。直连网络跳数为0,路由器发送路由更新时,会把度量值加1,最大15跳;
  • RIP适用于规模较小的网络,有RIPv1和RIPv2两个版本;
  • RIP基于UDP协议,目标端口号为520,周期性发送更新(25.5-30s);
  • RIP支持水平分割、毒性逆转和触发更新等防环特性。

RIPv1和RIPv2的对比

RIPv1

  • 有类路由协议,不支持VLSM和CIDR;
  • 以广播形式发送报文;
  • 不支持认证。 

RIPv2

  • 无类路由协议,支持VLSM,支持路由聚合与CIDR;
  • 支持以广播或者组播(224.0.0.0)方式发送报文;
  • 支持明文认证和MD5密文认证。

验证

动态路由-RIP协议_路由协议

R1开启rip协议

动态路由-RIP协议_ip协议_02

抓包查看

RIPv1版本使用广播地址,且路由信息不含掩码

动态路由-RIP协议_ip协议_03


R2开启RIP协议

动态路由-RIP协议_ip协议_04


查看路由信息

动态路由-RIP协议_ip协议_05

将RIPv1换成RIPv2

动态路由-RIP协议_ip协议_06

动态路由-RIP协议_ip协议_07

抓包查看

RIPv2使用组播地址,且路由信息包含掩码

动态路由-RIP协议_ip协议_08


RIP的特性

RIP为了防止环路产生,有三个特性:水平分割、毒性逆转和触发更新

环路的产生

准备

为了产生环路,需要将水平分割、毒性逆转功能关闭

可通过如下命令查看这两个功能的状态

动态路由-RIP协议_路由协议_09

接下来我们给R1和R2关闭这两个功能

动态路由-RIP协议_路由协议_10

环路产生过程

动态路由-RIP协议_路由协议_11

R1与R2都开启RIP,正常流程

  • 第一步:R2将自己的路由2.0.0.0通过RIP告知给R1,由于是直连metric为0,发送时metric会加1
  • 第二步:R1收到2.0.0.0的路由会记录一条2.0.0.0的路由,且该路由的metric为1
  • 第三步:R1也会通过rip协议将自己的路由信息通知给R2,此时R1有2.0.0.0的信息,所以R1会将2.0.0.0发送给R2,由于该路由metric为1,发送时metric加1,发送的该路由metric为2
  • 第四步:R2收到的R1给它的2.0.0.0 metric 2的路由信息后,由于其已有直连的2.0.0.0,所以并不会更新2.0.0.0的路由

当前场景不会有任何环路问题

如果R2的回环口lo0有故障,比如down掉,那么问题就产生了

  • 第一步:R2将自己的路由2.0.0.0通过RIP告知给R1,由于是直连metric为0,发送时metric会加1
  • 第二步:R1收到2.0.0.0的路由会记录一条2.0.0.0的路由,且该路由的metric为1
  • 第三步:R2的lo0口down掉,R1也会通过rip协议将自己的路由信息通知给R2,此时R1有2.0.0.0的信息,所以R1会将2.0.0.0发送给R2,由于该路由metric为1,发送时metric加1,发送的该路由metric为2
  • 第四步:R2收到的R1给它的2.0.0.0 metric 2的路由信息后,由于R2此时没有2.0.0.0的路由了,此时2.0.0.0 metirc 2,那么就会将这条路由记录在路由表中
  • 第五步:R2发送给R1的路由信息2.0.0.0 并将metric加1变为3,R1收到后由于其自身的2.0.0.0为通过rip学习到的,所以会更新此时R1的2.0.0.0 metirc 3
  • 第六步:R1会再次发送2.0.0.0 metirc 4给R2,R2由于其自身的2.0.0.0为rip学习到的,所以会更新2.0.0.0 metirc 4
  • ...
  • ...
  • 如此反复最终metirc到16截止

实际验证

动态路由-RIP协议_路由协议_12

R1发给R2的2.0.0.0 metric 2 的rip信息

动态路由-RIP协议_ip协议_13

R2发送R1的 2.0.0.0 metric 3

动态路由-RIP协议_路由协议_14

如此反复

动态路由-RIP协议_路由协议_15

动态路由-RIP协议_路由协议_16

直到metirc 变为16

动态路由-RIP协议_路由协议_17


水平分割

水平分割作用是路由器从某个接口学到的路由,不会从该接口再发回给邻居路由器,该功能默认是打开的。

在上面演示中已经产生了环路,此时我们将R2的回环口添加回来

动态路由-RIP协议_路由协议_18

开启R1和R2的水平分割功能

动态路由-RIP协议_ip协议_19

动态路由-RIP协议_ip协议_20


我们查看路由表

动态路由-RIP协议_ip协议_21

查看R2发给R1的2.2.2.0路由信息不回再由R1发回给R2了

动态路由-RIP协议_ip协议_22

down掉R2的lo0口

动态路由-RIP协议_路由协议_23

抓包看到R2立即通知R1 2.2.2.0不可达

动态路由-RIP协议_路由协议_24

查看R1的RIP路由信息

动态路由-RIP协议_路由协议_25


毒性逆转

路由器从某个接口学到路由后,将该路由的跳数设置为16,并从该接口发送给邻居路由器。

该特性是默认关闭的,且如果毒性逆转与水平分割同时打开,那么生效的是毒性逆转。

开启方法

动态路由-RIP协议_ip协议_26

动态路由-RIP协议_ip协议_27

可以看到R1收到R2的2.2.2.0的路由后,将该路由设置为metirc 16发回给R2

动态路由-RIP协议_ip协议_28


同理

动态路由-RIP协议_路由协议_29

触发更新

当路由发生变化时,立即向邻居设备发送触发更新报文

通过前面抓包可以看到,当down掉一个口或者启用一个口时会立即发送rip报文

 

RIP的其它操作

改变RIP的metric值

发送rip时可以对metric值做改变

rip metricin 5 在接受路由时增加度量值

rip metricout 5 在发送路由时修改度量值

我们对R1做操作

动态路由-RIP协议_ip协议_30

动态路由-RIP协议_ip协议_31


动态路由-RIP协议_ip协议_32


动态路由-RIP协议_ip协议_33

动态路由-RIP协议_路由协议_34

动态路由-RIP协议_路由协议_35

控制rip的收发

undo rip input  禁止接收rip数据

undo rip output 禁止发送rip数据

silent-interface g0/0/0 配置被动接口,只收不发

动态路由-RIP协议_路由协议_36

动态路由-RIP协议_路由协议_37

动态路由-RIP协议_路由协议_38


动态路由-RIP协议_ip协议_39

动态路由-RIP协议_路由协议_40






.





标签:动态,R1,R2,0.0,metric,RIP,2.0,路由
From: https://blog.51cto.com/u_10991728/9105694

相关文章

  • 关于JavaScript的技巧一
    1.滚动到页面顶部我们可以使用window.scrollTo()平滑滚动到页面顶部。constscrollToTop=()=>{window.scrollTo({top:0,left:0,behavior:"smooth"});};2.滚动到页面底部当然,如果知道文档的高度,也可以平滑滚动到页面底部。constscrollToBottom=()=>{wind......
  • NeurIPS'23 Paper Digest | PromptTPP: Prompt Pool 与时序点过程模型的持续学习
    为期一周的人工智能和机器学习领域顶级会议 NeurIPS 已于当地时间 12 月 16 日圆满结束。蚂蚁集团有 20 篇论文被本届会议收录,其中《Prompt-augmented Temporal Point Process for Streaming Event Sequence》由蚂蚁集团研究并撰写,作者包括薛思乔、王言、褚志轩、师......
  • NeurIPS'23 Paper Digest | PromptTPP: Prompt Pool 与时序点过程模型的持续学习
    为期一周的人工智能和机器学习领域顶级会议 NeurIPS 已于当地时间 12 月 16 日圆满结束。蚂蚁集团有 20 篇论文被本届会议收录,其中《Prompt-augmented Temporal Point Process for Streaming Event Sequence》由蚂蚁集团研究并撰写,作者包括薛思乔、王言、褚志轩、师......
  • Go语言中的HTTP路由处理
    在Web开发中,路由处理是至关重要的部分。它决定了当用户访问某个URL时,服务器应该如何响应。Go语言提供了多种库和工具来处理HTTP路由。下面,我们将深入了解如何在Go语言中处理HTTP路由。Go语言的net/http包本身提供了基本的功能来处理路由。你可以使用http.HandleFunc函数来为特定的U......
  • 【网络路由选择协议概述】
    (文章目录)前言路由选择协议是网络工程师用来设计和维护网络的基本工具,决定了数据如何在网络中传输,以及如何在多条路径中选择最佳路径。一、路由选择的重要性1.互联网的基础网络互连的核心:路由选择是实现不同网络设备之间互连的基础。没有有效的路由选择机制,互联网这个庞大......
  • Elasticsearch7.X Scripting脚本使用详解
    0、题记除了官方文档,其他能找到的介绍Elasticsearch脚本(Scripting)的资料少之又少。一方面:性能问题。官方文档性能优化中明确指出使用脚本会导致性能低;另一方面:使用场景相对少。非复杂业务场景下,基础的增、删、改、查基本上就能搞定。但,不能否认,在解决复杂业务问题(如:自定义评分、自......
  • 一行代码解决:element admin 中动态设置快捷导航(标签栏导航)meta标签和title标签
    其实就是重置页面标签名称this.$store.dispatch('tagsView/updateVisitedView',Object.assign({},this.$route,{title:`${this.fileCode}`}))主页面跳转,传递需要参数<el-table-columnlabel="文件编号"align="center":show-overflow-tooltip="true"......
  • 使用CMakeLists.txt创建一个动态库工程Demo给main程序使用
    主要需求是把hello程序编译动态库,再main程序或者第三方程序执行的时候动态加载。工程目录如下:$ls-al*-rw-r--r--1neuti197609352Oct2019:30CMakeLists.txtinclude:total1drwxr-xr-x1neuti1976090Oct2019:30./drwxr-xr-x1neuti1976090Oct201......
  • 动态路由协议简述
    路由协议路由协议是路由器之间交互信息的一种语言,路由协议可以共享路由信息,维护路由表、提供最佳转发路径。路由协议总览路由协议分类路由协议按照不同的标准有不同的分类方式按作用范围分类路由协议按照作用范围可以分为IGP与EGP类型备注IGP(InteriorGatewayProtocol)内部网关......
  • 【译】如何提高我的 TypeScript 技能
    在这篇文章中,我将向您展示我如何在TypeScript中提高自己的技能。我会向您介绍5个令人满意的操作符,这将帮助您更好地理解TypeScript和如何使用它。以下是我将要介绍的操作符:非空断言操作符可选链操作符空合并操作符明确类型断言明确类型转换1.非空断言操作符非空断言操作符是......