距离矢量路由协议——RIP

一、RIP原理

路由器运行RIP后,会优先发送路由更新请求,收到请求的路由器会发送自己的RIP路由进行响应,网络稳定后路由器会周期性的发送路由更新信息。RIP使用跳数作为度量值来衡量到达目标网络的聚类。缺省条件下直连路由跳数为0,当路由器收到其他路由器发送的RIP路由信息时会把跳数加1,。RIP规定超过15跳的网络不可达。

路由器启动时,路由表中只会包含直连路由。运行RIP之后,路由器会发送Request报文,用来请求邻居路由器的RIP路由。运行RIP的邻居路由器收到该Request报文后,会根据自己的路由表,生成Response报文进行回复。路由器在收到Response报文后,会将相应的路由添加到自己的路由表中。
RIP网络稳定以后,每个路由器会周期性地向邻居路由器通告自己的整张路由表中的路由信息,默认周期为30秒。邻居路由器根据收到的路由信息刷新自己的路由表。

二、工作过程

  • 依据传闻进行路由选择

在这里插入图片描述
在这里插入图片描述
t0时段直接产生的路由进入路由表,t1时段所有路由器向他直连的路由器宣告自己的路由表,其他路由器收到路由表后与自己的路由表比较,计算自己没有的路由条目,t2时段重复t1时段的工作,知道所有的路由学习完成。

三、RIP度量

  • RIP使用跳数作为度量值来衡量到达目的网络的距离。
  • 缺省情况下,直连网络的路由跳数为0。当路由器发送路由更新时,会把度量值加1。RIP规定超过15跳为网络不可达。
    在这里插入图片描述
    RIP使用跳数作为度量值来衡量到达目的网络的距离。在RIP中,路由器到与它直接相连网络的跳数为0,每经过一个路由器后跳数加1。为限制收敛时间,RIP规定跳数的取值范围为0~15之间的整数,大于15的跳数被定义为无穷大,即目的网络或主机不可达。路由器从某一邻居路由器收到路由更新报文时,将根据以下原则更新本路由器的RIP 路由表:
  1. 对于本路由表中已有的路由项,当该路由项的下一跳是该邻居路由器时,不论度量值将增大或是减少,都更新该路由项(度量值相同时只将其老化定时器清零。路由表中的每一路由项都对应了一个老化定时器,当路由项在180 秒内没有任何更新时,定时器超时,该路由项的度量值变为不可达)。
  2. 当该路由项的下一跳不是该邻居路由器时,如果度量值将减少,则更新该路由项。
  3. 对于本路由表中不存在的路由项,如果度量值小于16,则在路由表中增加该路由项。 某路由项的度量值变为不可达后,该路由会在 Response
    报文中发布四次(120 秒),然后从路由表中清除。
    在本示例中,路由器RTA通过两个接口学习路由信息,每条路由信息都有相应的度量值,到达目的网络的最佳路由就是通过这些度量值计算出来的。

四、协议报文

RIP协议有两个版本RIPv1和RIPv2
在这里插入图片描述
RIPv1为有类别路由协议,不支持VLSM和CIDR。 RIPv2为无类别路由协议,支持VLSM,支持路由聚合与CIDR。
RIPv1使用广播发送报文;RIPv2有两种发送方式:广播方式和组播方式,缺省是组播方式。RIPv2的组播地址为224.0.0.9。组播发送报文的好处是在同一网络中那些没有运行RIP的网段可以避免接收RIP的广播报文;另外,组播发送报文还可以使运行RIPv1的网段避免错误地接收和处理RIPv2中带有子网掩码的路由。
RIPv1不支持认证功能,RIPv2支持明文认证和MD5密文认证。

4.1 RIPv1报文格式

在这里插入图片描述

RIP协议通过UDP交换路由信息,端口号为520。RIPv1以广播形式发送路由信息,目的IP地址为广播地255.255.255.255。
报文格式中每个字段的值和作用:

