zoukankan      html  css  js  c++  java
  • CISCO学习笔记整理之-EIGRP

     <EIGRP(Enhanced Interior Gateway Routing Protocol )>

    ·EIGRP是Cisco私有的路由协议,采用DUAL(扩散更新算法)(弥散更新算法)。
    ·EIGRP属于IGP,是Hybrid协议,基于IP Pro 88。
    ·支持等价/不等价的负载均衡。
    ·支持VLSM,手工汇总。
    ·支持多种网络协议(IP/IPX)。
    eigrp的组播地址:224.0.0.10

    EIGRP为各种协议都维护的3张表:
    1)Neighbor Table:
     确保直接邻居之间能够双向通信。
    2)Topology Table:
     拓扑表中存放着前往目标地址的所有路由。
    3)Routing Table:
     从拓扑表中选择到达目标地址的最佳路由放入路由表。

    DUAL算法:
    AD(通告距离)--邻居通告的到达目的的Metric,邻居到达目标网络
    FD(可行距离)--本路由器到达目的的Metric,自己达到目标网络
    successor(继任者)--具有最优Metric值的路由
    Feasible successor--符合条件的后备路由  AD<FD

    成为Feasible Successor的条件:
     FD of Best Route > AD of Second best Route
        (Successor)

    EIGRP的Metric值计算:

    EIGRP Metric = 256 * (IGRP Metric)    (256=8bit)

    K1=带宽bandwidth(源和目的之间的最小带宽)     1
    K2=负载loading(源和目的之间的最大负载 )                   0
    K3=延迟delay(源和目的之间的延迟总和)              1
    K4=可靠性reliability(源和目的之间的最低可靠性)        0
    K5=MTU(源和目的之间的最小MTU)                  0

    延迟是取路由来的方向的入接口的延迟总和,环回口也有延迟
    EIGRP Metric = 256*(107/BW+DLY/10)
       [BW(min) KB/ DL (sum)] 路由入方向接口的延迟之和

    Interface  BW(kbps)  DLY(μsec)
    Ethernet   10000    1000
    Serial      1544      20000
    Loopback   8000000   5000

    RTP(Reliable Transport Protocol)
    用来管理EIGRP报文的发送和接收,实现可靠传输。

    Hello:用于邻居的发现和恢复。(Multicast)发现邻居、建立邻居、维持邻居
    Update:传递路由更新,仅包含需要的路由条目,当为指定的一台路由器发更新时使用Unicast(P-TO-P) ,当为多台路由器发更新时使用Multicast.(MA)
    Query:当找不到Feasible Successor时,发送查询报文(Multicast)
    Reply:回应查询报文。(Unicast)
    ACK:用来确认Update/Query/Reply (Unicast)向邻居连发16次,如果没有回复,重置邻居

    Reliable packets :Update/Query/Reply
    Unreliable packets :Hello/ACK

    ·Hello Address = 224.0.0.10
    ·要形成邻居关系,双方K Value & AS Num &authentication都必须一致。

    ·Hello Timer
     5S:≥T1  (1.544Mbps)
     60S:<T1

    ·Hold Timer = 3 * Hello Timer

    ·即使双方的Hello Timer & Hold Timer不一致,也可形成邻居关系。但有可能出问题。

    ·SRTT(Smooth Round-Trip Time):
     从发送3种可靠包,到对方回应ACK的时间。(ms)

    ·RTO(Retransmission TimeOut):
     重传超时的定时器。

    ·Queue count  队列数 还在排队的报文数

    ·针对3种可靠包最大重传16次,如果16次还没ACK,则重置邻居关系。


    <EIGRP>

    R2(config)#router eigrp 90
    R2(config-router)#network 12.1.1.0 0.0.0.255
    R2(config-router)#network 2.2.0.0 255.255.0.0 (正/反掩码皆可)


    R2#show ip protocols
    R2#show ip eigrp interfaces

    R1#show ip eigrp neighbors
    R1#show ip eigrp traffic
    R1#show ip eigrp topology  只能显示successor和feasible successor
    R1#show ip eigrp topology all-links 可显示拓扑表中的所有条目

    测试不同AS NUM能不能建起邻居。
    测试Hello/Hold Timer不一致能不能建起邻居。

    ·修改Hello/Hold Timer

    R1(config-if)#ip hello-interval eigrp 90 60
    R1(config-if)#ip hold-time eigrp 90 180
    HOLDTIME是给邻居用的,不是给自己设置的

    ·修改K值

    R3(config)#router eigrp 90
    R3(config-router)#metric weights 0 1 1 1 0 0
    K值不一样不能建立邻居关系

    -------------------------------------------------------------------------------------
    自动汇总

    EIGRP在默认auto-summary时,跨越不同网络边界时,还是会汇总成主类。

    所以:R1(config-router)#no auto-summary

    ·Eigrp在auto-summary有如下特点:
     1)D  2.0.0.0/8 is a summary, 00:02:30, Null0
       (本地汇总成主类指向Null0)
         指向NULL0的路由是一个防环的机制

     2)仅将本地的路由汇总成主类,对于收到的路由不做汇总,然后发出。

    show ip route 172.16.0.0 255.255.0.0  可以看到汇总路由的管理距离

    <手工汇总>

    R2(config-if)#ip summary-address eigrp 90 20.1.4.0 255.255.252.0
       (在路由流向的出接口作)

    本地会产生:D   20.1.4.0/22 is a summary, 00:00:02, Null0

    1、本地必须有明细路由,才会从做汇总的接口发出汇总路由。

    2、直到明细的最后一条路由消失,汇总才会消失。

    3、汇总路由的metric值会取最小的metric值

    EIGRP汇总路由的AD值是5

    EIGRP只会对本地路由进行汇总,不会对过路的路由汇总

    <等价负载均衡>

    ·EIGRP默认支持4条负载均衡,最大支持6条。

    R1#show ip protocols

    R1(config)#router eigrp 90
    R1(config-router)#maximum-paths 6(最多6条)

    如何通过修改Metric值来实现负载均衡:
    <计算EIGRP Metric>

    ·在路由流向的入口改。

    ·改延迟时,如果想把延迟改成2000usec,不建议修改带宽
      则要R3(config-if)#delay 200 (/10)  输入的值默认会*10

    R3(E0): delay 20000

    <偏移列表>
    用这个玩意将不同路由的metric值改为一样,用来实现负载均衡
    R3(config)#access-list 1 permit 1.1.1.0 0.0.0.0  ACL卡路由的时候其实不用打后面的0.0.0.0

    R3(config-router)#offset-list 1 in 3 Serial 1 本命令只能在原有基础上增加metric值
                  (原有Metric + 3)

    R3(config-router)#offset-list 0 in 3 ethernet 0 从E0接口进来的所有路由的metric值都加3
                 (0代表所有网络)

    <不等价的负载均衡>

    R3(config-router)#variance 2 默认情况下EIGRP只支持等价的负载均衡(默认1)

    FS's FD < U*Successor's FD
    U值由自已决定(1-128)
    前提是这条路由必须要先成为Feasible successor ,否则不会被用来做负载均衡

    <EIGRP占用带宽>

    ·默认,EIGRP最多只占用接口的配置带宽的50%。
     如果没有使用Bandwidth设置带宽,则使用接口默认带宽。

    R1(config-if)#ip bandwidth-percent eigrp 90 200 本命令只能show run interface看
                     (BW * 200%)
    R1(config-if)#bandwidth 100 修改参考带宽
    ------------------------------------------------------------------------------------

    <EIGRP Authentication>仅支持MD5,不支持明文认证

    R2(config)#key chain R2 (本地有效)定义KEY库名为R2
    R2(config-keychain)#key 1(两端一致)定义KEY号为1
    R2(config-keychain-key)#key-string cisco  定义KEY值为cisco

    R2(config-if)#ip authentication key-chain eigrp 90 R2  指定使用哪个库
    R2(config-if)#ip authentication mode eigrp 90 md5  开启认证

    R1#show key chain
    R1#debug eigrp packet

    R2(config-keychain-key)#Accept-lifetime 04:00:00 jan 2006 infinite 定时接收
    R2(config-keychain-key)#Send-lifetime 04:00:00 jan 2006 04:01:00 jan 2006 定时发送
    R2(config-keychain-key)#Send-lifetime 04:00:00 jan 2006 duration 300  有效期300S
    -------------------------------------------------------------------------------------
    <Query>
    ·限制查询范围:
     1)Summary
     ·仅当路由表中有完全匹配的明细条目时,才会传播该查询。
      否则直接回应网络不可达。

     ·使用不同AS做双向重分布,是不能限制查询范围的。

     2)Stub
     ·一般把远程路由器配置成Stub路由器,并向所有邻居发送特殊信息告之,这样,邻居将不会向Stub发送查询。

    R3(config)#router ei 90
    R3(config-router)#eigrp stub (默认通告直连&汇总)
       (在config中会自动变成 eigrp stub connected summary )

    R3(config-router)#eigrp stub connected (只通告直连路由)
    R3(config-router)#eigrp stub summary (只通告汇总路由)
    R3(config-router)#eigrp stub redistributed (只通告重分布的路由)
    R3(config-router)#eigrp stub static (只通告静态路由)
    R3(config-router)#eigrp stub receive-only (只接收不通告)

    SIA(Stuck in Active)卡在活动状态
    路由器在三分钟内没有收到邻居的回应,就认为路由已进入SIA状态,这时会重置邻居关系.

    ·导致SIA的常见原因:
     1)查询范围太大
     2)路由器太忙无法回答查询。
     3)路由器之间的链路质量低劣,导致查询包丢失。
     4)某些单向链路失效。

    R1(config-router)#timers active-time [2|disable]
     (SIA计时器,默认是3分钟,超过3分钟就重置邻居关系,避免卡在活动状态)


    <被动接口>

    R1(config-router)#passive-interface loopback 0  必须在进程中

    不发送不接受任何报文。
    接口将不收发Hello包,但此接口还是被宣告进Eigrp。
    对于环回口来说其他路由器仍可收到这接口的路由。对于物理接口来说则根本无法建立邻居关系

    <水平分割>
    在帧中继的HUB的接口上要关闭EIGRP的水平分割,不然无法传路由
    Router(config-if)#no ip split-horizon eigrp 90

    <EIGRP最大hop数>

    默认情况下是100,最大可修改为255
    R1(config-router)#metric maximum-hops 255
    show ip protocol  可查看


    <EIGRP区域生成默认路由>

    1)Redistribute Static:

    R1(config)#ip route 0.0.0.0 0.0.0.0 serial 0
    R1(config)#router eigrp 90
    R1(config-router)#redistribute static
                   (默认是按静态路由出接口类型计算Metric)

    R1(config-router)#redistribute static metric 1544 100 255 1 1500

    EX*   0.0.0.0/0 [170/2707456]

    2)Network 0.0.0.0:

    R1(config)#ip route 0.0.0.0 0.0.0.0 serial 0(写下一跳不行,必须写接口)
    R1(config)#router eigrp 90
    R1(config-router)#network 0.0.0.0

    D*   0.0.0.0/0 [90/2707456]

    3)default-network:(基本不用)
    必须先把出接口宣告进EIGRP中,再用下面的命令
    R1(config)#ip default-network 192.12.1.0(写成主类)
    这样就可以把这条路由下发给其它的路由器

    注意:接口也必须是主类地址

  • 相关阅读:
    js原型链
    charles重放攻击2
    charles攻击重放测试网页
    js逆向基础知识
    js重放攻击
    js逆向之 中间人攻击-js注入
    修改jadx默认内存
    frida-ida hook操作
    关于ios 9系统完全越狱frida安装不上的的问题
    IDA 静态调试和动态调试
  • 原文地址:https://www.cnblogs.com/laixufie2046/p/8647423.html
Copyright © 2011-2022 走看看