开发者社区> 技术小大人> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

[Lab1]-EIGRP试验

简介:
+关注继续查看

wKiom1V8LTujBdDoAAEMO0xwfxo158.jpg

1- EIGRP试验

EIGRP 是一个高效的路由协议,它的特点如下:

1. 通过发送和接收Hello 包来建立和维持邻居关系,并交换路由信息;

2. 采用组播(224.0.0.10)或单播进行路由更新;

3. EIGRP 的管理距离为90 或170;

4. 采用触发更新,减少带宽占用;

5. 支持可变长子网掩码 (VLSM),默认开启自动汇总功能;

6. 支持IP、IPX、AppleTalk 等多种网络层协议;

7. 对每一种网络协议,EIGRP 都维持独立的邻居表、拓扑表和路由表;

8. EIGRP 使用Diffusing Update 算法(DUAL)来实现快速收敛.并确保没有路由环路;

9. 存储整个网络拓扑结构的信息,以便快速适应网络变化;

10. 支持等价和非等价的负载均衡;

11. 使用可靠传输协议(RTP)保证路由信息传输的可靠性;

12. 无缝连接数据链路层协议和拓扑结构,EIGRP 不要求对OSI 参考模型的2 层协议做

特别的配置。

1.1 eigrp 单播更新

R1(f0/0) ----- (f0/1)R2

Eigrp不仅可以组播路由更新也可以单播路由更新,命令必须要在所有router上做

R1(config-router)#neighbor 12.1.1.2 f0/0 \\命令是在路由模式下敲入的    
R2(config-router)#neighbor 12.1.1.1 f0/1

但如果有passive-interface命令,无论单播或者组播都不能建立起邻居

R2(config)#router eigrp 90

R2(config-router)#passive-interface default

R2(config-router)#no passive-interface f0/1

一般端口连接客户端时可以使用passive interface

1.2 eigrp 认证

R1(f0/0) ----- (f0/1)R2

Eigrp默认只支持md5认证,认证也必须是两端同时做

R1/2(config-if)#ip authentication mode eigrp 90 md5 \\接口下做 开启认证

R1/2(config-if)#ip authentication key-chain eigrp 90 fuyi/2 \\ 调用key-chain在eigrp认证上

R1(config)#key chain fuyi

R1(config-keychain)#key 0

R1(config-keychain-key)#key-string fuyiccna \\认证过程都是拿序列号最小的一个key去验证(而且两端都必须使用相同的key id [key 0]去验证 ),不会去用key1 或者key2去往下去验证 所以我们应该在r2配置如下

R2#sh run | se key chain

key chain fuyi2

key 0 \\

key-string fuyiccna

key 1

key-string fuyiccna

另外的 key 的配置下还可以接send –lifetime 和 accept –lifetime 去定义一个key的有效期

1.3 eigrp手工汇总

拓扑图: R1(e0/0)----(e0/1)R2(e0/0)----(e0/1)R3

R1#sh ip int b

Interface IP-Address OK? Method Status Protocol

Ethernet0/0 12.1.1.1 YES manual up up

Loopback0 192.168.0.1 YES manual up up

Loopback1 192.168.1.1 YES manual up up

Loopback2 192.168.2.1 YES manual up up

Loopback3 192.168.3.1 YES manual up up

全网跑 eigrp

情形一:

如果在r1 eigrp宣告时,net 192.168.0.0 0.0.255.255

那么看 r3上的路由表

R3#sh ip rout eigrp

D 192.168.0.0/24 [90/435200] via 23.1.1.2, 00:01:57, Ethernet0/1

12.0.0.0/24 is subnetted, 1 subnets

D 12.1.1.0 [90/307200] via 23.1.1.2, 00:02:45, Ethernet0/1

D 192.168.1.0/24 [90/435200] via 23.1.1.2, 00:01:57, Ethernet0/1

D 192.168.2.0/24 [90/435200] via 23.1.1.2, 00:01:57, Ethernet0/1

D 192.168.3.0/24 [90/435200] via 23.1.1.2, 00:01:57, Ethernet0/1

说明network是R1把直接路由在 192.168.0.0/16内的路由信息宣告出去了

情形二: 在情形1的条件下,在R1(或者R2上)加: eigrp 汇总路由

R1(config-if)#ip summary-address eigrp 90 192.168.0.0 255.255.252.0

R3#sh ip rout eigrp

