距离向量路由协议——IGRP和EIGRP

IGRP-内部网关路由协议

  • IGRP(Interior Gateway Routing Protocol,内部网关路由协议)是一种动态距离向量路由协议,它是Cisco公司在20世纪80年代中期设计的,是Cisco专用路由协议。目前在Cisco高版本的IOS已经对IGRP不提供支持,完全支持EIGEP路由协议。
  • 它的特征如下:
    (1)它是距离向量路由协议。
    (2)IGRP的度量值可以基于五个要素:带宽、延迟、负载、可靠性MTU,默认只使用带宽和延时。
    (3)采用广播方式(255.255.255.255)进行路由更新。
    (4)默认情况下,IGRP每90秒发送一次路由更新广播,在3个更新周期内(即270秒),没有接收到路由条目的更新,则宣布路由不可访问。在7个更新周期后(即630秒),路由器从路由表中清除路由。
    (5)IGRP路由协议的管理距离为100。
    (6) 它是有类别的路由协议。
    (7)为了避免路由环路,IGRP也受跳数的限制,支持最大跳数为255,默认为100跳。
    (8)IGRP支持等价和非等价负载均衡。

IGRP计算度量值的公式如下:
度量值 = [ K 1 × B a n d w i d t h + ( K 2 × B a n d w i d t h ) / ( 256 − L o a d ) + K 3 × D e l a y ] × [ K 5 / ( R e l i a b i l i t y + K 4 ) ] 度量值=[K1×Bandwidth+(K2×Bandwidth)/(256-Load)+K3×Delay]×[K5/(Reliability+K4)] 度量值=[K1×Bandwidth+(K2×Bandwidth)/(256Load)+K3×Delay]×[K5/(Reliability+K4)]
默认恒定的值是K1=K3=1和K2=K4=K5=0

公式中的带宽(Bandwidth)以Kbps为单位,延迟(Delay)的单位以μs为单位。从发出数据直到到达目的地所经过的链路带宽不一定相同,所以公式中使用的带宽应该是所经由链路中带宽的最小值,然后用10⁷除以该值。公式中的延迟是从发出数据直到到达目的地所经过路由器出口的延迟之和,再除以10,因此,默认情况下, 度量值 = 1 0 7 / 带宽 + Σ 延迟 / 10 度量值=10^7/带宽+Σ延迟/10 度量值=107/带宽+Σ延迟/10


假如使用的串行链路带宽为2Mbps,延迟为100μs。从路由器R2出发到达网络10.1.1.0所经过的链路最小带宽为2Mbps到达目的地经过了两个出口:一个是自己的Se0/3/0,一个是R1的Fa0/0,所以总的延迟为200μs,那么路由器R2到达网络10.1.1.0的度量值为: 度量值 = 1 0 7 2 × 1 0 3 + 200 10 = 5020 度量值=\frac{10^7}{2×10^3}+\frac{200}{10}=5020 度量值=2×103107+10200=5020

IGRP的基本配置

在路由器上配置IGRP协议分为两个步骤:
(1)启动IGRP路由协议。
命令语法如下:Router(config)#router igrp autonomous-system
autonomous-system可以随意建立,并非实际意义上的autonomous-system,但运行IGRP的路由器要想交换路由更新信息,其autonomous-system须相同,其范围为1~65535。

自治系统(Autonomous System):一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。

(2)启用参与路由协议的接口,并且通告网络。
命令语法如下:Router(config)#network <network>
network的含义与RIP相同。

IGRP配置案例

目前在Cisco高版本的IOS已经对IGRP不提供支持,因此该协议无法进行测试,暂时先把各个路由器的配置命令摆上。

路由器R1的配置:

Router>enable
Router#configure terminal
Router(config)#hostname R1
R1(config)#interface FastEthernet0/0
R1(config-if)#ip address 10.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#interface Serial0/3/0
R1(config-if)#ip address 12.12.12.1 255.255.255.0
R1(config-if)#clock rate 64000
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#router igrp 100
R1(config-router)#network 10.0.0.0
R1(config-router)#network 12.0.0.0
R1(config-router)#

路由器R2的配置:

Router>enable
Router#configure terminal
Router(config)#hostname R2
R2(config)#interface Serial0/3/0
R2(config-if)#ip address 12.12.12.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#interface Serial0/3/1
R2(config-if)#ip address 23.23.23.2 255.255.255.0
R2(config-if)#exit
R2(config)#interface Serial0/3/1
R2(config-if)#clock rate 64000
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#router igrp 100
R2(config-router)#network 12.0.0.0
R2(config-router)#network 23.0.0.0
R2(config-router)#

