计算机网络——5.路由协议

路由协议

 本文描述了路由技术的原理,包括路由协议的分类、静态路由、RIP、OSPF、EIGRP的工作原理,路由技术是网络技术的重要组成部分。

1.      静态路由和默认路由

2.      RIP路由协议

3.      OSPF路由协议

4.      EIGRP路由协议

 

1.    静态路由和默认路由

路由技术属于OSI模型的第三层(网络层),路由技术是把数据包从信源穿过中间网络设备(路由器)转发到信宿的行为。

先举例说明数据传输过程,当192.168.0.0子网上的主机A要向192.168.3.0子网上的主机B传输数据时,主机A发现目标地址与自己不在同一个网段,所以主机A就将数据投递到默认网关192.168.0.0,即路由器R1,R1根据数据包的目的地址在自己的路由表查找下一跳,然后投递给R2,R2再以相同的方法投递给R3,最后由R3投递到目标主机B,完成数据传输。

计算机网络——5.路由协议_第1张图片

这个过程中,R1并不知道它的吓一跳路由器R2怎样去转发数据包。也就是说,R1只需知道,要到目标网络的话它自己需要投递的吓一跳是谁,而投递出去后就不用管了。路由器是根据路由表来查询吓一跳是谁,那么这个路由表是怎么构成的呢?

 

(1)  路由技术的分类

①通过构建路由表的实施行为分类

    从维护与管理的角度可分为静态路由和动态路由,静态路由是手动配置路由,不会产生额外的网络开销,适用于小型网络,或为链路做测试用。动态路由是使用动态路由协议(RIP、OSPF、EIGRP等)使路由器动态的公告自己的路由表,并学习邻居路由器的路由表,这种方法会产生额外的网络链路开销,但维护成本低,不易出错,适合大型网络。

 ②根据路由协议的算法与特性分类

    根据路由协议算法也特性可以将路由协议分为距离矢量路由协议(distance vector)与链路状态路由协议(link state)。距离矢量路由规定了距离与方向,在动态告知邻居它的路由表时,不会关心链路的实时状态,只是单纯公告自己的路由表。典型的距离矢量路由协议有RIP、IGRP、EIGRP。链路状态路由协议使用最短路径算法(SPF),它能反应互联网络的拓扑结构,关心链路状态和链路类型以及链路成本,它具备收敛速度快、事件驱动更新、层次性设计、确保无路由环路等特性,典型的距离矢量路由协议有OSPF、ISIS。

 ③通过路由协议的作用范围分类

     从路由协议的作用范围分类,可分为IGP(interior gateway protocol)内部网关路由协议和EGP(exteriorgateway protocol)外部网关路由协议两大类。IGP工作在自治系统(autonomous system)内部,用于自治系统内部交换路由信息;EGP工作在自治系统之间,用于交换自治系统之间的路由信息。自治系统是指处于一个通信管理机构控制下的路由器和各种网络组建群,通常管理员对该群具备完全的管理能力。IGP和EGP区别图示和路由协议总结分类图示如下。

  计算机网络——5.路由协议_第2张图片    计算机网络——5.路由协议_第3张图片


下面一段的参考文献:http://www.cnblogs.com/laojie4321/archive/2012/04/19/2457227.html

(2)  静态路由

  在静态路由表中指定路由,将路由器配置为静态路由。通过配置静态路由,用户可以人为地指定对某一网络访问时所要经过的路径,在网络结构比较简单,且一般到达某一网络所经过的路径惟一的情况下采用静态路由。静态路由不需要使用路由协议,但需要由路由器管理员手工更新路由表。由于静态路由通常不能对线路不通等路由变化作出反应。因此,通常只能在网络路由相对简单、网络与网络之间只能通过一条路径路由的情况下使用静态路由。

  在全局配置模式下,建立静态路由的命令格式为:

  router(config)#ip router prefixmask {address | interface} [distance] [tag tag][permanent]

  例1. 用一个外出接口配置静态路由

  router(config)#ip router 218.12.225.0 255.255.255.0  FASTETHERNET0/0

  例2. 用下一跳IP地址配置静态路由

router(config)#iprouter 218.12.225.0 255.255.255.0  218.12.225.6

 

(3)  默认路由

