EIGRP(Enhanced IGRP)
EIGRP的特点:
IGRP/EIGRP都是CISCO的私有协议.
1:是唯一的一种LS/DV的混合协议.
2:Rapid convergence
EIGRP拥有目前最快的网络路由收敛性.(依靠后备路由器/FS)
3.配置简单,能够支持中型到大型网络.
4:Incremental updates
增量/触发更新.
5:EIGRP可以支持等价/不等价的负载均衡,
默认是支持等价负载均衡,
可以通过调整Variance,来实现不等价的负载均衡.
EIGRP到达同一个目标网络,可以同时有4条路径(默认),最多6条.
6:EIGRP默认使用组播(224.0.0.10)进行路由更新.
也可以支持单播更新.
(IGRP:广播:225.255.255.255)
7:EIGRP可以支持VLSM,
支持汇总:默认有自动汇总/手工汇总.
EIGRP可以汇总到超网,CIDR
8:EIGRP可以支持多种网络协议:
IP/IPX/AT(AppleTalk)
EIGRP Packets
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1:Hello:用于建立/维护EIGRP邻居关系.
2:Update:更新包:发送路由更新信息.
3:Query:查询包:当路由器丢失了原有的路由后,会向邻居发送"查询请求".
4:Reply:当被查询路由器,收到"查询请求"后,将自己知道的路由信息回应给发起查询路由器.
5.Ack:用于对EIGRP的可靠传输报文的进行确认.
(其中2、3、4都是可靠传输报文,收到后要发送ACK进行确认,但ack自己本身不用确认)
EIGRP的Hello包:
~~~~~~~~~~~~~~~~~~~~
1:EIGRP路由器,向224.0.0.10,发送Hello包,同时也监听这个组播地址。
2:Hello包中,包含了EIGRP的K值,两个路由器的K值必需匹配,如果不匹配无法建立邻居。
(K值的默认值:K1=K3=1,K2=K4=K5=0)
3.Hello包中,包含了AS号,两个路由器的AS号必需相同,如果不相同,无法建立邻居。
(Autonomous-System/自治系统。)
4:两个建立EIGRP邻居关系的路由器的直链接口,其IP地址必需在同一个IP子网,否则无法建立邻居。
5.即使EIGRP的Hello/hold计时器不完全匹配,
只要自己Hello的间隔不超过对方的Hold间隔,邻居是可以建立的。
(但默认情况下,建议不要修改这两个计时器。)
EIGRP Timer(计时器):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hello Timer:
在大于T1链路,点对点链路上,默认5秒发送一次Hello包
在小于/等于T1的多点链路上,默认60秒发送一次Hello包.
Hold Timer:
Hold timer默认是Hello Timer的3倍,
如果Hold Timer所定义的时间内,收不到对方的Hello包,邻居关系就会Reset,即邻居会DOWN下去。
在本路由器上设置hello time和hold time是告诉邻居的!!也就是说在本路由器上设置的hello time和hold time是影响邻居的!!
只要在本路由器上设置的hello time 小于hold time,那么邻居还是可以建立起来的,而不管邻居的hello time是多少!!
EIGRP的可靠传输报文:
Update/Query/Reply,收到此包后,需要发送ACK进行确认。
EIGRP的非可靠传输报文:
Hello/Ack,收到此包后,不需要进行确认。
EIGRP Retransmission Policy/重传机制:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
稳定的网络:
如果Hold Timer所定义的时间内,收不到对方的HELLO包,邻居关系就会Reset
不稳定的网络:
EIGRP对于可靠传输报文,有必需的确认机制,
如果没有收到对方的确认,那么可靠传输包就会发生重传,极限是16次,
如果达到极限,都没有收到对方的确认,那么就RTO,Reset。
(RTO:Retransmission TimeOut.)
因为EIGRP的是windows size of one (stop-and-wait mechanism)
所以如果在对一组邻居,进行组播的路由更新时,
有个别路由器响应特别慢,
可能导致整个EIGRP网络的收敛效率低下.
解决方案是:
对正常的大部分路由器做组播更新,
对特别慢的路由器,单独进行单播更新.
EIGRP的3张表:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NO.1:EIGRP的邻居表:
本路由器的接口,所直接相连的EIGRP邻居的信息.
NO.2:EIGRP的拓扑表:(详细的拓扑表)
本路由器,从自己的邻居那里,得到去往特定目标网络的(一切)可能的路径,都承载/存在于拓扑表中.
NO.3:从EIGRP形成的路由表:
  是EIGRP路由器,从拓扑表中,择优将"去往特定目标网络开销最小的"路由,放入了路由表.
