思科路由部分11个实验项目 全程记录+讲解+知识点
实验基于Dynamips-0.2.6-Rc4 unzip-c3620-i-mz.122-37.bin unzip-c3640-js-mz.124-10 with NM-16ESW
实验平台 双Xeon 3.0 4G ECC 运行稳定后CPU 40%左右
实验1:在P1范围内实现RIPv2
实验2:在P1范围内实现基于RIPv2的等价负载均衡
实验3:在P1范围内实现基于RIPv2的Key-Chain密钥实验
实验4:在P2范围内实现IGRP的非等价负载均衡
实验5:全区域中通过桢中继实现RIPv2路由协议 + 密钥验证
实验6:全区域中实现EIGRP路由+FR+非等价负载均衡+验证
实验7:OSPF基本配置[P1区域内配置]+DR/BDR考察
实验8:单区域NBMA环境OSPF实现+验证
实验9:多区域OSPF实现
实验10:简单的路由重发布 末节区域 完全末节区域 NSSA区域 Virtual-Link
实验11:被动接口 路由更新过滤 策略路由 路由单项重发布以及AD/Metric更改 路由双向重发布
P1配置部分 P1R1-P1R2
192.168.1.1 - 192.168.1.2 /24 P1R1上配置Lo0 200.200.200.200 /24
P1R1-P1R3
192.168.2.1 - 192.168.2.2 /24
P1R3-P1R4
192.168.3.1 - 192.168.3.2 /24
P1R2-P1R4
192.168.4.1 - 192.168.4.2 /24
P1R1-BBR1 - 10.0.0.2 /8
P1R2-BBR1 - 10.0.0.3 /8
P2配置部分
P2R1-P2R2
172.16.1.1 - 172.16.1.2 /16 P2R1上配置Lo0 100.100.100.100 /8
P2R1-P2R3
172.17.1.1 - 172.17.1.2 /16
P2R3-P2R4
172.18.1.1 - 172.18.1.2 /16
P2R2-P2R4
172.19.1.1 - 172.19.1.2 /16
P2R1-BBR2 - 11.0.0.2 /8
P2R2-BBR2 - 11.0.0.3 /8
BBR配置部分
BBR1-BBR2
219.146.241.1 -219.146.241.2 /24
BBR1 s0/0.1 -s0/0.2
10.0.0.1
BBR2 s0/0.1 -s0/0.2
11.0.0.1
BBR2-SW1
219.146.242.1 - 219.146.242.2
BBR1-SW2
219.146.243.1 - 219.146.243.2
SW1-SW2
219.146.244.1 - 219.146.244.2
SR配置部分
SR1-SW1 101.0.0.1 - 101.0.0.2
SR2-SW1 102.0.0.1 - 102.0.0.2
SR3-SW2 103.0.0.1 - 103.0.0.2
SR4-SW2 104.0.0.1 - 104.0.0.2
SR1:lo0 105.0.0.1 Lo1 106.0.0.1
SR2:lo0 107.0.0.1 Lo1 108.0.0.1
实验1:在P1范围内实现RIPv2 [P1R1] router rip ver 2 net 192.168.1.0 net 192.168.2.0 net 200.200.200.0 [P1R2] router rip ver 2 net 192.168.1.0 net 192.168.4.0 [P1R3] router rip ver 2 net 192.168.2.0 net 192.168.3.0 [P1R4] router rip ver 2 net 192.168.3.0 net 192.168.4.0 验证结果,P1R1 [Copy to clipboard] CODE: sh ip route: C 200.200.200.0/24 is directly connected, Loopback0 R 192.168.4.0/24 [120/2] via 192.168.2.2, 00:00:22, FastEthernet0/0 C 192.168.1.0/24 is directly connected, Serial1/1 C 192.168.2.0/24 is directly connected, FastEthernet0/0 R 192.168.3.0/24 [120/1] via 192.168.2.2, 00:00:22, FastEthernet0/0
注意: 区分RIP两个版本,配置时候必须配置相同的rip version,虽然有办法让他们协同工作,但是基本上没什么意义
RIPV1 分类路由,没30秒发送一次更新分组,分组中不包含子网掩码信息,不支持 VLSM,默认进行边界自动路由汇总,且不可关闭,所以该路由不能支持非连续网络.不支持身份验证. 使用跳数作为度量,管理距离 120.每个分组中最多只能包含25个路由信息.使用广播进行路由更新.
RIPV2 无类路由,发送分组中含有子网掩码信息,支持VLSM,但默认该协议开启了自动汇总功能,所以如需向不同主类网络发送子网信息,需要手工关闭自动汇总功能(no auto-summary),RIPV2只支持将路由汇总至主类网络,无法将不同主类网络汇总,所以不支持CIDR.使用多播224.0.0.9进行路由更新,只有对应的多播MAC地址能够响应分组,在MAC层就能区分是否对分组响应.支持身份验证.
分类路由选择协议,当发送路由分组的接口所处子网与分组相关的子网属于同一主类网络,那么路由器在该接口可以把具体的子网发送出去.路由器假设该接口与分组子网使用相同的子网掩码.
什么是连续子网: 属于同一主类网络,使用相同的子网掩码就是连续的子网.否则就是非连续子网.在接口上手工汇总命令:ip summary-address rip 被汇总子网 被汇总子网掩码 RIP 使用UDP(用户报文协议)520端口 传输路由更新分组
RIP只能做等价负载均衡
实验2 在P1范围内实现基于RIPv2的等价负载均衡
P1R1上的Lo0为200.200.200.200,作为此实验的目的IP [P1R4] int f0/0 no ip route-cache int s1/0 no ip route-cache access-list 101 permit ip icmp any 200.200.200.0 0.0.0.255 debug ip pac 101
验证结果 [P1R2] router rip ver 2 net 192.168.1.0 net 192.168.4.0 [P1R3] router rip ver 2 net 192.168.2.0 net 192.168.3.0 [P1R4] router rip ver 2 net 192.168.3.0 net 192.168.4.0 P1R4上sh ip route,可以看到
[Copy to clipboard] CODE: Gateway of last resort is not set R 200.200.200.0/24 [120/2] via 192.168.4.1, 00:00:16, FastEthernet0/0 [120/2] via 192.168.3.1, 00:00:09, Serial1/0 C 192.168.4.0/24 is directly connected, FastEthernet0/0 R 192.168.1.0/24 [120/1] via 192.168.4.1, 00:00:16, FastEthernet0/0 R 192.168.2.0/24 [120/1] via 192.168.3.1, 00:00:09, Serial1/0 C 192.168.3.0/24 is directly connected, Serial1/0
到达200.200.200.0网段的metric完全相同,并且通过两个出口
P1R4#ping 200.200.200.200 re 2 [Copy to clipboard] CODE: Type escape sequence to abort. Sending 2, 100-byte ICMP Echos to 200.200.200.200, timeout is 2 seconds: !! Success rate is 100 percent (2/2), round-trip min/avg/max = 12/14/16 ms P1R4# 16:00:24: IP: tableid=0, s=192.168.4.2 (local), d=200.200.200.200 (FastEthernet0/0), routed via RIB 16:00:24: IP: s=192.168.4.2 (local), d=200.200.200.200 (FastEthernet0/0), len 100, sending 16:00:24: IP: tableid=0, s=192.168.3.2 (local), d=200.200.200.200 (Serial1/0), routed via RIB 16:00:24: IP: s=192.168.3.2 (local), d=200.200.200.200 (Serial1/0), len 100, sending
注意 1.route-cache是进程交换, ip route-cache是快速交换, ip route-cache optimum是最优交换, route-cache distributed是分布式最优,负载均衡需要切换为进程交换(根据分组处理,而不是目的地),7000以上系列需要no ip cef 2.通过定义ACL定义过滤,然后debug抓取特定的数据包,可以最优化显示debug结果
均衡负载的知识: 均衡负载可以是基于目标地址或者是基于每个packet的 所谓基于目标地址的均衡负载,是说假如有2条到达目标地址的路径,那么第一个packet将通过第一条链路到达第一个目标设备,第二个packet将通过第二条链路到达第二个目标设备,第三个packet又将通过第一条链路到达第三个目标设备等等,以次类推.当Cisco路由器工作在默认的交换模式,Fast Switching(快速交换)模式下,就使用这种类型的均衡负载 Fast Switching的工作原理是:当路由器对第一个packet进行发往目标地址的处理的时候,先查看路由表和选择出口接口,然后获取组成 frame的信息(比如ARP表的查询)并进行封装,然后传输.之前获取的这些路由和数据链路信息将被保存在快速交换的cache中.接下来,当有要到达和第一个包相同的目标地址的包的时候,就可以不进行路由表和ARP表的查询,直接对packet进行交换 快速交换降低了CPU的占用和处理时间,并意味着去往某个目标地址的packet都从相同的路由器接口被路由出去.当有到达同一网络不同主机的packet,路由器可能会吧这些packet通过另外一条链路进行路由.因此,路由器能做的最好的就是给予目标地址的均衡负载 所谓基于基于packet的均衡负载,是说假如有2条到达目标地址的路径,那么第一个packet将通过第一条链路到达目标设备,第二个packet将通过第二条链路到达目标设备,第三个packet又将通过第一条链路到达目标设备等等,以次类推.(这里考虑的是等价的均衡负载) Cisco路由器工作在Process Switching(进程交换)模式的时候就采用基于 packet的均衡负载 进程交换,是指每次对packet的交换,都要查询路由表,选择出口接口和查询数据链路信息,因为每次的路由决策都是独立的.要在某个接口打开进程交换模式,使用no ip route-cache命令.
实验3 在P1范围内实现基于RIPv2的Key-Chain密钥实验
[P1R1] key chain cisco key 1 key-string mypassword int f0/0 ip rip auth key-chain cisco ip rip auth mode md 5 int s1/1 ip rip auth key-chain cisco ip rip auth mode md5
验证结果
在P1R1上定义密钥以后,分别在s1/1和f0/0上面启用,在其他路由器并没有启用相同的密钥的时候,通过debug ip rip eve查看: 16:18:45: RIP: ignored v2 packet from 192.168.1.2 (invalid authentication)
sh ip route查看 R 192.168.3.0/24 is possibly down, routing via 192.168.2.2, FastEthernet0/0
说明因为密钥匹配原因,packet ignored,并且路由条目状态变化为possibly down
在P1R2上定义同样密钥后
debug 信息显示 Page 5 of Cisco Tec! - Powered by Discuz! Board 31
P1R4上sh ip route,可以看到
16:31:16: RIP: received packet with MD5 authentication
认证成功
附加部分
在P1R2上采用同样密钥,但是在接口上应用的时候如果采用明文方式 ip rip auth mod text(P1R1采用MD5加密) 因为两边不匹配,则一样会invalid authentication
注意 可以在路由器上配置RIPv2消息认证包括:明文或MD5加密密码 在钥匙链(key-chain)上定义多个秘钥(key)或密码,后者可选 定义秘钥链名称:key chain test 定义秘钥 key 1 定义密码key-string cisco 在接口上启用 int e0/0 ip rip authentication key-chain test 定义发送方式 ip rip authtication mode md5 记住,钥匙链-钥匙-钥匙的凹凸代表密码,必须在个锁(接口)上使用此钥匙(引用)
sh ip pro可以查看version和keychain情况
Default version control: send version 2, receive version 2 Interface Send Recv Triggered RIP Key-chain FastEthernet0/0 2 2 cisco Serial1/1 2 2 cisco Loopback0 2 2
实验4 在P2范围内实现IGRP的非等价负载均衡
等价负载均衡同RIP部分,设置上没什么特殊之处 [P2R4] int f0/0 bandwidth 10000 no ip route-cache int s1/0 bandwidth 1000 no ip route-cache router igrp 100 vari 10 access-list 101 permit ip icmp any 100.100.100.0 0.0.0.255 debug ip pac 101
验证结果 使用sh int f0/0察看其默认BW为BW 100000 Kbit
使用sh int s1/0察看其默认BW为BW 1544 Kbit
但是奇怪的是,我还没有设置variance,且BW不同的情况下,基于Dynamips的metric计算值竟然相同,先不管它
I 100.0.0.0/8 [100/8986] via 172.19.1.1, 00:00:09, FastEthernet0/0 [100/8986] via 172.18.1.1, 00:00:18, Serial1/0
如果只是设置了带宽,则所有的pac将从f0/0发出
[Copy to clipboard] CODE: P2R4#ping 100.100.100.100 re 2 Type escape sequence to abort. Sending 2, 100-byte ICMP Echos to 100.100.100.100, timeout is 2 seconds: !! Success rate is 100 percent (2/2), round-trip min/avg/max = 12/14/16 ms P2R4# 00:54:07: IP: tableid=0, s=172.19.1.2 (local), d=100.100.100.100 (FastEthernet0/0), routed via RIB 00:54:07: IP: s=172.19.1.2 (local), d=100.100.100.100 (FastEthernet0/0), len 100, sending 00:54:07: IP: tableid=0, s=172.19.1.2 (local), d=100.100.100.100 (FastEthernet0/0), routed via RIB 00:54:07: IP: s=172.19.1.2 (local), d=100.100.100.100 (FastEthernet0/0), len 100, sending 16:31:16: RIP: received packet with MD5 authentication |
认证成功
附加部分
在P1R2上采用同样密钥,但是在接口上应用的时候如果采用明文方式 ip rip auth mod text(P1R1采用MD5加密)
因为两边不匹配,则一样会invalid authentication
设置好variance以后,sh ip route
I 100.0.0.0/8 [100/8986] via 172.19.1.1, 00:01:09, FastEthernet0/0 [100/12510] via 172.18.1.1, 00:00:16, Serial1/0
两条路出来了,然后观察抓包即可
[Copy to clipboard] CODE: P1R4#ping 100.100.100.100 re 2 Type escape sequence to abort. Sending 2, 100-byte ICMP Echos to 100.100.100.100, timeout is 2 seconds: !! Success rate is 100 percent (2/2), round-trip min/avg/max = 12/14/16 ms P1R4# 00:58:24: IP: tableid=0, s=172.19.1.1 (local), d=100.100.100.100 (FastEthernet0/0), routed via RIB 00:58:24: IP: s=172.19.1.1 (local), d=100.100.100.100 (FastEthernet0/0), len 100, sending 00:58:24: IP: tableid=0, s=172.18.1.1 (local), d=100.100.100.100 (Serial1/0), routed via RIB 00:58:24: IP: s=172.18.1.1 (local), d=100.100.100.100 (Serial1/0), len 100, sending |
注意:
设置BW中的两个错误 1.将两个BW值 一个500000 一个1500,设置variance 为 334,5000000/1500=333,但是经过实验,variance设置范围为1-128 2.设置BW值不适当的时候,可能会导致sh ip route显示possiblydown,这个时候重新启用IGRP即可
知识点: IP协议出现最早,最大跳数只支持15跳,只适合小型网络;IGRP是Cisco公司为了弥补RIP的缺陷而开发设计,适合更大的网络,最大支持255跳,为了减轻网络的负担,将默认的更新周期从RIP的30秒改为90秒,但是这也造成了网络拓扑变化时收敛速度变迟缓了。RIP和IGRP都支持最多达6条等价路由,IGRP还支持非等价路由,增加了负载均衡的灵活性。IGRP为Cisco公司所私有,目前只能在Cisco的路由器上使用。
IGRP默认支持4条路径的等价的负载均衡,最大支持6条,IGRP还支持非等价的负载均衡命令maximum-paths x
在IGRP的update包里,把路由条目分为了3个类别,如下:
1.内部路由(interior route):被宣告的路由条目是本地化的 2.系统路由(system route):到达被边界路由器汇总的网络地址的路由 3.外部路由(exterior route):来自外部,比如其他的AS的路由
IGRP Metrics IGRP的metric是复合性的,4个要素分别是带宽(bandwidth,BW),延迟(delay),可靠性(reliability)和负载(load).默认IGRP的metric只以BW和delay作为标准.其他的2个要素可以通过命令,配置成metric的要素的一部分.有一点要注意的是,虽然IGRP的metric不使用最大传输单元(maximum transmission unit,MTU)作为要素,但是IGRP仍然会对每条路径上最小的MTU进行跟踪.
IGRP Timers and Stability Features IGRP的update包发送周期为90秒,是RIP的3倍,但是为防止timer的同步,一般这个周期为72到90秒之间的随机数当一条路由初次被学习到以后,这条路由的invalid timer就设置为270秒(RIP的3倍).flush timer被设置为630秒(update发送周期的7倍).每次接收到该路由的update包以后,这些timer都会重新的初始化.如果在invalid timer超出,仍然没接收到该路由的update,那么该路由就标记为不可达,但是该路由仍然会保存在路由表中,并且以目标不可达的方式宣告出去,直到flush timer超出,该路由就被彻底从路由表中删除
IGRP使用了3倍于RIP的timer,优点是节约了链路的带宽,但是缺点是收敛(convergence)慢于RIP.比如当一台路由器出问题down掉了IGRP要用3倍于RIP的时间才能检测到该路由器状态的变化。
当一条路由标记为不可达的时候,或者下一跳的路由器增大了到达目标地址的metric并引起触发更新(triggered update),那么该路由将进入holddown状态,并且holddown timer的长度为3倍update发送时间再加10秒(280秒).这个时候,关于目标地址的任何新的信息都不会被接受直到holddown timer超出.可以使用命令no metric holddown来关闭这个holddown特性,一般在一个无环路的网络拓扑里,holddown特性是没什么用的,关闭这一特性有助于加快收敛时间。
实验5 全区域中通过桢中继实现RIPv2路由协议 + 密钥验证
为什么非要加入密钥验证部分,因为现实中它基本上是必须的
[P1&P2&BBR]通用部分
router rip ver 2 net x.x.x.x key chain cisco key 1 key-string mypass int x/x.x ip rip auth key cisco ip rip auth mod md5 [P1R1] int s1/0 ip add 10.0.0.2 255.0.0.0 no shut ip rip auth key cisco ip rip auth mod md5 encpa fr fr map ip 10.0.0.1 103 br |
[P1R2 P2R1 P2R2]配置都是这样,不再阐述
[BBR1] int s1/0 no ip add no shut int s1/0.1 mu ip add 10.0.0.1 fr map ip 10.0.0.2 301 br fr map ip 10.0.0.3 302 br ip rip auth key cisco ip rip auth mod md5 [BBR2] int s1/0 no ip add no shut int s1/0.1 mu ip add 11.0.0.1 fr map ip 11.0.0.2 604 br fr map ip 11.0.0.3 605 br ip rip auth key cisco ip rip auth mod md5
|
验证结果:
[Copy to clipboard] CODE: sh ip route R 200.200.200.0/24 [120/2] via 219.146.241.2, 00:00:02, FastEthernet0/0 R 100.0.0.0/8 [120/1] via 11.0.0.2, 00:00:01, Serial1/0.1 R 172.17.0.0/16 [120/3] via 11.0.0.3, 00:00:00, Serial1/0.1 R 172.16.0.0/16 [120/1] via 11.0.0.3, 00:00:00, Serial1/0.1 R 172.19.0.0/16 [120/1] via 11.0.0.3, 00:00:00, Serial1/0.1 R 172.18.0.0/16 [120/2] via 11.0.0.3, 00:00:00, Serial1/0.1 C 219.146.241.0/24 is directly connected, FastEthernet0/0 R 192.168.4.0/24 [120/3] via 219.146.241.2, 00:00:02, FastEthernet0/0 R 10.0.0.0/8 [120/1] via 219.146.241.2, 00:00:02, FastEthernet0/0 C 11.0.0.0/8 is directly connected, Serial1/0.1 R 192.168.1.0/24 [120/2] via 219.146.241.2, 00:00:02, FastEthernet0/0 R 192.168.2.0/24 [120/2] via 219.146.241.2, 00:00:02, FastEthernet0/0 R 192.168.3.0/24 [120/3] via 219.146.241.2, 00:00:02, FastEthernet0/0 BBR上面sh fr map [Copy to clipboard] CODE: BBR2#sh fr map key chain cisco key 1 key-string mypass int x/x.x ip rip auth key cisco ip rip auth mod md5 [P1R1] int s1/0 ip add 10.0.0.2 255.0.0.0 no shut ip rip auth key cisco ip rip auth mod md5 encpa fr fr map ip 10.0.0.1 103 br
|
[P1R2 P2R1 P2R2]配置都是这样,不再阐述
[BBR1] int s1/0 no ip add no shut Serial1/0.1 (up): ip 11.0.0.2 dlci 604(0x25C,0x94C0), static, broadcast, CISCO, status defined, active Serial1/0.1 (up): ip 11.0.0.3 dlci 605(0x25D,0x94D0), static, broadcast, CISCO, status defined, active |
注意:
1.定义密钥,不需要在每台router上全部设定,这样是没有意义的重复劳动,在此网络结构中,只需要在P1,P2还有BBR区域的边界路由器上的边界端口设定key验证,现实当中也一样,不管跑什么协议,除非是不支持此功能的,否则为了安全起见,至少边界路由器要设定验证
2.此结构中的BBR区域桢中继采用点到多点接口,所以,密钥的实现一定要在子接口里面实现,如果在物理接口上去敲命令,那么你debug肯定会告诉你invaild auth
知识点: 桢中继交换机配置
定义交换机frame switch 进入端口 no ip no shut 封装frame 定义frame intf-type dce 定义lmi 定义clockrate 定义frame route 100 interface s1/1 200
典型配置
interface Serial1/0 no ip address encapsulation frame-relay no fair-queue serial restart-delay 0 clock rate 64000 frame-relay intf-type dce frame-relay route 100 interface Serial1/1 200 frame-relay route 600 interface Serial1/2 500 ! interface Serial1/1 no ip address encapsulation frame-relay serial restart-delay 0 clock rate 64000 frame-relay intf-type dce frame-relay route 200 interface Serial1/0 100 frame-relay route 300 interface Serial1/2 400 ! interface Serial1/2 no ip address encapsulation frame-relay serial restart-delay 0 clock rate 64000 frame-relay intf-type dce frame-relay route 400 interface Serial1/1 300 frame-relay route 500 interface Serial1/0 600 |
实验6 全区域中实现EIGRP路由+FR+非等价负载均衡+验证
[P1&P2&BBR]通用部分
router eigrp 100 net x.x.x.x [P1R1] int s1/0 ip add 10.0.0.2 255.0.0.0 no shut encpa fr fr map ip 10.0.0.1 103 br Serial1/0.1 (up): ip 11.0.0.2 dlci 604(0x25C,0x94C0), static, broadcast, CISCO, status defined, active Serial1/0.1 (up): ip 11.0.0.3 dlci 605(0x25D,0x94D0), static, broadcast, CISCO, status defined, active |
[P1R2 P2R1 P2R2]配置都是这样,不再阐述
[BBR1] int s1/0 no ip add no shut int s1/0.1 mu ip add 10.0.0.1 fr map ip 10.0.0.2 301 br fr map ip 10.0.0.3 302 br [BBR2] int s1/0 no ip add no shut int s1/0.1 mu ip add 11.0.0.1 fr map ip 11.0.0.2 604 br fr map ip 11.0.0.3 605 br
|
非等价负载均衡[在P1范围内测试]
整个网络收敛后,路由表,我们在P1R4上察看路由表
[Copy to clipboard] CODE: D 200.200.200.0/24 [90/2300416] via 192.168.4.2, 00:03:37, FastEthernet0/0 [90/2300416] via 192.168.3.1, 00:03:37, Serial1/0 |
ok,这里看到到达200.200.200.0的两条路由的metric完全相同,我们在P1R3上定义ACL抓PAC
access-list 101 permit icmp any 200.200.200.0 255.255.255.0 deb ip pac 101
看到ping 200.200.200.200结果
[Copy to clipboard] CODE: Sending 5, 100-byte ICMP Echos to 200.200.200.200, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 16/24/48 ms P1R4# 18:34:57: IP: tableid=0, s=192.168.4.1 (local), d=200.200.200.200 (FastEthernet0/0), routed via RIB 18:34:57: IP: s=192.168.4.1 (local), d=200.200.200.200 (FastEthernet0/0), len 100, sending 18:34:57: IP: tableid=0, s=192.168.3.2 (local), d=200.200.200.200 (Serial1/0), routed via RIB 18:34:57: IP: s=192.168.3.2 (local), d=200.200.200.200 (Serial1/0), len 100, sending 18:34:57: IP: tableid=0, s=192.168.4.1 (local), d=200.200.200.200 (FastEthernet0/0), routed via RIB 18:34:57: IP: s=192.168.4.1 (local), d=200.200.200.200 (FastEthernet0/0), len 100, sending 18:34:57: IP: tableid=0, s=192.168.3.2 (local), d=200.200.200.200 (Serial1/0), routed via RIB |
上面的是等价负载均衡,下面我们要设法改变某个接口的metric,默认是BW和Delay在起作用,那么如果你必须更改DELAY或BANDWDITH以达到你的特殊目的,建议你更改DELAY,因为其它协议也要用到BANDWITH如OSPF,另外,在使用限制EIGRP使用带宽的命令中也涉及到BANDWITH,所以一般修改DELAY参数(尤其在做实验时,为了简化METRIC值)
先察看默认的delay和eigrp top 表
sh int f0/0 P1R4#sh int f0/0 FastEthernet0/0 is up, line protocol is up Hardware is AmdFE, address is cc03.0c7c.0000 (bia cc03.0c7c.0000) Internet address is 192.168.4.1/24 MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec |
下面更改
int f0/0 delay 1000
[P1R2 P2R1 P2R2]配置都是这样,不再阐述
[BBR1] int s1/0 no ip add no shut int s1/0.1 http://CiscoTec.CN CiscoTec.cn [Copy to clipboard] |
CODE: 察看sh ip route
D 200.200.200.0/24 [90/2300416] via 192.168.3.1, 00:00:01, Serial1/0 D 172.17.0.0/16 [90/2942976] via 192.168.4.2, 00:00:01, FastEthernet0/0 D 172.16.0.0/16 [90/3452416] via 192.168.4.2, 00:00:01, FastEthernet0/0 D 172.19.0.0/16 [90/2942976] via 192.168.4.2, 00:00:01, FastEthernet0/0 D 172.18.0.0/16 [90/3454976] via 192.168.4.2, 00:00:01, FastEthernet0/0 |
到达200.200.200.0的最佳路径已经变为1条,f0/0已经被去除
那么我们察看一下top表中到达该网段的所有可行路径
[Copy to clipboard] CODE: P1R4#sh ip eigrp top 200.200.200.0 IP-EIGRP (AS 100): Topology entry for 200.200.200.0/24 State is Passive, Query origin flag is 1, 2 Successor(s), FD is 2300416 Routing Descriptor Blocks: 192.168.3.1 (Serial1/0), from 192.168.3.1, Send flag is 0x0 Composite metric is (2300416/156160), Route is Internal Vector metric: Minimum bandwidth is 1544 Kbit Total delay is 25100 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 2 192.168.4.2 (FastEthernet0/0), from 192.168.4.2, Send flag is 0x0 Composite metric is (2553856/2297856), Route is Internal Vector metric: Minimum bandwidth is 1544 Kbit Total delay is 35000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 2 |
可以看到
[Copy to clipboard] CODE: 192.168.3.1 (Serial1/0), from 192.168.3.1, Send flag is 0x0 Composite metric is (2300416/156160), Route is Internal 192.168.4.2 (FastEthernet0/0), from 192.168.4.2, Send flag is 0x0 Composite metric is (2553856/2297856), Route is Internal |
因为我们更改了delay值,导致f0/0的metric由原来的2300416/156160变为2553856/2297856),导致f0/0从最优路径中被删除 那么2300416和2553856之间的差别只有不到2倍,这里我们使用variance来更改 router eigrp 100 var 2 然后,再次察看ip route 验证结果
[Copy to clipboard] CODE: P1R4#sh ip route D 200.200.200.0/24 [90/2300416] via 192.168.3.1, 00:00:22, Serial1/0 [90/2553856] via 192.168.4.2, 00:00:22, FastEthernet0/0 variance 2
最佳路径度量乘以这个值后得到一个数,若次优路径度量值小于这个数,就会被和最佳路径一起装入路由表。 ================================================================ 下面我们在P1范围内进行EIGRP验证实验[P1R3-P1R4] [P1R3&P1R4通用部分]
key chain cisco key 1 key-string mypass int s1/0 ip auth key eigrp 100 cisco ip auth mod eigrp 100 md5 注意和RIP区分 ip rip auth key xxx ip rip auth key md5 |
下面我们在P1R4上当方面应用key-chain到s1/0
在应用之前我们观察目前邻居情况
P1R4#sh ip eigrp nei IP-EIGRP neighbors for process 100 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 1 192.168.3.1 Se1/0 13 00:00:01 1 2000 1 0 0 192.168.4.2 Fa0/0 11 00:32:20 25 200 0 166 |
可以看到对方
然后在s1/0上应用key chain,再次观察
P1R4#sh ip eigrp nei IP-EIGRP neighbors for process 100 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 0 192.168.4.2 Fa0/0 11 00:34:12 25 200 0 166 |
已经消失了
验证结果
在对端的s1/0上同样实施key chain后
P1R4#sh ip eigrp nei IP-EIGRP neighbors for process 100 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 1 192.168.3.1 Se1/0 12 00:00:04 1 3000 0 139 0 192.168.4.2 Fa0/0 11 00:35:06 25 200 0 166 |
验证匹配后邻居关系再次建立
关于EIGRP的验证附属实验
我们知道RIP支持两种认证,明文和MD5,但是有人却说EIGRP只支持MD5验证,但是配置的时候却需要指定MD5,那么我们在上面 的基础上,去掉最后指定MD5的语句看看 no ip auth mod eigrp 100 md5 但是结果却是
[Copy to clipboard] CODE: P1R3(config-if)# 20:39:54: %DUAL-5-NBRCHANGE: IP-EIGRP 100: Neighbor 192.168.3.2 (Serial1/0) is down: authentication mode changed P1R3(config-if)# 20:40:06: %DUAL-5-NBRCHANGE: IP-EIGRP 100: Neighbor 192.168.3.2 (Serial1/0) is up: new adjacency [Copy to clipboard] CODE: P1R4#sh ip eigrp nei IP-EIGRP neighbors for process 100 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 1 192.168.3.1 Se1/0 11 00:01:57 1 3000 0 141 0 192.168.4.2 Fa0/0 13 00:42:43 25 200 0 166
|
邻居关系一样建立好好的,而且对端经过确认可以正常的从P1R4学习到完整的路由表,所以说明文和MD5他都支持的
[另外建议的实验] 通过debug eigrp xxx观察hell,interval,hold等
知识点: EIGRP5种协议报文 Hello:建立邻居关系,224.0.0.10,不需要确认 LAN,p2p WAN,MP带宽大于T1: 5秒间隔 MP带宽小于T1: 60秒间隔 注意:hold time为hello time的3倍,改变hello需要手工指定hold #ip eigrp hold-time Update:发送路由更新 Query:询问邻居关于路由的信息 Reply:对query的回复 以上3种报文需要进行显式确认(即每个报文需要单独确认),并设置序列号以便重传,次数限制为16
ACK:确认 EIGRP metricsMetric = [K1 * BandW + (K2 * BandW)/(256-load) + K3*Delay] * [K5/(reliability + K4)] By default: K1=K3=1 and K2=K4=K5=0, so: Metric = 10000000/BandW*256 + Delay/10*256 show interface 察看value
注意:k的值包含在hello报文中,不匹配邻居关系不会建立 为重分布路由设置一个缺省metric default-metric 10000 100 255 1 1500 关于Finite stat machine(FSM) 当某种事件引起PASSIVE状态的路由,进行重新查找FS时,如果有FS则FS升级成S(SUCCESSOR),如果没有则路由器向所有邻居发送QUERY,此路由变为ACTIVE状态,此状态下有很多限制,例如不可更改FD,不可更改SUCCESSOR等,当所有发出的QUERY都收到REPLY时,路由器对此路由重新进行计算,并选出新的S,FD,删除不符合FC条件的FS(FC的一个重要条件是:下一跳路由所通告的距距离(AD)必要小于当前的FD,这是为了防止LOOP等)并发送UPDATE。做为接收到路由器发出QUERY的路由器在他的FS里找出最好的通告给初始路由器,如果他也没有,则同理,发送QUERY。需要指出的一点是缺省情况下如果路由器在3分钟内没有收到某一QUERY的REPLY则进行SIA状态,并对从此邻居所收到的所有路由进行QUERY,时间可以手动更改还有一点,一个设计好的网络不应该出现SIA的情况,一种错误的认识是设计多个AS连接起来,事实证明这种方法并不 好,因为QUERY在AS 边界会被发送到另一个AS去,其结果是本AS中没有SIA,但另一个AS中可能存在SIA其实,FSM比上边说的还要复杂,(非常复杂)例如,引起路由状态改变的因素可以有三种,如新发现路由等等,不同的因素引发的状态改变以及不同的方向上收到Q UERY以及REPLY还会有不同的处理EIGRP Unequal-Cost Load Balancing允许metric小于最小FD指定倍数的路由成为successor
例如:RouterA到达网络Z有三条路径 via B: AD=10,FD=30 via C: AD=10,FD=20 via D: AD=25,FD=45
明显,via C是最短路径,但等价负载均衡不允许有多个路由并存,通过设置variace可以让路由协议自动进行负载均衡
如果#variance 2 那么via C: 30 < 2*FD(20)满足条件 via D: 45 > 2*FD(20)不符合条件 Bandwidth over WAN interface 1.p2p subint using frame-relay: 设为CIR 2.Multipoing:设为邻居带宽的总和
如果每个PVC有不同的CIR
- 转换为p2p配置 - lowest CIR * PVC总数
举个例子:
点到点星型拓扑,总部CIR=256k,到分部有10条PVC,每条CIR=56kbps
划分p2p subint,每条PVC分配25kbps,调整eigrp协议数据报最大占用50%的VC容量 #interface serial 0.1 point-to-point bandwidth 25 ip bandwidth-percent eigrp 1 110
注意:25的110%为28Kbps,即56kbps/2
相关命令
show ip eigrp neighbors show ip eigrp topology show ip route eigrp show ip protocols show ip eigrp traffic debug ip routing debug eigrp packets debug eigrp neighbors debug eigrp pac hell0 debug ip eigrp debug ip eigrp summary clear ip eigrp neighbors /*清空整个EIGRP的邻居关系,然后重新建立,使用在改动过配置之后 */ |
实验7 OSPF基本配置[P1区域内配置]+DR/BDR考察
在广播型访问环境中配置OSPF
P1和P2区域可以作为一个典型的广播型多路访问环境
配置[P1R1-P1R4]
router ospf 100 net 192.168.x.x 0.255.255.255 a 0
我们在P1R1上设置Lo0为200.200.200.200
int lo0 ip add 200.200.200.200 255.255.255.255
这里是/32掩码,cisco强烈建议当配置回环接口的时候采用32位掩码,这里代表的是一个主机而不是一个网络或者子网
因为我们在P1R1上面指定了一个lo0为200.200.200.200,所以sh ip ospf data summary可以看到
P1R1#sh ip ospf data summ OSPF Router with ID (200.200.200.200) (Process ID 100)
因为所有路由器的默认优先级为1,在pri相同的情况下则比较router id,最高的Ip地址为router id[200.200.200.200]
DR/BDR选举 [Copy to clipboard] CODE: P1R1#sh ip ospf nei Neighbor ID Pri State Dead Time Address Interface 192.168.4.2 1 FULL/ - 00:00:39 192.168.1.2 Serial1/1 192.168.3.1 1 FULL/DR 00:00:39 192.168.2.2 FastEthernet0/0
通过这个命令查看路由器和邻居的关系[很多初学者搞不清楚的]
我们看到,P1R1和P2R2通过S1/1连接,他们的状态为Full,但是DR/BDR那栏是空的
这说明一个概念,我曾经在ciscohuawei论坛上看到有人问到过,问题的意思大体上是这样,e0/0-e0/0之间只有一条链路,那么点到点的链路不是不需要选举DR/BDR的吗,点到点的OSPF协议,会始终保持两端的邻居成为邻接关系,在这种链路上没有DR或BDR的概念,但是这个点到点,说得是在点到点串行链路上还可以看到P1R1和P1R3通过F0/0连接,对方Router-ID为192.168.3.1,状态为Full,关系为DR,这里要明白一个概念就是,DR/BDR是针对网段的,并不是针对区域的所以说,某个网段中存在DR并不代表着它对于整个ospf Area有什么意义,只是针对该网段上面所说的我们采用了设置lo0地址的方式来影响DR/BDR选举,如果有人问为什么非要去干涉DR/BDR的选举呢,他自己选定不是挺好的吗,我这样回答你,你可以回想一下switch的根桥的选举,如果恰巧一台性能最弱的交换机被选举为根桥,而恰巧他的负载又是十分繁重的,那么他将给整个网络带来性能上的下降,而OSPF的DR/BDR的职能就是对LSA/LSU的洪泛工作,在不同的环境中,负载也是不同的,所以,根据实际情况来影响DR/BDR的选择是有必要的,那么对于OSPF的DR/BDR的选举,遵循以下规则:
1.优先级>RouterID 2.所有激活端口中IP地址最大的指定为Route ID 3.但是,如果存在Lookback地址,则将Lookback指定为Route ID,而不管这个地址是否是最大 4.如果存在多个Lookback,则使用其中最大的 5.以上所指的是OSPF进程启动之时的所有端口,无论此端口是否运行OSPF 6.Route ID一旦选出,即使所用端口DOWN掉,Route ID也不会变,除非更新启动OSPF进程 7.建议用Lookback接口作为Route ID
RouterID我们上面通过配置lo0已经确认过了
下面我们去掉P1R1的lo0的设置,使用
router-idi xxx命令来验证 int lo0 no ip add
然后 sh ip route发现200.200.200.0/24已经从路由表中被删除 然后在P1R3上查看sh ip ospf nei
[Copy to clipboard] CODE: Neighbor ID Pri State Dead Time Address Interface 192.168.4.1 1 FULL/ - 00:00:38 192.168.3.2 Serial1/0 192.168.2.1 1 FULL/DR 00:00:36 192.168.2.1 FastEthernet0/0 |
Router id已经变为192.168.2.1
那么我们在P1R1的ospf进程中 router ospf 100 router-id 200.200.200.200
然后clear ip ospf process
再在P1R3上sh ip ospf nei
验证结果
[Copy to clipboard] CODE: P1R3#sh ip ospf nei Neighbor ID Pri State Dead Time Address Interface 192.168.4.1 1 FULL/ - 00:00:39 192.168.3.2 Serial1/0 200.200.200.200 1 FULL/DR 00:00:38 192.168.2.1 FastEthernet0/0 |
ok,我们接着上面的,在P1R1和P1R3的连接中,因为P1R1具有高Router-ID而被选举为DR,我们现在想让P1R3成为DR,验证命令ip ospf pri 10
因为P1R1的优先级还是默认的1,而P1R3被更改为10,虽然他拥有更高的Router-ID
在P1R1和P1R3上运行clear ip ospf process,然后分别在两个路由器上查看邻接路由器
验证结果
[Copy to clipboard] CODE: P1R1#sh ip ospf nei Neighbor ID Pri State Dead Time Address Interface 192.168.4.2 1 FULL/ - 00:00:36 192.168.1.2 Serial1/1 192.168.3.1 10 FULL/DR 00:00:39 192.168.2.2 FastEthernet0/0 P1R3#sh ip ospf nei Neighbor ID Pri State Dead Time Address Interface 192.168.4.1 1 FULL/ - 00:00:38 192.168.3.2 Serial1/0 200.200.200.200 1 FULL/BDR 00:00:33 192.168.2.1 FastEthernet0/0 |
上面所说的我们采用了设置lo0地址的方式来影响DR/BDR选举,如果有人问为什么非要去干涉DR/BDR的选举呢,他自己选定不是挺好的吗,我这样回答你,你可以回想一下switch的根桥的选举,如果恰巧一台性能最弱的交换机被选举为根桥,而恰巧他的负载又是十分繁重的,那么他将给整个网络带来性能上的下降,而OSPF的DR/BDR的职能就是对LSA/LSU的洪泛工作,在不同的环境中,负载也是不同的,所以,根据实际情况来影响DR/BDR的选择是有必要的,那么对于OSPF的DR/BDR的选举,遵循以下规则
1.优先级>RouterID 2.所有激活端口中IP地址最大的指定为Route ID 3.但是,如果存在Lookback地址,则将Lookback指定为Route ID,而不管这个地址是否是最大 4.如果存在多个Lookback,则使用其中最大的 5.以上所指的是OSPF进程启动之时的所有端口,无论此端口是否运行OSPF 6.Route ID一旦选出,即使所用端口DOWN掉,Route ID也不会变,除非更新启动OSPF进程 7.建议用Lookback接口作为Route ID
RouterID我们上面通过配置lo0已经确认过了
下面我们去掉P1R1的lo0的设置,使用
router-idi xxx命令来验证 int lo0 no ip add
然后 sh ip route发现200.200.200.0/24已经从路由表中被删除 然后在P1R3上查看sh ip ospf nei
结果很明显,拥有高Router-ID的P1R1变为了BDR,优先级更高的P1R3成为了DR
知识点: OSPF协议采用层次化路由,把一个大的网络划分为多个区域有助于减少每个区域的通信量。同样是基于这个原因,我们同样引入了DR和BDR两个概念。在OSPF的某个区域中,如果很多台OSPF路由器它们两两建立FULL ADJACENCY关系,那会是一个开销非常大的过程,为了减少对带宽的占用,提高使用效率,我们用DR作为一个“代言人”的角色,每个区域中的每个IP段选举出一个DR,然后其他的非DR直接与DR建立FULL? ADJACENCY关系,可以提交运行效率。所以DR的任务比较大,为了防止意外情况发生,我们还要选举出BDR,当在DR突然失效后接替DR的工作,实现平滑交移,对外界实现透明。
选举DR和BDR的标准是“优先级”,我们可以手动的为每个路由器设定优先级,0为最低,255为最高。如果优先级相同的情况下,则比较ID值。还。选举完成之后,一旦网络中某台路由器有更新的链路,它直接通过组播地址224。0。0。6(RFC将它定义为所有 运行OSPF的DR和BDR)将LSU发送给DR和BDR。然后再由DR将这个LSU包FLOODING到整个IP段中。
DR:所有LSA和LSU的集中点,作用是洪泛LSA
BDR:防止DR单点故障
ospf的三个表 邻居表 拓扑表 路由表 组播
OSPF-----224.0.0.5(DR)和224.0.0.6 RIPv2-----224.0.0.9 EIGRP----224.0.0.10
LSA类型
类型1:router LSA 由每个路由器产生,用来描述产生它的路由器,该路由器的直连链路和状态,以及该路由器的邻居。 类型2:network LSA 由多点接入链路上的指定路由器(DR)产生,描述了该链路以及所由相连的邻居。 类型3:network summary LSA 由区域边界路由器(ABR)产生,描述了区域间的目标网络。 类型4:ASBR Summary LSA 由区域边界路由器(ABR)产生,描述了区域外的自主系统边界路由器(Autonomous System Boundary Router)。 类型5:AS External LSA 由自主系统边界路由器(ASBR)产生,描述OSPF域之外的目标网络。 类型7:NSSA External LSA由末梢区域内的自主系统边界路由器(autonomous Router)产生。
[实验8]NBMA环境OSPF实现+验证
[P1&P2&BBR]通用部分
router ospf 100 net x.x.x.x x.x.x.x a 0 [P1R1] int s1/0 ip add 10.0.0.2 255.0.0.0 no shut encpa fr fr map ip 10.0.0.1 103 br |
[P1R2 P2R1 P2R2]配置都是这样,不再阐述
QUOTE:
NBMA网络遵循阻止组播和广播的第二层原则
[BBR1] int s1/0 no ip add no shut int s1/0.1 mu ip add 10.0.0.1 fr map ip 10.0.0.2 301 br fr map ip 10.0.0.3 302 br [BBR2] int s1/0 no ip add no shut int s1/0.1 mu ip add 11.0.0.1 fr map ip 11.0.0.2 604 br fr map ip 11.0.0.3 605 br |
配置NBMA的p2mp结构网络时,需要在ospf进程内加入特定语句
分别在连接桢中继的路由器关联接口输入 int s1/0 ip ospf network point-to-multipoint int s1/0.1 ip ospf network point-to-mu
在点到点子接口 p2p 一样的道理,只不过输入的是Point-to-point
验证结果
最后在P1R1上 sh ip route
[Copy to clipboard] CODE: O 172.17.0.0/16 [110/130] via 10.0.0.1, 00:21:16, Serial1/0 O 172.16.0.0/16 [110/193] via 10.0.0.1, 00:21:15, Serial1/0 O 172.19.0.0/16 [110/195] via 10.0.0.1, 00:21:15, Serial1/0 O 172.18.0.0/16 [110/194] via 10.0.0.1, 00:21:15, Serial1/0 O 219.146.241.0/24 [110/65] via 10.0.0.1, 00:21:16, Serial1/0 O 192.168.4.0/24 [110/65] via 192.168.1.2, 00:21:16, Serial1/1 O 219.146.243.0/24 [110/128] via 10.0.0.1, 00:21:15, Serial1/0 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks C 10.0.0.0/8 is directly connected, Serial1/0 O 10.0.0.1/32 [110/64] via 10.0.0.1, 00:21:16, Serial1/0 O 219.146.242.0/24 [110/129] via 10.0.0.1, 00:21:15, Serial1/0 11.0.0.0/32 is subnetted, 3 subnets O 11.0.0.3 [110/129] via 10.0.0.1, 00:21:16, Serial1/0 O 11.0.0.2 [110/129] via 10.0.0.1, 00:21:17, Serial1/0 O 11.0.0.1 [110/65] via 10.0.0.1, 00:21:18, Serial1/0 C 192.168.1.0/24 is directly connected, Serial1/1 C 192.168.2.0/24 is directly connected, FastEthernet0/0 O 192.168.3.0/24 [110/65] via 192.168.2.2, 00:21:18, FastEthernet0/0 |
已经全都学习到了
[验证结果]
[Copy to clipboard] CODE: int f0/0 ip ospf message-digest-key 1 md5 0 cisco router ospf 100 area 0 auth mess
ospf的验证信息包含在hello包里面,所以一旦配置ospf验证,则邻接路由器必须也配置,否则会失效
知识点 单个区域内的LSU交换过程只依赖类型1和类型2的LSA
在非广播型多路访问(NBMA)拓朴结构中的OSPF运行NBMA网络是指那些能够支持多台(两台以上)路由器但不具有广播能力的网络。帧中继、ATM和 X.25都是NBMA网络的例子.在NBMA拓朴结构上缺省OSPF hello间隔和down机间隔为30秒和120秒.
下表是在各类拓朴结构上缺省OSPF hello间隔和down机间隔 OSPF环境Hello间隔Down机判定间隔广播10秒40秒 点对点10秒40秒 NBMA30秒120秒 OSPF在NBMA拓朴结构中以两种正式模式之一运作:
非广播多路访问
点对多点
在NBMA拓朴结构中配置路由器时,通常采用子接口 [BBR2] int s1/0 no ip add no shut int s1/0.1 mu ip add 11.0.0.1 fr map ip 11.0.0.2 604 br fr map ip 11.0.0.3 605 br
配置NBMA的p2mp结构网络时,需要在ospf进程内加入特定语句
分别在连接桢中继的路由器关联接口输入
可以通过下面的命令来创建子接口: iterface serial number.subinterface-number {multpiont point-to-point}
在大型网络中,采用点对多点模式可以减少完全连通所必需的PVC数量
点对多点有以下属性
不需要全互连的网络 不需要静态邻居配置 使用一个IP子网 复制LSA数据包
在NBMA拓朴结构上的OSPF小结
模式期望的拓朴结构子网地址毗邻关系RFC或Cisco定义 NBMA全互连邻居必须属于同一子网号人工配置选举DR/BDRRFC 广播全互连邻居必须属于同一子网号自动选举DR/BDRCisco 点对多点部分互边或星型邻居必须属于同一子网号自动,没有DR/BDRRFC 点对多点非广播部分互边或星型邻居必须属于同一子网号手工配置没有DR/BDRCisco 点对点通过子接口的部分互连或星型各子接口属于不同的子网自动,没有DR/BDRCisco
full mesh的FR结构中 nei x.x.x.x point to multipoint的FR结构中 ip ospf net point-to-mu
关于点到点和点到多点 前面的点,对应的是要划分子接口的那个路由器,后面的点对应的是要连接的路由器,如果对方只有一个物理或者子接口连接,那么点到点,如果对方是两个物理接口或者多个PVC,那么是点到多点
实验9 多区域OSPF实现
这里我们做出如下规划
P1区域 Area1 P2区域 Area2 BBR区域 Area0 BBR1作为Area0和Area1的ABR BBR2作为Area0和Area2的ABR
P1范围内 router ospf 100 net 192.168.x.0 0.0.0.255 a 1 net 10.0.0.0 0.255.255.255 a 1
P2范围内 router ospf 100 net 172.1x.0.0 0.0.255.255 a 2 net 11.0.0.0 0.255.255.255 a 2
确认单区域的OSPF配置无误
[Copy to clipboard] CODE: P1R4#sh ip route C 192.168.4.0/24 is directly connected, FastEthernet0/0 10.0.0.0/32 is subnetted, 2 subnets O 10.0.0.2 [110/65] via 192.168.4.2, 00:11:08, FastEthernet0/0 [110/65] via 192.168.3.1, 00:11:08, Serial1/0 O 10.0.0.3 [110/1] via 192.168.4.2, 00:11:08, FastEthernet0/0 O 192.168.1.0/24 [110/65] via 192.168.4.2, 00:11:08, FastEthernet0/0 O 192.168.2.0/24 [110/65] via 192.168.3.1, 00:11:08, Serial1/0 C 192.168.3.0/24 is directly connected, Serial1/0 [Copy to clipboard] CODE: P2R4#sh ip route O 172.17.0.0/16 [110/66] via 172.19.1.1, 00:03:04, FastEthernet0/0 O 172.16.0.0/16 [110/65] via 172.19.1.1, 00:03:04, FastEthernet0/0 C 172.19.0.0/16 is directly connected, FastEthernet0/0 C 172.18.0.0/16 is directly connected, Serial1/0 11.0.0.0/32 is subnetted, 2 subnets O 11.0.0.3 [110/1] via 172.19.1.1, 00:03:04, FastEthernet0/0 O 11.0.0.2 [110/65] via 172.19.1.1, 00:03:04, FastEthernet0/0 |
然后对BBR2和BBR1进行ABR配置
BBR范围内
[BBR2] router ospf 100 net 10.0.0.0 0.255.255.255 a 1
[BBR1] router ospf 100 net 11.0.0.0 0.255.255.255 a 2
分别在BBR1和BBR2上查看路由表
[验证结果]
[Copy to clipboard] CODE: BBR1#sh ip route O IA 172.17.0.0/16 [110/66] via 219.146.241.2, 00:02:49, FastEthernet0/0 O IA 172.16.0.0/16 [110/129] via 219.146.241.2, 00:02:49, FastEthernet0/0 O IA 172.19.0.0/16 [110/66] via 219.146.241.2, 00:02:39, FastEthernet0/0 O IA 172.18.0.0/16 [110/130] via 219.146.241.2, 00:02:39, FastEthernet0/0 C 219.146.241.0/24 is directly connected, FastEthernet0/0 O 192.168.4.0/24 [110/65] via 10.0.0.3, 00:03:19, Serial1/0.1 C 219.146.243.0/24 is directly connected, Serial1/1 10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks O 10.0.0.2/32 [110/64] via 10.0.0.2, 00:03:19, Serial1/0.1 O 10.0.0.3/32 [110/64] via 10.0.0.3, 00:03:19, Serial1/0.1 C 10.0.0.0/8 is directly connected, Serial1/0.1 O 219.146.242.0/24 [110/65] via 219.146.241.2, 00:02:54, FastEthernet0/0 11.0.0.0/32 is subnetted, 3 subnets O IA 11.0.0.3 [110/65] via 219.146.241.2, 00:02:41, FastEthernet0/0 O IA 11.0.0.2 [110/65] via 219.146.241.2, 00:02:51, FastEthernet0/0 O IA 11.0.0.1 [110/1] via 219.146.241.2, 00:02:51, FastEthernet0/0 O 192.168.1.0/24 [110/128] via 10.0.0.2, 00:03:22, Serial1/0.1 [110/128] via 10.0.0.3, 00:03:22, Serial1/0.1 O 192.168.2.0/24 [110/65] via 10.0.0.2, 00:03:22, Serial1/0.1 O 192.168.3.0/24 [110/129] via 10.0.0.2, 00:03:22, Serial1/0.1 [110/129] via 10.0.0.3, 00:03:22, Serial1/0.1 [Copy to clipboard] CODE: BBR2#sh ip route O 172.17.0.0/16 [110/65] via 11.0.0.2, 00:00:13, Serial1/0.1 O 172.16.0.0/16 [110/128] via 11.0.0.2, 00:00:13, Serial1/0.1 [110/128] via 11.0.0.3, 00:00:13, Serial1/0.1 O 172.19.0.0/16 [110/65] via 11.0.0.3, 00:00:13, Serial1/0.1 O 172.18.0.0/16 [110/129] via 11.0.0.3, 00:00:13, Serial1/0.1 C 219.146.241.0/24 is directly connected, FastEthernet0/0 O IA 192.168.4.0/24 [110/66] via 219.146.241.1, 00:00:13, FastEthernet0/0 O 219.146.243.0/24 [110/65] via 219.146.241.1, 00:00:23, FastEthernet0/0 10.0.0.0/32 is subnetted, 3 subnets O IA 10.0.0.2 [110/65] via 219.146.241.1, 00:00:13, FastEthernet0/0 O IA 10.0.0.3 [110/65] via 219.146.241.1, 00:00:13, FastEthernet0/0 O IA 10.0.0.1 [110/1] via 219.146.241.1, 00:00:13, FastEthernet0/0 C 219.146.242.0/24 is directly connected, Serial1/1 11.0.0.0/8 is variably subnetted, 3 subnets, 2 masks O 11.0.0.3/32 [110/64] via 11.0.0.3, 00:00:13, Serial1/0.1 O 11.0.0.2/32 [110/64] via 11.0.0.2, 00:00:13, Serial1/0.1 C 11.0.0.0/8 is directly connected, Serial1/0.1 O IA 192.168.1.0/24 [110/129] via 219.146.241.1, 00:00:14, FastEthernet0/0 O IA 192.168.2.0/24 [110/66] via 219.146.241.1, 00:00:14, FastEthernet0/0 O IA 192.168.3.0/24 [110/130] via 219.146.241.1, 00:00:14, FastEthernet0/0 O 172.16.0.0/16 [110/65] via 172.19.1.1, 00:03:04, FastEthernet0/0 C 172.19.0.0/16 is directly connected, FastEthernet0/0 C 172.18.0.0/16 is directly connected, Serial1/0 11.0.0.0/32 is subnetted, 2 subnets O 11.0.0.3 [110/1] via 172.19.1.1, 00:03:04, FastEthernet0/0 O 11.0.0.2 [110/65] via 172.19.1.1, 00:03:04, FastEthernet0/0
|
然后对BBR2和BBR1进行ABR配置
BBR范围内
[BBR2] router ospf 100 net 10.0.0.0 0.255.255.255 a 1
[BBR1] router ospf 100 net 11.0.0.0 0.255.255.255 a 2
分别在BBR1和BBR2上查看路由表
知识点
ospf的特性: ospf是一个链路状态协议,路由选择域中的所有路由器之间交换信息。每个路由器都能了解整个网络的拓扑结构。ospf协议为TCP/IP协议组中的IP 协议提供路由信息;向路由器仅发送路由更新信息而不是整个路由表;与RIP相比,它带来的网络流量较少;它是基于标签交换的路由协义。 到此对OSPF作了基本的概念定义。接下来我们了解一个OSPF术语及它的操作。
ospf术语: 邻居:邻居被定义为一个运行有OSPF过程的已建立连接的相邻的路由器,并且这个路由器还要带有被指定为相同区域的邻接接口。 邻接:邻接被定义为路由器与它相应的指定路由器和备份路由器间的逻辑连接。 链路:在OSPF中,链路被定义为一个网络或者是被指定为给定网络的路由器接口。 接口:路由器的一个物理的或逻辑的接口。 链路状态通告LSA:是一个OSPF数据包,它包含有可在OSPF路由器间共享的链路状态和路由信息。 指定路由器DR:只在OSPF路由器被连到一个广播网络时使用。 备份指定路由器BDR:是在广播网络中热备份的DR. 区域边界路由器:有多个区域分配的路由器。 自治系统边界路由器:是一个带有连接外部网络或不同AS接口的路由器。 非广播多路访问:是指像帧中继,X.25和ATM等类型的网络。 路由器ID:是一个用于识别路由器的IP地址。
OSPF的操作: 在CCNP:BSCI(642-801)中作了如下定义:
OSPF操作可化分为三类,分别是:邻居和邻接初始化;LSA的扩散;SPF树的计算。
在作出详细讨论前,我们先来了解一个OSPF操作的每个基本步骤:
1,OSPF路由器从所有加入到OSFP过程的接口发送HELLO包; 2,一部分的邻居将形成邻接。形成邻居取决于被发送的hello包所通过的网络类型和交换交换这些hello数据包的路由器类型; 3,路由器发送LSA; 4,接收LSA的路由器将会记录这些LSA到它们的链路数据库,并转发些LSA到各自的邻居; 5,在学习了所有LSA后,每个路由器都会使用这个信息到创建自己的SPF树。SPF树中的信息会用来构建路由表。
邻居状态: Down宕机:没有从此邻居处收到hello包; Attempt尝试:它必须被手工配置,只可用于NBMA网络的连接并表明没有新的信息从这个邻居处接收到; Init:从另外的路由器处接收到hello包,但本地路由器在其他路由器的hello数据中没有看到自己。双向通信还没有建立; 2way双向:已经被接收到的Hello数据包的邻居字段中包含有自己的路由器ID; ExStart:为建立邻接,通过交换数据库描述DD数据包,主/从关系已经被建立; Exdhange交换:路由信息通过使用DD和LSR数据包来交换; Loding加载:链路状态请求数据包被发送给邻居,请求在交换状态中所发现的新的LSA; Full全邻接:在邻接的邻居中所有的LSA信息都是同步的。
初始化的流程可简单描述:这个过程从发送hello包开始。然后,每个侦听的路由器都会将此发包路由器加入到邻居数据库中。响应的路由器将会使用它们的hello信息来做应答,这样发包路由器就可以将它们这些路由器加入到自己的邻居表中。
注意路由器不能接入到3个或3个以上的AS。一台路由器不能成为不止一个链路的DR。
一,ABR的考虑 主同的地主主要是反映OSPF路由器的网络中所担当的解色 1,区域中是否有一个连接到端区的ABR?如果有则 将区域配置为端区:area area-id stub 2,赋给区域指定的代价 对区域配置缺省的代价命令如下: area area-id default cost cost 在这里我们配置端区是因为端区是有力的网络设计技术。这种区域带缺省路由和区域间路由,不带外部路由。将网络的一部分放到 端区里会减少网络的额外开销。减少了跨越整个网络的路由广播。 我们作端区设计时注意以下重要的原则: 端区需要一个单一的ABR,如果存在多于一个的ABR时,就得接受非优化路径。 在端区内部不存在ASBR 不允许虚链路发送到该区域 任何类型端区内有的所有路由器必须配置成能识别他们的地址 骨干区域不能配置成端区 3,用命令area number range使每个区域中的网络能正确汇总。 注意:在OSPF的网络中每个区域要与主干区域相联。如果在OSPF规划中有区域不能与主干区域相联而与其它区域相联需要作穿过中间区域的虚链路。
二,ASBR的考虑 类似于ABR,完成步骤: 1,确保已知OSPF进程ID,是否需要回环接口及使用的OSPF可选参数; 2,启动OSPF路由进程用命令router ospf process-id; 3,赋给OSPF路由选择进程正确的区域ID,例如: router ospf 106 network 130.10.5.0. 0.0.0.255. area 0 network 172.25.64.0 0.0.0.255 area 1 4,利用命令area number range使区域网络可以正确汇总; 5,配置OSPF AS和外部AS间的重发布,使ASBR能提供连接。
三,路由路由器的考虑 同样类似于ABR,使用以下步骤: 1,确保已知OSPF进程ID,是否需要回环接口及使用的OSPF可选参数; 2,启动OSPF路由进程用命令router ospf process-id; 3,赋给OSPF路由选择进程正确的区域ID;
实验10 简单的路由重发布 末节区域 完全末节区域 NSSA区域 Virtual-Link
SR1 - SR2配置为RipV2 SR3 - SR4配置为EIGRP SW1 配置为 RIPv2和Area 0的ASBR SW2 配置为 EIGRP和Area 0的ASBR
[简单的路由重发布] [SW1] router ospf 100 redis rip sub [SW2] router ospf 100 redis eigrp 100 sub
然后再SR1-SR4上分别配置一条默认路由
ip route 0.0.0.0 0.0.0.0 f0/0
在SR1-SR4上 ping 随便一个IP
SRX#ping 192.168.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 204/232/280 ms
我们到P1区域的P1R4上面察看路由 [验证结果]
[Copy to clipboard] CODE: O E2 102.0.0.0/8 [110/20] via 192.168.4.2, 00:11:15, FastEthernet0/0 O E2 103.0.0.0/8 [110/20] via 192.168.4.2, 00:11:15, FastEthernet0/0 O E2 101.0.0.0/8 [110/20] via 192.168.4.2, 00:11:15, FastEthernet0/0 O E2 104.0.0.0/8 [110/20] via 192.168.4.2, 00:11:16, FastEthernet0/0 O IA 172.17.0.0/16 [110/131] via 192.168.4.2, 04:03:35, FastEthernet0/0 O IA 172.16.0.0/16 [110/194] via 192.168.4.2, 04:17:13, FastEthernet0/0 O IA 172.19.0.0/16 [110/131] via 192.168.4.2, 04:17:03, FastEthernet0/0 O IA 172.18.0.0/16 [110/195] via 192.168.4.2, 04:17:03, FastEthernet0/0 O IA 219.146.241.0/24 [110/66] via 192.168.4.2, 04:17:43, FastEthernet0/0 C 192.168.4.0/24 is directly connected, FastEthernet0/0 O IA 219.146.243.0/24 [110/129] via 192.168.4.2, 04:17:43, FastEthernet0/0 10.0.0.0/32 is subnetted, 3 subnets O 10.0.0.2 [110/65] via 192.168.4.2, 04:17:43, FastEthernet0/0 [110/65] via 192.168.3.1, 04:17:43, Serial1/0 O 10.0.0.3 [110/1] via 192.168.4.2, 04:17:44, FastEthernet0/0 O 10.0.0.1 [110/65] via 192.168.4.2, 04:17:44, FastEthernet0/0 O IA 219.146.242.0/24 [110/130] via 192.168.4.2, 04:17:44, FastEthernet0/0 11.0.0.0/32 is subnetted, 3 subnets O IA 11.0.0.3 [110/130] via 192.168.4.2, 04:17:04, FastEthernet0/0 O IA 11.0.0.2 [110/130] via 192.168.4.2, 04:17:14, FastEthernet0/0 O IA 11.0.0.1 [110/66] via 192.168.4.2, 04:17:09, FastEthernet0/0 O IA 219.146.244.0/24 [110/130] via 192.168.4.2, 00:14:22, FastEthernet0/0 O 192.168.1.0/24 [110/65] via 192.168.4.2, 04:17:45, FastEthernet0/0 O 192.168.2.0/24 [110/65] via 192.168.3.1, 04:17:45, Serial1/0 C 192.168.3.0/24 is directly connected, Serial1/0
|
可以看到其他区域和的外部路由都已经被学习到,默认学习到的外部路由为E2,以后将会进行相关配置和讲解
[末节区域]
把一个区域配置成末节区域,可以大大的减少该区域内的链路状态数据库的大小,降低了对路由器的内存要求,末节区域不接受类型5的LSA
配置末节和完全末节区域之前需要注意以下几点
1,该区域没有ASBR-不接收类型5的LSA 2,只有一个出口 3,不是BackBone 4,不是Virturl-Link的过渡区域 5,如果一个AREA配置成STUB AREA,则在与这个区域相连的所有路由器中都应将该区域配置成STUB AREA 6,完全末节在ABR上配置就足够了,但是为了规划上的平衡,建议在此区的其他路游器上也配置 7,邻居越多要求路由器资源越多,特别是LAN中的DR,建议通过手工配置(如priority)CPU和内存大的路由承担 8,区域越多要求ABR性能越高,区域维护工作可让几台路由承担ABR功能;
我们把Area 1 设置为末节区域
[BBR2] router ospf 100 area 1 stub [P1R1-P1R4] router ospf 100 area 1 stub验证结果
[Copy to clipboard] CODE: P1R4#sh ip route O IA 172.17.0.0/16 [110/131] via 192.168.4.2, 00:00:41, FastEthernet0/0 O IA 172.16.0.0/16 [110/194] via 192.168.4.2, 00:00:41, FastEthernet0/0 O IA 172.19.0.0/16 [110/131] via 192.168.4.2, 00:00:41, FastEthernet0/0 O IA 172.18.0.0/16 [110/195] via 192.168.4.2, 00:00:41, FastEthernet0/0 O IA 219.146.241.0/24 [110/66] via 192.168.4.2, 00:00:41, FastEthernet0/0 C 192.168.4.0/24 is directly connected, FastEthernet0/0 O IA 219.146.243.0/24 [110/129] via 192.168.4.2, 00:00:41, FastEthernet0/0 10.0.0.0/32 is subnetted, 3 subnets O 10.0.0.2 [110/65] via 192.168.4.2, 00:00:42, FastEthernet0/0 [110/65] via 192.168.3.1, 00:00:42, Serial1/0 O 10.0.0.3 [110/1] via 192.168.4.2, 00:00:42, FastEthernet0/0 O 10.0.0.1 [110/65] via 192.168.4.2, 00:00:42, FastEthernet0/0 O IA 219.146.242.0/24 [110/130] via 192.168.4.2, 00:00:42, FastEthernet0/0 11.0.0.0/32 is subnetted, 3 subnets O IA 11.0.0.3 [110/130] via 192.168.4.2, 00:00:43, FastEthernet0/0 O IA 11.0.0.2 [110/130] via 192.168.4.2, 00:00:43, FastEthernet0/0 O IA 11.0.0.1 [110/66] via 192.168.4.2, 00:00:43, FastEthernet0/0 O IA 219.146.244.0/24 [110/130] via 192.168.4.2, 00:00:43, FastEthernet0/0 O 192.168.1.0/24 [110/65] via 192.168.4.2, 00:00:43, FastEthernet0/0 O 192.168.2.0/24 [110/65] via 192.168.3.1, 00:00:43, Serial1/0 C 192.168.3.0/24 is directly connected, Serial1/0 O*IA 0.0.0.0/0 [110/66] via 192.168.4.2, 00:00:43, FastEthernet0/0
|
外部路由已经全部去除
[完全末节区域]
我们把Area 2 设置为完全末节区域
[BBR1] router ospf 100 area 2 stub no-summary [P2R1-P2R4] router ospf 100 area 2 stub
只有ABR才关心stub还是stub no-summ
在完全末节区域非ABR上不应该打 no-summ -你都打上说明你没理解这命令的意思
stub拒绝类型5, stub no-summ拒绝类型3-4-5,ABR上都拒绝了3-4-5了,内部路由器没有必要重复劳动
验证结果
[Copy to clipboard] CODE: P2R4#sh ip route O 172.17.0.0/16 [110/65] via 172.18.1.1, 00:00:23, Serial1/0 O 172.16.0.0/16 [110/65] via 172.19.1.1, 00:00:23, FastEthernet0/0 C 172.19.0.0/16 is directly connected, FastEthernet0/0 C 172.18.0.0/16 is directly connected, Serial1/0 11.0.0.0/32 is subnetted, 3 subnets O 11.0.0.3 [110/1] via 172.19.1.1, 00:00:23, FastEthernet0/0 O 11.0.0.2 [110/65] via 172.19.1.1, 00:00:23, FastEthernet0/0 [110/65] via 172.18.1.1, 00:00:23, Serial1/0 O 11.0.0.1 [110/65] via 172.19.1.1, 00:00:23, FastEthernet0/0 O*IA 0.0.0.0/0 [110/66] via 172.19.1.1, 00:00:23, FastEthernet0/0
|
除本区域外路由都被去除
[NSSA]
为实现NSSA,这里我们把SW1-SW2配置为Area 3
[SW1] router ospf 100 redis rip sub network 219.146.242.0 0.0.0.255 area 3 network 219.146.244.0 0.0.0.255 area 3 area 3 nssa [SW2] router ospf 100 redi eigrp 100 sub network 219.146.243.0 0.0.0.255 area 3 network 219.146.244.0 0.0.0.255 area 3 area 3 nssa [BBR1] router ospf 100 area 1 stub area 3 nssa network 10.0.0.0 0.255.255.255 area 1 network 219.146.241.0 0.0.0.255 area 0 network 219.146.243.0 0.0.0.255 area 3 [BBR2] router ospf 100 area 2 stub no-summary area 3 nssa network 11.0.0.0 0.255.255.255 area 2 network 219.146.241.0 0.0.0.255 area 0 network 219.146.242.0 0.0.0.255 area 3
|
根据上面的配置结果,SW1和SW2作为ASBR,BBR1和BBR2作为ABR,他们的操作步骤:
Sw1和Sw2接收RIP和EIGRP的路由
因为SW1和SW2连接到NSSA区域,所以将RIP和EIGRP路由作为LSA类型7发布到NSSA中
BBR1和BBR2作为连接NSSA和Area0的ABR,接收LSA类型7
在SPF计算转发数据库之后,RTB将LSA7转换为LSA5然后将其洪泛到Area0
[验证结果]
[Copy to clipboard] CODE: BBR1#sh ip route O N2 102.0.0.0/8 [110/20] via 219.146.243.2, 00:05:45, Serial1/1 O N2 103.0.0.0/8 [110/20] via 219.146.243.2, 00:08:22, Serial1/1 O N2 101.0.0.0/8 [110/20] via 219.146.243.2, 00:05:45, Serial1/1 O N2 104.0.0.0/8 [110/20] via 219.146.243.2, 00:08:22, Serial1/1 ..... [Copy to clipboard] CODE: BBR1#sh ip ospf data Type-7 AS External Link States (Area 3) Link ID ADV Router Age Seq# Checksum Tag 101.0.0.0 219.146.244.1 336 0x80000001 0x00E880 0 102.0.0.0 219.146.244.1 337 0x80000001 0x00DB8C 0 103.0.0.0 219.146.244.2 779 0x80000002 0x00D390 0 104.0.0.0 219.146.244.2 780 0x80000002 0x00C69C 0 |
注意,考虑什么类型的LSA被阻止,要站在区域类型的角度上考虑,而不要站在ABR或ASBR的角度上考虑!
[Virtual-Link] 我们把SR1和SR2配置为OSPF的Area 4
[SR1-SR2] no router rip router ospf 100 network 101.0.0.0 0.255.255.255 area 4 因为配置任何类型的末节区域的时候,该区域是不能存在Virtual-link的,所以要把SW1上Area 3的NSSA去掉!
[SW1] router ospf 100 no area 3 nssa no redi rip sub network 101.0.0.0 0.255.255.255 area 4 network 102.0.0.0 0.255.255.255 area 4 area 3 virtual-link 219.146.242.1 [BBR2] router ospf 100 area 3 virtual-link 219.146.244.1
注意: RA--1--RB---2---RC--0--RD IP1 IP2 Area1和Area0的Virtual-link,配置的是中间两个R之间的area 2 和 对方的IP(也就是Router ID,sh ip ospf查看)
RB:area 2 vir IP2 RC:area 2 vir IP1
通过以上配置将Area2转换为转发区域
[验证结果]
[Copy to clipboard] CODE: SW1#sh ip ospf vir Virtual Link OSPF_VL4 to router 219.146.242.1 is up Run as demand circuit DoNotAge LSA allowed. Transit area 3, via interface Serial0/1, Cost of using 64 Transmit Delay is 1 sec, State POINT_TO_POINT, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:04 Adjacency State FULL (Hello suppressed) Index 1/2, retransmission queue length 0, number of retransmission 1 First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0) Last retransmission scan length is 1, maximum is 1 Last retransmission scan time is 0 msec, maximum is 0 msec Virtual-link状态正常 [Copy to clipboard] CODE: SR1#sh ip route O E2 104.0.0.0/8 [110/20] via 101.0.0.2, 00:15:00, FastEthernet0/0 O 102.0.0.0/8 [110/2] via 101.0.0.2, 00:15:00, FastEthernet0/0 O E2 103.0.0.0/8 [110/20] via 101.0.0.2, 00:15:00, FastEthernet0/0 ......... CODE: BBR1#sh ip ospf data Type-7 AS External Link States (Area 3) Link ID ADV Router Age Seq# Checksum Tag 101.0.0.0 219.146.244.1 336 0x80000001 0x00E880 0 102.0.0.0 219.146.244.1 337 0x80000001 0x00DB8C 0 103.0.0.0 219.146.244.2 779 0x80000002 0x00D390 0 104.0.0.0 219.146.244.2 780 0x80000002 0x00C69C 0
|
SR1已经通过virtual-link成功的学习到Area0的路由信息
知识点
LSA类型
类型1:router LSA 由每个路由器产生,用来描述产生它的路由器,该路由器的直连链路和状态,以及该路由器的邻居。 类型2:network LSA 由多点接入链路上的指定路由器(DR)产生,描述了该链路以及所由相连的邻居。 类型3:network summary LSA 由区域边界路由器(ABR)产生,描述了区域间的目标网络。 类型4:ASBR Summary LSA 由区域边界路由器(ABR)产生,描述了区域外的自主系统边界路由器 类型5:AS External LSA 由自主系统边界路由器(ASBR)产生,描述OSPF域之外的目标网络。 类型7:NSSA External LSA由末梢区域内的自主系统边界路由器(autonomous Router)产生。
区域类型
末节区域:不允许AS外部LSA通告在其内部进行泛洪的区域。阻止类型5的LSA。 完全末节区域:具有末节区域的特性,另外还阻止了类型3和类型4的LSA(3-4-5) NSSA区域:具有末节区域的特性,不同的是在NSSA内部允许类型7的LSA泛洪,路由都标记为N2
实验11 被动接口 路由更新过滤 策略路由 路由单项重发布以及AD/Metric更改 路由双向重发布
[被动接口] [BBR1] router ospf 100 pass f0/0
使用之前可以看到下面三条路由全部由f0/0学习到
[Copy to clipboard] CODE: O E2 103.0.0.0/8 [110/20] via 219.146.241.1, 16:30:59, FastEthernet0/0 O IA 192.168.4.0/24 [110/66] via 219.146.241.1, 16:30:59, FastEthernet0/0 O 219.146.243.0/24 [110/65] via 219.146.241.1, 16:30:59, FastEthernet0/0
[验证结果]
使用之后看到全部由s1/1学习
[Copy to clipboard] CODE: O N2 103.0.0.0/8 [110/20] via 219.146.242.2, 00:00:07, Serial1/1 O IA 192.168.4.0/24 [110/194] via 219.146.242.2, 00:00:07, Serial1/1 O IA 219.146.243.0/24 [110/129] via 219.146.242.2, 00:00:07, Serial1/1
注意,实际上两个ospf连接中使用passiveinterface会导致接口down掉,因为hell包被cut
被动接口的意义在于使某个接口只接收路由更新而不发送更新,一般用于DDR
但是有些情况下,比如两个wan的ospf或eigrp,被动接口将导致HELLO包和Keepalive的发送导致无法建立邻居关系
所以被动接口有一定的局限性
有一个解决方案是使用distribust-list制造一个伪被动接口,举例 router eigrp 100 net x.x.x.x distri 11 out f0/0 access-list 11 deny any
这样的话,hello包还是正常的发送,邻居关系建立,但是任何更新都将被过滤
[路由更新过滤] [BBR1] router ospf 100 distribute-list 11 in s1/0.1 access-list 11 deny 192.168.2.0 0.0.0.255 access-list 11 permit any
实验之前我们可以看到192.168.2.0在BBR2上是通过s1/0.1学习来的,也就是从FR学习来的 [Copy to clipboard] CODE: O 192.168.2.0/24 [110/65] via 10.0.0.2, 00:00:04, Serial1/0.1
我们在BBR1上面实施distribute-list后,通过access-list定义禁止了192.168.2.0的更新
然后再在BBR1上查看的时候,关于192.168.2.0的路由条目已经消失,说明过滤成功
在BBR1上面使用 distribute-list 11 out f0/0的时候会得到提示 [Copy to clipboard] CODE: BBR1(config-router)#distribute-list 10 out f0/0 % Interface not allowed with OUT for OSPF
被动接口的局限性会完全组织端口发送路由更新,有时候我们需要只是抑制些路由的更新,就要用到路由更新列表
[策略路由]
[BBR1] access-list 19 permit 192.168.4.0 0.0.0.255 access-list 20 permit 192.168.3.0 0.0.0.255 route-map ip1 permit 10 match ip address 19 set interface s1/1 route-map ip2 permit 20 match ip address 20 set interface f0/0 int s1/0.1 mu ip policy route-map ip1 ip policy route-map ip2
定义在BBR1上面让通过FR来自192.168.4.0的数据包,走s1/1的线路
定义在BBR1上面让通过FR来自192.168.3.0的数据保,走f0/0的线路
为了查看过程,我们先定义一个方便debug的ACL access-list 101 permit icmp any 219.146.242.0 0.0.0.255 access-list 101 deny icmp any any
然后在BBR1上面debug ip pac 101
我们在192.168.4.0上面,ping 219.146.242.2
查看,结果如下
[验证结果]
[Copy to clipboard] CODE: 18:53:31: IP: tableid=0, s=192.168.4.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), routed via RIB 18:53:31: IP: s=192.168.4.1 (Serial1/0.1), d=219.146.242.1 (Serial1/1), g=219.146.242.1, len 100, forward 18:53:31: IP: tableid=0, s=192.168.4.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), routed via RIB 18:53:31: IP: s=192.168.4.1 (Serial1/0.1), d=219.146.242.1 (Serial1/1), g=219.146.242.1, len 100, forward 18:53:31: IP: tableid=0, s=192.168.4.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), routed via RIB 18:53:31: IP: s=192.168.4.1 (Serial1/0.1), d=219.146.242.1 (Serial1/1), g=219.146.242.1, len 100, forward 18:53:31: IP: tableid=0, s=192.168.4.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), routed via RIB 18:53:31: IP: s=192.168.4.1 (Serial1/0.1), d=219.146.242.1 (Serial1/1), g=219.146.242.1, len 100, forward 18:53:31: IP: tableid=0, s=192.168.4.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), routed via RIB 18:53:31: IP: s=192.168.4.1 (Serial1/0.1), d=219.146.242.1 (Serial1/1), g=219.146.242.1, len 100, forward (Serial1/1), g=219.146.242.1, len 100, forward
|
可以看到上面来自4.0段的IP从s1/1出去
[Copy to clipboard] CODE: 19:03:39: IP: tableid=0, s=192.168.3.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), routed via RIB 19:03:39: IP: s=192.168.3.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), g=219.146.241.2, len 100, forward 19:03:39: IP: tableid=0, s=192.168.3.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), routed via RIB 19:03:39: IP: s=192.168.3.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), g=219.146.241.2, len 100, forward 19:03:39: IP: tableid=0, s=192.168.3.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), routed via RIB 19:03:39: IP: s=192.168.3.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), g=219.146.241.2, len 100, forward 19:03:40: IP: tableid=0, s=192.168.3.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), routed via RIB 19:03:40: IP: s=192.168.3.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), g=219.146.241.2, len 100, forward 19:03:40: IP: tableid=0, s=192.168.3.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), routed via RIB 19:03:40: IP: s=192.168.3.1 (Serial1/0.1), d=219.146.242.1 (FastEthernet0/0), g=219.146.241.2, len 100, forward (FastEthernet0/0), g=219.146.241.2, len 100, forward
|
可以看到上面来自3.0段的IP从F0/0出去
要记住策略路由最基本的步骤
1,定义一个IP范围,Acl 2,定义一个RouterMAP
Match ACL范围的IP
Set 动作 Action 动作
3,定义好了以后要在某个接口上应用 ip policy router-map mapname
[路由单项重发布以及AD/Metric更改]
[SW1] router ospf 100
distance 40 [使用Distance 命令修改默认管理距离]
distance 40 x.x.x.x 255.255.255.255[使用Distance 命令修改默认某条特定路由的管理距离]
redistribute rip sub metric 30 [修改metric] [SR1] int lo0 ip add 105.0.0.1 255.0.0.0 int lo1 ip add 106.0.0.1 255.0.0.0 router rip net 105.0.0.0 net 106.0.0.0 [SR2] int lo0 ip add 107.0.0.1 255.0.0.0 int lo1 ip add 108.0.0.1 255.0.0.0 router rip net 107.0.0.0 net 108.0.0.0 增加这两个lo接口地址是为了下一步实验
举例: 作为边界路由器经常会学习到到达同一目的地的两条不同协议的路由,比如RIP和EIGRP
然后这两种协议不具备可比性,一个是跳数,一个是带宽也延迟,那么就要比较管理距离,一个是120一个是90
肯定要选择EIGRP,那么我们可以通过Distance命令来让它优先选择RIP而不是EIGRP
他们只对本地有效,另外要注意它的意义所在,例如 router rip distance 40 router ospf 100 distance 30
第一个是只有通过RIP学习到的路由更改AD为40
第二个是只有通过OSPF 100学习到的路由更改AD为30
到底什么学习来的,sh ip route的时候看前面的路由标识,R或者O或者其他
[使用Distance 命令修改默认管理距离] 修改之前,学习到的外部OSPF路由都是默认的110管理距离
[Copy to clipboard] CODE: C 102.0.0.0/8 is directly connected, FastEthernet1/3 O N2 103.0.0.0/8 [110/20] via 219.146.244.2, 00:00:02, FastEthernet1/4 C 101.0.0.0/8 is directly connected, FastEthernet1/2 O IA 172.17.0.0/16 [110/129] via 219.146.242.1, 00:00:02, Serial0/1 O IA 172.16.0.0/16 [110/192] via 219.146.242.1, 00:00:02, Serial0/1 O IA 172.19.0.0/16 [110/129] via 219.146.242.1, 00:00:02, Serial0/1 O IA 172.18.0.0/16 [110/193] via 219.146.242.1, 00:00:02, Serial0/1
|
.... 通过distance 40命令修改之后,所有的通过ospf 100学习来的路由AD变为我们指定的40
[Copy to clipboard] CODE: C 102.0.0.0/8 is directly connected, FastEthernet1/3 O N2 103.0.0.0/8 [40/20] via 219.146.244.2, 00:00:18, FastEthernet1/4 C 101.0.0.0/8 is directly connected, FastEthernet1/2 O IA 172.17.0.0/16 [40/129] via 219.146.242.1, 00:00:18, Serial0/1 O IA 172.16.0.0/16 [40/192] via 219.146.242.1, 00:00:18, Serial0/1 O IA 172.19.0.0/16 [40/129] via 219.146.242.1, 00:00:18, Serial0/1 O IA 172.18.0.0/16 [40/193] via 219.146.242.1, 00:00:18, Serial0/1
|
[使用Distance 命令修改默认某条特定路由的管理距离]
所有的通过ospf 100学习来的路由都将被更改AD,如果我们只是希望更改某一条外部路由的metric
通过distance 扩展命令就不用根据进程号来进行管理距离的改变,而是根据从哪儿学习来的路由
这里我们拿RIP来实验
修改之前我们先再SW1上面查看学习到的RIP路由
[Copy to clipboard] CODE: R 106.0.0.0/8 [120/1] via 101.0.0.1, 00:00:11, FastEthernet1/2 R 105.0.0.0/8 [120/1] via 101.0.0.1, 00:00:12, FastEthernet1/2 R 108.0.0.0/8 [120/1] via 102.0.0.1, 00:00:16, FastEthernet1/3 R 107.0.0.0/8 [120/1] via 102.0.0.1, 00:00:22, FastEthernet1/3
都是从101.0.0.1学习来SR1的RIP路由,从102.0.0.1学习来SR2的RIP路由
我们现在让从101.0.0.1学习来的RIP路由的AD变为40
那么执行 router rip distance 40 101.0.0.1 255.255.255.255 [Copy to clipboard] CODE: R 106.0.0.0/8 [40/1] via 101.0.0.1, 00:00:02, FastEthernet1/2 R 105.0.0.0/8 [40/1] via 101.0.0.1, 00:00:14, FastEthernet1/2 R 108.0.0.0/8 [120/1] via 102.0.0.1, 00:00:06, FastEthernet1/3 R 107.0.0.0/8 [120/1] via 102.0.0.1, 00:00:12, FastEthernet1/3 [distribute rip sub metric 30]
更改我们先查看学习到的RIP路由的Metric [Copy to clipboard] CODE: SW2#sh ip route O N2 102.0.0.0/8 [110/20] via 219.146.244.1, 00:00:02, FastEthernet1/4 O N2 108.0.0.0/8 [110/20] via 219.146.244.1, 00:00:02, FastEthernet1/4 O N2 106.0.0.0/8 [110/20] via 219.146.244.1, 00:00:03, FastEthernet1/4 O N2 107.0.0.0/8 [110/20] via 219.146.244.1, 00:00:03, FastEthernet1/4 O N2 105.0.0.0/8 [110/20] via 219.146.244.1, 00:00:03, FastEthernet1/4 ........... 我们在SW1上面redistribute rip sub metric 30以后,再看SW2 [Copy to clipboard] CODE: SW2#sh ip route CODE: C 102.0.0.0/8 is directly connected, FastEthernet1/3 O N2 103.0.0.0/8 [110/20] via 219.146.244.2, 00:00:02, FastEthernet1/4 C 101.0.0.0/8 is directly connected, FastEthernet1/2 O IA 172.17.0.0/16 [110/129] via 219.146.242.1, 00:00:02, Serial0/1 O IA 172.16.0.0/16 [110/192] via 219.146.242.1, 00:00:02, Serial0/1 O IA 172.19.0.0/16 [110/129] via 219.146.242.1, 00:00:02, Serial0/1 O IA 172.18.0.0/16 [110/193] via 219.146.242.1, 00:00:02, Serial0/1 ....
通过distance 40命令修改之后,所有的通过ospf 100学习来的路由AD变为我们指定的40 O N2 102.0.0.0/8 [110/30] via 219.146.244.1, 00:00:02, FastEthernet1/4 O N2 108.0.0.0/8 [110/30] via 219.146.244.1, 00:00:02, FastEthernet1/4 O N2 106.0.0.0/8 [110/30] via 219.146.244.1, 00:00:03, FastEthernet1/4 O N2 107.0.0.0/8 [110/30] via 219.146.244.1, 00:00:03, FastEthernet1/4 O N2 105.0.0.0/8 [110/30] via 219.146.244.1, 00:00:03, FastEthernet1/4 ......... router ospf 100 redistribute rip sub metric 30
结果的意思表明是通过ospf 100学习到的RIP路由的metric更改为30,一定要理解含义 跟前面的distance语法区分开
【责任编辑 王凡】
|