路由器R3的配置:

Router>enable
Router#configure terminal
Router(config)#hostname R3
R3(config)#interface Serial0/3/0
R3(config-if)#ip address 23.23.23.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#interface FastEthernet0/0
R3(config-if)#ip address 192.168.1.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#router igrp 100
R3(config-router)#network 23.0.0.0
R3(config-router)#network 192.168.1.0
R3(config-router)#

EIGRP-增强型内部网关路由协议

  • EIGRP(Enhanced IGRP,增强型内部网关路由协议)是Cisco公司开发的距离向量路由协议。EIGRP是一个平衡混合型路由协议,既有传统的距离向量协议的特点:路由信息依靠邻居路由器通告,遵守路由水平分制和毒性逆转规则,路由自动汇总,配置简单;又有传统的链路状态路由协议的特点:当路由信息发生变化时,采用触发更新,并且保留对所有可能路由(网络的拓扑结构)的了解,因而适用于大中型网络。
  • EIGRP协议的特点如下:
    (1)运行EIGRP的路由器之间形成邻居关系,并交换路由信息。相邻路由器之间通过发送和接收Hello包来保持联系,维持邻接关系。
    (2) 运行 EIGR 的路由器存储整个网络拓扑结构的信息,以便快速适应网络变化。
    (3)EIGRP的管理距离为90。
    (4)采用触发更新。
    (5)支持可变长子网掩码(VLSM)和不连续的子网,默认开启自动汇总功能。
    (6)支持多种网络层协议,除IP协议外,还支持IPX、AppleTalk等协议。
    (7)对每一种网络协议,EIGRP都有一个邻居表、一个拓扑表和一个路由表。
    (8)使用DUAL算法,在确保无路由环路的前提下,收敛迅速。
    (9)具有相同自治系统号的EIGRP和IGRP之间自动重分布。
    (10)支持等价和非等价的负载均衡。
    (11)采用组播(224.0.0.10)进行路由更新。
    (12)使用可靠传输协议(Reliable Transport Protocol,RTP)保证路由信息传输的可靠性。
    (13)EIGRP度量值是一个32位数,与IGRP度量标准相同,它的度量值是IGRP的256倍。
    (14)无缝连接数据链路层协议和拓扑结构:EIGRP不要求对OSI参考模型的2层协议做特别的配置,不像OSPF。OSPF对不同的2层协议要做不同配置,比如以太网和帧中继。总之,EIGRP能够有效地工作在LAN和WAN中。

EIGRP的概念与术语

  1. EIGRP中的五种类型数据包
    在EIGRP中,有五种类型的数据包,所有这些数据包都是通过IP数据包头部的协议号88来标识。
    (1)Hello:以组播的方式定期发送,并且使用不可靠的方式发送,用于发现邻居路由器,并维持邻接关系。默认的Hello间隔与接口的带宽有关系,如果带宽大于T1,默认的Hello间隔为5秒,默认Holddown时间为15秒;如果带宽小于或等于T1,默认的Hello间隔为60秒,缺省Holddown时间为180秒。

    (2)更新(Update):当路由器收到某个邻居路由器的第一个Hello包时,以单播传送方式回送一个包含它所知道的路由信息的更新包。当路由信息发生变化时,以组播的方式发送一个只包含变化信息的更新包。所有更新包必须被可靠地传送。注意,两个更新包的内容不一样。

    (3)查询(Query):当一条链路失效时,路由器重新进行路由计算,当在拓扑表中没有可行的后继路由时,路由器就以组播或单播的方式向它的邻居以组播方式发送一个查询包,以询问它们是否有一条到目的地的后继路由。
    (4)答复(Reply):以单点的方式回传给查询方,对查询数据包进行应答,查询数据包和答复数据包都需要可靠传输。
    (5)确认(ACK):以单点的方式传送,该数据包的传送是不可靠的,也可以搭载在其他类型的EIGRP数据包上,如应答分组。

  2. 可行距离(Feasible Distance)
    到达一个目的地的最佳路由的度量值。

  3. 后继(Successor)
    后继是一个直接连接的邻居路由器,通过它具有到达目的地的最短路由。

  4. 通告距离(Advertise Distance)
    相邻路由器所通告的相邻路由器自己到达某个目的地的最佳路由的度量值。
    封考

  5. 可行后继 (Feasible Successor)
    可行后继是一个邻居路由器,通过它可以到达目的地,不使用这个路由器是因为通过它到达目的地的路由的度量值比其他路由器高,但它的通告距离小于可行距离,因而被保存在拓扑表中,用做备份路由。

  6. 可行性条件 (Feasible Condition)
    上述几个术语构成了可行性条件,是EIGRP路由器更新路由表和拓扑表的依据。可行性条件可以有效地阻止路由环路,实现路由的快速收敛。可行性条件的公式为AD<FD。

  7. 活跃状态(Active State)
    当路由器失去了到达一个目的地的路由,并且没有可行后继可利用时,该路由进入活跃状态,是一条不可用的路由。当一条路由处于活跃状态时,路由器向所有邻居发送查询来寻找另外一条到达该目的地的路由。

  8. 被动状态(Passive State)
    当路由器失去了一条路由的后继而有一个可行后继,或者再找到二个后继时,该路由进入被动状态,是一条可用的路由。