EIGRP和IGRP在AS号相同的情况下,可以实现自动重分布.
EIGRP的Metric值是IGRP的256倍.
EIGRP的DUAL算法:(EIGRP Diffusing Update Algorithm)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FD/AD:
Feasible Distance vs. Advertised Distance
AD是通告距离
FD可行性距离
Successor:(后继路由器)
    当前的,去往特定目标网络的,转发路由器
    (正在工作运行的轮胎)
成为Successor的条件:
    通过某个路由器,去往特定目标网络的开销/cost/Metric/FD,最小的路由器,那么这个路由器就是Successor.(只有相邻的路由器才可能成为Successor)
    通过Successor到达目标网络的这条路径,就能进入路由表,成为去往这个目标网络的路由.
    如果一个路由器,去往特定目标网络有多个Successor,那么此路由器就是在进行等价负载均衡.
Feasible Successor:(可行性后继/后备轮胎)
成为FS的条件:
后备轮胎的AD,必需小于通过"当前使用/正在运行的"轮胎的FD.
FS                           successor
AD of Second Best Route < FD of Best Route =>  Feasible Successor
      (除了Best之外,其余都是Second Best,不是最优就是次优的)
sh ip eigrp 90
SRTT:平均往返时间:发送更新与回应ack之间时间的平均值,计算方法是CISCO内部保密的
RTO:重传超时(判断过多长时间为超时--等待时间)--根据SRTT得出
seq num:sequence number of the last update,query,or reply packet...(连接时序号加1代表对方收到并可靠传输)
Q:0是正常的(等待重传的包数)
10.2.2.0/24 -> r2 -> 10.1.12.0 -> r1 ->10.1.13.0 -> r3 -> 10.3.3.0
20.2.2.0
 
EIGRP手工汇总特点:
1:手工汇总是无类的
2:可以汇总非直连的路由(EIGRP学习过来的路由也可以)
LAB:等价负载均衡(FD一样)
step 1:
r2(config)#access-list 1 permit 3.3.3.0 用ACL匹配需要做偏移的路由
step 2:
sh ip eigrp topology
offset list只能增加不能减小,所以要先看哪个接口的FD小。两个FD相减为48600
r2(config-router)#offset-list 1 in 48600 serial 1(如果不指定端口则所有3.3.3.0进来的接口都加48600)(用偏移列表增加度量值)
sh ip route/sh ip eigrp topology 可以看到到3.3.3.0负载均衡
其实用便宜列表更改的并非真正的metric值,而是改变了带宽或者延迟,至于到底改变了什么?要下课后查。
LAB2:非等价负载均衡
r2(config-route)#variance 2
注意点:
1:variance的数值必须大于FS'FD/S'FD
2:必须存在FS,否则variance调128都没有用。
查看负载均衡多少条?
sh ip protocol  ----max path 4
LAB3:r1-r2相连(s口)
eigrp密文认证配置方法:
step1:
r1(config)#key chain AAA(建立钥匙串,名字本地有意义)
step2:
r1(config-keychain)#key 1(这个两边要一样)
r1(config-keychain-key)#key-string CCNP(定义key 1的密钥是CCNP)
然后退出
step3:
r1(config)#int s 0
r1(config-if)#ip authentication key-chain eigrp 90 AAA(调用钥匙串AAA)
step 4:
r1(config-if)#ip authentication mode eigrp 90 md5(开启认证)
查看命令
r1#debug eigrp packet
*Mar  1 06:17:18.626: EIGRP: Sending HELLO on Serial0
*Mar  1 06:17:18.626:   AS 90, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Mar  1 06:17:18.830: EIGRP: Serial0: ignored packet from 12.1.1.2, opcode = 5 (missing authentication)
r1#
*Mar  1 06:17:23.130: EIGRP: Serial0: ignored packet from 12.1.1.2, opcode = 5 (missing authentication)
*Mar  1 06:17:23.594: EIGRP: Sending HELLO on Serial0
*Mar  1 06:17:23.594:   AS 90, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
 如果是通过ETHERNET连,那么连接的路由器所有都要认证否则全部都连不了邻居,可以说认证是对链路而不是对应路由器的。
