距离矢量路由协议RIP-路由交换原理13-【HCNA笔记】

1、RIP报文格式

RIP协议工作在应用层,它基于传输层的UDP协议实现,而UDP又基于网络层的IP协议实现,所以RIP帧格式如下:

RIP报文帧格式
帧头 Data(IP报文) FCS
IP头 Data(UDP报文)
UDP头 Data(RIP报文)

RIP报文:

Command Version Zero AFI Zero IP Address Zero Zero Metric
8位 8位 16位 16位 16位 32位 32位 32位 32位

Command:报文类型,值为1表示请求报文,值为2表示响应报文。

Version:版本,RIP目前发行了两个版本,值为1表示RIPv1,值为2表示RIPv2,这里默认讲的是RIPv1。

Zero:全0字段,该字段全被0填充,主要用于兼容以往或未来可能产生的路由协议,这里不作使用。

AFI:地址标识,指出其网络地址的地址种类,用于兼容其他类型的网络地址,我们使用的IP地址取值为2。

IP Address:IP地址,在不同类型的报文中根据需要放置IP地址。

Metric:路由度量值,这个值在经过路由器时被递增,值的有效范围在1到15之间,路由器会将度量值为16的RIP报文丢弃,用以防止RIP报文在网络中无限制传播。

2、RIP运行原理

RIP是D-V算法在局域网中的实现,主要通过下面六个方法来交换路由信息并维护路由表。

相邻交换:路由器启动RIP后,会向相邻的路由器发送请求报文,相邻的RIP路由器收到请求报文后响应该请求,回送包含本地路由表信息的响应报文,路由器收到响应报文后,更新本地路由表。

触发更新:路由器更新本地路由表后会向相邻路由器发送触发更新报文,通告路由更新信息。收到该报文的路由器会根据该报文的内容更新本地路由表并继续向相邻路由器发送触发更新报文。一连串的触发更新后,各路由器都能得到当前网络完整的路由信息。

路由计算:路由器会根据收到的路由信息计算出到达每个目的路由的最佳路径并生成路由表。

周期发送:路由器每隔30秒会周期性的向相邻路由器发送包含本地路由表的RIP报文,收到该报文的路由器会维护自己的路由表,若有更新则触发更新通告相邻设备。

路由老化:默认路由表中每个条目的有效时间是180秒,即180秒内相邻路由器周期性发送的RIP报文中没有该路由条目的信息则认为该路由不可达。若120秒后同一邻居路由器发来的RIP报文中还没有该路由条目的信息则该路由条目将从路由表中彻底删除。

Metric递增:为防止RIP报文在网络中无限制传播,路由条目每经过一个路由器该条目的Metric值就递增1,当该条目的Metric值大于15时,路由器就将该条目丢弃。这里“经过”的概念是路由器A的某条目Metric值为1,A将该条目递交给B的时候会将Metric值加1,所以B收到的该条目Metric值就为2了,C收到B递交的该条目时其Metric就为3了。

3、RIP运行实例

初始路由表:

如上图所示的一个简单网络中,分别存在网络A(192.168.0.0)、B(192.168.1.0)、C(192.168.3.0)、D(192.168.3.0),由3个路由器连接在一起,路由器上方的IP地址为各路由器连接各网络的端口IP。RIP启动时各路由器只包含直连网络的路由信息,所以各路由器的路由表如下所示,其中网络目标指路由目的地,下一跳指要到达目标网络需经过的路由端口IP,Metric指网络开销。

AR1路由表
网络目标 下一跳 Metric 备注
192.168.0.0 none 0 AR1与192.168.0.0直连,所以无需经过下一个路由,开销为0
192.168.1.0 none 0 AR1与192.168.1.0直连,所以无需经过下一个路由,开销为0
AR2路由表
网络目标 下一跳 Metric 备注
192.168.1.0 none 0 AR2与192.168.1.0直连,所以无需经过下一个路由,开销为0
192.168.2.0 none 0 AR2与192.168.2.0直连,所以无需经过下一个路由,开销为0
AR3路由表
网络目标 下一跳 Metric 备注
192.168.2.0 none 0 AR3与192.168.2.0直连,所以无需经过下一个路由,开销为0
192.168.3.0 none 0 AR3与192.168.3.0直连,所以无需经过下一个路由,开销为0

