距离向量路由协议——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表示当前为主动路由。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

交叉编译

1. 交叉开发 交叉编译&#xff1a; 在电脑把程序编写 编译 调试好 再下载到嵌入式产品中运行 编译&#xff1a; gcc 之前编译环境和运行环境是一样的 交叉编译&#xff1a; 编译 把编译代码和运行分开 编译代码在虚拟机中 运行…

BGP基础配置

EBGP是AS之间 IBGP是AS内 R1-R2是EBGP,R4-R5是EBGP R2-R3-R4是IBGP 第一步基础配置&#xff1a;IP地址 [r1-GigabitEthernet0/0/0]ip ad 12.0.0.1 24 [r1-LoopBack0]ip ad 1.1.1.1 32 [r2-GigabitEthernet0/0/0]ip ad 12.0.0.2 24 [r2-LoopBack0]ip ad 2.2.2.2 32 [r2-Loop…

【论文解读】在上下文中学习创建任务向量

一、简要介绍 大型语言模型&#xff08;LLMs&#xff09;中的上下文学习&#xff08;ICL&#xff09;已经成为一种强大的新的学习范式。然而&#xff0c;其潜在的机制仍未被很好地了解。特别是&#xff0c;将其映射到“标准”机器学习框架是具有挑战性的&#xff0c;在该框架中…

成功解决:AssertionError: Torch not compiled with CUDA enabled

在运行pycharm项目的时候&#xff0c;出现了以上的报错&#xff0c;主要可以归结于以下两个个方面&#xff1a; 1、没有安装GPU版本的pytorch&#xff0c;只是使用清华的镜像地址下载了CPU版本的pytorch 2、安装的CUDA和安装的pytorch的版本不相互对应 我使用 pip list 来…

Python超级详细的变量命名规则

Python 需要使用标识符给变量命名&#xff0c;其实标识符就是用于给程序中变量、类、方法命名的符号&#xff08;简单来说&#xff0c;标识符就是合法的名字&#xff09;。 Python 语言的标识符必须以字母、下画线&#xff08;_&#xff09;开头&#xff0c;后面可以跟任意数目…

知识蒸馏—原理+代码实战(Distillation CNN 和 Progressive Distillation Diffusion)

文章目录 1. Distillation 基本概念2. Distillation MNIST CNN分类代码实战3. Progressive Distillation Diffusion生成代码实战3.1 Progressive Distillation原理3.2 v-parameterization3.2 渐进蒸馏 cifar 代码实战 1. Distillation 基本概念 知识蒸馏被广泛的用于模型压缩和…

一文带你了解如何在Java中操作Redis

文章目录 前言一、 Redis客户端简介1. Redis客户端分类2. Spring 整合 Redis 的两种方式 二、 使用 Jedis 操作 Redis1. Jedis的maven坐标2. 使用Jedis操作Redis的步骤3. Jedis 操作 Redis 示例 三、 使用 Spring Data Redis 操作 Redis1. Spring Data Redis 的 maven 坐标2. s…

Open3D点云数据处理(一):VSCode配置python,并安装open3d教程

文章目录 1 python下载与安装1.1 python下载1.2 python安装1.3 验证python是否安装成功 2 VSCode下载与安装2.1 下载2.2 安装2.3 安装汉化插件2.4 vscode安装python扩展2.5 编写一个简单的python程序并运行2.6 在外部终端中打印运行结果&#xff08;不是必选的&#xff0c;不修…

丽晶酒店及度假村打造绮丽之境“美食实验室”中国市场首秀

于重庆丽晶酒店以艺术与美食的碰撞演绎“对比之美”&#xff0c;感官之华 2023年11月28日&#xff0c;中国上海 ——基于对当下消费趋势的敏锐洞察&#xff0c;洲际酒店集团旗下奢华品牌丽晶酒店及度假村近年来不断焕新&#xff0c;以崭新形象缔造现代奢华的旅居体验。作为丽晶…

TDL CDL信道模型