STUB:
为了防止查询环路,通常在最末端设备做stub(减少查询)。
stub的邻居不会向stub路由器本身作查询
r1(config)#router eigrp 90 
r1(config-router)#eigrp stub 
r2#sh ip eigrp nei detail
IP-EIGRP neighbors for process 90
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq Type
                                            (sec)         (ms)       Cnt Num
0   12.1.1.1                Se0               11 00:01:17  600  3600  0  3   
   Version 12.2/1.2, Retrans: 0, Retries: 0
   Stub Peer Advertising ( CONNECTED SUMMARY ) Routes
   Suppressing queries
eigrp stub 默认有加connected(直连)与summary(汇总)路由信息给邻居。
LAB2: EIGRP默认路由
方法一:
step:
r1(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2
r1(config)#router eigrp 90
redistribute static
方法二:
r1(config)#ip default-network 12.0.0.0(主类)
LAB1:EIGRP的基本配置:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Step1:
R3#show running-config | b eigrp
 
router eigrp 90
network 12.0.0.0  (每个Router都只宣告与本机直接相连的网络)
network 13.0.0.0
network 14.0.0.0
auto-summary  (系统默认的,路由在穿越主类网络边界时,会发生自动汇总,可以关闭)
 
Step2:
R1#show ip eigrp interfaces(察看当前正在运行EIGRP的接口)
R1#show ip eigrp neighbors (察看EIGRP的邻居表)
show ip eigrp topology detail-links(详细的拓扑表)
show ip eigrp topoloty(拓扑表)
show ip route eigrp(从EIGRP学到的路由表)
 
 
 
LAB2:EIGRP的路由的Metric值的准确计算:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Step1:确定路由的入口:
    (也就是:访问该目标网络的数据包的出口)
R2上,观察13.0.0.0/24
 
Step2:收集各个路由的入口的BW/DL信息:
R2#show interfaces serial 1
          BW 1544  Kbit
,   DLY 20000 usec,
(这两个参数是用来控制三层协议的选路,而clock
rate是反应链路上真实的速度,这两个参数可以在接口上更改,但仅仅是影响路由协议的选路)
 
Step3:
Metric={(10,000,000/BW)+(DL/10)}*256  107/1544=6476
   
BW:从目标网络,流向本EIGRP路由器的,所有的路由入口中,带宽最小的带宽,单位是:Kbps,多个       
路由入口中的带宽最小值.
   
DL:从目标网络,流向本EIGRP路由器的,所有的路由入口的延迟之和,单位是:us(微秒),多个路由       
入口的延迟之和.
 

1.3-动态路由协议EIGRP的更多相关文章

  1. 1.3-动态路由协议EIGRP②

    LAB3:Wildcard Mask in EIGRP (通过反掩码,控制运行EIGRP的接口的范围             作用:控制有哪些接口在运行EIGRP) ~~~~~~~~~~~~~~~~~ ...

  2. (ospf、rip、isis、EIGRP)常见的动态路由协议简介

    路由器要转发数据必须先配置路由数据,通常根据网络规模的大小可设置静态路由或设置动态路由.静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络.缺点是不能自动适应网络拓扑的变化,需要人工 ...

  3. 动态路由协议(RIP)

    虽然静态路由在某些时刻很有用,但是必须手工配置每条路由条目,对于大中型的网络或拓补经常发生变化的清空,配置和维护静态路由的工作量就变得非常繁重,而且不小心还容易出错,因此就需要一种不需要手工配置的路由 ...

  4. 1.3-动态路由协议RIP①

    Dynamic Routing Protocol:动态路由协议 现代IP网络中,主要的动态路由协议: AD/管理距离: 1:DV/距离向量协议:RIP(120)/IGRP(100) 2:LS/链路状态 ...

  5. CCNP路由实验之六 动态路由协议之IS-IS

     CCNP路由实验之六动态路由协议之IS-IS 动态路由协议能够自己主动的发现远程网络.仅仅要网络拓扑结构发生了变化.路由器就会相互交换路由信息,不仅能够自己主动获知新添加的网络.还能够在当前网络 ...

  6. 《TCP/IP详解 卷一》读书笔记-----动态路由协议

    1.以下条件只要有一个不满足,则需要使用动态路由协议:1)网络规模小,2)只有一个连接点用于连接其他网络,3)没有冗余的路由器(一般用作备份) 2.所谓动态路由就是各个路由器与自己相邻的路由器交换各自 ...

  7. 第6章 静态路由和动态路由(4)_OSPF动态路由协议

    6. OSPF动态路由协议 6.1 OSPF协议(Open Shortest Path First,OSPF开放式最短路径优先协议) (1)通过路由器之间通告链路的状态来建立链路状态数据库,网络中所有 ...

  8. 第6章 静态路由和动态路由(3)_RIP动态路由协议

    5. RIP动态路由协议 5.1 RIP协议(Routing Information Protocol) (1)是一个距离矢量路由选择协议.选择最佳路径的标准是跳数,如果到达目标网络经过的路由器最少, ...

  9. rip是典型的距离矢量动态路由协议。Ospf是链路状态型的协议

    网络工程师十个常见面试问题-看准网 https://m.kanzhun.com/k-mianshiwenti/1465113.html 两者都属于IGP协议,rip是典型的距离矢量动态路由协议.Osp ...

