细说EIGRP的16次重传的魅力

Updated on in 网络 with 0 views and 0 comments

本人是一个网络技术爱好者,曾经系统的学过CCNP和CCIE(思科的网络专家认证),学习过程比较枯燥,但也不乏也有有趣的网络实验。这里要提到的一个就是EIGRP的一个实验,说他有趣主要是因为这是我在学习CCNP第一节课时候做的实验,记忆比较深刻(毕竟第一节课得好好听)。

话不多说,咋们直入主题:


EIGRP知识点

  • 基本概念:EIGRP是思科的私有路由协议,拥有高级距离矢量和链路状态两种协议特征,所以也称为混合路由协议。
  • 特点:
    1. EIGRP没有传输层封装,在IP包头当中使用协议号: 88
    2. 内部EIGRP管理距离: 90,外部的EIGRP管理距离: 170,手工汇总EIGRP管理距离: 5
    3. EIGRP采用组播更新方式,组播地址: 224.0.0.10
    4. 支持等价和非等价的负载均衡
    5. 百分百无环路由协议——距离矢量防环机制(水平分割),DUAL算法
    6. 收敛速度快
  • 术语:
    1. AD: 通告距离——邻居路由器去往目标网段的metric
    2. FD: 可行性距离——本地路由器去往目标网段的metric
    3. FC: 可行性条件——AD<FD(去往一个目标网段,所有邻居的AD值必须要小于本地拓扑,表中最小的FD值)
    4. FS: 可行性后继——所有满足AD<FD的邻居,都会成为本地可行性后继
    5. S: 后继——在所有的FS当中找出拥有最小FD值的路由器成为S,S一旦出问题, FS会立刻成为新的S
  • 数据表类型:
    1. hello: 以组播的方式发送,用于发现邻居路由器,并维持邻居关系
    2. update: 当路由器收到某个邻居路由器的第一个hello包时,以单点传送方式回送一个包含它所知道的路由信息的更新包。当路由信息发生变化时,以组播的方式发送一个只包含变化信息的更新包
    3. query: 当一条链路失效,路由器重新进行路由计算但在拓扑表中没有可行的后继路由时,路由器就以组播的方式向它的邻居发送一个查询包,以询问它们是否有一条到目的地的可行后继路由
    4. reply: 以单点的方式回传给查询方,对查询数据包进行应答
    5. ack: 以单点的方式传送,用来确认更新、查询、答复数据包,以确保更新、查询、答复传输的可靠性

EIGRP配置

前面整理了一些知识点是为了下面更好的实验,EIGRP的配置和普通的路由协议如OSPF、RIP的配置类似,不无不同。

  • 拓扑结构如下:为两个路由器配置接口IP并分别配置一个环回口地址
    image.png

  • R1配置:

R1(config)#interface f0/0
R1(config-if)#ip address 12.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#interface loopback 0
R1(config-if)#ip address 1.1.1.1 255.255.255.0
R1(config-if)#exit
R1(config)#router eigrp 100
R1(config-router)#network 12.1.1.0
R1(config-router)#network 1.1.1.0
R1(config-router)#no auto-summary
  • R2配置:
R2(config)#interface f0/0
R2(config-if)#ip address 12.1.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#interface loopback 0
R2(config-if)#ip address 2.2.2.2 255.255.255.0
R2(config-if)#exit
R2(config)#router eigrp 100
R2(config-router)#network 12.1.2.0
R2(config-router)#network 2.2.2.0
R2(config-router)#no auto-summary
  • 路由测试
    image.png

16次重传实验

当向邻居发送了需要确认的数据包,但没有收到来自于邻居的ACK时,路由器会将同样的数据包重新传递给邻居16次,16次后重新建立邻居关系。

在R1配置一条ACL放行EIRGP的hello包,拒绝其他数据包;在R2打开EIRGP的数据包调试

  • R1配置
R1(config)#access-list 100 permit ip any 224.0.0.10 0.0.0.0
R1(config)#interface f0/0
R1(config-if)#ip access-group 100 in
  • R2配置
R2#debug eigrp packets retry
  • 结果验证
    image.png
    image.png

十六次重传有着他独特的魅力,以至于后面我在开发的过程中很多循环的程序如果需要重载,也是用十六次重传机制来做。


标题:细说EIGRP的16次重传的魅力
作者:Jeffrey