相邻交换:

路由器启动RIP后,会向相邻的路由器发送请求报文,相邻路由器响应该请求并将本地的路由表信息发送给请求的路由器。故AR1会收到AR2的响应报文,AR2会收到AR1和AR3的响应报文,AR3会收到AR2的响应报文。路由表应有相应变化,其中标红部分是路由器收到的路由条目但与本地条目重复,需要清除的,不会实际存入路由表中,标蓝部分是新增路由条目。

AR1路由表
网络目标 下一跳 Metric 备注
192.168.0.0 none 0
192.168.1.0 none 0
192.168.1.0 192.168.1.2 1 此条目由AR2的192.168.1.2端口发出,故下一跳应是该端口IP,此条目由AR2发出所以Metric值加一,此条目与本地重复而Metric值更大,故会被淘汰
192.168.2.0 192.168.1.2 1 此条目由AR2的192.168.1.2端口发出,故下一跳应是该端口IP,此条目由AR2发出所以Metric值加一,此条目在本地没有故保留
AR2路由表
网络目标 下一跳 Metric 备注
192.168.1.0 none 0
192.168.2.0 none 0
192.168.0.0 192.168.0.1 1 此条目由AR1的192.168.0.1端口发出,故下一跳应是该端口IP,此条目由AR1发出所以Metric值加一,此条目在本地没有故保留
192.168.1.0 192.168.0.1 1 此条目由AR1的192.168.0.1端口发出,故下一跳应是该端口IP,此条目由AR1发出所以Metric值加一,此条目与本地重复而Metric值更大,故会被淘汰
192.168.2.0 192.168.2.2 1 此条目由AR3的192.168.2.2端口发出,故下一跳应是该端口IP,此条目由AR3发出所以Metric值加一,此条目与本地重复而Metric值更大,故会被淘汰
192.168.3.0 192.168.2.2 1 此条目由AR3的192.168.2.2端口发出,故下一跳应是该端口IP,此条目由AR3发出所以Metric值加一,此条目在本地没有故保留
AR3路由表
网络目标 下一跳 Metric 备注
192.168.2.0 none 0
192.168.3.0 none 0
192.168.1.0 192.168.2.1 1 此条目由AR2的192.168.2.1端口发出,故下一跳应是该端口IP,此条目由AR2发出所以Metric值加一,此条目在本地没有故保留
192.168.2.0 192.168.2.1 1 此条目由AR2的192.168.2.1端口发出,故下一跳应是该端口IP,此条目由AR2发出所以Metric值加一,此条目与本地重复而Metric值更大,故会被淘汰

触发更新:

路由器更新路由表后会向相邻的设备发送触发更新报文,报文中包含更新的路由条目,所以各路由表应做如下更新。

AR1路由表
网络目标 下一跳 Metric 备注
192.168.0.0 none 0
192.168.1.0 none 0
192.168.2.0 192.168.1.2 1
192.168.0.0 192.168.1.2 2 此条目由AR2的192.168.1.2端口发出,故下一跳应是该端口IP,此条目由AR2发出所以Metric值加一,此条目与本地重复而Metric值更大,故会被淘汰
192.168.3.0 192.168.1.2 2 此条目由AR2的192.168.1.2端口发出,故下一跳应是该端口IP,此条目由AR2发出所以Metric值加一,此条目在本地没有故保留
AR2路由表
网络目标 下一跳 Metric 备注
192.168.1.0 none 0
192.168.2.0 none 0
192.168.0.0 192.168.0.1 1
192.168.3.0 192.168.2.2 1
192.168.2.0 192.168.1.1 2 此条目由AR1的192.168.1.1端口发出,故下一跳应是该端口IP,此条目由AR1发出所以Metric值加一,此条目在本地重复而Metric值更大,故会被淘汰
192.168.1.0 192.168.2.2 2 此条目由AR3的192.168.2.2端口发出,故下一跳应是该端口IP,此条目由AR3发出所以Metric值加一,此条目在本地重复而Metric值更大,故会被淘汰
AR3路由表
网络目标 下一跳 Metric 备注
192.168.2.0 none 0
192.168.3.0 none 0
192.168.1.0 192.168.2.1 1
192.168.0.0 192.168.2.1 2 此提条目由AR2的192.168.2.1端口发出,故下一跳应是该端口IP,此条目由AR2发出所以Metric值加一,此条目在本地没有故保留
192.168.3.0 192.168.2.1 2 此提条目由AR2的192.168.2.1端口发出,故下一跳应是该端口IP,此条目由AR2发出所以Metric值加一,此条目在本地重复而Metric值更大,故会被淘汰