随机推荐

  1. linux创建ftp用户以及指定目录问题

    linux创建ftp用户以及指定目录问题 创建用户命令:如我的目录是根目录下的 MyWeb 用户名:xdh2571 #useradd -G ftp -d /MyWeb -M xdh2571#passw ...

  2. 【PostgreSQL-9.6.3】LOG: unrecognized configuration parameter "dynamic_shared_memory_type"

    报错如下: 输入如下命令启动PG数据库时,报错: [postgres@drz ~]$ pg_ctl -D /opt/postgresql/data/ start server starting FAT ...

  3. spring加载classpath与classpath*的区别别

    1.无论是classpath还是classpath*都可以加载整个classpath下(包括jar包里面)的资源文件. 2.classpath只会返回第一个匹配的资源,查找路径是优先在项目中存在资源文 ...

  4. Java Servlet JSP编程(一)

    最近想学学java编程,java现在的应用还是挺广泛的,有必要学习一下. # index.jsp <%@ page language="java" contentType=& ...

  5. 梦想CAD控件安卓图层

    新建图层 CAD中我们设置好图层后除了我们平常的绘图时选择线段的颜色,线型,线宽等作用,而且我们还可以在出图时选择性显示图形,冻结图形,已达到我们想要的效果. 实现代码说明: //增加一个图层 参数为 ...

  6. 09Microsoft SQL Server 表数据插入,更新,删除

    Microsoft SQL Server 表数据插入,更新,删除 向表中插入数据 INSERT INTO insert into tb1 values(0004,'张凤凤') insert into ...

  7. vue-quill-editor富文本焦点问题

    vue-quill-editor富文本渲染完成自动获取焦点,问题在于数据请求完成,富文本内容发生变化从而自动获取焦点 mounted() { this.$refs.myQuillEditor.quil ...

  8. list查询棚舍面积的时候,所有棚舍面积的value都是一样的

    解决办法 将pickingid在查list之前set到对象中,通过id来匹配查询 具体代码: FarmHouse farmHouse=new FarmHouse(); farmHouse.setPic ...

  9. springAOP源码解析-190313

    Spring相关笔记 SpringAOP讲解 子路老师讲解 spring与aspectj的区别答:它们的区别是 spring是动态加载 aspectj是静态加载,再编译过程就已经实现切面,此时会往代码 ...

  10. 常量、变量;基本数据类型;input()、if、while、break、continue

    一.编译型语言和解释型语言区别:编译型:一次性将所有程序编译成二进制文件 缺点:开发效率低,不能跨平台 优点:运行速度快. 例如:C,C++等解释型:当程序执行时,一行一行的解释 优点:开发效率高,可 ...