EIGRP详解

EIGRP特点

  • Enhanced Interior Gateway Routing Protocol,增强内部网关路由协议
  • 管理距离(AD):
    • EIGRP汇总路由:5
    • 内部EIGRP:90
    • 外部EIGRP:170
  • CISCO私有的增强型距离矢量路由协议
  • EIGRP协议包封装于IP报文后,协议号88
  • 采用弥散更新算法(DUAL)实现快速收敛
  • 使用多播(组播),多播地址:224.0.0.10
  • 能实现不等价的负载均衡

    EIGRP实验拓扑

    image.png

    配置

    1
    2
    3
    4
    5
    6
    IP地址配置,需要配环回接口,省略
    eigrp配置
    R4(config)#router eigrp 100
    R4(config-router)#network 4.0.0.0
    R4(config-router)#network 192.168.14.0
    R4(config-router)#network 192.168.34.0

    EIGRP的三张表

    IP EIGRP Neighbor table

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    R1#sh ip eigrp nei
    EIGRP-IPv4 Neighbors for AS(100)
    H Address Interface Hold Uptime SRTT RTO Q Seq
    (sec) (ms) Cnt Num
    1 192.168.14.4 Et0/1 12 00:04:47 5 100 0 8
    0 192.168.12.2 Et0/0 13 00:06:05 4 100 0 15
    R1#
    Address:邻居的IP地址
    Interface:接口
    Hold:是一个时长为15秒的计时器,每五秒收到邻居的hello会更新一次,如果超过15秒没有收到邻居的更新会认为邻居不在
    uptime:建立邻居的总时长
    SRTT:平均往返延迟
    RTO:规定一个时间,在超过这个时间还没有收到邻居的ACK包时,则会进行超时重传,当重传的次数达到16次时会重置邻居的关系
    Q:queue队列,没到达的数据包都会在队列中排队
    Seq:邻居发来的更新路由的包的数量

    IP EIGRP Topology table

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    R1#sho ip eigrp topology 
    EIGRP-IPv4 Topology Table for AS(100)/ID(1.1.1.1)
    Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
    r - reply Status, s - sia Status
    P 192.168.23.0/24, 1 successors, FD is 307200
    via 192.168.12.2 (307200/281600), Ethernet0/0
    P 192.168.34.0/24, 1 successors, FD is 307200
    via 192.168.14.4 (307200/281600), Ethernet0/1
    P 192.168.12.0/24, 1 successors, FD is 281600
    via Connected, Ethernet0/0
    P 2.2.2.0/24, 1 successors, FD is 409600
    via 192.168.12.2 (409600/128256), Ethernet0/0
    P 192.168.14.0/24, 1 successors, FD is 281600
    via Connected, Ethernet0/1
    P 3.3.3.0/24, 2 successors, FD is 435200
    via 192.168.12.2 (435200/409600), Ethernet0/0
    via 192.168.14.4 (435200/409600), Ethernet0/1
    P 1.1.1.0/24, 1 successors, FD is 128256
    via Connected, Loopback0
    P 4.4.4.0/24, 1 successors, FD is 409600
    via 192.168.14.4 (409600/128256), Ethernet0/1
    R1#sh interfaces e0/0
    Ethernet0/0 is up, line protocol is up
    Hardware is AmdP2, address is aabb.cc00.1000 (bia aabb.cc00.1000)
    Internet address is 192.168.12.1/24
    MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
    reliability 255/255, txload 1/255, rxload 1/255
    MTU :最大报文长度,默认未1500字节
    BW:带宽,单位默认为10000 Kbit/sec
    DLY:延迟,DLY 1000 usec
    reliability:可靠性 255/255
    负载:txload 1/255, rxload 1/255

    IP routing table

1
2
3
4
5
6
7
8
9
10
R1#sh ip route eigrp 
2.0.0.0/24 is subnetted, 1 subnets
D 2.2.2.0 [90/409600] via 192.168.12.2, 00:34:09, Ethernet0/0
3.0.0.0/24 is subnetted, 1 subnets
D 3.3.3.0 [90/435200] via 192.168.14.4, 00:20:12, Ethernet0/1
[90/435200] via 192.168.12.2, 00:20:12, Ethernet0/0
4.0.0.0/24 is subnetted, 1 subnets
D 4.4.4.0 [90/409600] via 192.168.14.4, 00:32:51, Ethernet0/1
D 192.168.23.0/24 [90/307200] via 192.168.12.2, 00:20:12, Ethernet0/0
D 192.168.34.0/24 [90/307200] via 192.168.14.4, 00:20:20, Ethernet0/1