12.0.0.0/24 is subnetted, 1 subnets

D 12.1.1.0 [90/307200] via 23.1.1.2, 00:08:54, Ethernet0/1

D 192.168.0.0/22 [90/435200] via 23.1.1.2, 00:00:18, Ethernet0/1

说明手工汇总抑制了明晰路由,产生了一条192.168.0.0/22的路由

同时产生D 192.168.0.0/22 is a summary, 00:02:49, Null0 防止路由环路

那么就说明在R1 敲network 192.168.0.0/16 已不生效

另: 这个问题应该是那个老兄上课时 要的问得问题的答案吧J


1.4 eigrp注入默认路由

clip_image002

3.3.3.3是internet

1.4.1 重分布方法

把静态路由重分布进eigrp

R2(config)#ip route 0.0.0.0 0.0.0.0 s1/0

R2(config)#router ei 90

R2(config-router)#redistribute static

clip_image004

1.4.2 宣告全零法

在r2写一条指向端口的静态路由 (指下一跳无效,以前的blog有解释过原因),在eigrp上用network 0.0.0.0宣告

<结果不展示,结果跟上一个方法一样>

1.4.3 使用ip default-network

使用这个命令的条件:

注意为了能看到试验效果,务必不要使用network 0.0.0.0 去宣告路由

clip_image006

R2 上配置如下

ip default-network 3.0.0.0

ip route 3.0.0.0 255.0.0.0 Serial1/0

R2#sh run | se router ei

router eigrp 90

network 3.0.0.0

network 12.0.0.0

no auto-summary

clip_image008

1.5 eigrp负载均衡

拓扑图

clip_image010

1.5.1等价负载均衡

默认eigrp是开启等价负载均衡,因为 variance的值为1

EIGRP maximum metric variance 1

为了方便算metric值我们用命令修改该K值

R1/2/3/4(config-if)#router eig 90

R1/2/3/4 (config-router)#metric weight 0 0 0 1 0 0

默认metric计算公式:metric= [10^7 /bandwidth (min) + delay(sum)/10] * 256

在R1上看3.3.3.3的路由表

D 3.3.3.0 [90/665600] via 14.1.1.4, 00:00:58, FastEthernet0/1

[90/665600] via 12.1.1.2, 00:00:58, FastEthernet0/0

下面我们来计算下665600是怎么来的?

Show inter f0/0 s1/0 lo0

可以看到个个接口的延迟 那么我们把这些接口的延迟加起来

metric计算的方向为路由进接口的方向 (interface in 方向 )

6656600 = (20000 + 1000 + 5000 )/10 * 256

1.5.2 非等价负载均衡

如何开启负载均衡?

首先负载均衡是发生在 s 与 fs 之间,所以开启它的条件为:

1 AD < (S)FD ===>也是成为fs的条件

2 FS FD < S FD * V 值

我们先把R2的延迟改高些,R4的延迟改低一些

R2(config)#int s1/0

R2(config-if)#delay 15 (实际上为150 微妙 ,10倍的倍数关系)

R4 (config-if)#delay 10

同时在R1上让v值不等于1

R1(config)#router ei 90

R1(config-router)#variance 2

在R1上看拓扑表

R1#sh ip eigrp topology

P 3.3.3.0/24, 1 successors, FD is 156160

via 14.1.1.4 (156160/130560), FastEthernet0/1

via 12.1.1.2 (157440/131840), FastEthernet0/0

条件1:131840 < 156160 符合成为fs的条件

条件2: FD(主)*variance >FD(备份)时

156160 * 2 > 157440

Show ip route可以查看结果

1.6 eigrp的路由过滤

试验要求:用上图的试验拓扑图,全网跑 eigrp

在r1 开三个lookback 口 , 地址分别是 1.1.1.1 10.1.1.1 100.1.1.1

clip_image012

要求 R3 只可以看到100.1.1.1

答案 :使用distribute-list

在r3上使用access-list ,然后再eigrp协议模式中使用distribute-list

R3#sh ip access-lists

Standard IP access list 10

10 deny 1.1.1.0, wildcard bits 0.0.0.255 (4 matches)

20 deny 10.1.1.0, wildcard bits 0.0.0.255 (4 matches)

30 permit any (6 matches)

R3(config)#router ei 90

R3(config-router)#distribute-list 10 in

试验结果如下:

clip_image014

1.7 offset-list 在 eigrp中的使用