EIGRP的运行

初始运行EIGRP的路由器都要经历发现邻居、了解网络、选择路由的过程,在这个过程中需要建立三张独立的表:列有相邻路由器的邻居表、描述网络结构的拓扑表和路由表,并在运行中网络发生变化时更新这三张表。

  1. 建立相邻关系
    运行EIGRP的路由器自开始运行起,就不断地用组播地址224.0.0.10从参与EIGRP的各个接口向外发送Hello包。当路由器收到某个邻居路由器的第一个Hello包时,以单点传送方式回送一个更新包,在得到对方路由器对更新包的确认后,双方建立起邻接关系。
  2. 发现网络拓扑,选择最佳路由
    当路由器动态地发现了一个新邻居时,也获得了这个新邻居所通告的路由信息,路由器将获得的路由更新信息首先与拓扑表中所记录的信息进行比较,符合可行条件的路由被放入拓扑表,再将拓扑表中通过后继路由器的路由加入路由表,通过可行后继路由器的路由如果在所配置的非等价负载均衡的范围内,则也加入路由表,否则,保存在拓扑表中作为备份路由。如果路由器通过不同的路由协议学到了到同一目的地的多条路由,则比较路由的管理距离,管理距离最小的路由为最优路由。
  3. 路由查询、更新
    当路由信息没有变化时,EIGRP邻居间只是通过发送Hello包来维持邻接关系,以减少对网络带宽的占用。在发现一个邻居丢失、一条链路不可用时,EIGRP立即会从拓扑表中寻找可行后继路由器,启用备份路由。如果拓扑表中没有后继路由器,由于EIGRP依靠它的邻居来提供路由信息,在将该路由置为活跃状态后,向所有邻居发送查询数据包。
    如果某个邻居有一条到达目的地的路由,那么它将对这个查询进行答复,并且不再扩散这个查询,否则,它将进一步向它自己的每个邻居查询,只有所有查询都得到答复后EIGRP才重新计算路由,选择新的后继路由器。如果在3分钟还没有收到答复,那么这条路由就被宣告“卡”在活动状态(tuck-in-Active,SIA),这些没有答复的邻居将被从邻居表中删除。

EIGRP的基本配置

在路由器上配置EIGRP基本命令如下
(1)启动EIGRP路由协议。命令语法如下:Router(config)# router eigrp autonomous-system
autonomous-system可以随意建立,并非实际意义上的autonomous-system,但运行EIGRP的路由器要想交换路由更新信息,其autonomous-system须相同,其范围为1~65535。
(2)启用参与路由协议的接口,并且通告网络。命令语法如下:Router(config)# network network [wildcard-mask]
与IGRP协议和RIP协议所不同的是,EIGRP协议在通告网段时,如果是主网地址(即 A、B、C类的主网,没有划分子网的网络),只需输入此网络地址;如果是子网的话,则必须在网段号后面写入反掩码。
反掩码地址是用广播地址(255.255.255.255)减去掩码地址所得到的地址。如掩码地址是255.255.255.0,则反掩码地址是 0.0.0.255;掩码地址是255.255.255.252,则反掩码地址是0.0.0.3。当然也可以在对子网的声明中只写主类网络的网络地址,这表明此网络的所有子网都加入了EIGRP路由进程。在高级的IOS中也支持网络掩码的写法。
(3)关闭自动汇总
关闭自动汇总命令的语法如下:Router(config)#no auto-summary
使用no auto-summary命令可关闭EIGRP协议的路由自动汇总功能,默认的配置是自动汇总生效。在处理使用VLSM尤其是存在不连续的子网的网络中,通常需要关闭路由自动汇总功能。
(4)no eigrp-log-neighbor-changes
这是路由器的默认配置,作用是不记录相邻路由器有关EIGRP协议的变化信息。

