动态路由协议 RIP
RIP:Routing Information Protocol。RFC1058.
距离矢量协议:有间隔的多少和方向。传递的是路由条目。每个路由器不知道网络的完整拓扑结构,OSPF知道。
度量值:每种协议都有会计算出发点到目的地之间的度量也就是单位。rip的度量值(单位)是跳数。跳数超过15就不往后传播了,也就是无法到达目的地。
每30秒收敛一次。
收敛:前面的路由会定期把自己的整个路由表发送给后面的路由器。rip是每30秒发送一次。
rip有2个版本:
- V1(版本1:有类路由)使用广播把路由表发送给下一个路由器。只传递ip地址,不传递子网掩码。
 - V2(版本2:无类路由)使用组播,组播地址:224.0.0.9。既传递ip地址,又传递子网掩码。
 
管理距离(AD):120。
路由表里中括号里的值就是管理距离。当用不同的协议,获得了相同的路由时,看哪个协议获得的路由的管理距离小,路由表里只能留下一个路由,留管理距离小的路由。
例如:如果有下面2条路由,则只能留下[1/0]的路由,因为管理距离小。
S 192.168.1.0/24 [1/0] via 192.168.0.2 192.168.1.0/24 [1/0] via 192.168.0.2
R 192.168.1.0/24 [100/0] via 192.168.0.2 192.168.1.0/24 [1/0] via 192.168.0.2
使用UDP协议传输
源和目的端口号都是520
报文形式:请求和响应报文,使用的格式相同。
默认支持等价负载均衡:4,最大可调到6.
RIP计时器
- 更新计时器(update):每30秒接收一次相邻路由器的更新请求(收敛)
 - 无效计时器(invalid):180秒后相邻的路由器不给我路由表,把到这些路由的度量值更新为16,也就是不可达。
 - 刷新计时器(flush):默认240秒后,相邻的路由器不给我路由表,则把这些路由全部删除。
 - 抑制计时器(hold-down):180秒。
 
RIPv1:
- 有类路由协议
 - 不支持变长子网掩码(VLSM)
 - 广播方式发包
 - 不支持认证
 - 每个更新包最大支持25条路由条目
 - 路由表查询方式为主类网段
 - 不支持不连续子网
 
RIPv2:
- 无类路由协议
 - 支持变长子网掩码
 - 组播方式发包,目的地址:224.0.0.9
 - 支持明文及密文认证(cisco才支持)
 - 路由表查询机制是由小类->大类(按位查询,最长匹配,精准匹配,先检查32位掩码的)
 - 支持不连续子网
 
添加路由器的loopback(换回接口,类似pc里的127.0.0.1)
添加后,接口立即生效,不需要开启(no sh)。
#interface loopback ?
  <0-2147483647>  Loopback interface number
R1(config)#interface loopback 0
R1(config-if)#
*Mar  1 00:08:43.587: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
添加后,在路由器上就多了一个虚拟接口
R1#show ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            12.1.1.1        YES manual up                    up
Loopback0                  1.1.1.1         YES manual up                    up
给换回接口添加ip,注意子网掩码必须是255.255.255.255.代表主机的意思。
R1(config-if)#ip addr 1.1.1.1 255.255.255.255
启动路由器的RIP协议:
1,进入全局模式,启动rip
R1(config)#router rip
R1(config-router)#
2,指定使用哪个版本的rip。如果不指定版本的话,使用的既不是版本1,也不是版本2,而是1和2中间的版本,具体来说是:以广播方式发送,既能接收广播的也能接收组播的。
R1(config-router)#version 2
R1(config-router)#
3,关闭自动汇总:no auto-summary
R1(config-router)#no auto-summary
R1(config-router)#
什么是自动汇总?接口上的ip假如是12.1.1.1/24 ,自动汇总后,就变成了12.0.0.0/8,就相当于变成了版本1的有类路由协议了,不能精确到子网,所以,才要关闭自动汇总。
4,告诉路由器,我要把本地的哪个直连(C)的接口上的网段,用于rip协议,发送和接收rip包
R1:
R1(config-router)#do show ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            12.1.1.1        YES manual up                    up
FastEthernet1/0            unassigned      YES unset  administratively down down
Loopback0                  1.1.1.1         YES manual up                    up
R1(config-router)#do show ip route
     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, FastEthernet0/0