要想使每台路由器对到每个可能目的地的路由都进行维护是不可行的,所以路由器可以保存一条缺省路由,或者叫最后的可用路由。当路由器不能用路由表中的一个更具体条目来匹配一个目的网络时,它就将使用缺省路由,即“最后的可用路由”。实际上,路由器用缺省路由来将数据包转发给另一台路由器,这台新的路由器必须要么有一条到目的地的路由,要么有它自己的到另一台路由器的缺省路由,这台新的路由器依次也必须要么有具体路由,要么有另一条缺省路由。依此类推。最后数据包应该被转发到真正有一条到目的地网络的路由器上。没有缺省路由,目的地址在路由表中无匹配表项的包将被丢弃。

 

(4)  配置静态路由和默认路由的注意事项

子网路由:iprouter 172.16.1.0  255.255.255.0  192.168.1.1   表示172.16.1.1——172.16.1.254都可以通过192.168.1.1转发

主机路由:iprouter 172.16.1.5  255.255.255.255  192.168.1.1      子网掩码为四个255,表示主机路由,通过192.168.1.1只能转发172.16.1.5这台主机,所以主机路由是最细腻的匹配。

默认路由:所以无法与路由表中的具体条目相匹配时最后才匹配的路由记录,所以默认路由具备最大的匹配范围。配置默认路由书写下一跳,下一跳可以是具体地址、可以是路由器的出站接口,也可以是吓一跳地址结合自己的出站接口。如果下一站是自己的出站接口,就会由直连(directly connected)路由的形式体现,如果出站接口是广播型出站接口,而不是具体的下一跳IP地址,会导致广播网络上出现过多的流量,浪费路由器的内存。每次ping相同网段的地址,都会启用一次ARP协议,所以ping的第一个数据包得不到回应。如果下一跳用IP地址的形式,那么ping同一网段的的地址,只有第一次会ARP,后面的ping都会直接到目的网络主机。下一跳既是自己的出站接口,又配合IP地址,这可以防止广播网络上过多流量,不再以直连网络体现,提高了查询效率,把下一跳地址关联的出站接口查询减到最小。

路由选择原则:首先优选主机路由,如果没有主机路由就选择基于VLSM(Variable Length Subnet Mask)可变长子网掩码的高位路由,其次选择主类路由,最后选择默认路由。(子网掩码越长优先级越高)

 

2.    RIP路由协议

RIP(routing information protocol)动态路由协议是应用较早、使用普遍的内部网关协议IGP,适用于小型网络,典型的距离矢量协议,单纯的告知邻居自己的路由表,不关心路由的链路状态。如下图,R1和R2相互交换路由表信息。

 计算机网络——5.路由协议_第4张图片

(1)  RIP工作原理

RIP报文结构

计算机网络——5.路由协议_第5张图片

IP首部:指示发生RIP路由更新报文的源IP地址与目标IP地址,一般情况下,源IP地址为始发路由更新消息路由器接口IP地址,通常是单播地址,RIPv1的目标IP地址是255.255.255.255(广播地址),RIPv2的目标IP地址是224.0.0.9(组播IP)。

UDP:指示RIP的路由更新消息被UDP报文所封装,源和目标端口都是UDP的520端口。

Command:指示RIP的消息类型,取值范围是1或2,如果是RIP的路由更新请求就是1,如果是RIP的路由响应消息就是2。

Version:自身RIP的版本,1和2两个版本。

AFI(addressfamily)地址族:该字段通常为2,一个例外就是,如果请求整个路由表而不是具体的某条路由记录,那么该字段被置为0。

IPaddress:指示被执行RIP路由更新的具体IP子网。

Metric:指示RIP的路由度量值,以经过的路由器个数作计算。不考虑网络链路的带宽、延时等,最多能穿越15台路由器。

 

RIP两个版本的差异

PIR特性

RIPv1

RIPv2

更新方式

广播(255.255.255.255)

组播(224.0.0.9)

对VLSM的支持

不支持(不携带子网掩码)

支持(携带子网掩码)

路由度量值

经过路由器的个数

经过路由器的个数

可支持的最大路由器个数

15

15

 计算机网络——5.路由协议_第6张图片

 RIP工作原理

计算机网络——5.路由协议_第7张图片

首先路由器R1向网络中所有路由器发送RIP的请求消息,请求邻居路由器的整张路由表。

收到RIP请求的路由器将以单播的形式回应一个响应消息给始发路由器R2,并将自己的路由器由信息传递给路由器R2,此时路由器R1与R2的路由表同步。