最终路由表如下:

    通过前面的相邻交换和触发更新,所有路由器都具备了到达网络中任一处的路由条目,事实上前面的触发更新产生了新的路由条目,应该会有新的触发更新,由于该触发更新没有导致路由表有新的变化,所以就不再赘述。此外,路由表稳定后,各交换机每隔30秒会向相邻交换机发送一次最新的路由条目,若有变化可能会有新的触发更新,通过此方法及时更新各路由表。

网络目标 下一跳 Metric 备注
AR1路由表
192.168.0.0 none 0 网络A 直连
192.168.1.0 none 0 网络B 直连
192.168.2.0 192.168.1.2 1 网络C 来自AR2
192.168.3.0 192.168.1.2 2 网络D 来自AR3
AR2路由表
192.168.1.0 none 0 网络B 直连
192.168.2.0 none 0 网络C 直连
192.168.0.0 192.168.0.1 1 网络A 来自AR1
192.168.3.0 192.168.2.2 1 网络D 来自AR3
AR3路由表
192.168.2.0 none 0 网络C 直连
192.168.3.0 none 0 网络D 直连
192.168.1.0 192.168.2.1 1 网络B 来自AR2
192.168.0.0 192.168.2.1 2 网络A 来自AR1

4、RIP环路

通过前面的描述,我们可知运行RIP协议的路由器对收到的路由条目信息仅做重复性筛查而不做来源筛查,这就导致运行RIP协议的网络非常容易产生环路。

考虑上一节所分析的网络,若网络D与路由器AR3断开连接,此时仅AR3知道该链路已断并将相关路由条目删除,但AR2中仍然保留有该条目信息。路由表如下所示。(触发更新实际上也是防止环路的一种措施,默认都会启用该功能,所以前面的分析中包含了触发更新功能,而这里假设该功能没有启用)

网络目标 下一跳 Metric 备注
AR2路由表
192.168.1.0 none 0 网络B 直连
192.168.2.0 none 0 网络C 直连
192.168.0.0 192.168.0.1 1 网络A 来自AR1
192.168.3.0 192.168.2.2 1 网络D 来自AR3
AR3路由表
192.168.2.0 none 0 网络C 直连
192.168.1.0 192.168.2.1 1 网络B 来自AR2
192.168.0.0 192.168.2.1 2 网络A 来自AR1

根据协议,AR3在30秒后会向AR2发送周期性的RIP报文,告知最新的路由信息,而在此之前可能AR2已提前向AR3发送了周期性RIP报文,该报文中包含了通向网络D的路由。

网络目标 下一跳 Metric 备注
AR2路由表
192.168.1.0 none 0 网络B 直连
192.168.2.0 none 0 网络C 直连
192.168.0.0 192.168.0.1 1 网络A 来自AR1
192.168.3.0 192.168.2.2 1 网络D 来自AR3
AR3路由表
192.168.2.0 none 0 网络C 直连
192.168.1.0 192.168.2.1 1 网络B 来自AR2
192.168.0.0 192.168.2.1 2 网络A 来自AR1
192.168.3.0 192.168.2.1 2 网络D 此提条目由AR2的192.168.2.1端口发出,故下一跳应是该端口IP,此条目由AR2发出所以Metric值加一,此条目在本地没有故保留