度量值计算公式

image.png

名词解释

  • 后继路由器
    • 下一条路由器
  • 可行后继路由器(FS)
    • Feasible Successor
    • 后继路由器的备胎,当后继路由器挂掉之后,可行后继路由器会顶上
  • 可行距离(FD)
    • Feasible Fistance
    • 度量值,达到相关目的地的度量值
  • 通告距离(AD)
    • Advertised Distance
    • 下一条达到相关目的地的度量值
  • 可行条件,或称可行性条件(FC)
    • Feasible Condition
    • AD<FD

      EIGRP的管理距离

      eigrp汇总路由 5
      内部eigrp 90
      外部eigrp 170

      EIGRP的数据包

      数据包类型 解释
      数据包类型 解释
      hello包 用于建立和维护邻居关系以224.0.0.10的方式进行组播,无需确认以固定的时间间隔发送,受到带宽的影响,默认为每5秒发一次
      update包 在必要的时候发送必要的数据包,将路由信息传递给需要的路由器当只有单个路由器需要路由信息的时候使用单播,当有多个路由器需要路由信息的时候,使用多播需要确认
      query包 当路由信息丢失的时候会向邻居进行查询有时使用单播,有时使用多播需要确认
      reply包 响应查询数据包,使用单播和多播方式
      ACK包 需要确认的数据包都会受到ACK

      EIGRP的相关计时器

      计时器类型 解释
      hello 发送hello包时默认每5秒发一次
      hold 当hold计数器变为0时则将邻居视为down状态hold=3*hello
      active 当路由表中后继路由器的信息丢失(query包没有应答),90s后会向其他邻居查询(SIA查询),如果在规定的时间(1.5min)内邻居没有给出回应,会向邻居发送SIA查询,则会进入stuck in active状态默认为180秒

      EIGRP的工作细节

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      R1#sh ip protocols    
      *** IP Routing is NSF aware ***

      Routing Protocol is "application"
      Sending updates every 0 seconds
      Invalid after 0 seconds, hold down 0, flushed after 0
      Outgoing update filter list for all interfaces is not set
      Incoming update filter list for all interfaces is not set
      Maximum path: 32
      Routing for Networks:
      Routing Information Sources:
      Gateway Distance Last Update
      Distance: (default is 4)

      Routing Protocol is "eigrp 100"
      Outgoing update filter list for all interfaces is not set
      Incoming update filter list for all interfaces is not set
      Default networks flagged in outgoing updates
      Default networks accepted from incoming updates
      EIGRP-IPv4 Protocol for AS(100)
      Metric weight K1=1, K2=0, K3=1, K4=0, K5=0
      Soft SIA disabled
      NSF-aware route hold timer is 240
      Router-ID: 1.1.1.1
      Topology : 0 (base)
      Active Timer: 3 min
      Distance: internal 90 external 170
      Maximum path: 4
      Maximum hopcount 100
      Maximum metric variance 1

      Automatic Summarization: disabled
      Maximum path: 4
      Routing for Networks:
      1.0.0.0
      192.168.12.0
      192.168.14.0
      Routing Information Sources:
      Gateway Distance Last Update
      192.168.14.4 90 00:54:41
      192.168.12.2 90 00:54:41
      Distance: internal 90 external 170


      EIGRP-IPv4 Protocol for AS(100)
      Metric weight K1=1, K2=0, K3=1, K4=0, K5=0
      Soft SIA disabled
      NSF-aware route hold timer is 240
      Router-ID: 1.1.1.1
      Topology : 0 (base)
      Active Timer: 3 min
      Distance: internal 90 external 170
      Maximum path: 4
      Maximum hopcount 100
      Maximum metric variance 1

      EIGRP-IPv4 Protocol for AS(100) # AS 号

      Metric weight K1=1, K2=0, K3=1, K4=0, K5=0 # 默认的k1-k5值

      Soft SIA disabled

      NSF-aware route hold timer is 240

      Router-ID: 1.1.1.1 # 路由器的名称

      Topology : 0 (base)

      ​ Active Timer: 3 min # Active 计时器默认为180秒

      ​ Distance: internal 90 external 170 # 管理距离

      ​ Maximum path: 4 # 负载均衡的路的最大数量默认为4,最大可以设置为32

      ​ Maximum hopcount 100 # 跳数最大默认设置为100跳,最大可以设置为255跳

      ​ Maximum metric variance 1 # 当FD之间的比值小于指定值时都可以负载均衡

      ERGIP的查询机制

      主动状态

      当路由器数据库因某种原因发生变化(某条路由的后继路由器突然暴毙),那么路由器会针对变化了的路由进行可行后继条件(FC)的检查,如果存在可行后继(FS),那么就选可行后继中最好的成为目标网络的下一跳
      如果不存在FS,则会向所有邻居发出查询(query),并将该路由标记为Active,启动Active计时器
      如果某条路由长时间停留在Active状态,那么则称该路由陷入主动状态(Stuck In Active),如果计时器到达3min还未收齐所有邻居的应答(Reply),那么未应答的路由器将从邻居表剔除。

      拓展内容:SIA-Retransmit计时器

      https://wenku.baidu.com/view/7ef8af3483c4bb4cf7ecd15b.html

      导致路由进入SIA的常见原因