表项释义
Command表示该报文是一个请求报文还是响应报文,只能取1或者2。1表示该报文是请求报文,2表示该报文是响应报文
Version表示RIP的版本信息。对于RIPv1,该字段的值为1
Address Family Identifier(AFI)表示地址标识信息,对于IP协议,其值为2
IP address表示该路由条目的目的IP地址。这一项可以是网络地址、主机地址
Metric标识该路由条目的度量值,取值范围1-16

一个RIP路由更新消息中最多可包含25条路由表项,每个路由表项都携带了目的网络的地址和度量值。整个RIP报文大小限制为不超过504字节。如果整个路由表的更新消息超过该大小,需要发送多个RIPv1报文

4.2 RIPv2报文格式

在这里插入图片描述
RIPv2在RIPv1基础上进行了扩展,但RIPv2的报文格式仍然同RIPv1类似。
其中不同的字段如下所示:

表项释义
AFI:地址族标识除了表示支持的协议类型外,还可以用来描述认证信息
Route tag用于标记外部路由
Subnet Mask指定IP地址的子网掩码,定义IP地址的网络或子网部分
Next Hop指定通往目的地址的下一跳IP地址

4.3 RIPv2认证功能

  • RIPv2支持对协议报文进行认证,认证方式有明文认证和MD5认证两种
    在这里插入图片描述
    RIPv2的认证功能是一种过滤恶意路由信息的方法,该方法根据key值来检查从有效对端设备接收到的报文。这个key值是每个接口上都可以配置的一个明文密码串,相应的认证类型(Authentication Type)的值为2。早期的RIPv2只支持简单明文认证,安全性低,RIPv2引入了加密认证功能,开始是通过支持MD5认证来实现,后来通过支持HMAC-SHA-1认证进一步增强了安全性。本示例只介绍了简单明文认证原理。

五、RIP环路

  • 当网络发生故障时,RIP网络有可能产生路由环路。

在这里插入图片描述
如图所示,RIP网络正常运行时,RTA会通过RTB学习到10.0.0.0/8网络的路由,度量值为1。一旦路由器RTB的直连网络10.0.0.0/8产生故障,RTB会立即检测到该故障,并认为该路由不可达。此时,RTA还没有收到该路由不可达的信息,于是会继续向RTB发送度量值为2的通往10.0.0.0/8的路由信息。RTB会学习此路由信息,认为可以通过RTA到达10.0.0.0/8网络。此后,RTB发送的更新路由表,又会导致RTA路由表的更新,RTA会新增一条度量值为3的10.0.0.0/8网络路由表项,从而形成路由环路。这个过程会持续下去,直到度量值为16。

六、RIP防环机制

6.1水平分割

  • 路由器从某个接口学到的路由,不会从该接口再发回给邻居路由器。

在这里插入图片描述
RIP路由协议引入了很多机制来解决环路问题,除了之前介绍的最大跳数,还有水平分割机制。水平分割的原理是,路由器从某个接口学习到的路由,不会再从该接口发出去。也就是说,RTA从RTB学习到的10.0.0.0/8网络的路由不会再从RTA的接收接口重新通告给RTB,由此避免了路由环路的产生。

6.2 毒性反转

  • 毒性反转是指路由器从某个接口学到路由后,将该路由的跳数设置为16,并从原接收接口发回给邻居路由器。
    在这里插入图片描述
    RIP的防环机制中还包括毒性反转,毒性反转机制的实现可以使错误路由立即超时。配置了毒性反转之后,RIP从某个接口学习到路由之后,发回给邻居路由器时会将该路由的跳数设置为16。利用这种方式,可以清除对方路由表中的无用路由。本示例中,RTB向RTA通告了度量值为1的10.0.0.0/8路由,RTA在通告给RTB时将该路由度量值设为16。如果10.0.0.0/8网络发生故障,RTB便不会认为可以通过RTA到达10.0.0.0/8网络,因此就可以避免路由环路的产生。