若此时有发往网络D的数据,就会导致该数据在AR2和AR3之间来回传递,形成环路。为防止出现上述情况,RIP协议使用以下三种方法来解决环路。(实际上将Metric值限制为15以内也是防止环路的一种,这里不做赘述)

水平分割:路由器从某接口学习到的路由,不会再从该接口发出去。

毒性反转:路由器从某接口学习到的路由,从该接口发出去时将该路由条目的Metric值设为16。

触发更新:本地路由信息发生变化时,路由器立即发送触发更新报文给邻居路由器。

【互连的两个路由如何知道对方的信息】没查到

【RIP的优缺点】RIP优点在于配置简单、易于维护、适合小型网络

缺点是RIP报文最大传播距离是15跳,限制了网络规模;RIP协议更新的是整张路由表,当网络增大时,开销也增大;路由器无条件接收到路由信息,无需自身计算。路由来源不太可靠,若收到的路由本身是错的,也无法自行修正。

【RIPv2】RIPv2对RIPv1进行了扩充,RIPv1是有类别路由协议,它只支持以广播方式发布协议报文。RIPv1的协议报文无法携带掩码信息,它只能识别A、B、C类这样的自然网段路由,因此RIPv1不支持不连续子网。RIPv2是一种无类别路由协议,与v1相比它有以下优势:

支持路由标记,在路由策略中可根据路由标记对路由进行灵活的控制。

报文中携带掩码信息,支持路由聚合和CIDR(Classless Inter-Domain Routing,无类域间路由)。

支持指定下一跳,在广播网上可以选择到最优下一跳地址。

支持组播路由发送更新报文,只有RIP-2路由器才能收到更新报文,减少资源消耗。

支持对协议报文进行验证,并提供明文验证和MD5验证两种方式,增强安全性。

RIP-2有两种报文传送方式:广播方式和组播方式,缺省将采用组播方式发送报文,使用的组播地址为224.0.0.9。当接口运行RIP-2广播方式时,也可接收RIP-1的报文。

【路由表条目很多怎么办】从RIP报文中可知一个报文仅可存放一个IP地址,但路由器的路由条目一般会超过一条,所以路由条目在网络中是一个报文一个条目。

【D-V算法】矢量距离算法的思想是网关周期性地向外广播路径刷新报文,主要内容是由若干(V,D)序偶组成的序偶表。其中V代表向量,标识网关可到达的网关或主机,D代表距离,指出该网关去往网关或主机的距离。距离D按驿站的个数计,其他网关收到某网关的(V,D)报文后,据此按照最短路径原则对各自的路由表进行刷新。

时间: 2024-10-07 11:52:54

距离矢量路由协议RIP-路由交换原理13-【HCNA笔记】的相关文章

动态路由距离矢量路由协议RIP

动态路由距离矢量路由协议RIP R1连接R2连接R3 R1 ip192.168.12.1 R2 ip192.168.12.2,192.168.23.2 R3 ip192.168.23.3,lo:3.3.3.3 R1(config)#int s0/0 R1(config-if)#ip add 192.168.12.1 255.255.255.0 R1(config-if)#no shut R1(config)#router rip R1(config-router)#network 192.168

HCNA——距离矢量路由协议RIP的环路问题

HCNA--距离矢量路由协议RIP的环路问题 为何称为距离矢量 RTB收到路由,Metric就是距离,下一跳就是方面 RIP-环路:最大跳数 当网络发生故障时,RIP网络有可能产生路由环路. 此时RTA 路由表应该存在一条 10.0.0.0/8 下一跳是192.168.1.1 路由条目 此时断开10.0.0.0/8网络的接口 随之RTB就会删除本身它有的10.0.0.0/8 的路由条目 那么此时RTB没有了10.0.0.0/8网络的路由表 那么它还会有吗? PS:还会有的 因为RTA RTB都开

19.HCNA-HNTD——距离矢量路由协议RIP

