精华内容
下载资源
问答
  • RIP距离向量算法

    千次阅读 2017-02-06 10:26:15
    RIP协议采用距离向量算法,在实际使用中已经较少适用。在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为1~15,数值16表示无穷大。RIP进程使用UDP的520端口来发送和接收...

    基本概况

    编辑
    RIP协议采用距离向量算法,在实际使用中已经较少适用。在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为1~15,数值16表示无穷大。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“ 广播风暴”,其后续的的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP分组分为两种:请求分组和响应分组。

    历史演化

    编辑
    RIP-1被提出较早,其中有许多缺陷。为了改善RIP-1的不足,在RFC1388中提出了改进的RIP-2,并在RFC1723和RFC2453中进行了修订。RIP-2定义了一套有效的改进方案,新的RIP-2支持子网路由选择,支持CIDR,支持组播,并提供了验证机制。
    随着OSPF和IS-IS的出现,许多人认为RIP已经过时了。但事实上RIP也有它自己的优点。对于小型网络,RIP就所占带宽而言开销小,易于配置、管理和实现,并且RIP还在大量使用中。但RIP也有明显的不足,即当有多个网络时会出现环路问题。为了解决环路问题,IETF提出了分割范围方法,即 路由器不可以通过它得知路由的接口去宣告路由。分割范围解决了两个路由器之间的路由环路问题,但不能防止3个或多个路由器形成路由环路。触发更新是解决环路问题的另一方法,它要求路由器在链路发生变化时立即传输它的路由表。这加速了网络的聚合,但容易产生广播泛滥。总之,环路问题的解决需要消耗一定的时间和带宽。若采用RIP协议,其网络内部所经过的链路数不能超过15,这使得RIP协议不适于大型网络。

    报文格式

    编辑
    071531
    命令字(1字节)版本(1字节)必须为0(2字节)
    地址类型 标识符(2字节)必须为0(2字节)
    必须为0
    必须为0
    Metric值(1—16)
    (最多可以有24个另外的路由,与前20字节具有相同的格式)
    “命令字”字段为1时表示RIP请求,为2时表示RIP应答。地址类型标志符在实际应用中总是为2,即地址类型为IP地址。“IP地址”字段表明目的网络地址,“Metric”字段表明了到达目的网络所需要的“跳数”。

    结构

    编辑
    使用R I P报文中列出的项, RIP主机可以彼此之间交流 路由信息。这些信息存储在路由表中,路由表为每一个知道的、可达的目的地保留一项。每个目的地表项是到达那个目的地的最低开销路由。
    注意每个目的地的表项数可以随路由生产商的不同而变化。生产商可能选择遵守规范,也可以对标准进行他们认为合适的“强化”。所以,用户很可能会发现某个特殊商标的路由器为每一个网络中的目的地存储至多4条相同费用的路由。
    每个路由表项包括以下各域:
    目的IP地址域
    距离-向量度量域
    下一跳IP地址域
    路由变化标志域
    路由计时器域
    注意虽然RFC 1058是一个开放式标准,能支持大量互连网络地址结构,然而它是由IETF设计用于Internet中自治系统内的协议。如此,使用这种形式RIP的自然是网络互联协议。
    1. 目的IP地址域
    任何路由表中所包含的最重要信息是到所知目的地的I P地址。一旦一台RIP路由器收到一个数据报文,就会查找路由表中的目的I P地址以决定从哪里转发那个报文。
    2. 度量标准域
    路由表中的度量域指出报文从起始点到特定目的地的总耗费。路由表中的度量是从路由器到特定目的地之间网络链路的耗费总和。
    3. 下一跳IP地址域
    下一跳IP地址域包括至目的地的网络路径上下一个路由器接口的IP地址。如果目的IP地址所在的网络与路由器不直接相连时,路由器表中才出现此项。
    4. 路由变化标志域
    路由变化标志域用于指出至目的I P地址的路由是否在最近发生了变化。这个域是重要的,因为R I P为每一个目的I P地址只记录一条路由。
    5. 路由计时器域
    有两个计时器与每条路由相联系,一个是超时计时器,一个是路由刷新计时器。这些计时器一同工作来维护路由表中存储的每条路由的有效性。路由表维护过程在1 2 . 2 . 2节中详细描述。

    补充内容

    编辑
    RIP(RoutinginformationProtoc ol)是应用较早、使用较普遍的内部网关协议(InteriorGatewayProtocol,简称IGP),适用于小型同类网络,是典型的距离向量(distance-vector)协议。文档见RFC1058、RFC1723。
    RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新。RIP提供跳跃计数(hopcount)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所必须经过的路由器的数目。如果到相同目标有二个不等速或不同带宽的路由器,但跳跃计数相同,则RIP认为两个路由是等距离的。RIP最多支持的 跳数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16表示不可达。

    基本配置

    编辑
    *先把IP跟loopback口配置好。
    做好实验前的配置后我们来配置路由器R1、拿他当范例:
    R1#configure terminal //进入配置模式
    Enter configuration commands, one per line. End with CNTL/Z.
    R1(config)#router rip //启动RIP协议
    R1(config-router)#version 1 //配置RIP版本1
    R1(config-router)#network 1.0.0.0 //通告网络、意思就是告诉别人自己所连接的网络
    R1(config-router)#network 192.168.12.0
    R1(config-router)#exit
    R1(config)#
    然后把其他路由器也都按R1的配置进行操作。配置RIP1版本、然后通告自己所连接的网络。
    注:1.Cisco的RIP版本2支持验证、 密钥管理、路由汇总、 无类域间路由(CIDR)和 变长子网掩码(VLSMs)

    基本举例

    编辑
    Router1:
    router rip version 2 network 192.200.10.0 network 192.20.10.0!相关调试命令:show ip protocol
    show ip route在全局设置(#)模式下:1.启动RIP路由router rip2.设置参与RIP路由的子网network子网地址3.允许在非 广播型网络中进行RIP路由广播neighbor相邻路由器相邻端口的IP地址4.设置RIP的版本 RIP路由协议有2个版本,在与其它厂商路由器相连时,注意版本要一致,缺省状态下,Cisco路由器接收RIP版本1和2的路由信息,但只发送版本1的路由信息,设置RIP的版本vesion1或2。另外,还可以控制特定端口发送或接收特定版本的路由信息。1.只在特定端口发版本1或2的信息,在端口设置模式下rip send version1或22.同时发送版本1和2的信息ip rip send receive1or23.在特定端口接受版本1或2的路由信息ip rip receive1or24.同时接受版本 1和2的路由信息ipripreceive1or2选择路由协议几点建议:1.在大型网络中,建议使用ospf,eigrp.2.如果网络中含有变长了网掩码(VISM)不能使用igrp,rip版本1,可以使用rip版本2,ospf,eigrp或 静态路由。3.如果使用路由安全设置可以使用RIP版本1或OSPF。4.选用ospf,eigrp在系统稳定后所占带宽比RIP,IGRP少得多,IGRP比RIP所占带宽也少。5.综合使用动态路由,静态路由,缺省路由,以保证路由的冗余。6.在拨号线路上尽量使用静态路由,以节省费用。7.在小型网络上数据量不大的情况下,且不需要高可性,广域网线路为X.25SVC时,建议用静态路由。

    局限性

    编辑
    1)、协议中规定,一条有效的路由信息的度量(metric)不能超过15,这就使得该协议不能应用于很大型的网络,应该说正是由于设计者考虑到该协议只适合于小型网络所以才进行了这一限制。对于metric为16的目标网络来说,即认为其不可到达。
    2)、该路由协议应用到实际中时,很容易出现“计数到无穷大”的现象,这使得路由收敛很慢,在 网络拓扑结构变化以后需要很长时间路由信息才能稳定下来。
    3)、该协议以跳数,即报文经过的路由器个数为衡量标准,并以此来选择路由,这一措施欠合理性,因为没有考虑 网络延时、可靠性、线路负荷等因素对传输质量和速度的影响。

    特性

    编辑
    (1)路由信息更新特性:
    路由器最初启动时只包含了其直连网络的路由信息,并且其直连网络的metric值为1,然后它向周围的其他路由器发出完整路由表的RIP请求(该请求报文的“IP地址”字段为0.0.0.0)。路由器根据接收到的RIP应答来更新其路由表,具体方法是添加新的路由表项,并将其metric值加1。如果接收到与已有表项的目的地址相同的路由信息,则分下面三种情况分别对待:第一种情况,已有表项的来源端口与新表项的来源端口相同,那么无条件根据最新的路由信息更新其路由表;第二种情况,已有表项与新表项来源于不同的端口,那么比较它们的metric值,将metric值较小的一个最为自己的路由表项;第三种情况,新旧表项的metric值相等,普遍的处理方法是保留旧的表项。
    路由器每30秒发送一次自己的路由表(以RIP应答的方式广播出去)。针对某一条路由信息,如果180秒以后都没有接收到新的关于它的路由信息,那么将其标记为失效,即metric值标记为16。在另外的120秒以后,如果仍然没有更新信息,该条失效信息被删除。
    (2)RIP版本1对RIP报文中“版本”字段的处理:
    0:忽略该报文。
    1:版本1报文,检查报文中“必须为0”的字段,若不符合规定,忽略该报文。
    >1:不检查报文中“必须为0”的字段,仅处理RFC 1058中规定的有意义的字段。因此,运行RIP版本1的机器能够接收处理RIP版本2的报文,但会丢失其中的RIP版本2新规定的那些信息。
    (3)RIP版本1对地址的处理
    RIP版本1不能识别子网网络地址,因为在其传送的路由更新报文中不包含子网掩码,因此RIP路由信息要么是主机地址,用于点对点链路的路由;要么是A、B、C类网络地址,用于以太网等的路由;另外,还可以是0.0.0.0,即缺省路由信息。
    (4)计数到无穷大(Counting to Infinity)
    前面在RIP的局限性一部分提到了可能出现的计数到无穷大的现象,下面就来分析一下该现象的产生原因与过程。考察下面的简单网络:
    c(目的网络)----router A------router B
    在正常情况下,对于目标网络,A路由器的metric值为1,B路由器的metric值为2。当目标网络与A路由器之间的链路发生故障而断掉以后:
    c(目的网络)--||--router A------router B
    A路由器会将针对目标网络C的路由表项的metric值置为16,即标记为目标网络不可达,并准备在每30秒进行一次的路由表更新中发送出去,如果在这条信息还未发出的时候,A路由器收到了来自B的路由更新报文,而B中包含着关于C的metric为2的路由信息,根据前面提到的路由更新方法,路由器A会错误的认为有一条通过B路由器的路径可以到达目标网络C,从而更新其路由表,将对于目标网络C的路由表项的metric值由16改为3,而对于的端口变为与B路由器相连接的端口。很明显,A会将该条信息发给B,B将无条件更新其路由表,将metric改为4;该条信息又从B发向A,A将metric改为5……最后双发的路由表关于目标网络C的metric值都变为16,此时,才真正得到了正确的路由信息。这种现象称为“计数到无穷大”现象,虽然最终完成了收敛,但是收敛速度很慢,而且浪费了网络资源来发送这些循环的分组。
    另外,从这里我们也可以看出,metric值的最大值的选择实际上存在着矛盾,如果选得太小,那么适用的网络规模太小;如果选得过大,那么在出现计数到无穷大现象的时候收敛时间会变得很长。

    提高措施

    编辑
    水平分割
    在上面的“计数到无穷大”现象中,产生的原因是A、B之间互相传送了“欺骗信息”,那么针对这种情况,我们自然会想到如果能将这些“欺骗信息”去掉,那么不就可以在一定程度上避免“计数到无穷大”了吗。水平分割正是这样一种解决手段。
    “普通的水平分割”是:如果一条路由信息是从X端口学习到的,那么从该端口发出的路由更新报文中将不再包含该条路由信息。“带毒化逆转的水平分割”是:如果一条路由信息是从X 端口学习到的,那么从该端口发出的路由更新报文中将继续包含该条路由信息,而且将这条信息的metric置为16。
    “普通的水平分割”能避免欺骗信息的发送,而且减小了路由更新报文的大小,节约了网络带宽;“带毒化逆转的水平分割”能够更快的消除路由信息的环路,但是增加了路由更新的负担。这两种措施的选择可根据实际情况进行选择。

    触发更新

    编辑
    上面的“ 水平分割”能够消除两台路由器间的欺骗信息的相互循环,但是当牵涉到三台或者以上的路由器时,效果就有限了。考察下面的网络:
    +---++----++-----+/-----\
    |||C+-------|D|-----||E||
    |A+------|||+----||
    +-+-++----++---+-+\-----/
    |--|
    |--|
    |--|
    +----+|
    |||
    |B+-----------------------
    ||
    +----+
    E是目标网络
    针对目标网络,各路由器的路由信息分别如下:
    A:3C
    B:2D
    C:2D
    D:1直连
    当D与目标网络之间发生故障中断以后,B和C都能正确的从D得到网络不可达的信息,但是,从上面的路由信息中可以看出,A虽然不会给C发送错误信息,但是A可能在未收到网络不可达信息之前就给B发送了路由信息,让B错误的认为可以通过A到达目标网络,继而又会出现“计数到无穷大”的现象。
    触发更新就是为了针对上述情况进行的一种改善,它的具体实现措施是:路由器一旦察觉到网络变化,就尽快甚至是立即发送更新报文,而不等待更新周期结束。只要触发更新的速度足够快,就可以大大的防止“计数到无穷大”的发生,但是这一现象还是有可能发生的。
    使用了触发更新以后,当网络拓扑发生变化的时候,网络中会出现类似于“多米诺骨牌”的更新报文潮流,并最后中止于从未发生变化的路径到达目标网络的路由器。

    定时器

    编辑
    RIP中一共使用了4个 定时器:updatetimer,timeouttimer,garbagetimer,holddowntimer。
    Updatetimer用于每30秒发送路由更新报文。
    Timeouttimer用于路由信息失效前的180秒的计时,每次收到同一条路由信息的更新信息就将该计数器复位。
    Garbagetimer和holddowntimer同时用于将失效的路由信息删除前的计时:在holddowntimer的时间内,失效的路由信息不能被接收到的新信息所更新;在garbagetimer计时器超时后,失效的路由信息被删除。
    另外,在触发更新中,更新信息会需要1到5秒的随机延时以后才被发出,这里也需要一个 计时器

    RIP版本2

    编辑

    RIPV2概述

    RIP-V2不是一个新的协议,它只是在RIPV1协议的基础上增加了一些扩展特性,以适用于现代网络的路由选择环境。这些扩展特性有:
    >每个路由条目都携带自己的子网掩码
    >路由选择更新更具有认证功能
    >每个路由条目都携带下一跳地址
    >外部路由标志
    >组播路由更新
    最重要的一项是路由更新条目增加了子网掩码的字段,因而RIP协议可以使用可变长的子网掩码,从而使RIP-V2协议变成了一个无类别的路由选择协议。

    RIPV2原理

    V1版路由更新用是的广播方式。RIP-V2协议使用组播的方式向其他宣告RIP-V2的路由器发出更新报文,它使用的组播地址是保留的D类地址224.0.0.9
    使用组播方工的好处在于,本地网络上相连的RIP路由选择无关的设备不再花费时间对路由器广播的更新报文进行解析。
    1 RIP-V2信息帧格式
    命令(8位)
    版本(8位)
    未用(值为0)
    地址族标示符
    路由标记
    IP地址
    子网掩码
    下一跳
    度量值
    ……………
    和RIPV1一样,RIP-V2的更新报文最大可以包含25个路由条目。
    同样使用UDP的520端口号,并且数据报文的大小最大为512个8bit位。
    >命令(COMMAND)——取值为1和2,1表示是请求信息,2表示是响应消息
    >版本号(VERSION)——对于RIP-V2,该字段值为2
    >地址族标识(address family indentifier ,AFI)——对于IP该项设置为2.当消息是对路由器(或主机)整个路由选择表的请求时,这个字段将被设置为0.
    >路由标志(ROUTERTAG)——提供这个字段来标记外部路由或重分配到RIP-V2协议中的路由。默认情况是使用这个16位的字段来携带从外部路由选择协议注入到RIP中的路由的自主系统号。虽然RIP协议自己并不使用这个字段,但是在多个地点和某个RIP域相连的外部路由,可能需要使用这个路由标记字段通过RIP域来交换路由信息。这个字段也可以用来把外部路由编成"组",以便于在RIP域中更容易地控制这些路由。
    >IP地址(IP ADDRESS)——路由条目的目的地址,它可以是主网络地址、子网地址或主机路由。
    >子网掩码(SUBNET MASK)——是一个确认IP地址的网络和子网部分的32位的掩码。
    >下一跳(NEXT HOP)——如果存在的话,它标识一个比通告路由器更好的地址更好的一下地址。也就是说,它指出的下一跳地址,其度量值比同一个子网上的通告路由器更靠近目的地。如果这个字段设置为全0(0.0.0.0),说明通告路由器的地址就是最好的下一跳地址。
    >度量(METRIC)——是一个1~16之间的跳数。 [1]  

    RIPV2的配置

    由于RIP-V2只是RIP-V1的增强版,而不是一个单独的协议,因此,在RIPV1中介绍的某些命令可以同样的方法在RIP-V2中正确使用。
    1 基本配置
    router rip
    version 2
    network 172.25.0.0
    network 192.168.50.0
    可以在路由器配置模式(config-router mode)下键入命令NO VERSION恢复到原来的缺省方式。
    2 RIP-V2与V1相结合
    基于端口级别(interface-level)的"兼容性开关"。用"ip rip send version 版本号"和"Ip rip recevie version 版本号"来实现。
    router(config)#interface ethernet0
    router(config-if)#no shutdown
    router(config-if)#ip address 192.168.50.1 255.255.255.0
    router(config-if)#ip rip send vervion 1
    router(config-if)#ip rip receive verion 1 (RIP V1 mode)
    router(config-if)#interface ethernet 1
    router(config-if)#no shutdown
    router(config-if)#ip address 172.25.150.1 255.255.0.0
    router(config-if)#ip rip send version 1 2 (RIP V1 V2 mode)
    router(config-if)#interface ethernet 2
    router(config-if)#no shutdown
    router(config-if)#ip address 172.50.0.0 255.255.0.0
    router(config-if)#end
    router(config)#router rip
    router(config-router)#version2
    router(config-router)#network172.25.0.0
    router(config-router)#network192.168.0.0
    3 使用可变长子网掩码
    划分子网的基本目的总是相同的:路由器必须能够使用惟一的地址来标识每一条数据链路,以区别于互联网中的其他地址。
    4 不连续的子网和无类路由
    无类路由选择协议并没有关于不连续子网的这些困难。因为每一条路由更新都包含一个子网掩码,因而一个主网络的子网能够通告给另一个主网络
    RIP-V2协议缺省的行为要在主网络边界上进行路由汇总,为了关闭路由汇总功能以允许被通告的子网通过主网络的边界,可以在RIP的处理中使用 no auto-summary
    router(config)#router rip
    router(config-router)#version 2
    router(config-router)#no auto-summary  [1]  

    V1V2区别

    编辑
    1.RIPv1是有类路由协议,RIPv2是无类路由协议
    2.RIPv1不能支持VLSM,RIPv2可以支持VLSM。
    3.RIPv1没有认证的功能,RIPv2可以支持认证,并且有明文和MD5两种认证。
    4.RIPv1没有手工汇总的功能,RIPv2可以在关闭自动汇总的前提下,进行手工汇总。
    5.RIPv1是广播更新,RIPv2是组播更新。
    6.RIPv1对路由没有标记的功能,RIPv2可以对路由打标记(tag),用于过滤和做策略。
    7.RIPv1发送的updata最多可以携带25条路由条目,RIPv2在有认证的情况下最多只能携带24条路由。
    8.RIPv1发送的updata包里面没有next-hop属性,RIPv2有next-hop属性,可以用与路由更新的重定。
    展开全文
  • RIP协议及距离向量算法(详解)

    万次阅读 多人点赞 2020-06-05 11:38:59
    RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。 RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)。距离:通常为“跳数”...

    一、路由选择协议分类回顾

    在这里插入图片描述
    在这里插入图片描述

    二、RIP协议

    RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单
    RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)。距离:通常为“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从一路由器到直接连接的网络距离为1。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达
    所以说,RIP协议只适用于小互联网
    在这里插入图片描述
    在这里插入图片描述

    三、RIP协议和谁交换?多久交换一次?交换什么?

    在这里插入图片描述

    1. 仅和相邻路由器交换信息。
    2. 路由器交换的信息是自己的路由表
    3. 30秒交换一次路由信息,然后路由器根据新信息更新路由表。若超过180秒没收到邻居路由器的通告,则判定邻居没了,并更新自己路由表。

    路由器刚开始工作时,只知道直接连接的网络的距离(距离为1),接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。
    经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即“收敛”。

    四、路由表怎么更新的?距离向量算法

    1. 修改相邻路由器发来的RIP报文中所有表项
      对地址为x的相邻路由器发来的RIP报文,修改此报文中的所有项目:把“下一跳”字段中的地址改为X,并把所有的“距离”字段+1。
      在这里插入图片描述
    2. 对修改后的RIP报文中的每一个项目,进行以下步骤:
      (1)R1路由表中若没有Net3,则把该项目填入R1路由表
      (2)R1路由表中若有Net3,则查看下一跳路由器地址:
      若下一跳是x,则用收到的项目替换源路由表中的项目;若下一跳不是x,原来距离比从x走的距离远则更新,否则不作处理。
    3. 180s还没收到相邻路由器X的更新路由表,则把X记为不可达的路由器,即把距离设置为16。
    4. 返回

    五、距离向量算法练习1

    已知路由器R6的路由表,现收到相邻路由器R4发来的路由更新信息,试更新路由器R6的路由表:
    在这里插入图片描述
    第一步:修改相邻路由器发来的RIP报文中所有表项
    对地址为R4的相邻路由器发来的RIP报文,修改此报文中的所有项目:把“下一跳”字段中的地址改为R4,并把所有的“距离”字段+1。得到下图R4发来的路由更新信息-修改版:
    在这里插入图片描述

    六、距离向量算法练习2

    考虑如图所示的子网,该子网使用了距离-向量算法,下面的向量刚刚到达路由器C:来自B的向量为(5,0,8,12,6,2);来自D的向量为(16,12,6,0,9,10);来自E的向量为(7,6,3,9,0,4)。经过测量,C到B、D和E的延迟分别为6,3和5,那么C到达所有结点的最短路径是(B)。
    A.(5,6,0,9,6,2)B.(11,6,0,3,5,8)
    C.(5,11,0,12,8,9)D.(11,8,0,7,4,9)
    在这里插入图片描述
    在这里插入图片描述
    所以答案为B选项,C到达所有结点的最短路径是**(11,6,0,3,5,8)**

    七、RIP协议的报文格式

    在这里插入图片描述

    八、RIP协议好消息传得快,坏消息传得慢

    RIP的特点:当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器,“慢收敛”。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    R1的坏消息(通过R1无法到达目的网络1)还没发出去,R2先把自己之前从R1那里获得的好消息(可以通过R1到达网络1)又发送给了R1,导致R1会根据R2发来的路由信息来更改自己的信息,也认为可以通过R2到达目的网络1,跳数+1。就这样,R1和R2不断地互相传递错误的信息,跳数不断+1,直到两者的跳数都达到16,R1和R2才知道目的网络1是不可达的
    所以说坏消息传得慢!

    九、总结:

    在这里插入图片描述

    展开全文
  • 基于距离向量算法rip协议的实现,C++代码,运行环境VS2005
  • 这种更新算法又称为距离向量算法距离向量算法 对每一个相邻路由发送过来的RIP报文,进行一下步骤: 对于相邻路由X发来的RIP报文,先修改此报文中的所有项目,到目的网络的距离+1,下一跳地址为X。 将修改后的...

    RIP是一种基于距离向量的分布式路由选择协议。每个路由器都要不断地仅与相邻的路由器交换路由表。路由表的主要信息就是:到某个网络的最短距离,以及经过的下一跳地址。这种更新算法又称为距离向量算法

    距离向量算法

    对每一个相邻路由发送过来的RIP报文,进行一下步骤:

    1. 对于相邻路由X发来的RIP报文,先修改此报文中的所有项目,到目的网络的距离+1,下一跳地址为X。
    2. 将修改后的路由表与当前的路由表进行对比:
      (1)如果原来的路由表中没有网络N,则把该项目添加到当前路由表中。
      (2)否则(即原来的路由表中有N,这时候看下一跳路由地址):
      - 如果当前表中下一跳路由地址是X,则直接把这条项目加入到表中。因为这是最新的消息,要以最新的消息为准
      - 如果当前路由表中的下一跳地址不为X,则要比较距离,若项目中的距离小于路由表中的距离,则进行更新。
      (3)若3min后还没有收到相邻路由的更新路由表,则把此路由器记录为不可达的路由器,把距离设置为16.
      (4)返回。

    例题

    表1为当前路由器R6的路由表,现在收到了相邻路由R4发来的更新路由表,如表2,请更新R6的路由表

    表1
    目的网络距离下一跳路由器地址
    Net23R4
    Net34R5
    表2
    目的网络距离下一跳路由地址
    Net13R1
    Net24R2
    Net31直接交付

    解题

    (1)将表2进行修改

    目的网络距离下一跳路由地址
    Net14R4
    Net25R4
    Net32R4

    (2) 将这个表与表1进行比较:
    Net1没有,需要加进去;
    Net2有,下一跳为R4,和原来相同于是更新信息;
    Net3有,下一跳原来为R5,现在为R4, 但是现在的距离为2,于是也要更新
    最后得到更新后的R6路由表

    目的网络距离下一跳路由地址
    Net14R4
    Net25R4
    Net32R4
    展开全文
  • 一、RIP简介 RIP(Routing Information ...二、距离向量算法 1.距离(跳数)问题 (1)从一个路由器到直接连接的路由器距离定义为1 (2)从一个路由器到另一个非直接相连的路由器距离定义为所经过路由器的个数加.

    一、RIP简介

    RIP(Routing Information Protocol,路由信息协议) 是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。RIP协议基于距离矢量算法(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离。

    二、距离向量算法

    1.距离(跳数)问题

    (1)从一个路由器到直接连接的路由器距离定义为1
    (2)从一个路由器到另一个非直接相连的路由器距离定义为所经过路由器的个数加一
    (3)距离也就是跳数,每经过一个路由器跳数就加一
    (4)RIP协议认为好的路由就是经过的路由器最少,距离最短(跳数最少)。而且不能在两个网络之间同时使用多条路由,也就是说哪怕还有一条高速(低时延)但路由器较多的路由,RIP也会选择路由器最少的路由。
    (5)因为RIP规定经过的路由器不能超过15个,距离超过16时认为不可达,所以RIP只适用于小型互联网

    2.路由表的建立

    路由器一开始工作的时候只知道相邻路由器的距离(定义为1),路由表为空,之后和相邻的路由器交换并更新路由信息,经过若干次更新后本自制网络中的所有路由器便都会知道任何一个网络的最短距离和下一跳路由器的地址。虽然路由器都拥有了整个自治系统的全局路由信息,但由于路由器位置不同所以他们的路由表自然也不同

    3.路由表更新

    具体更新不知道,请参考其他文章,写这篇文章的目的是期末考试要考下面这道题,俺不会做,查了半天查会了,具体做法为:

    两个路由表,有一个表中没有的直接写,下一跳相同的,更新接收到的路由信息;下一跳不相同,选距离短的更新。

    三、题目练习

    题目:假定网络中路由器B的路由表有以下项目:

     

    目的网络距离下一跳路由
    N17A
    N22C
    N68F
    N84E
    N94F


    现在B收到C发过来的路由信息

    目的网络距离
    N24
    N38
    N64
    N83
    N95


    求出路由器B更新后的路由表:


    答案:(计算方法即参考了上述路由表更新规则:两个路由表,有一个表中没有的直接写,下一跳相同的,更新接收到的路由信息;下一跳不相同,选距离短的更新。(这条规则简直了,太棒了!!)计算结果如下:)

     

    目的网络距离下一跳路由解释
    N17AC中没有N1的信息,不需要更新
    N25C下一跳相同,更新
    N39CB中没有N3的信息,添加用户
    N65CC中到N6的距离为4,小于B到N6的距离8,需更新
    N84E

    B、C到N8的距离相同,不更新

    N94FB到N9的距离为5,小于C到N9的距离5,不更新
    展开全文
  • RIP距离向量算法

    千次阅读 2018-10-09 21:39:00
    为了找出最短距离,由此引出 距离向量算法——   距离向量算法 此算法的基础是 Bellman-Ford算法 ,这种算法的要点是:  设 X 是结点 A 到 B 的最短路径上的一个结点。若把路径 A到B 拆成两段路径 A到X 和...
  • #include<iostream> #include<ctime> #include<algorithm> using namespace std; bool Rout[12];... Net() {//构造函数:初始距离为17不存在,且没有下一跳 d = 17; nextR = -1; } }; ...
  • 距离向量路由算法要求,每个结点都参与定期交换整个路由表,即把路由表传递给自己与之相连的结点。 首先,当前路由表的组成如下,<目的网络 N,跳数,下一跳地址> RIP算法执行步骤 从相邻的X路由器接收发送...
  • RIP协议的距离向量算法实现(c++)

    千次阅读 2019-06-09 13:36:17
    模拟路由表示意图 核心: 新的直接进表 ...算法实现: #include<iostream> #include<fstream> #include<algorithm> #include<string> #include<vector> #include&l...
  • 网络层:7、距离向量算法RIP思维导图:RIP协议:RIP特点:RIP距离向量算法RIP缺点: 思维导图: RIP协议: 不同路由器之间通过交换信息来完善路由表表项,那么现在有三个问题: 1、和哪些路由表交换信息? 2、...
  • RIP协议和距离向量算法RIP协议定义② RIP协议:交换对象、交换周期、交换内容③ 距离向量算法例题1例题2④ RIP协议的报文格式⑤ RIP协议:好消息传得快,坏消息传得慢三. OSPF协议与链路状态算法① OSPF协议定义...
  • 距离 下一跳路由 N1 7 A N2 2 C N6 8 F N8 4 E N9 4 F 现在B收到C发过来的路由信息 目的网络 距离 N2 4 N3 8 N6 4 N8 3 N9 5 求出路由器B更新后的路由表: 答案: 目的网络 ...
  • RIP协议和距离向量算法

    千次阅读 2020-08-06 19:31:31
    RIP(Routing Information Protocol,路由信息协议) 是一种内部网关协议(IGP),是一种动态路由选择...RIP协议基于距离矢量算法(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离
  • RIP是指路由信息协议,基于距离向量算法;OSPF是指开放最短路径优先协议,基于链路状态算法。 D-V 算法中,每个节点只需要维护自身的距离向量,且只需要与自己相连的链路的状态,需要的存储空间小;而L- S 算法中...
  • 路由选择协议可以得出路由表中的路由。 1.RIP:路由信息协议,一种分布式的基于距离(跳数)向量的路由选择协议。选择两个网络之间最小路由器(最短路由)的路由,属于分布式路由。...4.更新算法:距离向量算法
  • 计算机网络·通俗理解RIP协议(距离向量算法计算)

    千次阅读 多人点赞 2021-05-04 14:52:15
    你能学到什么 一、什么是RIP协议 二、距离向量算法 一、什么是RIP协议 全称为路由信息协议,是一种分布式的基于距离向量的路由选择协议 最大的优点就是简单 仅和相邻路由器交换信息 路由器交换的信息是当前本路由器...
  • RIP协议距离向量算法——路由表更新

    千次阅读 多人点赞 2020-07-03 13:20:16
    RIP协议距离向量算法——路由表更新 题目: 假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”): B的路由表 目的网络 距离 下一跳路由器 N1 7 A N2 2 ...
  • 内部网关RIP协议--距离向量算法

    千次阅读 2018-04-30 22:02:29
    对每一个相邻路由器发送过来的RIP报文,进行一下步骤:(1)对地址为X的相邻路由器发来的RIP报文,先修改此报文中的所有项目,把下一跳字段中的地址都改为X,并把所有的距离字段的值加1(见解释1),每一个项目都有3...
  • 距离向量算法

    万次阅读 多人点赞 2019-06-08 20:12:10
    算法执行步骤 从相邻的 X 路由器接收发送过来的 RIP 报文 将该 RIP 报文中的下一跳地址修改为 X,且跳数增加 1 对每个项目执行如下步骤 a.若原路由表没有 RIP 中的目的网络 N,直接添加到原路由表中 b.若原路由表中...
  • 基于距离向量算法的路由协议的实现
  • 一、RIP协议 二、RIP协议的报文格式 三、RIP协议的特点(RIP协议好消息传得快,坏消息传得慢) 四、距离向量算法
  • RIP协议的距离向量算法--C++

    千次阅读 2013-01-17 17:42:14
    RIP协议的距离向量算法--C++ #include#include#include#include#includeusing namespace std; //路由表中数据class Table{ public:string destination_id;int distance;string next_stop;}; //路由类...
  • 内部网关协议RIP 距离向量算法

    千次阅读 2012-02-08 16:18:02
    //下一跳不为邻居,判断距离 if(x[location][1] > y[m][1] + 1) { x[location][1] = y[m][1] + 1; x[location][2] = next->router; } } } m++; } next = next->nextrou; //转换之后,将x赋给A...
  • 一、工作原理   RIP(Routing Information Protocol)是内部网关协议IGP...  RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(因此,这是一组距离,即“距离向量”)。RIP协议...
  • 文章目录路由选择协议分类回顾RIP协议RIP协议注意事项RIP协议的报文格式(了解)RIP 协议特点距离向量算法距离向量法练习1距离向量法练习2总结思维导图OSPF协议与链路状态算法OSPF协议链路状态路由算法OSPF 区域OSPF ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,082
精华内容 2,032
关键字:

rip的距离向量算法