EIGRP配置案例


路由器R1的配置:

Router>enable
Router#configure terminal
Router(config)#hostname R1
R1(config)#interface FastEthernet0/0
R1(config-if)#ip address 10.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#interface Serial0/3/0
R1(config-if)#ip address 12.12.12.1 255.255.255.0
R1(config-if)#clock rate 64000
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#router eigrp 100
R1(config-router)#network 10.0.0.0 0.0.0.255
R1(config-router)#network 12.0.0.0 0.0.0.255
R1(config-router)#no auto-summary
R1(config-router)#

路由器R2的配置:

Router>enable
Router#configure terminal
Router(config)#hostname R2
R2(config)#interface Serial0/3/0
R2(config-if)#ip address 12.12.12.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#interface Serial0/3/1
R2(config-if)#ip address 23.23.23.2 255.255.255.0
R2(config-if)#clock rate 64000
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#router eigrp 100
R2(config-router)#network 12.0.0.0 0.0.0.255
R2(config-router)#network 23.0.0.0 0.0.0.255
R2(config-router)#no auto-summary
R2(config-router)#

路由器R3的配置:

Router>enable
Router#configure terminal
Router(config)#hostname R3
R3(config)#interface Serial0/3/0
R3(config-if)#ip address 23.23.23.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#interface FastEthernet0/0
R3(config-if)#ip address 192.168.1.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#router eigrp 100
R3(config-router)#network 23.0.0.0 0.0.0.255
R3(config-router)#network 192.168.1.0 0.0.0.255
R3(config-router)#no auto-summary
R3(config-router)#

认证

  1. show ip route

  2. show ip protocol

  3. show ip rigrp neighbors
    使用该命令可以查看EIGRP邻居表

    H:这个是用于跟踪邻居的号码的,第一个建立邻居的号码为0,第二个建立邻居的为1,以此类推。
    Address:这个是从接口的邻居路由器收到了Hello分组从而获得的IP地址。
    Interface:与邻居交换Hello分组的接口。
    Hold:保持时间,从收到Hello分组时开始计时,若在Hold时间内没有收到Hello分组,那么路由器就会认为这个邻居处于Down状态了。在收到邻居发送的Hello分组时,它就会重置。默认它是Hello分组的3倍,这个是可以设置的。
    Uptime:路由器从邻居那里第一次接收到Hello分组后至今的时间,它是以小时、分钟、秒计算的。
    SRTT:平均往返定时器,EIGRP路由器发送Hello分组给邻居,到邻居收到分组及本地路由器收到该分组回应包的确定时间,单位为毫秒。这个定时器用于确定重传间隔,也被称为重传超时(RTO)。
    RTO:路由器将重传队列中的分组重传给邻居之前所等待的时间,以毫秒计算。
    Q:在队列中等待发送的EIGRP包数量 ,正常是0的,若这个数值很大,那么表示这个网络很拥挤。
    Seq:从邻居那里收到的最后一个更新、查询、应答分组的序列号。

注意:如果运行EIGRP路由协议的路由器不能建立邻居关系。从下面两个方面进行排错:一看AS号码是否相同,二看K值是否相同。如果上面两项有任何一项不同,是不可能建立起邻居关系的。但是如果邻居的HELLO间隔不同,却不影响邻居关系的建立。这一点和OSPF路由协议是不同的。
可以通过下面的命令来修改hello-interval和hold-time时间。
R1(config-if) # ip hello-interval eigrp <autonomous-system-number> <seconds>
R1(config-if) # ip hold-time eigrp <autonomous-system-number> <seconds>

  1. show ip eigrp topology
    该命令可以查看拓扑结构数据库,可以清晰地看到FD、AD的值

5.show ip eigrp interface
该命令可以查看运行EIGRP路由协议的接口的状况

  1. debug eigrp packets

    由于当前网络是收敛的,所以只有HELLO数据包发送和接收的报告。

EIGRP的高级配置