完成上面两部后,会进入一个周期性的循环状态,RIP路由器R1和R2,不断侦听来自RIP路由器的请求或响应状态,实际上就是路由更新消息,以间隔30秒为一个时间周期,从相应的接口不断的发送响应消息。

 

(2)  RIP路由汇总、负载均衡和安全认证

RIP路由汇总:在RIPv2中支持路由汇总(RouteSummarization),以提高RIP路由在大型网络中的可伸缩性和路由效率。汇总IP地址也就是在RIP路由表中无需为子路由(也就是为一个汇总 地址内部的任何单一IP地址所创建的路由)配置专门的路由项,减小路由表的大小,使路由器可以处理更多的路由。注意,RIPv1不支持路由汇总。

RIP负载均衡:如果想要到目的网络有两条路,而且他们到该网络的跳数是一样的(经过的路由器一样多),那么,当向目标网络发送数据时,就会有不同的路径传输数据。可以改变RIP负载均衡的路径数量:maximum-paths 6,表明最大负载均衡路径数为6.

RIP路由的安全认证:当执行路由更新时,不允许没有得到合法身份确认之前,让路由器接受任意路由的路由更新,所以,保证路由更新的安全性是一个必要过程。RIP提供两种路由认证。一是基于明文的认证,安全级别低,它将认证的秘钥串,在不经过任何加密处理直接发送到网络链路上进行传输,容易被网络分析器捕获内容。二是基于MD5算法的认证,是一种安全的认证方式,利用MD5处理了认证的密钥串,进行了加密处理,在网络的链路上不直接传输明文密钥串,当网络分析器捕获到内容时仍然不能得到具体内容。

 

(3)  RIP路由环路与收敛时间

参考资料:http://blog.sina.com.cn/s/blog_60fb0b3f010175hq.html

路由环路:当路由器R1,R2,R3连接成环后,可能发生环路,R3认为R1的到达Z子网的最优路径,而R1认为R3是到达Z子网的最优路径,因此到达Z子网的数据会在路由器R1与R3间循环转发,就产生了路由环路。解决方法有水平分割、计数到无穷大。

计算机网络——5.路由协议_第8张图片

水平分割法包括简单水平分割和毒性逆转水平分割。简单水平分割意思是从一个接口发出的路由更新,这个接口就不会从相同路径的反方向收到路由更新。毒性逆转水平分割意思与水平分割类似,只是它以网络不可达的消息来防止路由环路,即这个接口如果从相同路径的反方向收到路由更新就标记为不可达,度量值标记为16。

计数到无穷大:它是对水平分割技术的一种补足,因为水平分割只能防止邻居路由器路由环路(相互来回路由),不能防止整个网络的路由环路(组成一个环形的路由回路)。当度量值达到16就将数据包丢弃。这种方法导致收敛速度慢。

 网络收敛:当网络上所有路由器的路由表由从初始化到最后都达到一致状态的过程叫做收敛(convergence),而全网实现与路由相关的信息共享及计算最优路径所花费的时间总和就是所谓的收敛时间。

 触发更新:一种加速网络收敛的一种有效方案,它会在一个路由记录发生变化时,实际上是度量值发生变化时它都会立即发送更新信息,而不必等到更新周期的到来,这样就在计数无穷大的基础上技术了网络的收敛速度。在网络设备收到触发更新正确公告时,可能同时伴随着处于错误状态的周期性更新,这就是网络仍然还处理收敛过程,所以也会出现数据转发不可达的现象,只是天生的“缺陷”。

 

RIP4个定时器

Updatetimer  更新计时器:在RIP启动之后,平均每30秒。

invalidtimer 无效计时器:如果 180 秒(默认值)后还未收到可刷新现有路由的更新,则将该路由的度量设置为 16,从而将其标记为无效路由。如果在180秒前收到了更新消息,则定时器复位,重新开始计算。在清除计时器超时以前,该路由仍将保留在路由表中。

flushtimer 清除计时器:默认情况下,清除计时器设置为 240 秒,比无效计时器长 60 秒。当清除计时器超时后,表示不可达,该路由将从路由表中删除。

