雏鹰部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 561|回复: 0

[学习/资料] 【SPOTO思博网络】干货!!网工路由基础解析!《EIGRP协议》

[复制链接]
发表于 2021-11-1 14:06:08 | 显示全部楼层 |阅读模式
【SPOTO思博网络】干货!!网工路由基础解析!《EIGRP协议》

EIGRP原理

EIGRP的五种报文


Hello:建立与维护邻居关系,hello数据包以组播方式发送,影响EIGRP邻居建立的点:AS号不一致、K值不一致、认证不通过


**:传递路由信息(使用seq和ack保证数据可靠性)


Query:丢失路由表中某一条路由,并且没有备份路径时,以组播的方式向所有EIGRP接口发出查询

SIA-Reply:




Ack:hello报文的变种,用作确认


Query和reply用于现有最佳路径丢失,但是拓扑表中也无可用备份路径时,重新向邻居查询最佳路径


EIGRP Query过程:当路由条目丢失时,EIGRP路由器向邻居发送Query报文,丢失的路由条目会置为active state。接收路由器收到Query时,且有该路由信息:  如果查询者不是该路由的可行后继路由器,那接受路由器会把可行后继路由器以Reply发给查询者  如果查询者是该路由的可行后继路由器,则该路由器会先判断本地拓扑表内是否有该路由的备份路由(其他可行后继路由器):      

1.如果有备份路由,则该路由器将更新本地路由表,将最优路由切换至该路由,并将以该路由器以Reply方式发送给查询者      

2.如果没有该备份路由,将该路由条目置为active,然后转发查询发给其他EIGRP邻居





在查询中也会遇到很奇葩的情况:A给B发送查询,B没有该路由信息,B向C发送查询,B因为其他原因没有收到C的reply消息。所以B也不能回复给A


没加active增强,如果A的邻居B在3分钟内没有回复查询结果,丢失的路由条目将处于SIA状态,路由器重置对于未能答复邻居的邻居关系

Active增强后,如果A的邻居B在3分钟内没有回复查询结果,A过了3分钟后,对B作存活确认,如果B存活,计时器清0(重新等待消息)。如果B不存活,丢失的路由条目将处于SIA状态,路由器A重置对于未能答复邻居的邻居关系。





EIGRP stub




未启用末节特性:B中的10.1.1.0/24链路断开,B向A、C、D、E发送Query


启用末节特性:B中的10.1.1.0/24链路断开,其他路由器到10.1.1.0/24的路由都要经过B,所以这些查询根本没必要出现。以抑制Query报文!C、D、E启用末节特性,B只会向A发起查询


末节特性:提高网络的稳定性,降低了资源开销,并简化了远程路由器配置。末节路由器发送了一个特殊的对等体消息给所有的邻居,报告其状态为Stub路由器。邻居不会向Stub路由器发送任何Query消息,末节路由器通常用于Hub-and-spoke拓扑。


EIGRP stub配置:#配置了末节特性的路由器向邻居通告【啥也不通告|直连|静态|汇总】路由Router(config-router)#eigrp  stub   [receive-only  | connected  | static  | summary]注意:默认值为向邻居通告直连和汇总路由


EIGRP邻居发现和恢复


邻居:指在网络上直连的通告EIGRP的路由器


建立邻居关系:两台路由器在特定接口(启用EIGRP协议的接口)以组播方式每5s发送一次hello数据包,接收到hello数据包的路由器B会将路由器A放入自己的邻居表(同理路由器A中也有路由器B)。成功建立邻居关系!


注意:启用了EIGRP协议的路由器,会监听组播地址224.0.0.10


维护邻居关系:hello数据包中包含一个抑制时间(holdtime),该抑制时间会告诉路由器B,在它收到后续hello数据包之前等待的最常时间。如果抑制计时器超时,路由器B还没收到hello数据包,那么宣告这个邻居不可达!


Holdtime=3*hello  (一般5s)


注意:EIGRP发送的hello包的频率大于RIP发送路由更新的频率高得多,因此EIGRP收敛速度比RIP收敛速度更快。所以EIGRP网络的通信效率比RIP网络的通信效率高


AS号:相邻两台路由设备上配置了相同AS号的EIGRP协议,且双方满足建立邻居的条件(metric公式中k1-k5参数完全相同),便会正常建立和维护邻居状态。


相反配置了不同的AS号的EIGRP协议,它们就无法相互发送路由更新,也不会建立邻居关系,不同的AS号的相邻EIGRP路由器之间需要使用重分布来相互转发路由信息。一台路由器上可以启用多个不同的AS号,用来宣告不同的网络。无论从哪个AS邻居EIGRP设备学来的路由,都会保存在同一个路由表中。路由器转发数据时,只会查看路由表中是否有去往该目的地址的路由。


影响建立邻居关系的条件:AS号、metric、passive-interface


Passive-interface:路由器不会在该接口发送和接收hello消息,无法建立邻居关系


EIGRP邻居表、拓扑表、路由表


邻居表(neighbor table)



