zoukankan      html  css  js  c++  java
  • 路由选择信息协议

    路由信息协议(RIP)是一种在网关与主机之间交换路由选择信息的标准。RIP 是一种内部网关协议。在国家性网络中如当前的因特网,拥有很多用于整个网络的路由选择协议。作为形成网络的每一个自治系统(AS),都有属于自己的路由选择技术,不同的 AS 系统,路由选择技术也不同。

    9a504fc2d5628535789b040592ef76c6a6efce1b9d164ba7

     

    RIP的特点

    (1)仅和相邻的路由器交换信息。如果两个路由器之间的通信不经过另外一个路由器,那么这两个路由器是相邻的。RIP协议规定,不相邻的路由器之间不交换信息。
    (2)路由器交换的信息是当前本路由器所知道的全部信息。即自己的路由表。
    (3)按固定时间交换路由信息,如,每隔30秒,然后路由器根据收到的路由信息更新路由表。(也可进行相应配置使其触发更新)
    适用
    RIP 和 RIP 2 主要适用于 IPv4网络,而 RIPng 主要适用于 IPv6 网络。本文主要阐述 RIP 及 RIP 2。
    RIPng:路由选择信息协议下一代(应用于IPv6)
    (RIPng:RIP for IPv6)RIPng与RIP 1和 RIP 2 两个版本不兼容。
    RIP协议的“距离”其实就是“跳数”(hop count),因为每经过一个路由器,跳数就加1。RIP认为好的路由就是它通过的路由器的数目少,即“距离短”。
    应用
    RIP(Routing information Protocol)是应用较早、使用较普遍的内部网关协议(Interior Gateway Protocol,简称IGP),适用于小型同类网络,是典型的距离向量(distance-vector)协议。文档见RFC1058、RFC1723。
    RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新。RIP提供跳跃计数(hop count)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所必须经过的路由器的数目。如果到相同目标有二个不等速或不同带宽的路由器,但跳跃计数相同,则RIP认为两个路由是等距离的。RIP最多支持的跳数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16表示不可达。

    RIP概述

    -RFC 1058
    -RIP采用贝尔曼—福德(Bellman-Ford)算法
    -目前RIP有两个版本RIPv1和RIPv2。
    -RIP有以下一些主要特性:
    -RIP属于典型的距离矢量路由选择协议。
    -RIP消息通过广播地址255.255.255.255进行发送,RIPv2使用组播地址224.0.0.9发送消息,两者都使用UDP 协议的520端口。
    -RIP以到目的网络的最小跳数作为路由选择度量标准,而不是在链路的带宽和延迟的基础上进行选择。
    -RIP是为小型网络设计的。它的跳数计数限制为15跳,16跳为不可到达。
    -RIP-1是一种有类路由协议,不支持不连续子网设计。RIP-2支持CIDR及VLSM可变长子网掩码,使其支持不连续子网设计。
    -RIP周期性进行完全路由更新,将路由表广播给邻居路由器,广播周期缺省为30秒。
    -RIP的协议管理距离为120。
    RIP是路由信息协议(Routing Information Protocol)的缩写,采用距离矢量算法。在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为1~15,数值16表示无穷大。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP分组分为两种:请求分组和响应分组。
    RIP-1被提出较早,其中有许多缺陷。为了改善RIP-1的不足,在RFC1388中提出了改进的RIP-2,并在RFC 1723和RFC 2453中进行了修订。RIP-2定义了一套有效的改进方案,新的RIP-2支持子网路由选择,支持CIDR,支持组播,并提供了验证机制。
    RIP-2的特性:
    RIP-2 是一种无类别路由协议(Classless Routing Protocol)。
    RIP-2协议报文中携带掩码信息,支持VLSM(可变长子网掩码)和CIDR。
    RIP-2支持以组播方式发送路由更新报文,组播地址为224.0.0.9,减少网络与系统资源消耗。
    RIP-2支持对协议报文进行验证,并提供明文验证和MD5验证两种方式,增强安全性。
    RIP-2能够支持VLSM
    随着OSPF和IS-IS的出现,许多人认为RIP已经过时了。但事实上RIP也有它自己的优点。对于小型网络,RIP就所占带宽而言开销小,易于配置、管理和实现,并且RIP还在大量使用中。但RIP也有明显的不足,即当有多个网络时会出现环路问题。为了解决环路问题,IETF提出了水平分割法,在这个接口收到的路由信息不会再从该接口出去(split-Horizon)。分割范围解决了两个路由器之间的路由环路问题,但不能防止因网络规模较大、主要由延迟因素产生的环路。触发更新要求路由器在链路发生变化时立即传输它的路由表。这加速了网络的聚合,但容易产生广播泛滥。总之,环路问题的解决需要消耗一定的时间和带宽。若采用RIP协议,其网络内部所经过的链路数不能超过15,这使得RIP协议不适于大型网络。

    RIP的防环机制

    1-记数最大值(maximum hop count):定义最大跳数(最大为15跳),当跳数为16跳时,目标为不可达。
    2-水平分割(split horizon):从一个接口学习到的路由不会再广播回该接口。cisco可以对每个接口关闭水平分割功能。
    3-毒性逆转(poison reverse):从一个接口学习的路由会发送回该接口,但是已经被毒化,跳数设置为16跳,不可达。
    4-触发更新(trigger update):一旦检测到路由崩溃,立即广播路由刷新报文,而不等到下一刷新周期。
    5-抑制计时器(holddown timer):防止路由表频繁翻动,增加了网络的稳定性。
    RIP(Routing Information Protocol)是基于D-V算法的内部动态路由协议。它是第一个为所有主要厂商支持的标准IP选路协议,网络。对于更复杂的环境,一般不应使用RIP。
    RIP1作为距离矢量路由协议,具有与D-V算法有关的所有限制,如慢收敛和易于产生路由环路和广播更新占用带宽过多等;RIP1作为一个有类别路由协议,更新消息中是不携带子网掩码,这意味着它在主网边界上自动聚合,不支持VLSM和CIDR;同样,RIP1作为一个古老协议,不提供认证功能,这可能会产生潜在的危险性。总之,简单性是RIP1广泛使用的原因之一,但简单性带来的一些问题,也是RIP故障处理中必须关注的。
    版本
    RIP在不断地发展完善过程中,又出现了第二个版本:RIP2。与RIP1最大的不同是RIP2为一个无类别路由协议,其更新消息中携带子网掩码,它支持VLSM、CIDR、认证和多播。目前这两个版本都在广泛应用,两者之间的差别导致的问题在RIP故障处理时需要特别注意。
    RIP的信息类型
    请求信息(可以是请求一条路由的信息),应答信息(一定是全部的路由)。
    RIP是最常使用的内部网关协议之一,是一种典型的基于距离矢量算法的动态路由协议。在不同的网络系统如Internet、AppleTalk、NOVELL等协议都实现了RIP。他们都采用相同的算法,只是在一些细节上做了小改动,适应不同网络系统的需要。
    RIP有RIP-1和RIP-2两个版本,需要注意的是,RIP-2不是RIP-1的替代,而是RIP-1功能的扩展。比如RIP-2更好地利用原来RIP-1分组种必须为零的域来增加功能,不仅支持可变长子网掩码,也支持路由对象标志。此外,RIP-2还支持明文认证和MD5密文认证,确保路由信息的正确。
    RIP通过用户数据报协议(UDP)报文交换路由信息,使用跳数来衡量到达目的地的距离。由于在RIP中大于15的跳数被定义为无穷大,所以RIP一般用于采用同类技术的中等规模网络,如校园网及一个地区范围内的网络,RIP并非为复杂、大型的网络而设计。但由于RIP使用简单,配置灵活,使得他在今天的网络设备和互联网中被广泛使用。
    局限性
    另外,RIP也有他的局限性。比如RIP支持站点的数量有限,这使得RIP只适用于较小的自治系统,不能支持超过15跳数的路由。再如,路由表更新信息将占用较大的网络带宽,因为RIP每隔一定时间就向外广播发送路由更新信息,在有许多节点的网络中,这将会消耗相当大的网络带宽。此外,RIP的收敛速度慢,因为一个更新要等30s,而宣布一条路有无效必须等180s,而且这还只是收链一条路有所需的时间,有可能要花好几个更新才能完全收敛于新拓扑,RIP的这些局限性显然削弱了网络的性能。
    RIP的管理距离是120。
    RIPV1与RIPV2的相同与不同。不同版本 RIPV1 RIPV2
    1 有类路由 无类路由
    2 不支持VLSM 支持VLSM
    3 广播更新(255.255.255.255)组播更新(224.0.0.9)
    4 自动汇总,不支持手动汇总 自动汇总且可以手动关闭该特性,支持手动汇总
    5 不支持验证 支持验证
    6 产生CIDR 不产生CIDR
    相同
    1抑制计时器
    2度量值(hop count)
    3 防环机制
    4 汇总(默认相同),在边界路由上汇总
    5 使用UDP的520端口
    6负载均衡默认为4条。最大为6条。
    7 缺省每隔30秒更新一次路由表
    RIP的下一跳与METRIC的关系
    metric下一跳
    不同
    大 写进数据库中,等180秒后再写进路由表中 写进数据库中
    小 写进路由表中 替换原有的路由
    相同 不给于响应负载均衡
    默认情况下,配置相应版本的RIP只能接收和发送相应版本的RIP消息。可以配置设备接口限制收发RIP信息的类型。
    RIP的不足之处
    (1)过于简单,以跳数为依据计算度量值,经常得出非最优路由。例如:2跳64K专线,和3跳1000M光纤,显然多跳一下没什么不好。
    (2)度量值以16为限,不适合大的网络。解决路由环路问题,16跳在rip中被认为是无穷大,rip是一种域内路由算法自治路由算法,多用于园区网和企业网。
    (3)安全性差,接受来自任何设备的路由更新。无密码验证机制,默认接受任何地方任何设备的路由更新。不能防止恶意的rip欺骗。
    (4)不支持无类ip地址和VLSM<ripv1>。
    (5)收敛性差,时间经常大于5分钟。
    (6)消耗带宽很大。完整的复制路由表,把自己的路由表复制给所有邻居,尤其在低速广域网链路上更以显式的全量更新。
    常见问题

    什么是RIP
    RIP是一种距离矢量路由协议(Distance Vector Routing Protocol)。基本上,距离矢量路由协议基于距离矢量算法根据目的地的远近(远近=经过路由器的数量)来决定最好的路径。
    2)RIP的作用是什么
    RIP让路由器之间互相传递路由信息。路由器通过RIP,能自动知道远程目的地,而不需要网络管理员给每台路由器添加静态路由信息。
    3)传递路由信息
    RIP把自己所有的路由信息,通过Response包泛洪给邻居。
    4)计算Metric
    RIP用“跳数”来计算cost(metric),每经过一台路由器,“跳数”就增加1。RIP会通过“跳数”最小的路径传输数据包。框架控件
    10工作原理编辑1 、初始化——RIP初始化时,会从每个参与工作的接口上发送请求数据包。该请求数据包会向所有的RIP路由器请求一份完整的路由表。该请求通过LAN上的广播形式发送LAN或者在点到点链路发送到下一跳地址来完成。这是一个特殊的请求,向相邻设备请求完整的路由更新。
    2 、接收请求——RIP有两种类型的消息,响应和接收消息。请求数据包中的每个路由条目都会被处理,从而为路由建立度量以及路径。RIP采用跳数度量,值为1的意为着一个直连的网络,16,为网络不可达。路由器会把整个路由表作为接收消息的应答返回。
    3、接收到响应——路由器接收并处理响应,它会通过对路由表项进行添加,删除或者修改作出更新。
    4、 常规路由更新和定时——路由器以30秒一次地将整个路由表以应答消息地形式发送到邻居路由器。路由器收到新路由或者现有路由地更新信息时,会设置一个180秒地超时时间。如果180秒没有任何更新信息,路由的跳数设为16。路由器以度量值16宣告该路由,直到刷新计时器从路由表中删除该路由。刷新计时器的时间设为240秒,或者比过期计时器时间多60秒。Cisco还用了第三个计时器,称为抑制计时器。接收到一个度量更高的路由之后的180秒时间就是抑制计时器的时间,在此期间,路由器不会用它接收到的新信息对路由表进行更新,这样能够为网路的收敛提供一段额外的时间。
    5、 触发路由更新——当某个路由度量发生改变时,路由器只发送与改变有关的路由,并不发送完整的路由表。

  • 相关阅读:
    linux 进程等待 wait 、 waitpid
    数理逻辑量词的引入
    Android自己定义动态布局 — 多图片上传
    Dynamics CRM 2015/2016 Web API:Unbound Custom Action 和 Bound Custom Action
    iOS 9应用开发教程之显示编辑文本标签文本框
    iOS 9应用开发教程之ios9中实现按钮的响应
    iOS 9应用开发教程之使用代码添加按钮美化按钮
    iOS 9应用开发教程之ios9的视图
    iOS 9应用开发教程之定制应用程序图标以及真机测试
    iOS 9应用开发教程之编辑界面与编写代码
  • 原文地址:https://www.cnblogs.com/Kconnie/p/3538110.html
Copyright © 2011-2022 走看看