大家好,我是达叔。


说说EIGRP:

EIGRP是cisco公司开发的一个动态路由协议;

可以使用多种参数来度量网络可达性信息(路由),带宽、延迟、可靠性、负载、MTU,因此被称为高级距离矢量型动态路由协议。

咳咳,还是距离矢量。。。  高级的袄

优缺点就不说了,不然说缺点的时候篇幅会比较长 … …


研究案例如图:

两台路由器 R1和R2,通过以太网接口 E0/0 连接;

两台设备E0/0接口配置IP地址如图;

自治系统号码  90


image


首先向大家展示EIGRP邻居建立的过程,以及展示EIGRP建立邻居非常快的奥秘

事实上,我常说这是一个自来熟的协议,它自来熟到什么程度呢?就它接口一旦开启了EIGRP功能,就侦听链路上的EIGRP组播组  224.0.0.10的消息,一旦收到任何hello消息,就马上看一下,这符合不符合自己的择偶(邻居建立)条件,如果符合就立刻将收到的hello消息中的发送者列入本地的EIGRP邻居表,并且弹出log告诉管理员,我找到对象了;

其实它也没啥择偶条件,不要求有车有房,也就无非是 自治系统号码一致、IP能互通,认为对方在自己的IP子网里就可以啦;

等等,我们再把上面那段话看一遍袄,总结一下:

收到一个符合条件的hello,直接就把对方列入了自己的邻居列表,这是不是算暗恋?

我们营造一个场景哈,在R1的E0/0接口上部署一个ACL,使得它无法收到R2任何数据,验证一下,EIGRP是不是真的这么自来熟;


R1(config)#access-list 1 deny host 12.1.1.2   
R1(config)#access-list 1 permit any       
R1(config)#interface e0/0
R1(config-if)#ip access-group 1 in


验证:

R2#ping 12.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 12.1.1.1, timeout is 2 seconds:
U.U.U
Success rate is 0 percent (0/5)

现在已证实R2的报文R1已经拒绝啦

接下来配置EIGRP,同时打开抓包软件,在E0/0链路上抓取报文

R2(config)#router eigrp 90
R2(config-router)#network 12.1.1.2 0.0.0.0


R1(config)#router eigrp 90
R1(config-router)#network 12.1.1.1 0.0.0.0


R2#
*Aug 22 05:39:37.264: %DUAL-5-NBRCHANGE: EIGRP-IPv4 90: Neighbor 12.1.1.1 (Ethernet0/0) is up: new adjacency 

//当R1命令敲完之后很快我们就会在R2上看到这样一条LOG,R2建立了一个邻居关系


R2#show ip eigrp neighbors     //同时查看R2的EIGRP邻居也已经能够发现有了一个邻居哦
EIGRP-IPv4 Neighbors for AS(90)
H   Address                 Interface              Hold           Uptime     SRTT   RTO       Q       Seq
                                                                     (sec)                             (ms)                 Cnt    Num
0   12.1.1.1                Et0/0                        11             00:00:03     1      3000       1         0

//关注一下Q Cnt计数器,这里的计数器为 1 ,同时结合着抓取到的报文继续分析

image

抓包软件显示,R2在收取到了R1的hello报文之后,向R1单播发送了数次Update报文,Update报文由EIGRP的RTP机制负责,必须要收到对方的确认消息才可以进行DUAL的下一步(DUAL计算过程所有事件必须被一次一个的有序处理,大家还记得嘛?),因此在Q Cnt位置显示的计数就不奇怪啦,后面发送的这些单播的update报文内容都是一样的,只是第一个没有收到确认的update报文的重传拷贝而已。因为R1已经屏蔽了所有来自R2的报文


嗯哼,如果你喜欢数数的话,会发现,抓取到的报文中,update重新发送了16次之后,R2上弹出了如下log :

*Aug 22 05:42:18.909: %DUAL-5-NBRCHANGE: EIGRP-IPv4 90: Neighbor 12.1.1.1 (Ethernet0/0) is down: retry limit exceeded
R2#
*Aug 22 05:42:22.585: %DUAL-5-NBRCHANGE: EIGRP-IPv4 90: Neighbor 12.1.1.1 (Ethernet0/0) is up: new adjacency

是的,R2主动了十几次之后,实在是受不了R1的高冷,决定把情断了,但是由于内心自来熟是无法改变的事实,在收到下一个来自R1的hello之后,就又重复了上面的过程,啥过程呢?  是这样式儿的:

image


谢谢大家,我是达叔。

更多详细内容和精彩课程内容,敬请关注达叔。