1.路由器太忙无法回答查询
2.路由器之间的链路质量低劣
3.单向链路

限制查询范围

  • 将远程路由器设置有末节EIGRP路由器
  • 中央-分支网络拓扑中,stub路由器将所有非本地数据流转发给hub路由器,而无需保存完整的路由表。
  • 对于hub路由器来说,不应将stub路由器做为中转路由器,禁止stub路由器将hub路由器通告给其他的hub。
  • stub路由器不会收到查询,与stub区域相连的hub路由器将代表末节路由器对查询做出应答。
  • 末节路由器时指:该路由器与网络核心相连,且不会被用来中转数据,末节路由器的EIGRP邻居全部都是中央路由器。

    解决办法

    将当前节点配置成末梢节点:eigrp stub
    接口的配置:Router(config-router)#passive-interface {type number} | default
    该命令用于将特定接口设置为被动状态;default关键字将所有路由器接口设置为被动状态
    禁止通过被动接口建立邻接关系
    禁止通过被动接口接收或发送路由更新
    让EIGRP进程通告被动接口连接的子网

    EIGRP的汇总路由

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    R1(config-router)#int e0/0
    R1(config-router)#no auto-summary # 关闭自动汇总
    R1(config-if)#ip summary-address eigrp 100 172.16.0.0 255.255.0.0 # 汇总路由
    R1(config-if)#ip summary-address eigrp 100 0.0.0.0 0.0.0.0 # 汇总默认路由

    R4#sh ip route
    成功查看到两条汇总路由
    ------------------------省略---------------------------
    D* 0.0.0.0/0 [90/460800] via 192.168.34.3, 00:03:49, Ethernet0/0
    D 172.16.0.0/16 [90/460800] via 192.168.34.3, 00:06:15, Ethernet0/0
    ------------------------省略---------------------------

    路由认证

    1
    2
    3
    4
    5
    6
    7
    8
    # 指定key-chain
    key chain cisco # 名称
    key 1 # ID
    key-string cisco # 约定的字符串
    # 使用在EIGRP中
    interface Ethernet0/0
    ip authentication mode eigrp 100 md5
    ip authentication key-chain eigrp 100 cisco

    负载均衡

    EIGRP在所有度量值相同的路由条目中进行等价负载均衡
    默认四条最大等价路径,路径最大可以设置为32跳
    非等价负载均衡是指当度量值不同的情况下可以进行负载均衡
    multiplier默认值为1,范围1~128
    1
    2
    3
    4
    5
    R4(config)#router eigrp 100
    R4(config-router)#maximum-paths 21 # 设置最大负载均衡路径条数
    R4(config-router)#variance 2 # 设置multiplier值
    4#sh ip protocols # 可以查看该值

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信