• EIGRP


    因为rip的收敛时间长  尤其是使用过程中   链路down掉    重收敛的时间比较长  所以在中到大型的园区网中很少用到rip协议 只有在很小的局域网中用到rip   因为收敛时间可能会稍微短一些

    所以在中大型的园区网内会用到EIGRP   路由选择协议   收敛速度最快    
     
    EIGRP   ----enhanced   internat  gateway routeing protocol    增强型的内部网关路由协议    思科私有协议   13年前只运行 在思科设备上  前身为IGRP  (仅为有类协议 当前都不支持 )     13年之后其他设备也可以支持    当前已经变为公有协议
          核心算法 dval     既不是距离矢量又不是链路状态    eigrp 使用平衡混合性协议    有些行为是距离矢量  有些行为 时链路状态  
     
     
    归类:1.范围来分  ---igp 内部协议        金融网  银行网   运行商内网等等  都属于大型的内网
      默认为100跳    可以修改到256跳  
    2.核心算法分类  a   距离矢量协议    例如  rip
       b  链路状态协议   稍微高级一些  不发送路由表中的路由信息
    ·   可以传递lsa  ( 链路状态信息   接口  网段等等链路通告) 泛洪的形式     
    lsa放在lsdb的链路状态数据库中     
    spf   最短路径算法    提取最优路径信息   加入路由表
    链路状态协议都有三张表   eigrp与ospf都有
    a 邻居表    建立邻居用hello报文  lsa
    b 链路状态数据库(拓扑表)       包含邻居传过来的路由信息   放置lsa信息   链路如何连接的信息
    c 路由表     根据b拓扑表进行扩散更新计算 去往目的地有哪些路径 并且提取最优路径计算 生成路由表
     
    EIGRP不发送拓扑信息     仍旧发送路由条目信息   一个高级的距离矢量协议  b拓扑表可以用来做优化用来路由备份(只有在eigrp中才有)  一 旦最优的路由条目down掉  可以在拓扑表中以最短的时间计算出两外一条路由   ms级别    
       3.无类协议
    a与ripv2的相同点
     需要关闭自动汇总的功能    no auto-summary
     精确汇总    手工汇总
    b与ripv2的不同点
    eigrp支持路由聚合-----高级的路由汇总
    路由聚合与路由汇总的区别
    路由汇总:172.16.0.0/24     与172.16.1.0/24   汇总成一条172.16.0.0/23    同样是子网
    此为主b类网段    掩码长度为16位   汇总后的掩码长度大于或者等于16   都称为路由汇总
    路由聚合:192.168.0.0/24与192.168.1.0/24   聚合成一条192.168.0.0/23
    此为主c类网段 掩码长度为24为    聚合后的结果为23   小余24     所以称为路由聚合
    192.168.0.0/23又叫做超网  super net
      支持路由聚合就支持   就支持 CIDR   无类域间路由        通过汇总或聚合的方式减少internet骨干路由条 目的数量   ripv2是特例   并不支持路由聚合   即不会存在超网路由
     
    EIGRP 特性
    a 高级的距离矢量协议     advanced distance vector
    b rapid covergence    快速的收敛
    c 无类路由    没有环路
    d 配置简单   类似与rip
    rip封装:layer2 报头|ip|udp|rip|fcs|    格式        ripv2   组播地址224.0.0.9
    eigrp封装:layer2 报头|ip|eigrp|fcs|    格式     少了udp信息   只封装了两次     叫做跃层封装   
    ip中有一个protocol字段   描述上层协议字段   值用来描述直接用ip报文封装的程序的属性   协议号字段  88      组播地址 224.0.0.10    
    时间
    5s     带宽大于1.544m/bs  
    60s   带宽小于1.544m/bs  
    holdtime 保活时间-是hello报文发送周期的3倍
    e    增量更新    incremental updates
    路由更新报文
    rip周期性发送路由更新报文
    eigrp发送更新报文有两种情况:   增量更新
    a    建立邻接关系   发送初始的路由更新报文   包含能发送的一切路由     即初始收敛
    b 当拓扑变更   链路崩溃   路由器down等影响到路由条目时候   会发生路由重新收敛     才会再次发送路 由条目的更新报文
    f    load balancing across equal-and unequal-cost pathways   支持等价负载均衡和非等价负载均衡
    ecmp   等价多路径    多条不相同的路径   管理距离和度量值一样     
    uecmp    unequal cost multiple pathways   到某网段的多条不同路径 管理距离或者度量值不一样  均可以被加入到 路由表中   只是度量值较低的路由使用频率会更高
    默认情况下    只支持ecmp      如果想支持uecmp 需要设置一个variance 的值   值为1 仅支持ecmp    值为1-128中 的任何一个值可以支持uecmp
    g  flexible network design   灵活的网络设计
    h multicast and unicast instead of broadcast addrss     组播 单播替代广播
    i support for VLSM and discontiguous subnets  支持VLSM和不连续子网     所有无类的路由选择协议均支持
    j manual summarization at any point in the internetwork     手动汇总    需要关闭自动汇总   
    k support for multiple network layer protocols    支持不同网络协议栈 tcp/ip  appletalk   ipx/spx等等 可以同时运行多 个eigrp的进程  互相不影响     MPLS VPN 需要用到此种技术    
     
     
     
    EIGRP    细节
    1.表
    a 邻居表   ip eigrp neighbor table         建立邻居之后发送routing table中的路由条目(最优的)到topologytable
    内容  next-hop router    |     interface 
    b 拓扑表 topology table 比路由表多fd可行距离和ad通告距离两项内容   每条路由条目都携带这两个参数       相同目的地的多条路由有好有坏(由dual算法来计算)   有最优的和可备份的    其他的比较次的路由会被 协议给隐藏     将最优的路由条目放到routing table中        同时维护一个备份的路由
    内容 destination1|       
    c 路由表     仅仅是最优路由条目   routing  table
    内容 destination1|       
     
     
    2.建立邻居    (排错注意事项)   满足的条件
    a     相同的AS号  表明自己路由器属于哪个AS组    association
         b 相同的k值  衡量路径的优劣 k1-k5  默认值为  1  0  1  0  0    分别对应bandwidth 带宽   dely延迟      
     reliability可靠性      load负载           mtu最大传输单位
    即默认情况下 计算路径好坏只计算带宽和可靠性
    也可以修改其他的k值
    c 相同的认证
    3.分组报文类型
    hello问候       update与rip报文一样    query查询 reply应答 ack确认   
     
    dual算法:涉及到查询和应答报文
    本地计算 和扩散更新计算  
    本地计算是路由切换时使用     最优路由切换到备份路由继续使用时就是本地计算
    扩散更新计算 :当一台路由器丢失了一条去往某网段的路由   同时并没有备份路由  此时需要进行此计算 询问邻居
    步骤:
    a 给邻居发送查询报文query   询问去往某网段怎么走    组播
    b 单播 邻居查询自己的路由表   如果有就单播给源路由器   告知有路由条目并发送此条目     如果没 有同样告 知没有此路由   即无论有没有路由条目都必须用发送reply应答报文
    如果邻居一直没发送reply报文    则会dual计算失败  会等待180s  如果还没有   则down掉与此邻居的 邻接关系       
     
    4.eigrp的重置邻居关系的三种方式:
    a 三倍的hello时间未收到hello
    b query报文发送后  180s内没有收到应答
    c 给对方发送了16份可靠传输报文重传    都没有收到ack应答
    根据eigrp报文的格式    由于是ip格式封装   并无可靠性可言     所以eigrp内部提供与tcp类似的可靠性的确认重 传机制     需要ack报文的确认报文应答    确认重传机制    支持最大的重传次数为16次
    上面五中报文中     hello报文    不需要确认重传机制   因为周期性发送
    更新报文 需要确认重传机制 不周期性发送
    查询报文 需要确认重传机制
    应答报文 需要确认重传机制
    5.ack与hello的区别  
    报文中都有一个ack位   如果置0   就是hello报文;如果置为1就是ack报文
    ack只能单播     而hello可以单播也可以组播
    6.EIGRP metrics    度量值计算    包括k1-k5的5个方面   取值为0-255
    带宽  延迟 负载 (默认1)                 可靠性(默认255)          最大传输带单元
    其中可靠性指的是报文发送成功率    丢包率    来评测   
    负载     链路带宽利用率       流量越多  负载越大        流量约少负载越小      选择负载越小的越好   路径越优
    负载和可靠性的值默认值 负载为1      可靠性为255      不会根据链路的状态而动态  改变        需要通过管理                                   命令来修改
    MTU一般不会出现在度量值的计算当中
    计算公式:k1-k5默认值为 10110
    默认:metric=bw+delay           
    delay=总延迟      10的-5次方为单位来表示    即10微s 为单位
    bw=10的7次方/BW    单位为kb/s
    metric=k1*bw+((k2*bw)/(256-load))+k3*delay
    if k5 !=0
    则Metric=metric*[k5/(reliablity+k4)];  最后再*256    一般不用mtu计算度量值
    实例:k1-k5如何取值
    a-------b------c   为完整的路径  
    负载为ab     ac两链路的最大值为完整路径的负载
    带宽为ab ac两链路中最小的的为完整路径的带宽
    延迟为ab ac两链路累加到一起 为完整路径的延迟
    mtu为ab ac两链路的最小值
    可靠性为ab ac的最小值
    默认情况下只用带宽和延迟来计算度量值
    接口的选择:统一的计算标准   基于控制层面路由流向所有入接口    提取所有入接口的所有带宽和延迟   带宽取 最小    延迟取和
    EIGRP Path Calculation     router c
     
    EIGRP - 骡子 - stupidmule@126 的博客
     
    a 上图中路由器c中有三张表分别是邻居表     拓扑表 最终路由表
    b 假设目的网段为d  c-a-d      和c-b-d   两条路由
    拓扑表中fd表示可行性度量值  fd最小的为最优路由 2000代表路由器 c通过a到达d     即cad的度量值 ad代表通告度量值 1000代表路由器a到达目的网段的度量值 ad的度量值
      同理 fd=2500为cbd的度量值
    ad=1500 为bd的度量值
      
    c 判断拓扑表中的路由能否成为备份路由的条件    FC 表示可行性条件专门用来选取备份路由
    此路由中的ad值需要小余最优路由的fd的值  才能成为备份路由
    在图中显示即bd的度量值小余cad的度量值   才能保证报文传递时距离目的地越来越近     否则如果bd大于cad表 示距 离目的地越来越远 有可能成为环路
    d 图中successor表示最优路由的下一跳路由器       又叫后继站
    feasible successor表示次优路径并且能够成为备份路由的下一跳路由器
     
     
    EIGRP Configuration   配置命令
    EIGRP - 骡子 - stupidmule@126 的博客
     
    a autonomous-system  进程号或者叫名字  12.4ios版本 取值范围1-65535   必须是阿拉伯数字
      15.xios版本 支持命名式的进程号    需要指定as号   两台邻居路由器as 号需要一致
    b 关闭自动汇总     no auto-summary
    c 支持两种宣告
    1.主类宣告     与rip v2类似   主类网络号
    2.精确宣告 利用通配符掩码方式    直接指定路由器的某个接口的ip地址    宣告进eigrp进程
     
     
     
     
    实例
    EIGRP - 骡子 - stupidmule@126 的博客
     
    1.需求
     r1-3为路由器   运行eigrp路由选择协议        r4   r5模拟pc机         r4获取r5dhcp服务器分配的ip地址
    r1地址  s1/0 12.1.1.1 255.255.255.0
    s1/1 13.1.1.1  255.255.255.0
    r2地址 f0/0 24.1.1.2  255.255.255.0
    s1/1 12.1.1.2 255.255.255.0
    r3地址 s1/0 13.1.1.3 255.255.255.0
    f0/1 35.1.1.3 255.255.255.0
    r5地址 f0/0 35.1.1.5 255.255.255.0
    2.命令
    a dhcp server设置
    r2#int fa 0/0
    #ip helper-address 35.1.1.5 中继
     
    r5#service dhcp
    #ip dhcp pool 24
    #network 24.1.1.0 255.255.255.0
    #default-router 24.1.1.2
    #dns-server 24.1.1.2
    #ip dhcp excluded-address 24.1.1.1 24.1.1.3
    #ip default-gateway 35.1.1.3

    b eigrp 设置   
    r2#router eigrp 90    90 为eigrp进程号  id号    一般用管理距离值
    #no auto-summary 取消自动汇总
    #eigrp router-id 2.2.2.2  路由器id   距离矢量协议中用不到   但是在链路状态协议中是重要的
    建立邻居时会用到
    #network 24.1.1.2 0.0.0.0    宣告接口   更精确
    #network 12.1.1.2 0.0.0.0 
     
    r1#router eigrp ccie
    #address-family ipv4 unicast autonomous-system 90
    地址簇    同一个进程支持多个协议    既可以支持v4又可以支持v6  也可以同时支多个不同的 网络
    #eigrp router-id 1.1.1.1  定义路由器id
    #network 12.1.1.1 0.0.0.0 宣告接口
    #network 13.1.1.1 0.0.0.0 
    #topology base    关闭自动汇总
    #no auto-summary
       
    #show run | section router eigrp    验证命令
     
    同时在ipv6上运行eigrp协议
    #address-family ipv6 unicast autonomous-system 90
     
     
     
     
    r3#router eigrp ccie
    #address-family ipv4 unicast autonomous-system 90
    #eigrp router-id 3.3.3.3
    #network 13.1.1.3 0.0.0.0
       #network 35.1.1.3 0.0.0.0
       #topology base
       #no auto-summary
     
     
    实例2        手工汇总
    EIGRP - 骡子 - stupidmule@126 的博客
    1.r4地址    192168.1.4    255.255.255.0
    r6地址 192.168.0.6    255.255.255.0
    r2地址 192.168.1.2    255.255.255.0   连接r4     作为r4的网关
    192.168.0.2    255.255.255.0 连接r6 作为r6的网关
    取消r5的dhcp服务器功能
    2.在r2的ser1/1接口   作手工汇总 
    #router eigrp 90
    #network 192.168.0.2 0.0.0.0宣告接口
    #network 192.168.1.2 0.0.0.0      之后在r1上验证路由表
     接口级别汇总   控制层面的路由流向的出接口
     
    r2#int ser1/1
    #ip summary-address eigrp 90 192.168.0.0 255.255.254.0      手工汇总的命令
    192.168.0.0/23   会出现在r1的路由表中   取代之前出现的两条路由 192.168.0.2和192.168.1.2
     
     
    3.认证    与ripv2类似  eigrp但是只支持密文认证
    r2#conf t
    #key chain r2
    #key 1
    #key-string  密钥值
    #int ser1/1
    #ip authentication key-chain eigrp 90 r2
    #ip authentication mod eeigrp 90 md5
     
     
    其中r1为15.x版本的ios所以 认证命令需要在eigrp进程中进行设置   新版本的eigrp
    r1#router eigrp ccie
    #address-family ipv4 unicast autonomous-system 90
    #af-interface serial 1/0 进入接口    在接口下进行认证
    #authentication key-chain r1
    #authentication mode md5
     
    实例3 修改路由度量值     dual重新计算最优路径
    EIGRP - 骡子 - stupidmule@126 的博客
       选路   要求修改度量值    使用r2-r1-r3-r5路径
    1.准备工作
    配置r2和r3新加入接口的ip地址
     r2  s1/0  23.1.1.2     255.255.255.0
    #router eigrp 90      进程号
    #network  23.1.1.2 0.0.0.0 宣告接口
    #
     
    r3   s1/1    23.1.1.3   255.255.255.0
    #router   eigrp    ccie    进入进程
    #address-family ipv4 unicast autonomous-system 90
     
    #network 23.1.1.3 0.0.0.0
     
    r2#show ip route eigrp   显示    35.1.1.0【90/2172416】   中括号中的数值为度量值
    2.计算路径的度量值
     
     
    上面的的2172416 计算的方法
    路径为r2-r3-r5 需要提取带宽和延迟值
      需要用到控制层面路由流向的入接口 r3的fa0/1 和 r2的serial1/0
    r3#show interface fa0/1 显示接口的具体信息可以看到
    BW 100000kb/s DLY 100 usec 一个是带宽 一个是延迟
    根据上面的值计算
    r2#BW  1544kb/s       DLY 20000 usec   
    计算得带宽得(10的7次方)/1544=6476    总带宽
    延迟得(20000+100)/10=2010
    (6476+2010)*256=2172416
    r2-r1-r3-r5的度量值就是在上面的度量值基础之上  多计算了r1的serial1/1接口的延迟
    所以为(6476+2010+2000)*256=2684416
     
    3.使用r1的路径    而不用直接走r3到r5
    修改度量值方式与rip一样    使用偏移列表
    a r2#access-list 10 permit  35.1.1.0
    #router  eigrp  90
    #offset-list 10 in 600000 serial 1/0  
    #end
    #clear ip route *
     
    验证#show ip route eigrp
    显示路由经过r1    度量值为2684416为最优路由条目
    b 声明被动接口
    r2#router eigrp 90
       #passive-interface fastethernet 0/0
       #passive-interface fastethernet 0/1
     
    验证:show ip protocol   可以查看哪些接口是被动接口   也可看到v值   非等价负载开关
    c 非等价负载均衡
    EIGRP - 骡子 - stupidmule@126 的博客
     
    条件一:(最优路径的fd)*v值》=(次优路径的fd)        但是由于度量值不同  所以负载不一样  一个大一个小
    条件二:次优路径的ad必须要小余最优路径的fd
    同时满足以上两个条件   此次优路径就可以加入路由表   与最优路由一起负载均衡   
    设置v值命令
    r2#router eigrp 90
    #variance 2     设为2
     
    排错命令
    a show run | section router eigrp    查看eigrp全局的配置命令
    b  show ip route eigrp   查看是否有目标路由条目      看是否有过滤
    c 1.查看是否有邻居 show ip eigrp neighbors     查看as号是否一致
    2.查看宣告接口    是否有报文在排队   show ip eigrp interfaces     
    3.查看k值 router eigrp  90
    metric weights 0 1 0 1 0 0   其中第一个0代表 tos值   只能为0  其余一次为k1-k5
    4.查看秘钥是否启用 并且一致
  • 相关阅读:
    c++学习笔记—二叉树基本操作的实现
    c++学习笔记—单链表基本操作的实现
    c++学习笔记—c++对txt文件的读取与写入
    c++学习笔记—动态内存与智能指针浅析
    c++学习笔记——个单词转换的map程序详解
    获取JAVA[WEB]项目相关路径的几种方法
    Oracle数据库体系结构及创建表结构
    锋利的jQuery学习总结
    SQL调优常用方法
    Oracle行转列操作
  • 原文地址:https://www.cnblogs.com/dongguolei/p/7902645.html
Copyright © 2020-2023  润新知