路由信息协议RIP(Routing Information Protocol)的简称,它是一种基于距离矢量(Distance-Vector)算法的协议,使用跳数作为度量来衡量到达目的网络的距离.RIP主要应用与规模较小的网络中. 学习目标: 1. 掌握RIP的基本工作原理 2. 掌握RIP的配置 路由信息协议--RIP RIP是一种比较简单的内部网关协议.RIP使用了基于距离矢量的贝尔曼 -福特算法(Bellman-Ford)来计算到达目的网络的最佳路径. 最初的RIP协议开发时间较早,所以在带

CCNA 路由 第十节 距离矢量路由协议RIP

创作:http://www.ie-lab.cn/ 原文地址:https://blog.51cto.com/14277585/2380164

OSPF 距离矢量路由协议和链路状态路由协议相比

距离矢量路由协议和链路状态路由协议相比,前者是依照"传闻"来进行路由选择,而后者是每台路由器独立地计算最优路径. 详细地说,每台运行了链路状态路由协议的路由器会和它的邻居建立邻接关系并且互相给自己的每个邻居发送一些数据(在此我们用OSPF中的术语"LSA"称呼),LSA中包含了本地链路.链路状态.路由接口到链路的代价.链路连接的所有邻居等信息.当一台路由器收到了另一台路由器发送的LSA后,它会将其中信息复制一份放在自己的数据库中并继续将此信息发送给其他路由器.如果一

距离矢量路由协议以及链路状态路由协议(2018年1月3日 09:09:15)

距离矢量路由协议以及链路状态路由协议 -------------------- 静态路由 通过(NQA   思科叫SLA) -----服务级别协定 建议使用静态的情况:园区网边界 默认路由(缺省路由) 静态路由:华为格式:ip route-static 0.0.0.0 0 外网接口 运营商端三层网关的IP (帮助园区访问公网) () (外网接口) (下一跳) 靠谱的方式是运行动态选择协议---能自动学习到.(简单.灵活) 原文地址:https://www.cnblogs.com/yeison/p

距离矢量路由协议举例——RIP

1. 工作原理 ?RIP 是一种分布式的基于距离矢量的路由选择协议. ?RIP 协议要求网络中的每个路由器都要维护从它自己到其它每个目的网络的距离记录. ?RIP 协议中的"距离"也称为"跳数"(hop count),由于每经过一个路由器,跳数就加 1. ?RIP 同意一条路径最多仅仅能包括15 个路由器."距离"的最大值为16 时即相当于不可达.可见 RIP 仅仅适用于小型互联网. (1)每隔30s从全部參与RIP进程的接口把自己知道的路由表以

交换机工作原理-路由交换原理7-【HCNA笔记】

1.交换原理 我们知道交换机有若干个物理端口,端口可以接入主机.路由或其他交换机.同时接入交换机的设备都有一个MAC地址,交换机内部存储着一张缓存表,表上记录着各个端口对应设备的MAC地址.这样当一台主机需要向另一台设备发送数据时,在数据帧中注明目的设备的MAC地址,交换机读取该MAC地址,查询缓存表找到对应的端口号,将帧直接发往该端口对应的设备即可.缓存表示意如下. 端口 MAC地址 0 00-50-BA-CE-07-0C 1 00-50-BA-CE-07-0D 2 00-50-BA-CE-0

IP路由基础-路由交换原理9-【HCNA笔记】

1.路由原理 数据在网络上传输时,要先查询本机的路由表而后根据路由表的指示,决定是将该包发往交换机进行帧交换还是直接发往路由器进行IP寻址.首先不同的数据在传输层根据不同的协议打包成各种传输报文,报头中记录的内容可以控制传输的过程,如TCP报文.UDP报文等.而后根据目的地不同在网络层被加上了IP报头,其中指明了目的设备的IP地址.将报文递交给网卡之前,设备先查询自己的路由表,如下图所示,这个表中记录着本机的路由策略,即不同类型的IP地址在接下来应当如何被传递.(说明:本机IP是192.168.