holddowntimer 抑制计时器:在网络设备收到触发更新正确公告时,可能同时伴随着处于错误状态的周期性更新,这就是网络仍然处于收敛过程,当收到的触发更新路由的度量值比原路由要高时,路由器将使用抑制定时器将该更新消息处于挂起状态,对它保持怀疑,知道抑制定时器超时才正式接受该路由。默认情况下,抑制计时器设置为 180 秒。该定时器的设置会影响收敛速度。

 

3.    OSPF路由协议

OSPF(open shortest path first)开放式最短路径优先,是一个基于链路状态的内部网关协议。OSPF支持VLSM、支持快速收敛、占用宽带小、使用组播完成路由更新、用成本作为度量值。

         矢量路由协议只是单纯的公告自己的路由表,而不关心路由表中路由记录状态是否良好,而且距离也有限制(最大15跳),收敛速度慢。OSPF是典型的链路状态矢量协议,通过在各个路由器连接接口的状态来建立一个链路状态的数据库,然后对该数据库进行一个最短路径树(SPF)的算法,计算出最佳路径,然后将最佳的路径放入到路由表中。基于链路状态的路由协议,不是只公告自己的路由表,而是经历了一个复杂的演算过程后才得到的路由表。链路状态路由协议在理论上不受连接数目的限制,而且收敛速度快,常常应用于大型网络。

1OSPF工作原理

计算机网络——5.路由协议_第9张图片

第一步:两台路由器在没有启动OSPF动态路由协议以前就处于down状态。

第二步:建立初始化状态,两个路由器相互发送hell包,相互自我介绍,成为邻居。Hello包数据结构如下。

计算机网络——5.路由协议_第10张图片

版本:指示当前OSPF的版本,ipv4的OSPF是v2版本,ipv6的OSPF是v3版本。

类型:指示当前OSPF数据包的类型,ospf使用5种数据包:1是hello报文;2是数据库描述;3是ospf链路状态请求;4是ospf的链路状态更新;5是ospf的链路状态确认。

数据包长度:指示ospf数据包的长度,包括数据包头部的长度。

路由器 ID:始发路由器的 ID

区域 ID:数据包的始发区域 www.2cto.com  

校验和:对整个ospf分组的校验和。

认证类型:指示了认证的类型吗,0表示没有使用认证,1表示使用普遍的明文认证,2表示使用认证的类型为MD5。

认证数据:如果是明文认证,这里是密钥串内容,如果是MD5,这个字段将被定义为64个比特的其他参数。

网络掩码:与发送方接口关联的子网掩码

Hello 间隔:发送方路由器连续两次发送 hello数据包之间的秒数

可选项:ospf路由器支持的更多可选特性。

路由器优先级:发送hello报文的优先级,用于DR/BDR 选举。

路由器无效时间间隔:路由器宣告ospf邻居路由器无效之前,将要等待从邻居路由器发出的hello包的时间长度。

指定路由器 (DR):DR 的路由器 ID(如果有的话)。

备用指定路由器 (BDR):BDR 的路由器 ID(如果有的话)。

邻居列表:列出相邻路由器的 OSPF 路由器 ID。

 

第三步:完成初始状态后,路由器之间进入双向状态,表示ospf的邻居关系正式形成。路由器的路由表中可以相互看到对方。

第四步:选举DR和BDR。DR(designatedrouter)是指定路由器,在多路访问链路上,存在至少两个通信点以上的情况,这样的话在多路访问链路上的ospf路由器任意去建立邻居关系,任意洪泛链路状态更新报文,这将是一件恐怖的事。所以要指定一个路由器,负责与链路上的其他ospf路由器建立邻居关系并统一管理洪泛链路状态更新报文。BDR(backup designated router)备份指定路由,当DR出现故障时,BDR将接替DR的工作。

计算机网络——5.路由协议_第11张图片

第五步:DR和BDR选出来后,进入OSPF的交换状态,路由器R3会发送链路状态数据库的描述消息(DBD分组),该消息属于ospf的2型消息。链路状态描述是描述发起该消息的路由器的数据库中的一些LSA信息(链路状态公告),以便接收路由器能够确定所收到的LSA公告在其数据库中是否存在。该消息描述了某台路由器的链路类型、接口、接口状态等,这个过程是矢量动态路由协议无法实现的,也是链路状态路由协议的优势。

        注意:第二步存在两个过程,消息类型2的OSPF的链路状态描述和消息类型3的ospf链路状态请求,它们都属于ospf的交换过程,交换过程并没有真正更新各自路由器的链路状态,而是在下一个不再的载入过程。

