细说 EIGRP 的 16 次重传的魅力

Updated on in 网络 with 494 views

我曾经系统地从 CCNA 学到了 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

Responses
取消