等价负载均衡(ECMP)与非等价负载均衡UCMP

  • 等价负载分担ECMP(Equal-Cost Multiple Path),是指到达同一目的地有多条等价链路,流量在这些等价链路上平均分配,不会考虑链路带宽的差异。等价链路是指到达目的地的cost值相等的链路/路径。
  • 非等价负载分担UCMP(Unequal-Cost Multiple Path),是指到达同一目的地有多条带宽不同的等价链路,流量根据带宽按比例分担到各条链路上。这样所有链路可根据带宽比例分担流量,提高链路带宽利用率。
    缺点:缺点是在路径间带宽差异大时,带宽利用率低。

非等价负载均衡(Unequal-Cost Load Balancing)

负载均衡是指在网络的多个出口上分发数据流量到目的地。负载均衡增加了网段的
使用,也增加了网络带宽的利用率。对于IP网络,Cisco IOS默认支持4 条等价链路的负
载均衡,最大支持6条。EIGRP支持不等价链路的负载均衡,使用variance命令,跟上一
个乘数,默认是1(即代表等价链路的均衡负载),variance值的范围是1~128,这个乘数
代表了可以接受的不等价链路的度量值的倍数,在这个范围内的链路都将被接受,并且被
加入路由表中。

配置案例

终端设备(End Devices):2台PC-PT
网络设备(NetWoek Devices):2个“2811”型号的路由器,需要配置好串行接口
网络拓扑示例:
需要注意的是设备之间的连接所选用的线路类型,一般情况下路由器和PC之间使用交叉线,两台路由器相连接使用串行线。

在路由器各端口附近的“.1、.2”表示的是端口的IP地址,例如R1的以太网口(Fa0/0)IP为10.1.1.1/24。
路由器R1的配置:

Router>enable
Router#configure terminal
Router(config)#hostname R1
R1(config)#interface FastEthernet0/0
R1(config-if)#ip address 10.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#interface Serial0/3/0
R1(config-if)#ip address 12.12.12.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#interface Serial0/3/1
R1(config-if)#ip address 21.21.21.1 255.255.255.0
R1(config-if)#clock rate 64000
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#router eigrp 100
R1(config-router)#network 10.1.1.0 0.0.0.255
R1(config-router)#network 12.12.12.0 0.0.0.255
R1(config-router)#

路由器R2的配置:

Router>enable
Router#configure terminal
Router(config)#hostname R2
R2(config)#interface FastEthernet0/0
R2(config-if)#ip address 192.168.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#interface Serial0/3/0
R2(config-if)#ip address 12.12.12.2 255.255.255.0
R2(config-if)#bandwidth 64
R2(config-if)#no shutdown
R2(config-if)#interface Serial0/3/1
R2(config-if)#ip address 21.21.21.2 255.255.255.0
R2(config-if)#bandwidth 128
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#router eigrp 100
R2(config-router)#network 12.12.12.0 0.0.0.255
R2(config-router)#network 21.21.21.0 0.0.0.255
R2(config-router)#network 192.168.1.0 0.0.0.255
R2(config-router)#no auto-summary
R2(config-router)#

设置主机A、B的IP地址、子网掩码和网关地址:
双击主机A、B,在“Desktop”界面找到“IP Configuration”,填写IP地址、子网掩码和默认网关

测试网络的连通情况:
双击主机A、B,在“Desktop”界面找到“Command Prompt”

  • show ip route
    在没有修改variance值之前,查看路由器R2的路由表和拓扑表

    从输出结果中可以看到:到网络10.1.1.0的路径只有一条,下一跳地址为21.21.21.1。
  • show ip eigrp topology

通过输出结果可以看出,通过21.21.21.1到达10.1.1.0网络的FD是20514560,通过12.12.12.1到达10.1.1.0网络的FD是40514560,所以EIGRP选择FD值小的放入路由表,但是同时看到,通过12.12.12.1到达10.1.1.0网络的AD(28160)小于通过21.21.21.1到达10.1.1.0网络的FD,满足可行性条件,所以被放到拓扑表中。

下面通过修改variance值来实现非等价负载均衡。在路由器R2上的配置如下:

R2#enable
R2#configure terminal
R2(config)#router eigrp 100
R2(config-router)#variance 2
R2(config-router)#

通过修改variance值,到网络10.1.1.0的路径变成两条,从而实现了非等价负载均衡。

手工路由汇总(Manual Route Summarization)