Address:下一跳路由器IPInterface:对应接口Hold: 对应hello时间Uptime:邻居建立多久


两台直连路由器之间使用hello包建立邻居,并相互把对方存在邻居表中,之后相互发送自身的完整路由信息


查看EIGRP邻居表:show ip eigrp neighbors


拓扑表(topology table)


路径状态(P/A/U/Q/R/r/s) 目的地,后继路由器,FD值,下一跳(FD/AD),接口


注意:拓扑表中存放的是去往目的地的所有备份路径和最佳路径,最佳路径是在经过计算后,加入到路由表中的路径!


将学习到的每一条路由信息放入拓扑表,并在拓扑表中运行DUAL算法,选出去往某一个目的网络最优的路径放入路由表中


查看拓扑表:show ip eigrp topology


路由表(route table)




路由表转载去往每一个目的网络的最优路径。注意:路由表只有最佳路径,不存在备份路径。




最佳路径计算过程:邻居表中先建邻居——拓扑表中再计算metric值,并根据DUAL计算出最佳路径——将最佳路径加入到路由表


DUAL有限状态机


DUAL的特征:自带防环机制,无需使用水平分割、路由毒化等特性。DUAL算法可以在当前路径失效时,快速收敛出新的路径。



注意:最佳路径和备份路由由DUAL算法在拓扑表中计算出注意:AD和FD实际为metric值注意:FS(可行后继路由器)可以有多个,只要满足AD<FDmin


最佳路径:选择具有最小的FD的路由器,成为successor(后继路由器),将最佳路径加入路由表


备份路径:若最小FD>另一个AD(非最佳路径已选择的AD),那么该具有该AD的路由器,成为FS(可行后继路由器),否则没有备份路径



先比较FD值,选最小的,成为successor(后继路由器)如果AD<最小FD,那么拥有该AD值的路由器成为可行后继路由器,一旦已有的后继路由器发生断开,拓扑表中的可行后继路由器顶替上来如果AD>最小FD,那么没有可行后继路由器,防止发生路由环路,一旦已有的后继路由器发生断开,会重新向其他邻居请求去目标网络的路径


metric计算


问题:两个路由器之间链路的度量值是如何计算的?答:通过公式算出来的。


公式:



影响链路度量值(metric)的参数有以下几个:
*Bandwidth:源和目的之间的最小带宽

*Delay:路径上接口的累积延迟*Reliability:源和目的之间的最低可靠性,基于存活消息

*Loading:源和目的之间链路上的最大负载,基于速率和接口配置的带宽


那么默认metric公式=(DLY+BW)*1  (cisco文档中说当K5=0是,后面式子为1)


延迟取值沿路所有数据出接口(或路由入口)延迟的累加

-DLY= 延迟(us) / 10 x 256


带宽取值沿路所有数据出接口(或路由入口)带宽的最低值

-BW= [10000000 / 带宽(Kbps)] x 256


metric默认=延迟(DLY)+带宽(BW)

取值:路由入接口或者数据出接口

【路由入接口或者数据出接口】:路由学习方向


修改度量值参数:metric weight tol k1 k2 k3 k4k5  (tol为0,无其他意义)

注意:建立邻居之后,修改k值也会断开邻居注意:metric值越小,路径越优


EIGRP特性







EIGRP基本配置


show命令




查看邻居表:do show ip eigrp neighbor查看(满足FC条件)拓扑表:do show ip eigrp topology查看是否满足FC条件的拓扑表:show ip eigrp topology all-links查看路由表:do show ip route eigrp查看活动路由协议进程的参数和当前状态:show ip protocols(主要查看K值)查看是否自动汇总:do show run | se routerShow running-config | section r e查看接口信息:do show ip eigrp interfaces查看接口对应的IP 地址:do show ip interface brief查看发送和接受的IP数据包的数量:do show ip eigrp traffic查看所有类型的EIGRP数据包(包括发送和接受的):debug eigrp packet查看EIGRP邻居交互:debug eigrp neighbor查看EIGRP对路由表的宣告和更改:debug ip eigrp route查看EIGRP路由活动的简要报告:debug ip eigrp summary查看不同类别的EIGRP活动,包括路径计算:show ip eigrp events


配置EIGRP

第一步:设置AS号需要建立邻居的所有路由必须具有相同的AS号Router(config)#router  eigrp AS号(autonomous-system-number:1-65535)

第二步:关闭自动汇总自动汇总功能作用就是对外通告路由条目时,将其汇总为主网络,所以在存在不连续子网的环境中,使用无类距离矢量路由协议,就要关闭自动汇总Router(config-router)#no auto-summary

第三步:宣告网络使用反掩码可以精确宣告主机或者宣告网络Router(config-router)#network  网络号(network-number)反掩码 (wildcard-mask)

修改接口带宽:Router(config-if)#bandwidth 带宽值修改接口延迟:Router(config-if)#delay 延迟值(us)修改holdtime:ip hold-time eigrp



EIGRP高级配置


EIGRP汇总


