EIGRP:增强型的内部网关路由协议
IGP,
最大支持100跳
高级的距离矢量协议(ADV)
无类协议,支持VLSM和CIDR
四层协议,基于三层IP的封装
有5类报文
组播地址:224.0.0.10
邻居发现以及恢复机制:
见NA部分
Hold time时间内一直没有收到hello报文,邻接关系会down掉
Reliable transport protocol(RTP):
提供可靠的传输机制
EIGRP四大底层机制
Uses hello packets between neighbors
不像RIP那样为收到的路由条目设置各种计时器,EIGRP通过检测邻居状态来判断其传送过来的路由有效性
HELLO包间隔5s或60s
Hold timer为hello间隔的3倍,到期后重置邻居关系
Reliable Transport Protocol(RTP)
与媒体协议中的Real Time Protocol不同,后者是为了防止报文乱序(对语音、视频流量至关重要)
因为EIGRP是用IP封装的传输层协议,不能保证可靠性,因此使用RTP保证可靠性(防丢包、重传机制)
若重传报文16次之后,仍未收到ACK,则重置邻居关系
Selects lowest-cost, loop free paths to each destination
理解DUAL算法需要的术语:
FD 可行距离
AD 通告距离
S 后继
FS 可行后继
FC 可行性条件
Protocol-dependent modules(PDMs)
支持多种网络层协议
实际环境中hello报文和ack是同一种报文
EIGRP metric
带宽 bandwidth (min)
延迟 delay (sum)
可靠性 reliability (min)
负载 loading (max)
(MTU存在但是不使用) (min)
算法:
Metric=[K1*BW+(K2*BW)/(256-load)+K3*delay]
缺省值:K1=1,K2=0,K3=1,K4=0,k5=0
BW=10的七次方/路径最小带宽 (单位Kbit/s) #接口带宽
延迟:delay=DLY/10 要算为10的-5次方秒
EIGRP启用的时候,AS号一定要一样,相同的As号能建立起邻居关系
Router eigrp AS_NUM
Network x.x.x.x x.x.x.x 网络号+反码
Network x.x.x.x 可以不加掩码
Network x.x.x.x x.x.x.x ip+正掩码
(路由器交换机建议使用反掩码,防火墙上使用正掩码)
EIGRP会开启自动汇总
No auto-summary
Show ip eigrp interfaces
Show ip eigrp neighbors
Show ip eigrp neighbors detail
Eigrp需要一个域内唯一标识:router id(最大地址)
进程中:eigrp router-id x.x.x.x
接口带宽提取:
提取控制层面路由条目流向所有入接口带宽取最小值
延迟:
提取控制层面所有路由条目的入接口的延迟的总和
环回口也会计算
修改出接口不会有影响
向EIGRP域内下放一个缺省路由:
四种方式:
- 在AS边界路由器指定一条0.0.0.0/0缺省路由器去往外网,进程中直接引入:
redistribute static #直接引入
路由前面表示D*EX,管理距离170
- 做静态路由,直接关联出站接口,不关联下一跳,然后eigrp进程中宣告全0网段
Network 0.0.0.0
引入的路由指打上D,管理距离是90
- 使用ip default
边界路由器全局配置中:
Ip default-network x.x.x.x 路由器连接外网的接口的主类网段
该路由器的路由表中一定要拥有该主类路由条目
Ip route x.x.x.x x.x.x.x x.x.x.x 主类路由的网络号、正掩码、出接口、下一跳
然后进程中network x.x.x.x 主类网络
下发的路由管理是90,但是下发的路由显示的不是缺省路由,但是会按照缺省路由转发
- 手工汇总汇总成0.0.0.0/0
在边界路由器的连接内网的接口汇总下发:
Interface …
Ip summary-address eigrp 90 0.0.0.0.0 0.0.0.0
Exit
EIGRP的高级特性:
Eigrp汇总后会变成主类路由后,传给邻居,邻居的路由表中会指向null0接口,用来防止路由黑洞
汇总只会汇总本地产生的路由,不会汇总邻居传送过来的路由
手工汇总本地产生和邻居产生的都能汇总,其他特性于自动一样
无论将什么样的路由自动汇总,汇总后的都是内部路由
###eigrp可以使用超网路由宣告:192.168.8.0 0.0.3.255
汇总路由要在路由的控制层面的源配置,也就是发送接口配置(要现在进程中宣告)
Interface Ethernet 0/1
Ip summary-address eigrp 90 192.168.8.0 255.255.252.0
90是管理距离,默认是5,
后面可以在加leak-map参数,可以将部分汇总路由中的明细路由发送(ACL)
调用leak-map需要使用route-map,全局配置模式
Route-map TEST permit 10
Exit
Access-list 10 permit 192.168.8.0 0.0.1.0
Route-map TEST permit 10
Match ip address 10
Exit
Interface Ethernet 0/1
Ip summary-address eigrp 90 192.168.8.0 255.255.252.0 leak-map TEST
Leak-map:该工具用来放行手工汇总路由条目内的某些明细路由条目
调用route-map(调用ACL,抓取控制层面需要放行的明细路由条目)
顺序:ACL——route map——leak-map——调用
负载均衡:(默认4条,与rip一样,最大也是16条)
默认是等价负载均衡:
不等价负载均衡:(maximum path一定要大于等于2)
路由器配置模式中:variance multipler multiple是1-128,大于等于2的时候非等价负载均衡
次优路由的AD要小于最优路由的FD(总开销值),小于该FD值可以加表,不小于的不会加表
广域网的eigrp的特性:
广域网无论在什么样的接口,只会使用带宽的一半,如果接口的管理带宽未配置,会使用接口带宽,若配置会使用管理带宽
50%只是缺省值,是可以修改的:
Interface s 1/0
Ip bandwidth-percent eigrp 90 1 百分比为1
DUAL算法:
Diffusing update algorithm:扩散更新算法
当一台路由器运行eigrp的路由通过其邻居收到了一个query报文,假定对于该接收者路由器,发送查询的路由器对于该路由而言不是该路由器的后基站(路由的下一跳),该路由器会直接将路由表中的后基站路由以reply的形式发送给查询者
假定对于该接收者路由器,发送查询的路由器对于该路由而言是该路由器的后继站,则该路由器会判定自己本地拓扑表内是否用于有关于该路由的备份路由(可行后继站),如果有该路由器会优先更新本地路由表,将最优路由切换可行后继站路由,并且将该路由以reply的方式发送给查询者,如果没有,则该路由器会判断自己是都拥有除查询者之外的其他EIGRP邻居,如果有,则该路由器会将拓扑表内该路由器条目置为active并且欠着查询者的查询报文,转而发送查询给其他eigrp邻居,如果没有该路由器并且没有其他的eigrp邻居,则该路由器会直接将拓扑表以及路由表中关于该路由的信息删除,并且直接发送reply给查询者告知路由不可达
假定接收到出查询的路由器在接收查询之前本地路由表和拓扑表内均没有该被查询路由,则该路由器会直接想查询者发送reply告知该路由不可达。
中心与spoke节点环境,中心一旦丢失自身连接网段的路由,会向spoke发送查询报文,会导致大量的查询和回复报文,
解决方法:
- 汇总路由:
查询的时候spoke不会再查询
- eigrp Stub特性:末节特性
stub置位,告诉其他路由器该路由的发送者是末节路由器
进程中:eigrp stub
后面可以接参数:
1、eigrp stub receive-only不接收查询,发送更新为空,只接受路由,不发送
2、…connected 只会吧本地路由发送给其他路由器
3、…summary 只发送汇总的路由,没有汇总的不发
4、…static 重分发的静态路由发送给邻居
5、…redistributed 将所有重分发进eigrp的路由发给邻居
6、…leak-map 可以发送明细路由
2345可以结合使用
最边缘的路由器置为末节路由器
扩散更新计算查询后等待时间:
默认是180s,如果依旧没有收到,重建邻居
查询的时候,发送查询的路由器90s可以发送SIA-Query给邻居,判断链路出问题或者邻居在查询路由,若邻居在查询,则回复SIA-Reply,若链路down,则不会回复
每间隔90s可以发送一次(超时计时器的二分之一)
最多只能发送7次
当路由器关闭eigrp进程,会发送关闭报文(goodbye报文),告诉邻居自身路由器关闭了eigrp,邻居删除路由信息,
1、进程号一样
2、不同的routee-id
3、K值一样
:进程中:metric weights 0 K1….(第一个为0,ToS,其他为k值)
4、hello、hold时间可以不一样:(建议本端的hello比对端的hold小)
接口下:ip hello-interval eigrp 90 xx(进程和时间)
调整active值(无关):
Timers active-time …..(开启默认180s)(修改单位是min)
5、认证要一样:
支持密文认证:
链路认证:
接口下:
钥匙链认证:
Key chain R1(名字具有本地意义)
Key 1
Key-string Cisco (这两项要一直,ID和key-string一样)
Exit
Interface f 0/1
Ip authentication key-chain eigrp 90 R1
Ip authentication mode eigrp 90 md5开启密文认证
钥匙链有多把秘钥,发送者使用keyID最小的秘钥,接收者会在自身钥匙链里找符合的
钥匙链配置时间:可以替换
钥匙链进程中:Send-lifetime …可以发送的时间
Accept-lifetime … 指定秘钥key X的可以做认证审核
度量值修改:精确修改
偏移量:
Access-list 10 permit 3.3.3.0 0
Route Eigrp 90
Offset-list 10 out 60 fa 0/0
q
被动接口:
Route eigrp 90
Passive-interface fa 0/1
被动接口收发都不能
单播发送:
Router eigrp 90
Neighbor x.x.x.x fa 0/1 (IP+本地连接邻居的接口)
邻居双方都要使用单播,
关闭eigrp的水平分割:
物理水平分割和协议水平分割要一起关掉
Interface fa 0/1
No ip split-horizon
No ip split-horizon eigrp 90