雏鹰部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1769|回复: 5

[讨论/求助] 帧中继下EIGRP邻接关系建立

[复制链接]
发表于 2012-12-6 16:43:47 | 显示全部楼层 |阅读模式
本帖最后由 Roye2012 于 2012-12-6 16:48 编辑

最近在SPOTO开始了CCNP课程的学习,遇到以下一个问题,希望大大们帮忙解答下:
拓扑:帧中继下Hub and Spoke网络结构,运行EIGRP动态路由协议,R1的S0/1关闭水平分割。



【步骤一】取消帧中继动态映射,手动配置帧中继静态映射,如下:
R1(config)#int s0/1
R1(config-if)#no frame-relay inverse-arp
R1(config-if)#frame-relay map ip 172.16.123.1 102 broadcast
R1(config-if)#frame-relay map ip 172.16.123.2 102 broadcast
R1(config-if)#frame-relay map ip 172.16.123.3 103 broadcast

R2(config)#int s0/2
R2(config-if)#no frame-relay inverse-arp
R2(config-if)#frame-relay map ip 172.16.123.1 201 broadcast
R2(config-if)#frame-relay map ip 172.16.123.3 201 broadcast
R2(config-if)#frame-relay map ip 172.16.123.2 201 broadcast

R3(config)#int s0/3
R3(config-if)#no frame-relay inverse-arp
R3(config-if)#frame-relay map ip 172.16.123.1 301 broadcast
R3(config-if)#frame-relay map ip 172.16.123.2 301 broadcast
R3(config-if)#frame-relay map ip 172.16.123.3 301 broadcast

结果:此时EIGRP中,R1和R2、R1和R3建立邻接关系。

【步骤二】在步骤一基础上取消所有静态映射条目的broadcast参数

结果:此时EIGRP中,R1、R2、R3之间互相无法建立邻接关系。

【步骤三】在步骤二基础上手动指Neighbor,如下:
R1(config)#router eigrp 100
R1(config-router)#neighbor 172.16.123.2 s0/1
R1(config-router)#neighbor 172.16.123.3 s0/1

R2(config)#router eigrp 100
R2(config-router)#neighbor 172.16.123.1 s0/2

R3(config)#router eigrp 100
R3(config-router)#neighbor 172.16.123.1 s0/3

结果:此时EIGRP中,R1R2R1R3建立邻接关系,结果同步骤一。

【步骤四】在步骤三基础上在R2R3上手动互指Neighbor,如下:
R2(config)#router eigrp 100
R2(config-router)#neighbor 172.16.123.3 s0/2

R3(config)#router eigrp 100
R3(config-router)#neighbor 172.16.123.2 s0/3

结果:此时EIGRP中,R1R2R1R3R2和R3之间建立邻接关系。

【步骤五】回到步骤一的状态,手动在R2R3上互指Neighbor,如下:
R2(config)#router eigrp 100
R2(config-router)#neighbor 172.16.123.3 s0/2

R3(config)#router eigrp 100
R3(config-router)#neighbor 172.16.123.2 s0/3

结果:此时EIGRP中,R1不和任何路由器建立邻接关系,R2R3建立邻接关系,R1学习不到EIGRP路由条目。

疑问:步骤五的结果产生的原因??

本帖子中包含更多资源

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

x
发表于 2012-12-6 16:59:56 | 显示全部楼层
eigrp的neighbor命令,与OSPF及RIP都不太相同,
在EIGRP如果使用了neighbor命令,就有点单播更新的意思,并且该路由器EIGRP进程将忽略组播的hello包
因此,如果在某台路由器上的 EIGRP进程中,使用neighbor指一个邻居,在对方那,也需要neighbor指回来,否则对方将一直发组播的hello,而本地却一个劲忽略这些组播报,邻居自然是建立不起来的,

排错的过程很简单,楼主可以在R2上debug一下eigrp packets,即可看到现象,解决的办法,你懂的 :)

楼主独立思考和深入探究的能动性非常强,赞一个,好样的。

点评

叔,你太速度了。。。。。。  发表于 2012-12-6 17:47
发表于 2012-12-6 17:17:03 | 显示全部楼层
楼主有这份探索精神,大可继续坚持,并且积累起自己的知识库,做个笔记本模板,把自己的实验结果、所学的知识全部记录和积累下来,就像这样:



“在完成基本的eigrp配置后,R1、R2、R3都能发现并建立EIGRP邻居关系,这时,如果在R2上的EIGRP进程中,neighbor 1.1.1.3,那么R2将忽略任何组播的EIGRP hello包,包括R3发来的组播HELLO,并且开始向R3发送单播的hello包,而单播的hello包,也被R3所忽略,因此R2将无法与任何邻居建立EIGRP邻接关系,
那么如果在R3上也添加neighbor 1.1.1.2,R2、R3就建立起了EIGRP邻接关系,但是R1就跟谁也建不了 :)”

这是我在看到楼主的问题后,在我的EIGRP笔记中搜索到的,之前做过的测试。
楼主加油。

本帖子中包含更多资源

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

x
发表于 2012-12-6 17:46:30 | 显示全部楼层
撸主,您好:
               对你的问题我敲了一下实验,开了一下debug 和 抓包。
R1上的debug
R1#debug eigrp packets
EIGRP Packets debugging is on
    (**, REQUEST, QUERY, REPLY, HELLO, IPXSAP, PROBE, ACK, STUB, SIAQUERY, SIAREPLY)
R1#
*Mar  1 00:08:55.827: EIGRP: Sending HELLO on Serial0/0
*Mar  1 00:08:55.827:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
R1#
*Mar  1 00:09:00.687: EIGRP: Received HELLO on Serial0/0 nbr 172.16.123.3
*Mar  1 00:09:00.687:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
R1#
*Mar  1 00:09:08.479: EIGRP: Received HELLO on Serial0/0 nbr 172.16.123.2
*Mar  1 00:09:08.483:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
*Mar  1 00:09:08.483:        Inteface goodbye received
R1#
*Mar  1 00:09:08.483: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 172.16.123.2 (Serial0/0) is down: Interface Goodbye received   //收到R2的 goodbye消息 当然断开连接
*Mar  1 00:13:35.419: EIGRP: Sending HELLO on Serial0/0
*Mar  1 00:13:35.419:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
R1#
*Mar  1 00:14:28.959: EIGRP: Sending HELLO on Serial0/0
*Mar  1 00:14:28.959:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
R1#
*Mar  1 00:15:27.307: EIGRP: Sending HELLO on Serial0/0
*Mar  1 00:15:27.307:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0

我们看到,R1同学还是一直在坚持不懈的发送HELLO包。而且是以组播的形式发送滴。


当然,你会看到经过R1端口发送的还有下面这些包


R2、R3之间发送的HELLO包,都经过R1的接口发送(这是因为你FR的配置导致的)

R3#debug eigrp packets
EIGRP Packets debugging is on
    (**, REQUEST, QUERY, REPLY, HELLO, IPXSAP, PROBE, ACK, STUB, SIAQUERY, SIAREPLY)
R3#
*Mar  1 00:32:39.651: EIGRP: Received HELLO on Serial0/0 nbr 172.16.123.2
*Mar  1 00:32:39.655:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
R3#
*Mar  1 00:32:48.103: EIGRP: Sending HELLO on Serial0/0 nbr 172.16.123.2
*Mar  1 00:32:48.103:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
R3#
*Mar  1 00:33:10.003: EIGRP: Received HELLO on Serial0/0 nbr 172.16.123.1
*Mar  1 00:33:10.007:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0
*Mar  1 00:33:10.007: EIGRP: Ignore multicast Hello Serial0/0 172.16.123.1
R3上的debug我们看到,有收到R1组播发送的HELLO包,但是呢, Ignore multicast Hello Serial0/0 172.16.123.1(忽略172.16.123.1发送的组播HEELO包)。

这是因为neighbor 172.16.123.2 Serial0/0敲上之后,EIGRP的所有包都将以单播的方式发送,并且不对EIGRP的组播包做回应。


本帖子中包含更多资源

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

x

点评

tea
大爷好详细!  发表于 2012-12-6 18:34
 楼主| 发表于 2012-12-6 23:49:36 | 显示全部楼层
楼上两位真厉害啊,我明白了,谢谢~
感恩!
发表于 2012-12-10 10:09:48 | 显示全部楼层
一句话,如果协议需要在接口上发组播,那么二层上要有关键词 broadcast,如果接口是非广播,那么要手工指邻居。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-24 00:03 , Processed in 0.091928 second(s), 24 queries , Gzip On.

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