R1(config-router)#network 1.1.1.1
R1(config-router)#net 12.1.1.0
R1(config-router)#
R2:
R2#show ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            12.1.1.2        YES manual up                    up
FastEthernet1/0            23.1.1.2        YES manual up                    up
Loopback0                  2.2.2.2         YES manual up                    up
R2#show ip route
     2.0.0.0/32 is subnetted, 1 subnets
C       2.2.2.2 is directly connected, Loopback0
     23.0.0.0/24 is subnetted, 1 subnets
C       23.1.1.0 is directly connected, FastEthernet1/0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, FastEthernet0/0
R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#router rip
R2(config-router)#net 2.2.2.2
R2(config-router)#net 23.1.1.0
R2(config-router)#net 12.1.1.0
R3:
R3#show ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            23.1.1.3        YES manual up                    up
FastEthernet1/0            unassigned      YES unset  administratively down down
Loopback0                  3.3.3.3         YES manual up                    up
R3#show ip route
     3.0.0.0/32 is subnetted, 1 subnets
C       3.3.3.3 is directly connected, Loopback0
     23.0.0.0/24 is subnetted, 1 subnets
C       23.1.1.0 is directly connected, FastEthernet0/0
R3#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#router rip
R3(config-router)#ver 2
R3(config-router)#no au
R3(config-router)#net 3.3.3.3
R3(config-router)#net 23.1.1.0
R1,2,3配置完RIP的路由条目结果:
R1的路由条目:
注意:R 3.3.3.3 [120/2]里面的【2】,含义:到目标网络需要2跳
R1#show ip route
     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
R       2.2.2.2 [120/1] via 12.1.1.2, 00:00:22, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
R       3.3.3.3 [120/2] via 12.1.1.2, 00:00:22, FastEthernet0/0
     23.0.0.0/24 is subnetted, 1 subnets
R       23.1.1.0 [120/1] via 12.1.1.2, 00:00:22, FastEthernet0/0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, FastEthernet0/0
R2的路由条目:
R2#show ip route
     1.0.0.0/32 is subnetted, 1 subnets
R       1.1.1.1 [120/1] via 12.1.1.1, 00:00:21, FastEthernet0/0
     2.0.0.0/32 is subnetted, 1 subnets
C       2.2.2.2 is directly connected, Loopback0
     3.0.0.0/32 is subnetted, 1 subnets
R       3.3.3.3 [120/1] via 23.1.1.3, 00:00:07, FastEthernet1/0
     23.0.0.0/24 is subnetted, 1 subnets
C       23.1.1.0 is directly connected, FastEthernet1/0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, FastEthernet0/0
R3的路由条目:
R3#show ip route
     1.0.0.0/32 is subnetted, 1 subnets
R       1.1.1.1 [120/2] via 23.1.1.2, 00:00:15, FastEthernet0/0
     2.0.0.0/32 is subnetted, 1 subnets
R       2.2.2.2 [120/1] via 23.1.1.2, 00:00:15, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
C       3.3.3.3 is directly connected, Loopback0
     23.0.0.0/24 is subnetted, 1 subnets
C       23.1.1.0 is directly connected, FastEthernet0/0
     12.0.0.0/24 is subnetted, 1 subnets
R       12.1.1.0 [120/1] via 23.1.1.2, 00:00:15, FastEthernet0/0
33-35集讲RIP协议
# c/c++ 学习互助QQ群:877684253

# 本人微信:xiaoshitou5854
动态路由协议 RIP的更多相关文章
- 1.3-动态路由协议RIP①
		
Dynamic Routing Protocol:动态路由协议 现代IP网络中,主要的动态路由协议: AD/管理距离: 1:DV/距离向量协议:RIP(120)/IGRP(100) 2:LS/链路状态 ...
 - 动态路由协议RIP
		
