解忧杂货店RIPv1和RIPv2理论知识--华为数通R&S实验漫载

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解忧杂货店RIPv1和RIPv2理论知识--华为数通R&S实验漫载相关的知识,希望对你有一定的参考价值。

技术分享图片

前言

上一章我们给大家介绍了静态路由的一些基础配置和一些特殊的应用,我们可以通过静态路由的配置得知路由器中的路由表是可以通过管理员静态手工指定的,但是由于是静态的,相当于路由器就像管理员手中的傀儡木偶,完全按照管理员的指定来转发报文,所以静态路由不能灵活的感知网络的故障,需要管理员手工维护,所以在大规模网络中配置静态路由的配置量和维护量是比较庞大的,那么我们就需要一种解决方法,使得木偶有自己的头脑,并且有自己的语言,能够完成木偶之间的沟通,让路由信息能够在路由器之间进行自主交流,所以我们从今天就要开始学习动态路由协议,而态路由协议就像木偶之间的语言一样,可以让路由器与路由器之间进行路由沟通,从而动态构建路由表,管理员要做的就是把配置做好就可以了。就像人类和人类之间的语言一样,有汉语,有英语,有西班牙语等等,所以我们路由器之间的语言也有很多,今天我们就给大家介绍其中一种语言——RIP。
RIP(Routing Information Protocol)路由信息协议是一个比较古老的路由协议,也是我们作为网络工程师第一个应该去接触的路由协议,这个协议实际上被提出的比较早了,但是由于其有比较多的缺点,一般很少出现在现网中,所以大多数的攻城狮都认为这个协议已经过时了,但是RIP因为体积较小并且配置简单还是会应用在小型网络中。所以我们学习这个协议也是有必要的。

RIP的历史

在1988年IETF在RFC1058发布了RIPv1,提出的时间是比较早的,而且其中有很多缺陷,比如不支持VLSM,不支持认证等功能,所以在1993年发布了RFC1388对RIPv1进行了改进,名为RIP version 2,并在RFC1723和RFC2453也对RIP进行了修订。在RIPv2中对RIPv1做了很多改进,比如支持了VLSM和CIDR,支持认证,支持组播等功能,具体的区别我们在下文中会做说明。
但是随着90年代末期OSPF和IS-IS的出现,使得RIP这个协议不会大范围的应用在现网当中,尤其是大型网络中,但是由于RIP体积较小,消耗设备系统资源小,配置简单,所以RIP先在也在小型网络中有使用。

IETF和RFC
国际互联网工程任务组(The Internet Engineering Task Force,简称 IETF)是一个公开性质的大型民间国际团体,汇集了与互联网架构和互联网顺利运作相关的网络设计者、运营者、投资人和研究人员,并欢迎所有对此行业感兴趣的人士参与。
IETF成立于1985年底,是全球互联网最具权威的技术标准化组织,主要任务是负责互联网相关技术规范的研发和制定,当前绝大多数国际互联网技术标准出自IETF,比如RIP,OSPF,集成的IS-IS。也就是说,只要你足够NB,你就可以申请称为IETF的一员,为其制定相应的标准。
RFC(Request For Comments,一系列以编号排定的文件)文件格式最初作为ARPA网计划的基础起源于1969年。如今,它已经成为IETF、Internet Architecture Board (IAB)还有其他一些主要的公共网络研究社区的正式出版物发布途径。也就是说IETF关于网络研究指定的标准基本都会收录于RFC文档中,所以翻看RFC文档是一个资深网工成熟的标志!但是RFC文档基本以每年100篇的速度增长,所以要看完所有的RFC文档并弄懂还是比较吃力的,而且RFC文档原文都是英文的,可能还需要有英文的底子,这对于我们来说是比较困难的,但是对于一些网络中经常会用的技术还是需要我们去查看RFC文档来弄懂其中的原理。

下图中就是RIPv1和RIPv2的RFC文档标题等:
技术分享图片
技术分享图片

RIPv1