文章目录 一 TDL二 CDL三 CDL TDL区别 TDL&#xff1a;(Tapped Delay Line&#xff0c;抽头延迟线) CDL&#xff1a;(Clustered Delay Line&#xff0c;集群延迟线) 一 TDL 定义&#xff1a;由一组不同衰落系数和不同时延的抽头组成。全频率范围为&#xff1a;0.5GHz~100GHz&am…

第七节HarmonyOS UIAbility生命周期以及启动模式

一、UIAbility生命周期 为了实现多设备形态上的裁剪和多窗口的可扩展性&#xff0c;系统对组件管理和窗口管理进行了解耦。UIAbility的生命周期包括Create、Foreground、Background、Destroy四个状态&#xff0c;WindowStageCreate和WindowStageDestroy为窗口管理器&#xff08…

【软件测试面试】项目经验回答+面试技巧和方法汇总...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、测试面试时问你…

井盖倾斜怎么办?智能井盖传感器监测方法

井盖倾斜是一个紧迫的问题&#xff0c;如果不及时处理可能会导致道路安全性下降&#xff0c;进而增加车辆和行人发生意外的风险。为应对这一问题现已开发出智能井盖传感器&#xff0c;它可以持续监测井盖的状态&#xff0c;一旦发现倾斜等异常情况会立即发出警报。 在智慧城市的…

【unity实战】如何更加规范的创建各种Rogue-Lite(肉鸽)风格的物品和BUFF效果(附项目源码)

文章目录 前言定义基类实现不同的BUFF效果一、回血BUFF1. 简单的回血效果实现2. BUFF层数控制回血量 二、攻击附带火焰伤害三、治疗领域1. 简单的治疗领域实现2. 添加技能冷却时间 通过拾取物品获取对应的BUFF参考源码完结 前言 当创建各种Rogue-Lite&#xff08;肉鸽&#xf…

Linux基础项目开发1:量产工具——显示系统(二)

前言&#xff1a; 前面我们已经对这个项目的基本框架有了一个初步的了解与认识&#xff0c;要实现显示管理器与输入管理器&#xff0c;有输入有输出基本就实现这个项目的大部分功能了&#xff0c;首先我们先来做显示系统&#xff0c;对于上层系统为了让程序更好扩展&#xff0c…

策略模式实践

目录 前言 五个部分 名词解释 代码 controller层 HelloService接口 实现类 自定义注解 上下文 策略工厂 Java SPI配置 验证 前言 五个部分 接口、实现类、自定义注解、上下文、策略工厂 名词解释 自定义注解(方便后期增加实现类后灵活控制策略) 上下文(初始化…

【RESTful API】RESTful接口设计练习

参考: BV1Ps4y1J7Ve ---------------------------------------------------------------------------------------------------------- 一、RESTful框架 常见的有SpringMVC,jersey,play 二、API测试工具 Postman,Insomnia 三、RESTful接口设计练习 3.1 项目准备 构…

【项目实战】SpringBoot连接openGauss

一&#xff1a;Docker安装openGauss 1.下载openGauss 安装好Docker好以后&#xff0c;执行如下命令下载openGauss3.0镜像。docker pull enmotech/opengauss:3.0.0 2.运行openGauss 执行如下命令docker run -itd --name opengauss \ --restartalways \ --privilegedtrue \ …

eNSP防火墙USG6000V使用Web界面登入教程

文章目录 登入流程1、下载USG6000V的镜像包2、导入USG6000V的镜像包3、配置防火墙web页面4、修改本机vmnet1网卡的ipv4地址5、在eNSP上添加云6、配置防火墙管理地址&#xff0c;开启http服务7、关闭电脑防火墙8、访问web页面 登入流程 1、下载USG6000V的镜像包 链接&#xff…

MySQL表连接

文章目录 MySQL内外连接1.内连接2.外连接&#xff08;1&#xff09;左外连接&#xff08;2)右外连接 3.简单案例 MySQL内外连接 1.内连接 内连接的SQL如下&#xff1a; SELECT ... FROM t1 INNER JOIN t2 ON 连接条件 [INNER JOIN t3 ON 连接条件] ... AND 其他条件;说明一下…