计算机网络——5.路由协议_第12张图片

第六步:R3收到R2的链路状态请求消息(LSR),它会向路由器R2发送链路状态更新消息(LSU),该消息属于OSPF的消息类型4。

第七步:R3收到R2发来的LSA确认消息后,整个ospf邻居处于全毗邻的状态,此时完成ospf的工作过程。

计算机网络——5.路由协议_第13张图片

上面七个步骤的工作过程不是最终目的,最终目的是使各个ospf路由器中已经同步的链路状态,去进行最短路径算法SPF,然后把最短路径放入到ospf路由器的路由表中,方便后期的正常通信过程中IP报文的转发与路由。

 

2OSPF相关问题

是不是所有网络都必须选举DR?不是的,在点对点链路上的ospf,不需要选举DR和BDR,因为链路上只有两个点,不存在LSA洪泛问题。在广播型多路访问上存在LSA洪泛,所有需要ospf路由器选举DR和BDR,以减少邻居关系数量,放在泛洪。在非广播多路访问的链路上存在LSA洪泛,需要选举DR和BDR。

ospf的度量值计算方法?它的度量值以成本值体现,cost=参考带宽(默认的参考带宽是100MB)/接口的实际带宽。

为什么链路状态路由协议收敛快?链路状态包的转发是不依靠路由计算的,所以大型网络可以较为快速的进行收敛。它只宣告链路和链路状态,不宣告路由,所以即使链路发生了变化也不会引起该链路的路由被宣告。但链路状态使用了Dijkstra算法,该算法占据CPU和内存资源较多。

 

4.    EIGRP路由协议

EIGRP(enhanced interior gateway routing protocol)加强型内部网关路由协议,它是IGRP内部网关协议的高级版本,不论是IGRP还是EIGRP都是思科的私有路由协议,EIGRP只支持MD5认证方式,不支持公共的明文认证。现在IGRP(不支持VLSM)基本被EIGRP取代。

1EIGRP的特性

快速收敛:因为EIGRP使用了DUAL(弥散/扩散更新算法),该算法保留一个叫“可行性后继”的概念,实际上是一个备用路径的概念,当链路发送变化,最优路径失效时,EIGRP会将备用路径(可行性后继)立即放入路由表,缩短收敛时间。

可靠的路由更新:EIGRP使用了RTP(reliabletransport protocol)可靠传输协议来确保EIGRP的可靠路由更新。

使用复合度量值:EIGRP不使用单一路由度量值形式,RIP使用单一的度量值“跳数”,OSPF使用单一的度量值“成本cost”,而EIGRP使用了5个复合度量值,包括带宽bandwith、负载load、延时delay、可靠性reliability、最大传输单元MTU。

带宽:从源地址到目标地址,所经过的所以链路中的最小带宽。

延迟:从原地址到目标地址,所经过的所有延迟之和。

可靠度:链路的可信赖程度。1是最低可靠度,255是最高可信度。

负载:链路的负荷程度,占用链路比率。1是最轻负载,255是最高负载。

复合度量值计算公式:metric=256*[K1*bandwidth+(K2*bandwidth)/(256-load)+K3*delay]*[K5/(reliability+K4)]

默认K1=K2=1,K2=K4=K5=0. 则 metric=256*(bandwidth+delay)

 支持多网络协议:EIGRP通过协议相关模块(protocoldependent model)可以支持IPX、ApplleTalk、IPv4和IPv6,不单支持IP协议的路由过程。

支持VLSM和CIDR

使用组播更新

增量式路由更新:IEGRP不像传统的矢量路由协议发送整张路由表,而是仅公告发送变化的路由,这是一种增量式的路由更新,但是增量式路由更新是无法预测的,只能通过查询与应答消息来完成。

具备部分链路状态特性:EIGRP具备部分链路状态路由协议的特性,如保存邻居关系的状态信息表、根据弥散更新算法产生的拓扑表,拓扑表包含了公告某条路径的邻居信息列表,度量值信息等。

所谓100%无路由环路:因为EIGRP的DUAL路由算法认为即便是暂时的路由环路也会对一个网络的性能造成损害,所以DUAL算法的本质在于随时准备打破路由环路。

减少带宽占用:EIGRP不作周期性的更新,就这一点上,EIGRP没有RIP那样周期性重发路由表,EIGRP使用触发更新,它只在路由的路径和度量值变化时做部分更新。因为增量式更新的特点,DUAL只发送路由信息改变的更新,不是整张路由表,所以占用带宽少。