汇总的目的:产生更小的路由表、更小的路由更新

自动汇总特性:(了解)

*在主网边界,子网汇总为一个主类网络。

*只汇总本地产生的路由,不汇总邻居传过来的路由

*启用自动汇总的路由器会创建一条指向Null 0接口的汇总路由,防止环路

*自动汇总默认开启(高版本IOS中已默认关闭)

手动汇总特性:(掌握)*汇总可以配置在网络内的任何一台路由器的任意接口。*接口上配置路由汇总时,路由器会自动创建一条指向Null 0接口的汇总路由,防止环路*当汇总的最后一条明细路由不存在时,汇总路由也将被删除*明细路由中的最小度量作为汇总路由的度量



EIGRP是基于链路的汇总,为了让邻居收到的路由变少,所以在本地路由物理接口上做汇总路由


Null 0路由会在路由表中存在

EIGRP手动汇总配置:#关闭自动汇总Router(config-router)#no auto-summary #接口将生成汇总路由Router(config-if)#ip summary-address eigrp  as号 addressmask 汇总路由AD值(自动产生)


EIGRP负载均衡/不等价负载均衡


EIGRP可以做等价负载均衡路由和不等价负载均衡路由


等价负载:具有相同且为最小Metric的路由加入路由表,如果符合等价负载均衡,那么EIGRP会自动产生负载均衡路由


在路由表中,去往同一目的地的路由最多有十六个负载条目:*V值设置成1表示等价负载,默认4条等价负载路径*可以修改负载均衡条目数,maximum-paths 1表示关闭负载



#V值设定Router(config-router)#variancemultiplier不等价负载两个前提条件:①备用路径AD值<主用路径最小FD值(即FC条件)②备用路径FD值<主用路径FD×V值




【解释】Router E选择RouterC到达network Z,因为最小FD=20

Variance设置为2,Router E也会选择Router B到达network Z:30<[2*(FD)=40]   这里2和负载数量没有关系,如果路由器D满足FD<最小AD,那么也能成为负载链路。


Router D不会参与不等价负载均衡(25>20,不满足FC条件)


EIGRP默认路由


三种方法下放默认路由:

第一种方法Network 0.0.0.0:   Ip route 0.0.0.0 0.0.0.0 serial 0   Router eigrp 100   Network 0.0.0.0

第二种方法Redistribute static:   Ip route 0.0.0.0 0.0.0.0 serial 0   Router eigrp 100   Redistribute static

第三种方法Summary address:   Ip summary-address eigrp 100 0.0.0.0 0.0.0.0边缘路由器连接内网的接口下配置



EIGRP认证

EIGRP认证分为明文和密文认证两种!


明文认证:(了解)



路由器发送数据包和密钥


邻居检查密钥是否匹配


安全性较低



密文认证:(掌握)



采用MD5加密生成消息摘要


配置密钥ID和密钥


路由器发送数据包和消息摘要,密钥不发送



安全性高



EIGRP使用密钥链(key chain)管理密钥,密钥链中包含多个密钥ID、密钥、密钥生存周期



EIGRP只支持MD5认证,生成一个消息摘要



路由器发送路由更新报文时,使用第一个有效的密钥



路由器配置一个密钥ID(key id)和密钥(key-string),每个参与认证的邻居必须配置相同的密钥ID和密钥



EIGRP认证配置:(掌握)#进入key chain配置模式设置key chainRouter(config)#key chain SPOTO【密钥连名称】#进入key id 配置模式设置key idRouter(config-keychain)#key  1【密钥ID】#配置key-stringRouter(config-keychain-key)#key-string  CCIE【密码】#进入路由器接口配置下,指定EIGRP数据包的MD5认证Router(config-if)#ip authentication mode eigrp  as号 md5#调用key chain中的key启用EIGRP数据包的认证Router(config-if)#ip authentication key-chain eigrp  as号 密钥链名称


注意:EIGRP认证时,路由器发送最低的key id,并且携带ID。只有keyID和key值分别完全相同时才能成功认证



命名模式




启用命名模式:Router(config)#rotuer eigrpTESTRouter(config-router)#address-familyipv4 unicast autonomous-system 1Router(config-router)#network 10.1.1.0 0.0.0.255传统模式升级为命名模式:Router(config-router)#eigrpupgrade-cli TESTConfiguration will be converted from routereigrp 88 to router eigrp TEST.Are you sure you want to proceed?[yes |no]:yes

|| 备考不用慌,大佬带你飞 : 每三位IE,有两位来自思博
进入全国网络工程师交流群 ,请扫描下方二维码↓↓↓
群里有行业大咖、实战分享、技术交流、技术咨询、企业内推等机会
若群满,请添加老杨微信,邀你进群

【推荐阅读】

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|熊猫同学技术论坛|小黑屋| 网络工程师论坛 ( 沪ICP备09076391 )

GMT+8, 2024-5-3 19:30 , Processed in 0.079499 second(s), 19 queries , Gzip On.

快速回复 返回顶部 返回列表