EIGRP的邻居TS

EIGRP双方必须满足以下条件,才能建立邻居:

1.双方在相同AS;

2.双方Hello包正常(接口不能为passive-interface);

3.双方接口Primary地址在同网段;

4.双方K值相同。

5.地址必须要在同一个网段(EIGRP也存在源检查),点到点网络中如果使用地址借用(无符号地址)没有源检查。

6.如果单播建立邻居,必须两端同时配置为单播,进程下neighbor 21.1.1.1 serial 1/0,配置单播邻居关系,需要指定对方邻居的接口地址。

7.若启用认证,双方必须一致(双方都启用验证、key-id和key-string双方一致,但是接口的holdtime和hellotime无需一致)

验证1、在主地址下通告(双方接口Primary地址在同网段)

在R3和R4上配置:

R3:

R3(config)#int e0/0

R3(config-if)#ip address 34.1.1.3 255.255.255.0

R3(config-if)#ip address 100.1.1.3 255.255.255.0 secondary

R3(config-if)#exi

R3(config)#router ei 90

R3(config-router)#network 100.1.1.3 0.0.0.0

R3(config-router)#network 33.1.1.1 0.0.0.0

R4:

R4(config)#router eigrp 90

R4(config-router)#network 34.1.1.4 0.0.0.0

分别看R3和R4的show ip eigrp neighbor,发现两台设备建立了邻居关系:

由于是在R3上宣告的辅助地址段,所以要验证,需在R4上开启debug eigrp packets hello:

发现即使R3宣告的是辅助地址,但是hello包的发包接口地址仍是主地址34.1.1.3,而R4的发包地址是正常的34.1.1.4,这两个地址在同一网段,能够建立邻居关系。

但是在大部分版本的IOS上,宣告辅助地址是建不了邻居的。部署EIGRP时一定遵循“双方接口Primary地址在同网段”这一原则。

验证2、EIGRP的K值对建邻居的影响

EIGRP在计算metric时默认的K值为:k1=k3=1,k2=k4=k5=0

通过show ip protocols来查看本地的K值。

在进程中通过metric weights来修改K值:

第一个值务必为0,第二个值开始是K值。

验证场景:在已经建立好邻居关系的R3上修改K值,看报错log信息。

R3:

R3(config)#router ei 90

R3(config-router)#metric weights 0 1 2 3 4 5

立马报错,并断开邻居关系,同时该错误log信息不可关闭: