3. EIGRP报文,三张表,邻居建立
1. 拓扑表
FD 可行距离,通过后继到达目的网络的距离
AD 通告距离,后继到达目标的距离
FS 可行后继,去往相同目的地,符合可行性条件的其他路径,是successor的候补,即快速收敛(站在本设备的角度)
FC 可行条件,AD要小于当前的FD
R1#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(1)//自治系统号 / ID(11.1.1.1)//路由器ID
Codes: P - Passive //已经收敛完毕的状态可以被使用, A - Active //激活状态,不能被列入路由表,收敛过程当中出现的状态, U - Update //更新, Q - Query //查询, R - Reply //回应,
r - reply Status, s - sia Status
P 10.1.5.0/24, 1 successors // 1个后继, FD is 409600 //可行距离,通过后继到达目的网络的距离
via 15.1.1.5 (409600//FD可行距离/128256 //AD通告距离,后继到达目标的距离), Ethernet0/0
2. EIGRP 报文
-
hello:用于建立和维护EIGRP的邻居关系 Destination 224.0.0.10
-
一旦收到任何符合邻居条件的hello报文(AS 号相同,度量值权重相同,认证相同,网络互通),立刻将该报文的发送者置为本设备的邻居 //默认情况下 K值 K1=1, K2=0, K3=1, K4=0, K5=0,K1=带宽 K2=负载 K3=延迟 K4=可靠性 K5=MTU
-
向对方单播发送update报文
-
-
Update:用于发送EIGRP 的路由更新信息 Destination 224.0.0.10 ,当只有一个peer需要更新时为单播
-
update报文不携带路由信息,其中flag,init位置位,触发RTP,等待对方的确认
-
双方都收到init之后,才进行路由信息的传递
-
最后一条传完,End Of Table置位
-
-
Query:用于向邻居发出路由的查询信息 Destination 224.0.0.10
-
Reply:用于响应路由信息查询(Unicast)
-
ACK:用于EIGRP的可靠传输的确认,是对2,3,4三种包的确认(unicast packet,对update,query,reply进行确认)
-
SIA-Query:用于避免SIA超时,导致邻居关系重置
-
SIA-Reply:用于避免SIA超时,导致邻居关系重置
3. 报文格式
-
version:版本 8bit 一直是版本2
-
OPcode:操作码 8bit 表示报文分组类型
-
Checksum:校验和 16bit 计算除了IP头部以外的整个EIGRP数据包
-
Flags:标记 32bit
-
Sequence:序列号 32bit 用于RTP
-
ACK:确认序列号 32bit
-
Autonomous System Number:自治系统号 32bit
-
TLV: Type / Length / Value 32bit
对于我们研究的IP范畴来说,TLV主要是携带的是一些 路由条目,以及路由的度量信息,下一跳,前缀 长度(掩码),源路由器(产生外部路由的router-id,仅对外部引入的路由使用),源自治系统,外 部协议度量,外部协议ID(从哪个协议引入进来的)
4. 日志报错
*Apr 10 13:21:38.656: %DUAL-6-NBRINFO: EIGRP-IPv4 90: Neighbor 150.1.1.5 (Ethernet0/2) is blocked: not on common subnet (15.1.1.1/24) //因为双方不在同一IP子网中,无法建立邻居
*Apr 10 13:14:33.507: %DUAL-5-NBRCHANGE: EIGRP-IPv4 90: Neighbor 15.1.1.1 (Ethernet0/2) is down: K-value mismatch //因为度量值权重不一致,导致无法建立邻居
作业:
复现由于配置错误导致的EIGRP邻居无法建立
- AS号码不一致
- 度量值权重不一致
- 子网掩码不一致导致的故障(包括两边有邻居和一边有邻居)