6.3 触发更新

  • 触发更新是指当路由信息发生变化时,立即向邻居设备发送触发更新报文。
    在这里插入图片描述
    缺省情况下,一台RIP路由器每30秒会发送一次路由表更新给邻居路由器。当本地路由信息发生变化时,触发更新功能允许路由器立即发送触发更新报文给邻居路由器,来通知路由信息更新,而不需要等待更新定时器超时,从而加速了网络收敛。

七、 配置实验

实验拓扑:
在这里插入图片描述
IP地址配置:
AR1:在这里插入图片描述
AR2:在这里插入图片描述
AR3:在这里插入图片描述
RIP配置:

[Huawei]rip
[Huawei-rip-1]version 2 
[Huawei-rip-1]network 10.0.0.0
[Huawei]interface GigabitEthernet 0/0/0 
[Huawei-GigabitEthernet0/0/0]rip metricin 2   # RIP配置Metricin

命令rip metricin 用于修改接口上应用的度量值(注意:该命令所指定的度量值会与当前路由的度量值相加)。当路由器的一个接口收到路由时,路由器会首先将接口的附加度量值增加到该路由上,然后将路由加入路由表中。
例如AR1发送的10.1.1.0/30路由条目的度量值为1,由于在AR2的GigabitEthernet0/0/0接口上配置了rip metricin 2,所以当路由到达AR2的接口时,AR2会将该路由条目的度量值加2,最后该路由的度量值为3。


[Huawei]interface GigabitEthernet 0/0/0 
[Huawei-GigabitEthernet0/0/0]rip metricout 2

命令rip metricout用于路由器在通告RIP路由时修改路由的度量值。一般情况下,在将路由表项转发到下一跳之前,RIP会将度量值加1。如果配置了rip metricout命令,则只应用命令中配置的度量值。即,当路由器发布一条路由时,此命令配置的度量值会在发布该路由之前附加在这条路由上,但本地路由表中的度量值不会发生改变。
例如,缺省情况下,AR1发送的10.1.1.0/30路由条目的度量值为1。但是,由于在AR1
GigabitEthernet0/0/0接口上配置了rip metricout 2,所以AR2会将该路由条目的度量值设置为2,然后发送给AR2。

[Huawei]interface GigabitEthernet 0/0/0 
[Huawei-GigabitEthernet0/0/0]rip split-horizon   # 配置水平分割
[Huawei-GigabitEthernet0/0/0]rip poison-reverse  # 配置毒性反转
  • 两个特性同时配置后,只有rip poison-reverse会生效。

水平分割和毒性反转都是基于每个接口来配置的。缺省情况下,每个接口都启用了rip split-horizon命令(NBMA网络除外)以防止路由环路。

[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]undo rip output  #禁止发送RIP报文

命令rip output用于配置允许一个接口发送RIP更新消息。如果想要禁止指定接口发送RIP更新消息,可以在接口上运行命令undo rip output。缺省情况下,ARG3系列路由器允许接口发送RIP报文。
企业网络中,可以通过运行命令undo rip output来防止连接外网的接口发布内部路由。

[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]undo rip input    #接口禁止接收RIP报文

rip input命令用来配置允许指定接口接收RIP报文。
undo rip input命令用来禁止指定接口接收RIP报文。运行命令undo rip input之后,该接口所收到的RIP报文会被立即丢弃。缺省情况下,接口可以接收RIP报文。

[Huawei]rip 1
[Huawei-rip-1]silent-interface GigabitEthernet 0/0/1

