《IP路由协议疑难解析》一2.6 RIP的运作方式

简介:

本节书摘来自异步社区《IP路由协议疑难解析》一书中的第2章,第2.6节,作者 【美】Zaheer Aziz, CCIE #4127 , Johnson Liu, CCIE #2637 , Abe Martey, CCIE #2373 , Faraz Shamim, CCIE #4131,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.6 RIP的运作方式

IP路由协议疑难解析
运行RIP的路由器在收发RIP路由更新消息时,会遵守一定的规则。本节将细述这些规则。

2.6.1 发送RIP路由更新时所要遵守的规则

发送RIP路由更新时,路由器会执行若干项检查。如图2-3所示,图中两台路由器都运行RIP。路由器1连接了两个主类网络131.108.0.0/16和137.99.0.0/16。主类网络131.108.0.0则被进一步划分为了两个子网:131.108.5.0/24和131.108.2.0/24,路由器2实际上只与后者直连。


bc37290057d6a9bbe5ca8a99e4343b32a6571154

图2-4所列为路由器1向路由器2发送RIP更新之前所要进行的检查。


bbfefb27f3b8b77e80a8716b9f7b91bcece5ce17

运行RIP的路由器(以下简称RIP路由器)在发送路由更新时,会检查待通告的目的网络或目的子网与发送RIP数据包的接口(的IP地址)是否隶属同一主类网络。若否,RIP路由器在通告时会做自动聚合处理。这就是说,RIP路由器在其发送的路由更新消息中只会包含主类网络信息。试举一例,如图2-3所示,路由器1向路由器2发送RIP更新消息时,会自动将子网137.99.88.0聚合为137.99.0.0。若待通告的目的网络或目的子网与发送RIP数据包的接口(的IP地址)隶属同一主类网络,RIP路由器则要判断两者的子网掩码是否相同。若是,RIP路由器通告该网络;若否,做丢弃处理。

2.6.2 接收RIP路由更新时所要遵循的规则

路由接收方通过RIP收到路由更新时,路由更新消息中所包含的目的网络地址可以是子网号、主机地址、主类网络号或全0(表示默认路由),如下所列:

子网号(如131.108.1.0);
主机地址(如131.108.1.1);
网络号(如131.108.0.0);
默认路由(如0.0.0.0)。
图2-5所示为路由接收方通过RIP接收路由时做执行的检查步骤。


c0f9957393aa9710a0ea6057f5943646bc724711

接收路由更新消息时,RIP路由器需确定路由更新中所包含的子网地址,与接收接口(所设IP地址)是否隶属于同一主类网络。

若是,路由器2会用接收接口所设掩码作为相应RIP路由的掩码。若RIP路由更新消息的主机部分设置了主机位,则接收(路由更新的)路由器会用主机掩码(作为)相应路由的子网掩码。

若否,RIP路由器会检查该主类网络所包含的任一子网路由是否在本机路由表中“现身”,并会判断那些子网路由是否从其他接口而非接收RIP路由更新的接口收得。请注意,在这种情况下,RIP路由更新中所包含的目的网络一定会是主类网络。若隶属于该主类网络的任一子网路由在路由表中“现身”,路由器2会对其“视而不见”。若未在路由表中“现身”,路由器2将使用有类掩码作为相应路由的子网掩码。

若RIP路由更新从无编号接口(链路)收得,则子网信息必须包含于其内(必须将网络地址的子网部分置位)。此时,路由器2将使用主机掩码作为相应路由的子网掩码。若路由更新携带了子网广播地址(比如,131.108.5.127/25),或D、E类地址,RIP路由器则必须对其“视而不见”。

2.6.3 RIP路由更新发送示例

本节将举例说明RIP路由更新的发送原理。图2-6所示为两台运行RIP协议的路由器。路由器1和2间的WAN互连网段为131.108.0.0。路由器1的以太网接口IP地址也隶属于131.108.0.0。路由器1还连接了另一个主类网络137.99.0.0。

如图2-6所示,路由器1向路由器2通告RIP路由更新时,会进行下列检查。

1.网络131.108.5.0/24与生成RIP路由更新的(路由器接口所处)网络131.108.2.0/24,是否隶属于同一主类网络?

2.是。131.108.5.0/24与生成RIP路由更新的(路由器接口所处)网络131.108.2.0/24,是否具有相同的子网掩码?

3.是。路由器1通告网络131.108.5.0/24。

4.网络137.99.88.0/24与生成RIP路由更新的(路由器接口所处)网络131.108.2.0/24,是否隶属于同一主类网络?

5.否。路由器1在主网边界对137.99.88.0/24执行路由汇总,同时通告路由137.99.0.0。


e326e06df6b3271aef9b0016a772f0aad0fd8223

