RIP协议

技术标签: 网络  运维  思科NA/NP/IE  

RIP(Routing Information Protocol):路由信息协议

  • 管理距离:120

RIP的三个版本

  • 默认情况下,RIP的版本不是V1,V2,而是V1和V2一些融合性的特性

RIPV1的特性

  • 支持最大6条等价路径的负载均衡,默认是4条
  • 以跳数作为metric标准,最大15跳(每经过一路由为一跳)
  • 每30s周期性广播路由更新(V1和V2都一样)
  • [[无类路由协议和有类路由协议#2 有类路由协议 |有类路由]],不支持VLSM和CIDR
  • 不支持认证

RIPV2的特性(RIPV2比RIPV1增强的特性)

  • 基于无类路由和有类路由的路由协议
  • 支持VLSM和CIDR(不支持CIDR汇总,但是能传递CIDR汇总)
  • 可以人工设定是否进行路由汇总
  • 使用组播来代替RIPV1中的广播,RIPV2是使用组播224.0.0.9来更新路由信息
  • 支持明文或MD5加密认证

RIPng

  • 基于IPV6的RIP版本,这个版本的RIP可以起进程号

RIP路由汇总

RIP自动汇总

  • RIP协议中:默认情况下,路由汇总是自动打开的
  • 自动汇总:根据主类路由进行汇总
  • 关闭自动汇总
en
conf ter
router rip
no auto-summary //关闭自动汇总

RIPV2手动汇总

  • 手动汇总目的:减少路由表大小,加快查询的转发速度

手动汇总配置

  • 配置案例:把172开头的条目汇总成B类网段
    image.png
//R1
en
conf ter
router rip
version 2
no auto-summary
net 192.168.1.0
net 172.16.1.0
net 172.16.2.0
net 172.16.2.0
exit

//配置手动汇总
int e0/0 //在连接对端的接口上
ip summary-address rip 172.16.0.0 255.255.0.0
end
//R2
en
conf ter
router rip
version 2
no auto-summary
net 192.168.1.0
end
//R2
show ip route

image.png

手动汇总注意事项

image.png

  • 若R1和R2中间有台交换机,不能在交换机接口上做汇总,因为交换机上不能够运行RIP协议
  • 若R1和R2中间有台路由器R3,可以在R3的接口上做汇总

RIPV2明文认证和密文认证

RIPV2明文认证

  • 只有两台设备运行了RIP协议,且设置的密钥相同,才会传递路由条目
  • 钥匙串配置
  • image.png
//R1
en
conf ter

//配置钥匙串
key chain R1 //给钥匙串命名
key 1 //定义一把钥匙,“1”是编号
key-string cisco //配置钥匙的密码(可以定义多个,先使用号码低的,低的失效后使用号码高的)
end

//挂接接口
conf ter
int e0/0
ip rip authentication key-chain R1 //在接口上挂接钥匙串(一个接口只能挂接一把钥匙串)
end
//R2
en
conf ter
key chain R2
key 1
key-string cisco
end
conf ter
int e0/0
ip rip authentication key-chain R2
end

明文认证进行抓包可以直接看到密码
image.png

RIP密文认证

在4.1RIPV2明文认证的配置的基础上

//R1
en
conf ter
int e0/0
ip rip authentication mode md5 //启用MD5给密钥加密
ip rip authentication key-chain R1
//R2
en
conf ter
int e0/0
ip rip authentication mode md5
ip rip authentication key-chain R2

RIP的debug使用

  • 若工作时,密钥不一样,该如何排查
en
debug ip packet //只要有包,就会检测到(只在测试环境上使用,工作中不能用)
undebug all //关闭所有debug信息
en
debug ip rip events //检测RIP里的事件

image.png

  • 参数详解:
  • ignored //丢弃
  • invalid authentication //无效认证

加密和哈希值的区别

加密

  • 加密:通过各种算法进行加密(例:AES算法,3DES算法)

哈希

  • 哈希:是一个定长输出,把一个固定密码进行一个MD5的演变
  • 在线hash的反向查询网站:(www.cmd5.com)
    MD5是如何在两台设备相传的呢?
  • 典型案例:
    image.png
  • R1会把三个路由条目打个包,并加上密钥再打个包,并再做上一个MD5的哈希,连同算出的哈希值再打包发给R2
  • R2会把这个包中的路由条目和密钥这个包取出来,接下来把里面的密钥做一个替换,替换成自己的密钥,然后再把这个整体做一个MD5的哈希,计算出哈希值后去对比R1之前发过来这个包的哈希值对比是否一样
  • 若哈希值不一样,有两种可能
    • 传输时,条目被修改了
    • 两台设备的密钥不一样
  • 这种方法:不止核对了密码,也防止了数据中间被篡改

RIP版本兼容配置

RIP版本操作命令

en
conf ter
int e0/0
ip rip <send/receive> version <1/2/12> //选择进行发送/接收的版本1/2/1和2
  • 用来定义接口接收的RIP更新的版本
  • 典型案例:假设R1是运行的RIPV1,R2运行的RIPV2
    image.png
//R1
en
conf ter
router rip
version 1
no auto-summary
net 192.168.1.0
net 1.1.1.1
end
//R2
ne
conf ter
router rip
version 2
no auto-summary
net 192.168.1.0
net 2.2.2.2
exit
int e0/0
ip rip receive version 1 //设置此端口接收RIPV1的更新
ip rip send version 1 //设置此端口发送RIPV1的更新
end
//R2
show run interface e0/0 //查看端口的配置

image.png

两台RIP路由协议通信过程

  • 当一台路由器运行RIP的时候,它将再运行的RIP的接口上分别发送request(请求)和response(回复)信息,request只发送一次,response信息是每个30s发送一次,里面包含着路由更新条目,这是属于周期更新的,他们都要发送到组播地址224.0.0.9
  • 但是当一台RIP路由器收到了一条request信息的时候,它将以单播发送路由更新给对方(记住:这里是单播,经抓包测试)

RIP的偏移列表

  • 偏移列表:offset-list(修改RIP中传递路由条目的跳数)
  • 所有修改路由条目中的属性值,都是为了影响路由选路
  • 典型案例:三台设备运行RIPV2
    image.png
//R2
show ip route

image.png

  • R2在收到两个相同条目以后会负载均衡

  • 路由选路规则

    • 最长掩码匹配原则:两个相同的条目,看掩码谁长选谁
    • 管理距离:一台路由器从两个方向接收到相同的路由条目,但来自不同协议,这时比较管理距离
    • 度量值(metric):一台路由器从两个方向收到相同路由条目,且来自相同协议,比较度量值
  • RIP协议的跳数问题修改:偏移列表只能增加跳数

  • RIP的度量值:跳数

若此时当R2去往123.1.1.1的时候下一跳为R1的10.1.1.1

  • 增大R2到R3的跳数来实现选路
//R2
en
conf ter
router rip
version 2
no auto-summary
net 10.1.1.0
net 10.1.2.0
exit

//偏移列表配置
access-list 1 permit 123.1.1.0 //匹配出来具体你要操作的路由前缀(路由前缀:抓取的前缀和路由表显示的条目要一致)
router rip
offset-list 1 in 3 e0/0 //“1”表示匹配的ACL,“in”表示数据进来时修改,“3”为增加的跳数(范围0-16)“e0/0”表示数据进来的接口(此时这里的配置时变为4跳)
end
  • 此时查看R2的路由表
//R2
show ip route

image.png

若此时R1不想让R2去往123.1.1.1下一跳为10.1.1.1

  • 增大R2去往R1的跳数
//R1
en
conf ter
router rip
version 2
no auto-summary
net 10.1.1.0
net 123.1.1.0
exit

//偏移列表配置
access-list 1 permit 123.1.1.0 //匹配出来具体你要操作的路由前缀
router rip
offset-list 1 out 5 e0/0 //"out"表示数据出去时修改,“e0/0”表示数据出去的接口
end
//R2
show ip route

image.png

RIP的单播路由

  • 典型案例:都运行RIP协议,让R1只给R3发送路由更新,不给R2发送路由更新
    image.png

  • R1上的1.1.1.0路由更新传给R2

    • 源地址:192.168.1.1
    • 目的地址:224.0.0.9
  • 错误的两种做法:

    • 用认证来做(它对端依然可以收到,但不放在路由表中)
    • 用ACL来做(这个只是数据层面的过滤)
//R2
en
conf ter
access-list 1 deny 1.1.1.0
access-list 1 permit any
int e0/0
ip access-group 1 in
end
  • 正确的做法:在R1上把连接交换机上的组播更新给关闭了(自己监听,对外不发送组播更新),之后再给想法的设备进行单播发送
//R1
en
conf ter
router rip
passive-interface e0/0 //把这个接口设备为被动接口(只收不发)
neighbor 10.1.1.3 //单独给R3发送(RIP没有邻居的概念,这个只是单播发送)
//R2
show ip route

image.png

//R3
show ip route

image.png

  • R3的e0/0端口的抓包信息
    image.png
  • 从抓包信息可以看到,R1是单独给R3发送组播更新的

RIP的默认路由

运用的场景

  • 假设全网路由总共有70W跳,不可能内部的三层交换机需要知道所有外网的路由,当内网设备多的时候一条一条的写默认路由太过于麻烦了,所以有了自动下发默认路由
    image.png

  • 此时让G1和G2都给下方三层SW下发默认路由(L3-SW1一条GW1,一条GW2)

  • 若GW1下发下来的为1跳,GW2下发下来的为2跳,那么L3-SW1优先走GW1那条默认

  • 当有一条线路出现问题。GW1下发下来的线路会随着倒计时失效(240s失效时间),自动切换为另外一条

RIP默认路由配置

  • 配置案例:让R1给R2和R3下发默认路由
    image.png
en
conf ter
router rip
default-information originate //下发默认路由(让R2,R3指向R1)
//R2
show ip route

image.png

RIP协议设置管理距离

en
conf ter
router rip
ver 2
no au
distance 2 //修改RIP协议收到的条目管理距离都为2
end
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_64050217/article/details/137995934

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法