silent-interface命令用来抑制接口,使其只接收RIP报文,更新自己的路由表,但不发送RIP报文。
命令silent-interface比命令rip input和rip output的优先级更高。命令silent-interface all表示抑制所有接口,此命令优先级最高,在配置该命令之后,所有接口都被抑制。
命令silent-interface通常会配置在NBMA网络上。在NBMA网络上,一些路由器需要接收RIP更新消息但是不需要广播或者组播路由器自身的路由更新,而是通过命令peer 与对端路由器建立关系。

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
理解Microsoft专家认证程序 理解Microsoft认证的不同等级和类型 选择成为MCP(Microsft认证专家)的考试科目 选择成为MCSD的考试科目 选择成为MCT的考试科目 MCSE认证考试的科目 选择合适的MCSE课程组合 核心课程考试 选修课程考试 考试编号的识别 课程内容和考试内容的对照 理解微软的MCSE长远考虑 理解微软出题的方式 使用本书帮助备考 在Internet上寻找对考试有帮助的信息 寻求微软认可的课程指导 寻找高质量的和三方帮助 寻找可利用的评估软件拷贝 报名参加考试 考试的费用问题 考前的自我调整 使用考试中心提供的考试工具 参加模拟测试 熟悉使用计算机进行考试 充分利用考试时间 考题的形式 理解多重选择题型 理解对错题题型 理解多重选择多重答案题型 理解基于解决方案型的问题 理解“建议方法”类型的考题 分析考试结果 准备重新考试 合理安排考试课程的顺序 熟悉Windows系列产品 比较Windows NT Server和NT Workstation 比较Windows NT Workstaton和Windows 95 在Windowx 95和Windows NT Workstation之间作出选择 关于Microsoft Windows NT的70-069号考试:实现和支持Microsoft Windows NT Server 4.0 70-069号考试(实现和支持Microsoft Windows NT Server 4.0)覆盖的内容 Windows NT 4.0界面简介 Windows NT 4.0任务栏(taskbar)的使用 Windows NT回收站简介 Windows NT帐号简介 理解单域模型支持和帐号数量 安全认证号简介 使用管理向导(Administrative Wizards)创建帐号 使用Server Manager(服务器管理器)程序创建计算机帐号 Userver Manager for Domains(域的用户管理器)简介 使用User Mnager for Domains创建用户帐号 刷新用户帐号列表 用户帐号列表的排序 事件查看器(Event View)程序简介 筛选Event Viewer中的事件 授予用户在本地登录的权利 使用Windows NT诊断程序查看系统配置 激活“Windows NT Security(Windows NT安全)”对话框 理解登录验证过程 理解访问令牌(Access Token) Windows NT目录服务简介 理解Windows NT如何构造用户帐号数据库 使用Windows NT中的Ctrl+Alt+Del组合键 把Windows NT计算机设置成自动登录 改变Windows NT口令 用拨号网络登录 复制用户帐号 为简化多个帐号的创建工作而建立用户帐号模板 删除和重新命名用户帐号 理解保护缺省的Administrator帐号的重要性 重新命名管理员帐号 理解缺省的Guest帐户 Windows NT在哪里创建帐号 设置口令限制条件 设置用户登录地点 创建宿主文件夹 设置用户登录时间 创建临时用户帐号 重新设置用户帐号口令 修改多个用户帐号 自动注销有时间限制的用户 要求用户在下次登录时改变口令 设置帐号规则 设置用户口令永不过期 停用用户帐号 解开登录失败后的用户帐号 Windows NT组简介 理解用户权限和组的访问权限 理解用户和组的权利 分清权限(permission)和权利(right) 设置组成成员关系 理解全局帐号 理解本地帐号 定义Everyone组 Network组的详细说明 Inteactive组的详细说明 Administrators组的详细说明 Guest组的详细说明 Users组的详细说明 Print Operators组的详细说明 Backup Operators(帐户操作员)组的详细说明 Replicator(复制员)组的详细说明 Domain Guests(域客户)组的详细说明 Domain Users(域用户)组的详细说明 Domain Admins(域管理员)组的详细说明 赋予拨号进入权限 理解用户配置文件(User Profile) 为Windows用户创建并使用登录脚本文件(Logon Script) 创建漫游式用户配置文件(Roaming User Profile) 创建强制性用户配置文件(Mandatory User Profile) 为用户帐号分配一个配置文件 创建帐户时变量的使用 创建随机初始化口令 理解内建组(Built-in Group) 理解组和策略 设置主组(Primary Group) 理解删除一个组的影响 域控制器(Domain Controller)简介 成员服

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值