RIP Routing Information Protocol,属IGP协议,是距离矢量型动态路由协议(直接发送路由信息的协议为距离矢量型协议),使用UDP协议,端口号520. 贝尔曼福特算法 RI ...
 - 路由与交换,cisco路由器配置,动态路由协议—RIP
		
一.动态路由协议分类 动态路由协议包括IGP(内部网关协议)和EGP(外部网关协议). 1.IGP IGP又包括距离向量路由协议和链路状态路由协议. (1)距离向量路由协议典型代表:RIP (2)链路 ...
 - HCNA Routing&Switching之动态路由协议RIP
		
前文我们了解了动态路由的基本概念,以及动态路由和静态路由的区别,优缺点,动态路由的分类,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14995317.html ...
 - 距离矢量路由协议——RIP
		
距离矢量路由协议RIP: 众所周知,RIP(Routing Information Protocol),即路由信息协议,是一种距离矢量路由协议,它与IGRP,OSPF等一样都是属于IGP(Interi ...
 - HCNA Routing&Switching之动态路由协议OSPF基础(一)
		
前文我们了解了基于路径矢量算法的动态路由协议RIP防环以及度量值的修改相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15012895.html:今天我 ...
 - (ospf、rip、isis、EIGRP)常见的动态路由协议简介
		
路由器要转发数据必须先配置路由数据,通常根据网络规模的大小可设置静态路由或设置动态路由.静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络.缺点是不能自动适应网络拓扑的变化,需要人工 ...
 - 动态路由协议(RIP)
		
虽然静态路由在某些时刻很有用,但是必须手工配置每条路由条目,对于大中型的网络或拓补经常发生变化的清空,配置和维护静态路由的工作量就变得非常繁重,而且不小心还容易出错,因此就需要一种不需要手工配置的路由 ...
 - rip是典型的距离矢量动态路由协议。Ospf是链路状态型的协议
		
网络工程师十个常见面试问题-看准网 https://m.kanzhun.com/k-mianshiwenti/1465113.html 两者都属于IGP协议,rip是典型的距离矢量动态路由协议.Osp ...
 
随机推荐
- react-父子子孙组件嵌套-context
			
方案一 import React from 'react' import ReactTypes from 'prop-types' /* // 最外层的父组件 export default class ...
 - centos6离线安装apache2.4
			
在/usr/local中新建文件夹 Apache2.4,将httpd安装包放入该文件夹, 解压:tar xvf httpd-2.4.41.tar.gz 进入httpd-2.4.41文件夹中,对Apac ...
 - 一些java基础知识的备忘
			
接口和抽象类的区别是什么? 接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),而抽象类可以有非抽象的方法. 接口中除了static.final变量 ...
 - GNU Screen使用
			
基本使用 SSH时可以方便地resume工作 # open new screen session screen # restore screen -r Steps Using GNU Screen ...
 - @HystrixCommand 不能被导包
			
添加pom文件 <dependency> <groupId>com.netflix.hystrix</groupId> <artifactId>hy ...
 - execute、executeUpdate、executeQuery的区别
			
链接:https://blog.csdn.net/u012501054/article/details/80323176 链接:https://blog.csdn.net/CNAHYZ/article ...
 - 在npm上如何发布自己的包
			
环境需要:node和npm 然后在本地建一个文件夹作为你要发布的模块 然后在这个文件夹下打开cmd 执行:npm init 按照提示写对应的,或者先不写也可以,最后y 这时候在mcrm这个文件夹下就出 ...
 - promise是怎么来的?
			
一.promise是如何产生的 1. promise并不是一个新的功能,它是一个类,它只是对 异步编程的代码进行整合,它是解决异步(层层嵌套的这种关系),让你的代码看起来更简洁. 2. 在 es6 中 ...
 - AcWing 1016. 最大上升子序列和
			
#include<iostream> using namespace std ; ; int f[N]; int a[N]; int main() { int n; cin>> ...
 - Python之路Day05
			
字典 字典 -- dict Python的数据结构之一 字典是可变数据类型,无序的 定义 dic = {'key':'Value'} 键值对 字典的作用 存储数据,大大量的,将数据和数据起到关联作用 ...