路由抖动是指重复地或经常冗余地公告和撤销路由,使路由器不得不反复计算去往目的网络的最佳路径。
倘若最佳路径改变,则路由器必须进一步公告这条新的最佳路由,同时撤销原先的路由,这种影响会蔓延到整个Internet上,以致大量增加路由器的CPU处理负担和网络的带宽。
路由抖动是Internet不稳定的主要因素,频繁的路由抖动不仅加重了路由器的CPU处理负担,增加了网络的带宽消耗,严重情况下还会导致网络的瘫痪。
对可以减轻路由抖动对网络的影响的两种方法:路由抑制路由聚合

  • 路由抑制的目的在于提高Internet路由表的总体稳定性,降低核心路由器的CPU处理负担,同时不影响正常路由的聚合时间。它最重要的作用首先是极大地减少了路由不稳定对外面网络的影响;其次是提高了对不稳定存在的意识,因为剧烈的路由或线路抖动会导致对不稳定域的持久抑制(利用对发生抖动的前缀进行抑制)。如果把路由抑制应用于尽可能靠近导致发生路由抖动的源的地方,它发挥的作用就越大越有用;
  • 路由聚合并不是针对路由抖动提出的,但它的一个优点是可以使其他路由器免受网络拓扑结构变化的影响,隐藏路由的不稳定,从而减轻路由抖动对整个网络的影响。
    路由抑制和路由聚合都可以减轻路由抖动对网络的影响。

路由汇总的目的是为了减少路由表的条目,避免路由抖动
EIGRP路由协议支持手工汇总,使用手工汇总的特点如下:
(1)可以基于接口来配置汇总
(2)当在接口做了手工汇总以后,路由器将创建一条指向null0口的路由,这样做是为了防止路由循环。
(3)当汇总之前的路由死机以后,汇总路由将自动从路由表里被删除。

Lo0:172.16.0.1/24 —> 10101100.00001000.000000|00.00000001
Lo1:172.16.1.1/24 —> 10101100.00001000.000000|01.00000001
Lo2:172.16.2.1/24 —> 10101100.00001000.000000|10.00000001
Lo3:172.16.3.1/24 —> 10101100.00001000.000000|11.00000001
----->172.16.0.0/22

EIGRP和IGRP的兼容性

EIGRP协议的特点是和IGRP协议的兼容。在一台路由器上同时运行这两个协议
如果AS号码相同,那么这两个协议会自动重分布

重分布是指连接到不同路由选择域的边界路由器在不同自主系统之间交换和通告路由选择信息的能力。

R1上运行IGRP协议,AS号码为100;R2上同时启用 EIGRP和IGRP协议,并且AS号码都为100;R3上运行EIGRP协议,AS号码为100。

配置案例

应该是Cisco不支持IGRP协议了,输入会显示无效,因此无法进行测试,直接放出配置命令。

路由器R1的配置:

Router>enable
Router#configure terminal
Router(config)#hostname R1
R1(config)#interface FastEthernet0/0
R1(config-if)#ip address 10.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#interface Serial0/3/0
R1(config-if)#ip address 12.12.12.1 255.255.255.0
R1(config-if)#clock rate 64000
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#router igrp 100
R1(config-router)#network 10.0.0.0
R1(config-router)#network 12.0.0.0
R1(config-router)#

路由器R2的配置:

Router>enable
Router#configure terminal
Router(config)#hostname R2
R2(config)#interface Serial0/3/0
R2(config-if)#ip address 12.12.12.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#interface Serial0/3/1
R2(config-if)#ip address 23.23.23.2 255.255.255.0
R2(config-if)#clock rate 64000
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#router igrp 100
R2(config-router)#network 12.0.0.0
R2(config-router)#exit
R2(config)#router eigrp 100
R2(config-router)#network 23.23.23.0 0.0.0.255
R2(config-router)#no auto-summary

路由器R3的配置:

Router>enable
Router#configure terminal
Router(config)#hostname R3
R3(config)#interface Serial0/3/0
R3(config-if)#ip address 23.23.23.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#interface FastEthernet0/0
R3(config-if)#ip address 192.168.1.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#router eigrp 100
R3(config-router)#network 23.23.23.0 0.0.0.255
R3(config-router)#network 192.168.1.0 0.0.0.255
R3(config-router)#no auto-summary

关于EIGRP用到的DUAL算法

弥散更新算法(Diffusing Update Algorithm),EIGRP组件之一,为EIGRP提供最佳路由路径。
DUAL(扩散更新算法)是EIGRP确定最佳无环路径和无环备用路径的方法。