接上图试验,我们使从23.1.1.2过来的100.1.1.0的路由的metric的值瞬间增加改为600000

命令:

R3#sh ip access-lists

Standard IP access list 20

10 permit 100.1.1.0, wildcard bits 0.0.0.255 (4 matches)

R3(config)#router ei 90

R3(config-router)# offset-list 20 in 600000 Serial1/0

再次查看r3的路由表,发现metric 变为1265600 ( 665600+600000)

D 100.1.1.0 [90/1265600] via 23.1.1.2, 00:00:24, Serial1/0

1.8 eigrp stub

Eigrp stub是避免sia的一个比较好的方式,因为它可以限制查询范围

拓扑图如下:

clip_image016

把 r1的lo 0口关闭,debug eigrp packages 可以看到, r1会向r2查询1.1.1.0的路由 query报文

*Mar 1 07:49:08.142: EIGRP: Sending QUERY on FastEthernet0/0

在r2 上敲入

R2(config)#router eig 90

R2(config-router)#eigrp stub

Mar 1 07:53:06.606: EIGRP: Received QUERY on FastEthernet0/0 nbr 12.1.1.2 《r1只会收到r2的query报文,r1 是不会向r2发送query报文的》

当然r3上也不会有1.1.1.0 这个网段的路由

然而当我们在r1的lo 0口下 no shut后 R3 永远学不到1.1.1.0的路由 原因如下 

默认情况下 stub router只会传直链和汇总的路由

那么要透露出1.1.1.0解决办法是什么?

我们可以使用leak-map

Step1 : access-list

R2#sh ip access-lists

Standard IP access list 10

10 permit 1.1.1.0, wildcard bits 0.0.0.255

Step2 : route-map

R2(config)#route-map fuyi

R2(config-route-map)#match ip address fuyi

R2(config-route-map)#exit

Step3: 调用route-map

R2(config)#router eigrp 90

R2(config-router)#eigrp stub leak-map fuyi

试验结果

clip_image018

1.9 EIGRP 常用命令

show ip eigrp neighbors 查看EIGRP 邻居表

show ip eigrp topology 查看EIGRP 拓扑结构数据库

show ip eigrp interface 查看运行EIGRP 路由协议的接口的状况

show ip eigrp traffic 查看EIGRP 发送和接收到的数据包的统计情况

debug eigrp neighbors 查看EIGRP 动态建立邻居关系的情况

debug eigrp packets 显示发送和接收的EIGRP 数据包

ip hello-interval eigrp 配置EIGRP 的HELLO 发送周期

ip hold-time eigrp 配置EIGRP 的HELLO hold 时间

router eigrp 启动EIGRP 路由进程

no auto-summary 关闭自动汇总

ip authentication mode eigrp 配置EIGRP 的认证模式

ip authentication key-chain eigrp 在接口上调用钥匙链

variance 配置非等价负载均衡

delay 配置接口下的延迟

bandwidth 配置接口下的带宽

offset-list [access list number] in [values] [interface] 调整metric值

ip summary-address eigrp 手工路由汇总



本文转自 bilinyee博客,原文链接:     http://blog.51cto.com/ericfu/1659589   如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
mybatis的association以及collection的用法
在项目中,某些实体类之间肯定有关键关系,比如一对一,一对多等。在hibernate 中用one to one和one to many,而mybatis 中就用association和collection。 association: 一对一关联(has one) collection:一对多关联(has many) 注意,只有在做select查询时才会用到这两个标签,都有三种用法,且用法类似。
60 0
一张图讲清楚淘宝直播背后技术( 赠送多媒体前端手册)
2020年,直播带货火爆全网。想一探淘宝直播背后的前端技术?本文将带你进入淘宝直播前端技术的世界。 对于大多数前端工程师来说,音视频技术是一个比较少涉足的领域,本文涵盖了流媒体技术中的文本、图形、图像、音频和视频多种理论知识,涉及到播放器、web媒体技术、主流框架等介绍,只需要花上一点点时间,你将进入前端多媒体的领域。
3094 0
mybatis的association以及collection的用法
前言: 在项目中,某些实体类之间肯定有关键关系,比如一对一,一对多等。在hibernate 中用one to one和one to many,而mybatis 中就用association和collection。
1624 0
easyui 设置一加载,搜索框立即弹出的效果
1.部分html文件 标的内部代码: 标的名称:   2.效果
619 0
1558
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载