EIGRP Packets
EIGRP 数据包直接使用IP 协议,协议号88
1.Hello
发现维护邻接关系,是EIGRP唯一一个周期性发送的数据包,数据包很小,跟据带宽的速度发送
带宽大于T1,则每5s发送一次,带宽小于T1,则每60s发送一次,如果3倍的hello时间内即holdtime收不到邻居的数据内容,则接口会down掉。
2.Upadte
发送路由更新(路由信息),两个路由器刚刚建立连接,同步路由信息的时候,或者出现网络拓扑变动的时候。
3.Query
向邻居查询特定路由信息,和Reply 成对出现的。
4.Reply
响应Query 查询
2-4都必须是可靠传输,使用RTP协议(reliable transmission protocol),即发送后必须收到ACK确认包,否则继续重发
5.ACK
确认数据包
为什么EIGRP 叫DUAL扩散更新算法
当某个路由不可达,且没有后继的情况下,会执行扩散运算,EIGRP必须等所有的查询都得到回复后,才会返回状态,最多等3min,等了3min没有全部返回状态,则会转为SIA(stack in active),这条路由就不可用了。
EIGRP Key Techologies
1.Neighbor discovery/recovery
使用Hello 数据包发现维护邻接关系
2.Reliable Transmission Protocol
保证EIGRP数据包传输的可靠性
3.DUAL finite-state machine 有限状态机
选择到达目标网络的最低开销,无环的路径
4.Protocol Dependent Modules (PDMs)
EIGRP 不仅支持IP、还支持AppleTalk,以及Novell NetWare等不常见的协议
每个协议使用独立的EIGRP模块运行
EIGRP Metric Calculation
使用复合度量值(bandwidth,relay, reliability,load,MTU)
1.By default ,ERGIP metric:
Metric = bandwidth(slowest link)+ delay(sum of delays)
2.Delay = sum of the delays in the path, in tens of microseconds,multiplied by 256
3.Bandwidth [10^7/(minimum bandwidth link along the path, in the kilobits per second)]* 256
4.Formula with default K values (K1=1, K2=0, K3=1,K4=0,K5=0):
Metric = [K1 * BW + ((K2 * BW)/(256-load)) + K3 * delay]
公式不需要记,需要了解,需要以哪个条件为度量值,就把对应的K值置为1,不需要的置为0即可。
EIGRP 建立邻接关系的条件:
1.AS 号 进程域
2.K 值
3.认证
EIGRP Metric
1.缺省情况下EIGRP 使用以下两种度量值:
-bandwidth
-delay
2.不建议使用的度量值(思科设备默认5 min统计一次)
-reliability
-load
Note:Although MTU is exchange in EIGRP packets between neighbor routers,MTU is not factored into the EIGRP metric calculation.
注意:尽管MTU在邻居表和路由表中进行数据交换,但它仍不作为一个EIGRP度量值计算的因素。
EIGRP Configurtion
RouterX(config)#router ergip autonomous-system 自治系统号,进程号,可以在一台路由器上启动多个EIGRP 协议, 如果两个路由想要建立邻接关系,则两个路由器上的EIGRP 的AS号必须是一样的
EIGRP 缺省情况下也会对网络进行自动汇总,需要通过
RouterX(config-router)#no auto-summary 关闭自动汇总
网络通告:比如通告10.1.1.0/24
1.可以像RIP一样进行主类网通告
RouterX(config-router)#network 10.0.0.0 255.255.255.0
2.也可以进行精确的子网通告
RouterX(config-router)#network 10.1.1.0 0.0.0.255(wild cars bits反码和子网掩码刚好相反,0代表网络为,1代表主机位。0表示要匹配,1 表示无所谓)
EIGRP 除非特殊要求,否则都要进行精确通告。
取消邻居表更新日志提醒,但是不建议取消:
Router(config-router)#no eight log-neighbor-changes,
在路由表里面展示的EIGRP 的路由类型是D,比如:
D 172.16.2.0 [90/2681856] via 172.16.1.2 00:01:36, Serial0/0
[管理距离/复合度量值]
# 管理距离有两个:internal 90 external 170
一些常用的命令
1.查看所有协议
Router #show ip protocol
2.查看邻居表信息
Router #show ip eigrp neighbors
H Address Interface Hold(sec) uptime SRTT(ms) RTO Qcnt Seq
H:建立的顺序
Address:邻居的IP
Interface: 与邻居的接口
Hold(sec):默认hello超时时间,3倍hello包的时间
uptime:邻居已经启用的时间
SRTT:Smooth Round-Trip Time平均往返时间
RTO:Retransmit Timeout 重传计时器
Q cnt(queue count):EIGRP 为了防止自己的协议吧带宽全部占完,默认协议流量只占带宽的50%,如果超过了,就会进入队列,正常是0,如果超过0,就说明网络拥堵。
Seq Num:序列号
3.查看EIGRP 拓扑表信息
Router #show ip eigrp topology
P 10.1.2.0/24 1 successors, FD is 2809856 via 172.16.1.2 (2809856/2297856), Serial0/0
.
...
状态位p,ip, 1个后继,... (FD值/AD值) ,接口
状态:P:passive(被动状态,可工作状态)
A:active (正在发送数据状态)
4.查看路由表
Router #show ip route
5.查看EIGRP 协议的路由信息
Router #show ip route eigrp
6.查看EIGRP 协议的相关接口
Router #show eigrp interface
7.查看eigrp流量的统计信息
Router #show ip eigrp traffic
8.eigrp调试模式,数据比较复杂,了解即可,一般不用
Router #debug ip eigrp
EIGRP Timer
1.默认EIGRP 在带宽小于T1 的线路上hello计时器默认是60s,大于T1线路上hello计时器是5s,hold-down 计时器默认三倍于hello时间
2.普通Serial 接口上EIGRP hello时间是5s
3.修改收敛时间,基于接口进行修改,n为秒数
Router(config-if)#ip hello-interval eigrp as号 n
Router(config-if)#ip hold-time eigrp as号 3n
注意:在一个接口上进行了修改,则另外一个设备上所有的接口都要修改。
EIGRP K Value
默认情况下EIGRP 只使用带宽和延时两个参数作为度量标准
Default K value:
k1 =1,k2=0, k3=1,k4=0,k5=0
修改度量标准,如修改为仅以带宽为度量值,则把k3 修改为0
Router(config-router)#metric weights 0 1 0 0 0 0
第一个0为Tos (Type of Service),未实现功能,没有实际意义,永远置为0
注意:EIGRP 建立邻接关系会检查K 值,不同路由器K 值必须一样才能建立邻接关系
修改K 值后,路由器会down 掉,会导致断网
EIGRP Load Balancing
默认情况下EIGRP 使用等开销(equal-metric)负载均衡
默认,最多在4条开销路径上进行负载均衡
最多可以配置到16条路径上进行负载均衡:
通过maximum-paths命令指定最大负载均衡条目数量
EIGRP 非等开销unequal-Cost负载均衡
目前(2011)只有EIGRP可以做到官方支持的非等开销负载均衡
Router(config-router)#variance multiplier(FD的倍数)
Alllows the router to load-balance across routes with a metric smaller than the multiplier value times the minimum metric route to that destination.
The default variance is 1 , which means equal-cost load balancing.
EIGRP MD5 Authentication
作用:为了防止非法的未授权的路由器或设备发送非法路由信息,来影响路由表
1.EIGRP 只支持MD5 认证
2.路由器检查每个接收到的数据包
3.认证不通过,无法建立邻接关系,邻接关系的三个条件:①AS号②K值③Authentication
4.每对路由器必须配置相同的密钥Key (key值和key-string必须相同)
EIGRP MD5 Authentication Configuration Steps
1.创建密钥数据库keychain,创建密钥keys
2.指定Key ID
3.配置key-string
4.(可选)配置密钥生效时间
通过以下两条命令指定key 生效时间:
Router(config-keychain-key)# accept-lifetime start-time {infinite| end-time |duration seconds}
Router(config-keychain-key)# send-lifetime start-time {infinite| end-time |duration seconds}
5.在接口启用MD5认证
Router(config-if)# ip authentication mode eigrp autonomous-system md5
6.在接口指定认证使用的密钥数据库
Router(config-if)# ip authentication key-chain eigrp autonomous-system name-of-chain
由于是在接口指定认证,所以可以做到一台路由器的两个接口,一个开启认证,一个不开启认证
EIGRP Route Summarization Automatic
EIGRP 可以在任何一点进行手工汇总,任何一点,就是在接口级别做汇总。
1.purpose目的:smaller routing tables, smaller updates,更小的路由表信息,更不易变动的路由更新
Route(config-router)# no auto-summary
Route(config-if)# ip summary-address eigrp as-number address mask [admin-distance]
2.automatic summarization:
①On major network boundaries, subnetworks are summarized to single classful(major) network。
②Automatic summarization occurs by default。
EIGRP 实验配置:
1.查看端口信息:
Router #show interface serial0/0
2.更改带宽 :
Router(config)# bandwidth xxxx (单位是kb,不设置默认是1544kb)
3.协议精确通道:使用反码:如:200.1.1.0/24,则绑定如下:
Router(config-router)network 200.1.1.0 0.0.0.255
4.清除接口的ip 配置信息:
Router(config)default interface fastethernet0/0
4.1扩展,交换机范围清空配置:
default interface range fastethernet0/1-15
5.路由手工汇总后,配置汇总的路由器上也会有一条汇总路由,自动出现的,并且是指向空接口(Null0)的,所有指向空接口的条目,实际上就是丢弃。出现这条路由条目的原因是:防止路由黑洞
黑洞路由:将所有无关路由吸入其中,使他们有来无回的路由,一般是admin主动建立的路由条目
Null0 接口:属于路由器的逻辑接口,总是处于UP 状态,但是不转发任何报文,当null0接受到报文后,会把报文丢弃。