DUAL使用的几个术语

  1. 可行距离(feasible distance,FD)-----指路由器到达目的网络的最小度量。很重要的是最小两个字。如图:可见下图中A到达目的网络的可行距离为121(A->B->C->G->目的网络)。
  2. 报告距离(reported distance,RD)-----也叫做公布距离(AD),有邻居路由器公布的,如果说目的网络是源的话,就是由“上游路由器”公布的,因为“上游路由器”离目的网络应该比你近,这也构成了所谓的FC。上图中H、B、D的报告距离分别是30、21、140.

离目的网络更近的下一跳路由器,通常被称为下游路由器(Downstream Router),远一些称为上游路由器。

  1. 可行性条件(feasible condition, FC)-----是指报告距离比可行距离小的条件(RD或AD<FD)。这个条件很重要,是保证无环的根本。上图中的D并不满足此条件。
  2. 后继路由器(successor)-----满足可行条件并具有到达目的网络最短距离的相邻路由器,即为下一跳路由器。上图中的后继路由器为B。
  3. 可行后继路由器(feasible successor)-----满足FC但是没有被选作后继的一个邻居路由器。它相当于后继的一个backup。上图中的H即为可行后继路由器。可行后继路由器同时也减少了扩散计算的数量,提高了网络性能。
  4. 被动路由-----表明路由器当前有一个合法后继,并且EIGRP工作正常。在路由器上使用show ip eigrp topology可以查看eigrp的拓扑图,其中路由条目前的p就表示该路由当前为被动路由。
  5. 主动路由-----表示路由器已经失去了它的后继,它没有任何可用的可行后继,并且当前该路由器正在主动搜寻替代的路由以实现收敛。和6)一样,路由条目前的a表示当前为主动路由。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/197305.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python加速方法:GPU加速(numba库)Demo及编写注意事项

上周使用GPU加速了一个算法&#xff0c;效果特别惊艳&#xff0c;由于算法代码本身没有太大参考价值&#xff0c;所以这里只记录了一些心得体会&#xff0c;以便后续遇到问题进行参考排查 numba加速代码编写注意事项 numba加速代码编写一定要注意&#xff1a; 1、开辟空间&am…

用通俗的方式讲解Transformer:从Word2Vec、Seq2Seq逐步理解到GPT、BERT

直到今天早上&#xff0c;刷到CSDN一篇讲BERT的文章&#xff0c;号称一文读懂&#xff0c;我读下来之后&#xff0c;假定我是初学者&#xff0c;读不懂。 关于BERT的笔记&#xff0c;其实一两年前就想写了&#xff0c;迟迟没动笔的原因是国内外已经有很多不错的资料&#xff0…

nodejs之express学习(1)

安装 npm i express使用 // 导入 const express require(express) // 创建应用 const app express() // 创建路由 app.get(/home,(req,res)>{res.end("hello express") }) app.listen(3000,()>{console.log("服务已启动~") })路由的介绍 什么是…

leetCode 226.翻转二叉树

给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 226. 翻转二叉树 - 力扣&#xff08;LeetCode&#xff09; 示例 1: 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1] 示例 2&#xff1a; 输入&#xff1a;root…

【栈和队列(1)(逆波兰表达式)】

文章目录 前言什么是栈(Stack)栈方法栈的模拟实现链表也可以实现栈逆波兰表达式逆波兰表达式在栈中怎么使用 前言 什么是栈(Stack) 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0…

智慧化工~工厂设备检修和保全信息化智能化机制流程

化工厂每年需要现场检修很多机器&#xff0c;比如泵、压缩机、管道、塔等等&#xff0c;现场检查人员都是使用照相机&#xff0c;现场拍完很多机器后&#xff0c;回办公室整理乱糟糟的照片&#xff0c;但是经常照了之后无法分辨是哪台设备&#xff0c;而且现场经常漏拍&#xf…

毫米波雷达DOA角度计算-----MUSIC算法

MUSIC算法如下&#xff1a; txNum &#xff1a;发射天线 2个 &#xff0c;rxNum&#xff1a;接收天线 4 个 。 ant &#xff1a; 为目标点的 天线 接收数据 &#xff0c; 为 8*1矩阵。 A ant;d 0.5;M 1; % # 快拍数ang_ax -90:90; % 角度坐标% 接收信号方向向量for k1:…

vr中小学智慧教育仿真平台大大减轻教师备课负担

在教育领域&#xff0c;将VR虚拟现实、AR增强现实和元宇宙技术融合到在线教育的VR云课堂智慧学习平台&#xff0c;通过为学生和教师提供了一个全新的、沉浸式的学习环境&#xff0c;极大地改善了传统的教学方式和学习体验&#xff0c;正成为改革的重要力量。 课程资源云平台拥有…