上述过程执行完毕之后,路由器1会在其RIP路由更新中“纳入”目的网络号131.108.5.0和137.99.0.0,然后向路由器2通告。在路由器1上执行debug ip rip命令,观查其输出,可对此一览无余,如例2-1所示。

例2-1 用debug ip rip命令来揭示RIP路由更新的发送原理


9c041bb2130130211b02329b8cab45faefe122c0

2.6.4 RIP路由更新接收示例

例2-2所示debug ip rip命令的输出显示了路由器2从路由器1接收RIP路由更新时的情况。

例2-2 用debug ip rip命令,来显示RIP路由更新的接收原理


76ea4cfbcb3ce1117032bca390009ad6128e7bd4

图2-6中所示的路由器2会进行下列检查,来确定为其接收的路由“配备”什么样的子网掩码:

1.所收主网路由137.99.0.0与接收RIP路由更新的(路由器接口所处)网络131.108.2.0,是否相同?

2.否。查询路由表,检查是否通过其他接口学得该主类网络所含任一子网路由?

3.否。因路由137.99.0.0属于B类网络,故路由器2用原生态掩码(/16)作为其子网掩码。

4.所收子网路由131.108.5.0与接收RIP路由更新的(路由器接口所处)网络131.108.2.0,是否隶属于同一主类网络?

5.是。路由器2用接收RIP路由更新的接口所设掩码/24,作为路由131.108.5.0的子网掩码。

上述过程执行完毕之后,路由器2的路由表中会同时“进驻”主网和子网路由,可执行show ip route命令来加以验证(如例2-3所示)。

例2-3 在路由器2上执行show ip route命令,来揭示其路由表中的主网和子网路由


27a27f2786fa3d79718d0525fa80e80eec64a29a

1原文是“Router 2 applies the mask of thereceiving interface. If the host bitis set in the host portion of theRIP update, the receiving routerapplies the host mask.”译文直译。—译者注

相关文章
|
域名解析 存储 网络协议
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
本文详细介绍了IP协议报头结构及其各字段的功能,包括版本、首部长度、服务类型、总长度、标识、片偏移、标志、生存时间(TTL)、协议、首部检验和等内容。此外,还探讨了IP地址的网段划分、特殊IP地址的应用场景,以及路由选择的大致流程。最后,文章简要介绍了DNS协议的作用及其发展历史,解释了域名解析系统的工作原理。
441 5
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
|
7月前
|
监控 负载均衡 安全
静态IP代理与动态IP代理:提升速度与保障隐私的技术解析
本文探讨了静态IP代理和动态IP代理的特性和应用场景。静态IP代理通过高质量服务提供商、网络设置优化、定期更换IP与负载均衡及性能监控提升网络访问速度;动态IP代理则通过隐藏真实IP、增强安全性、绕过封锁和提供独立IP保障用户隐私。结合实际案例与代码示例,展示了两者在不同场景下的优势,帮助用户根据需求选择合适的代理服务以实现高效、安全的网络访问。
220 1
|
9月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
322 11
|
11月前
|
域名解析 网络协议 测试技术
IP、掩码、网关、DNS1、DNS2到底是什么东西,ping telnet测试
理解IP地址、子网掩码、默认网关和DNS服务器的概念是有效管理和配置网络的基础。通过使用ping和telnet命令,可以测试网络连通性和服务状态,快速诊断和解决网络问题。这些工具和概念是网络管理员和IT专业人员日常工作中不可或缺的部分。希望本文提供的详细解释和示例能够帮助您更好地理解和应用这些网络配置和测试工具。
5140 2
|
网络协议 网络虚拟化
接收网络包的过程——从硬件网卡解析到IP
【9月更文挑战第18天】这段内容详细描述了网络包接收过程中机制。当网络包触发中断后,内核处理完这批网络包,会进入主动轮询模式,持续处理后续到来的包,直至处理间隙返回其他任务,从而减少中断次数,提高处理效率。此机制涉及网卡驱动初始化时注册轮询函数,通过软中断触发后续处理,并逐步深入内核网络协议栈,最终到达TCP层。整个接收流程分为多个层次,包括DMA技术存入Ring Buffer、中断通知CPU、软中断处理、以及进入内核网络协议栈等多个步骤。
|
12月前
|
运维 安全 网络协议
Python 网络编程:端口检测与IP解析
本文介绍了使用Python进行网络编程的两个重要技能:检查端口状态和根据IP地址解析主机名。通过`socket`库实现端口扫描和主机名解析的功能,并提供了详细的示例代码。文章最后还展示了如何整合这两部分代码,实现一个简单的命令行端口扫描器,适用于网络故障排查和安全审计。
219 0
|
网络协议 Linux
在Linux中,如何改IP、主机名、DNS?
在Linux中,如何改IP、主机名、DNS?
|
7月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
663 29
|
7月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
191 4
|
7月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

推荐镜像

更多
  • DNS