无缝支持数据链路层协议的拓扑结构;EIGRP不要求对数据链路层协议做特别的配置。OSPF需要对不同数据链路层协议做不同配置,但EIGRP能有效工作在LAN和WAN中,EIGRP保证网络不会产生环路,配置起来简单。

支持非等价负载均衡:RIP和ospf只能支持等价负载均衡,到同一个目标可具备两条路由度量值不相同的路径来做负载均衡。

 

2EIGRP的功能组件

网络协议组件:实现了对多种网络协议的路由任务,EIGRP可以支持多种网络协议的路由公告,并且这些EIGRP的通信会被封装到各自的不同协议中,基于IP协议的EIGRP将被IP协议所封装,基于IPX协议的EIGRP将被IPX协议所封装。

可靠性传输:EIGRP使用了RTP(reliabletransport protocol)可靠传输协议来确保EIGRP的可靠路由更新。因为EIGRP被直接封装到IP报文中,不是TCP报文中,TCP可以通过三次握手确保可靠性,而IP报文属于不可靠传输,所以需要RTP确保可靠性。注意:不是所有EIGRP消息需要可靠传输,而是在需要是时候才使用可靠传输。

邻居发现和恢复:网络上每个EIGRP路由器周期性的发送hello消息来维护一张独立的邻居表,hello消息不包含任何路由更新,只是一个简单的hello消息,数据报文负载小,可以忽略不计。EIGRP不会周期性公告自己的路由表,而是使用触发更新,当网络环境发生变化时,使用触发更新路由表,而这个邻居的维护状态是邻居发现和恢复。

弥散更新算法(DUAL):EIGRP最大特点就是执行了弥散更新算法,当网络上出现暂时的环路时,DUAL将随时准备打破这个环路,EIGRP放弃了传统矢量路由协议的算法,弥散算法随时准备了已存在最佳路径的替代路由,当链路发送变化,最优路径失效时,替代路由立即成为最佳路由,缩短收敛时间。如果EIGRP本地没有可用替代路由,将向邻居来获得相关信息。

 

3EIGRP的消息类型

Hello消息:使用hello消息完成邻居的发现与维护,消息类型使用组播的方式发送,不需要进行可靠发送,该消息是周期发送的。

确认消息(acknowledges):不包含任何数据的hello消息,ACK消息的目标是用于确认某一个需要可靠传输的EIGRP消息,已经收到(达到目的地)。

更新消息(update):用于传送路由更新信息,EIGRP的路更新消息与RIP不同,只是在需要发送时发生,不是周期性更新。如果是一台路由器需要更新,以单播形式发送,如果是多台路由器需要更新,以组播形式发送。EIGRP的更新消息总以可靠方式进行发送,所以每次发送更新消息就需要对方使用ACK消息确认。

查询消息(query):该消息在EIGRP的链路发生变化时使用,如EIGRP路由丢失,并找不到可替代的后继,路由器发送查询消息,以组播或单播形式进行可靠发送。

应答消息(reply):该消息在EIGRP的链路发生变化时使用,用于对邻居路由器的查询消息进行响应,以单播进行传递,以可靠方式发送。

 

4EIGRP的工作原理

计算机网络——5.路由协议_第14张图片

版本:指示EIGRP的版本号,默认为2.

操作码:指示EIGRP数据包的类型(消息类型),1=更新3=查询4=答复5=问候 6=IPX sap

校验和:指示标准校验和,对整个EIGRP数据包计算得到,不包括IP首部。

标记:0x00000001表示附加路由条目是新邻居关系的开始,0x00000002表示使用一个私有组播算法进行条件接受。

序列号和确认序列号:两个一般会联合使用。进行可靠传输过程中使用,表示发送的消息已经收到。

自主系统号:指示一个EIGRP路由协议域的标识号。

TLV:表示EIGRP的类型/长度/数值,该字段的内容根据EIGRP工作环境不同而不同,至少

以分为三种类型的TLV。一般的TLV类型、IP内部路由的TLV类型(包含EIGRP路更新)和IP外部路由的TLV类型。

 

计算机网络——5.路由协议_第15张图片

第一步:两个路由器发送hello包,建立邻居关系。一般是5秒为周期,低于1.544兆周期是60秒。