类指针压缩空间

一、类指针压缩介绍 压缩指针&#xff0c;指的是在 64 位的机器上&#xff0c;使用 32 位的指针来访问数据&#xff08;堆中的对象或 Metaspace 中的元数据&#xff09;的一种方式。 对象头中的 Class Pointer 默认占 8 个字节&#xff0c;开启 -XX:UseCompressedOops 后&…

零基础学Python第三天||写一个简单的程序

通过对四则运算的学习&#xff0c;已经初步接触了Python中内容&#xff0c;如果看官是零基础的学习者&#xff0c;可能有点迷惑了。难道敲几个命令&#xff0c;然后看到结果&#xff0c;就算编程了&#xff1f;这也不是那些能够自动运行的程序呀&#xff1f; 的确。到目前为止…

leetCode 226.翻转二叉树 递归 + 非递归 + 前中后序 + 层序遍历 【深度和广度优先遍历】

我的往期文章&#xff1a; leetCode 226.翻转二叉树-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/134613347?spm1001.2014.3001.5501 &#xff08;一&#xff09;递归做法&#xff08;深度&#xff09; C代码&#xff1a;前序遍历 class Solution { pu…

酒水代理商城小程序开发搭建攻略

随着互联网的快速发展&#xff0c;线上商城已成为越来越多人的选择。对于酒水代理行业来说&#xff0c;拥有一个专属的线上商城小程序能够大大提升业务效率&#xff0c;拓展销售渠道。本文将手把手教你如何开发搭建一个酒水代理商城小程序。 步骤一&#xff1a;登录乔拓云网后台…

简要介绍Spring原生框架与Spring是轻量级框架的原因

&#x1f609;&#x1f609; 学习交流群&#xff1a; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 &#x1f96d;&#x1f96d;3&#xff1a;QQ群&#xff1a;583783…

物理机虚拟化关键技术介绍

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、虚拟化原理 将多个“同质或异构”资源&#xff08;包括但不限于芯片、硬件、软件、应用&#xff09;形成一个资源池&#xff0c;对资源池进行抽象、解耦形成独立的“虚拟资源”&#xff0c;并实现虚拟资…

MySql之内连接,外连接,左连接,右连接以及子查询举例详解

一.数据准备 资源绑定中有sql执行语句&#xff0c;直接复制粘贴&#xff0c;用navicat执行创建表并插入数据 &#xff08;有需要的可自行下载&#xff0c;如有问题可在评论区留言&#xff09; students&#xff0c;scores&#xff0c;courses三张表的联系如下图所示 二.内连接…

p11 第60题 设计一个算法,逆序单链表中的数据 电子科技大学2014年数据结构(c语言代码实现)

通过头插法可以实现单链表的逆置 下方博客有图解&#xff1a; 王道p40 5.将带头结点的单链表就地逆置&#xff0c;所谓“就地”是指辅助空间复杂度为O&#xff08;1&#xff09;-CSDN博客 单链表的逆置可以通过遍历链表&#xff0c;逐个将节点取出并插入到新链表的头部来实现…

pandas教程:USDA Food Database USDA食品数据库

文章目录 14.4 USDA Food Database&#xff08;美国农业部食品数据库&#xff09; 14.4 USDA Food Database&#xff08;美国农业部食品数据库&#xff09; 这个数据是关于食物营养成分的。存储格式是JSON&#xff0c;看起来像这样&#xff1a; {"id": 21441, &quo…

0004Java程序设计-ssm基于微信小程序的校园第二课堂

文章目录 摘 要目录系统设计开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅&#x1f427;裙&#xff1a;776871563 摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。…

Doris-集群部署(四)

创建目录并拷贝编译后的文件 1&#xff09;创建目录并拷贝编译后的文件 mkdir /opt/module/apache-doris-0.15.0 cp -r /opt/software/apache-doris-0.15.0-incubating-src/output /opt/module/apache-doris-0.15.02&#xff09;修改可打开文件数&#xff08;每个节点&#x…

IOC DI入门

1.加上Component&#xff0c;控制翻转&#xff0c;将service和dao都交给IOC容器管理&#xff0c;成为IOC容器中的bean。用哪个类就在哪个类上面加component。 2.加上autowired。依赖注入。controller依赖于service&#xff0c;service依赖于dao。加上时&#xff0c;IOC容器会提…