一、RIPv1概况
RIPv1是比较早的版本了,这个版本的RIP具有很多缺陷,所以目前不会在现网中使用了。那么RIPv1的特点都有哪些呢?

  • 是有类路由协议,不支持VLSM和CIDR。
  • 使用广播进行路由更新,不支持组播更新。
  • 不支持认证。
  • 基于UDP,端口号520。
    从特点中我们可以看到,RIPv1这个协议的缺点还是非常明显的,比如是有类的路由协议,这就注定了他不能支持VLSM和CIDR,导致他不太适用于现网中,因为现网更多的采用了子网划分的方式进行组网。而且RIPv1不支持认证,所以存在安全隐患。所以从这么多缺点可以知道RIPv1的局限性了。
    二、RIPv1的报文
    技术分享图片
    Command:表示该报文是一个请求报文还是响应报文,只能取1或者2。1表示该报文是请求报文,2表示该报文是响应报文。
    Version:表示RIP的版本信息。对于RIPv1,该字段的值为1。
    Address Family Identifier(AFI):表示地址标识信息,对于IP协议,其值为2。
    IP address:表示该路由条目的目的IP地址。这一项可以是网络地址、主机地址。
    Metric:标识该路由条目的度量值,取值范围1-16。

    从上图中我们可以看到RIPv1的报文结构是比较简单的,上面的三个字段是RIPv1的报文头部,也就是所有RIP报文都会携带的,其中command是报文类型,RIPv1的报文有两种是request请求报文和responce响应报文。version是RIP的版本,后面的部分是must be zero也就是没有使用,用0填充。后面的Route Entries就是一条路由,其中包含路由的前缀和开销,但是没有掩码,因为RIPv1是无类路由器协议,所以只传递路由的主类前缀,也就是对于10.1.12.0/24这条路由只会传递为10.0.0.0。
    因为整个RIP报文大小限制为不超过504字节。而一条路由的大小为20字节,RIPv1的报头为4个字节,所以一个RIP路由更新消息中最多可包含25条路由表项,每个路由表项都携带了目的网络的地址和度量值。如果整个路由表的更新消息超过该大小,需要发送多个RIPv1报文。

    RIPv2

    一、RIPv2概况
    RIPv2是RIPv1的升级版本,他弥补了RIPv1的很多缺陷,目前我们在网络中使用的也基本上都是RIPv2。RIPv2的特点:

  • 是无类路由协议,支持VLSM和CIDR。
  • 使用组播地址224.0.0.9进行路由更新,也支持广播。
  • 支持认证。
  • 基于UDP,端口号520。
    从以上特点我们可以看到RIPv2是对RIPv1做了相当多的优化以及升级,比如开始支持无类网络了,可以更多的应用在子网划分的场景中,我们后续学习的OSPF,IS-IS,BGP都是属于无类路由协议。也使用组播地址进行更新,更加具备效率。支持认证,增加安全性,而且支持明文和MD5认证。
    二、RIPv2的报文
    技术分享图片
    RIPv2在路由中进行了字段的填充和利用,增加了子网掩码和下一跳的字段,可以支持VLSM等技术,所以说RIPv2能够更高效的运行在网络中。

    路由更新原则

    技术分享图片
    RIP路由器在开启后会通过运行RIP的接口发送请求报文进行路由请求,其他路由器收到后会发送响应报文将自身所有的RIP路由信息通告给RIP路由器,并在路由中携带开销值,也就是说收到响应报文的路由器无需再次计算开销值(RIP以跳数作为开销值计算,去往目的网络经过的路由器越多,跳数就越多,开销就越大),直接拿过来用就可以了,如图中所示,RTB更新给RTA的路由10.0.0.0开销就是发送的时候加1,所以RTA收到后就认为去10.0.0.0从RTB走需要经过一跳,而RTB也会将该路由开销值为1更新给RTC,RTC将开销值加1后更新给RTA,所以RTA又从RTC收到了开销值为2的10.0.0.0,优先选择开销值小的,所以选择了RTB访问10.0.0.0。
    我们经常认为RIP是一个基于传闻的协议,他不会自己计算路由,而是使用其他路由器给你算好的,所以很容易出现一种情况,就是别人给你的未必是最好的!比如RIP就相当于一个盲人,他要去一个地点他不知道路怎么走,要问行人,结果行人给他指了一条远路,但是盲人并不知道真正的目的地在哪,所以他只能听信行人的指导走了远路。而RIP正是这样,比如RTA,实际上RTA并不知道目的网络10.0.0.0到底在哪,他只知道通过RTB和RTC可以去,所以他选了较小的开销,但有可能他走了远路,这就是距离矢量路由协议。
    如果路由器可以得知整个网络的拓扑的话,那么他就相当于自己有一张地图可以自己计算最短路径,这种路由协议被称为链路状态(Link-State)路由协议,非常适合于大型网络,比如OSPF和IS-IS。

    距离矢量(Disance-Vector)
    基于距离矢量的路由协议通常是根据目的地的远近来计算路由,比如RIP就是根据去往目的地跳数的大小计算路由信息。同样类似的协议还有BGP。距离矢量路由协议只会将路由信息和自己的直连路由器共享,通过路由的传递达到全网范围内得到路由信息。所以作为一台路由器使用距离矢量算法的话,那么他将不会得知目的地的准确位置。而且距离越远的路由器,得到路由信息的速度越慢,换言之,网络规模越大,收敛速度越慢。

    RIP路由器会周期性30s发送响应报文携带自身所有的RIP路由信息,我们称之为周期全量路由更新,这样的更新方式比较消耗资源,所以应用在大型网络中,比如带宽资源比较吃紧的场景就比较浪费资源。RIP路由在180s的老化时间内没有收到再一次更新,则会从IP路由表中删除并进入RIP的垃圾回收时间(此时路由虽然不在路由表中,但还在RIP表中,但是进入了垃圾回收时间也就是被抑制了),如果在垃圾回收时间120s内又没有收到路由更新,则会被彻底删除。这个垃圾回收就类似于回收站,虽然被删除了,但还是可以找回,但是如果在回收站被删除了就真的没了。后续的课程中会通过实验进行验证。
    RIP计时器(华为设备实测):

  • 更新计时器:缺省30s,全量路由的更新周期时间。
  • 老化计时器:缺省180s,RIP路由在IP路由表中的老化时间,超时会进入垃圾回收时间。
  • 垃圾回收计时器:缺省120s,在老化时间后,不会进入路由表,会在RIP表中,如果在此时间内没收到更新,会被彻底删除。
    技术分享图片

    防环机制

    对于路由协议来说,防环规则是必不可少的,因为我们时常都会将网络连接成环为了冗余可靠,所以路由协议的一个重要的作用就是防环,而对于RIP这个协议来说,不能做到100%防环也是他的缺点。但是RIP中也有很多防环机制帮助我们构建无环网络,我们先来看一下为什么会有环路。
    技术分享图片
    如图所示,当RTB将路由更新给RTA之后,开销为1,RTA收到后会更新给RTB开销加1为2,RTB收到后会更新给RTA开销再加1为3,此时一条路由就会在RTB和RTA之间成环传递,但是当RTB的路由失效后,就会使用RTA给他更新的2跳的路由,直到180s该路由老化,也就是说RTB在访问这个失效的网段会走RTA,而RTA会走RTB从而出现环路。RIP定义了几种防环机制如下。
    1、最大跳数:一条RIP路由的最大跳数为15跳,超过15跳则认为该路由不可达,不能使用。
    2、水平分割:从一个接口收到的路由不会再从这个接口发送出去。
    3、毒性逆转:从一个接口收到的路由会将其跳数置为16再从这个接口发送出去。
    4、触发更新:当网络发生变化会直接触发RIP发送路由更新,无需等待周期时间,达到快速收敛的目的。

    说明:水平分割和毒性逆转是矛盾的,所以只能配置一个,缺省华为设备开启水平分割,当两个同时开启则毒性逆转生效。在RIP接口下通过命令进行配置。

RIP的缺点

一、周期全量更新,浪费系统带宽资源。
二、路由逐跳更新,收敛速度慢,不适合大型网络。
三、最大跳数15跳,网络直径受限制,不便于扩展网络规模。
四、基于跳数作为开销计算,不跟据带宽计算,不精确。

总结

基于以上的学习,我们大概知道了RIP的版本的区别,以及其应用场景,虽然他有很多缺点,不适用于大型网络中,但是由于其体积较小,消耗资源少所以更多的应用在小型网络中。


下一节我们会讲到RIP的基础配置。

以上是关于解忧杂货店RIPv1和RIPv2理论知识--华为数通R&S实验漫载的主要内容,如果未能解决你的问题,请参考以下文章

解忧杂货店华为数通模拟器eNSP的安装--华为数通R&S实验漫载

解忧杂货店写在最最最最前面--华为数通R&S实验漫载

解忧杂货店负载分担和路由备份--华为数通R&S实验漫载

解忧杂货店缺省路由的配置--华为数通R&S实验漫载

解忧杂货店静态路由基础配置--华为数通R&S实验漫载

《解忧杂货店》阅读后感