第二步:相互发送路由更新(组播),并确认回复已收到消息(单播)。EIGRP的可靠性确认消息ACK,不是独立的消息类型,属于hello消息类型,永远以单播方式进行回应。

第三步:前两步完成后,EIGRP会周期性发送hello消息来维持邻居关系,如果EIGRP链路没有变化,将这样一直维持下去。直到EIGRP的链路发送变化,EIGRP路由器R2就会产生查询消息,并且需要可靠发送,所以会R1会发送它们对应的ACK消息。

第四步:R1收到查询消息后,会对查询消息做应答,应答以单播方式发送。R2收到应答消息后,会给路由器R1发送收到应答消息的确认ACK消息。

 

4EIGRP的邻居表、拓扑表和路由表

邻居表:EIGRP的邻居表,维护这邻居路由的信息,EIGRP会为不同的通信协议各自维护一张邻居表。

拓扑表:存放某一目标网络的所有路由及拓扑结构,它由协议相关的组件生成,所谓与协议相关的组件生成,意味着eigrp将不同的网络协议产生一张拓扑表,EIGRP将根据拓扑表与邻居表,使用DUAL算法去计算到某一目标网络的最佳路径放到路由表中。

路由表:EIGRP转发数据所使用的最终的一张表,里面存放了到各个目标网络的最优路径。

注意:拓扑表存放的是所以路由与拓扑结构,路由表存放的是最佳路由,拓扑表是EIGRP的DUAL算法的基础,而路由表是EIGRP的DUAL算法的结果。

 

5EIGRP的弥散更新算法DUAL

后继(successor):指示拥有到目标网络X子网最小开销的下一跳路由器。

可行距离(feasible distance):原点到目标网络的最小开销。

通告距离(advertised distance):原点的邻居到目标的最小开销。(通告距离必须小于可行距离,如果大于,表示网络上可能有环路)

可行后继(feasible successor):原点路由最优路径之外的一个可行的备用路径。当链路发生变化时,理解产生备用路径,加速了收敛。

计算机网络——5.路由协议_第16张图片     计算机网络——5.路由协议_第17张图片

DUAL演算过程:首先以R2为原点,计算可行距离和可行后继,在分别以邻居路由计算通告距离,如果通告距离大于可行距离,那么这条路可能存在环路,不要这条路。因为270大于180,所以R 2→ R 1→R 2 →R 4→ R 5的路由可能存在环路,不写入数据表中。

邻居路由器

FD

AD

R1

360

270

R3

195

150

R4

180

60

 

6)管理距离、浮动路由、简单路由再发布和被动接口

管理距离:自治系统内部,如RIP协议是根据路径传递的跳数来决定路径长短也就是传输距离,而像EIGRP协议是根据路径传输中的带宽和延迟来决定路径开销从而体现传输距离的。这是两种不同单位的度量值,我们没法进行比较。为了方便比较,我们定义了管理距离。这样我们就可以统一单位从而衡量不同协议的路径开销从而选出最优路径。正常情况下,管理距离越小,它的优先级就越高,也就是可信度越高。对于两种不同的路由协议到一个目的地的路由信息,路由器首先根据管理距离决定相信哪一个协议。AD值越低,则它的优先级越高。一个管理距离是一个从0——255的整数值,0是最可信赖的,而255则意味着不会有业务量通过这个路由

简单路由再发布:一般情况下,不同的路由协议,是不能相互公告学习路由的,因为不同的路由协议具有不同的工作特性不同的路由度量值和不同的定时器等。但是网络的最终目标是将不同的网络连接起来进行互联,所以必须采用一种方案让不同的路由协议之间能相互学习到对方的路由并成功完成通信,路由再发布(redistribute routing)就是让不同路由协议进行相互学习的解决方案。路由再发布是将一种路由协议再注入进另一种路由协议的过程。

计算机网络——5.路由协议_第18张图片

路由再发布执行时,必须在运行不同路由协议的边界路由器上做配置。换而言之,如果要在一台边界路由器上执行RIP与OSPF的路由再发布,这台路由器必须同时运行RIP和ospf。

被动接口(Passive-interface):是一种节省路由更新开销的方式,不是某一个路由协议专业的技术,所以的动态路由协议都支持被动接口技术。配置成被动接口的路由器接口,只接收更新,不发送更新。

 

你可能感兴趣的:(计算机网络)