<OSPF(Open Shortest Path First)>
·OSPF属于IGP,是Link-State协议,基于IP Pro 89。
·采用SPF算法(Dijkstra算法)计算最佳路径。
·快速响应网络变化。
·网络变化是触发更新。
·以较低频率(每隔30分钟)发送定期更新,被称为链路状态刷新。
OSPF维护的3张表:
1)Neighbor Table:
确保直接邻居之间能够双向通信。
2)Topology Table:
LSDB(Link-State DataBase),同一区域的所有路由器LSDB相同。
3)Routing Table:
对LSDB应用SPF算法,选择到达目标地址的最佳路由放入路由表。
·Transit area (backbone or area 0)
主要功能:为快速、高效地传输数据包。通常不接用户。
·Regular areas (nonbackbone areas)
主要是连接用户。而且所有数据都必须经过area 0中转。
包括:Stub / Totally Stubby / NSSA
·为减少LSA和LSDB,OSPF用Area来分隔路由器。
区域中的路由器保存该区域中所有链路和路由器的详细信息,
但只保存其他区域路由器和链路的摘要信息。
·P2P链路可以到达FULL状态。
·MA网络,所有路由器只和DR/BDR(Backup Designated Router)到达FULL状态。
·路由更新只在形成FULL状态的路由器间传递。
·Hello Intervals:10S 30S
·Dead Interval:4*Hello =40S 4*Hello =120S
·OSPF Cost = 108/BW (bps)
·OSPF的5种报文:
1)Hello:发现并建立邻接关系。
2)DBD:包含路由的摘要信息。
3)LSR:向另一台路由器请求特定路由的完整信息。对DBD的一个隐式确认。
4)LSU:回应LSR该条路由的完整信息。
5)LSAck:对LSR/LSU做确认。因为IP是不可靠的。
Route-ID:
为唯一标识OSPF域中路由器。
设置Route-ID的优先顺序:
1)手工指定Route-ID x.x.x.x(可任意,但不能重复)
2)最大的Loopback IP
3)最大的接口IP(保证接口是激活状态)
OSPF建邻居的必要条件:
1)Hello/Dead Intervals
2)Area ID
3)Authentication Password
4)Stub Area Flag
DR/BDR的选举:
1)比较优先级,越大越优(默认为1,如设为0表示不参与选举)
2)比较Route-ID,越大越优。
·DRother发送给DR/BDR用224.0.0.6
·DR发送给DRother用224.0.0.5
·非MA网络(没有DR/BDR),路由器都用224.0.0.5
<OSPF>
R1(config)#router ospf 110
R1(config-router)#network 1.1.1.0 0.0.0.255 area 0(正/反掩码皆可)
R1(config-router)#network 12.1.1.0 255.255.255.0 area 0
R1#show ip protocols
R1#show ip ospf interface
R1#show ip ospf interface brief
R1#show ip ospf neighbor
查看Router-id
network 1.1.1.0 0.0.0.255 area 0.0.0.0
不同进程号
不同Area
Hello/Dead Intervals
R4(config-if)#ip ospf hello-interval 9
(dead自动*4)
R4(config-if)#ip os dead-interval 80
<DR/BDR>
1)DR正常时,即使有新的Pri比DR高的路由器也不能抢占成为DR。
2)DR正常时,BDR只接收所有信息,但转发LSA和同步LSDB的任务由DR完成,当DR故障时,BDR自动成为DR,完成原DR的工作,并选举新的BDR。
3)DR是个接口概念。每个网段都会选举DR。
R1#show ip os database
<LSA(Link-State Advertisement)>
·ADV Router指Router-id
1 2 3 4 5 7
Link ID RID DR IP Route ASBR RID Route Route
LSA1(Router Link States)
R1#show ip ospf database router
域内路由,仅在本区域传递,描述本区域链路、路由信息,不会穿越ABR。
LSA2(Net Link States)
R1#show ip ospf database network
只有MA网络才会产生LSA2,由DR发出,仅在本区域传递。
LSA3(Summary Net Link States)
R1#show ip ospf database summary
域间路由,能泛洪到整个AS,由ABR发出,穿越一个ABR,其ADV Router就会变成此ABR的Router-id.
LSA4(Summary ASB Link States)
R1#show ip os database asbr-summary
把ASBR的Router-id传播到其他区域,用于其他区域的路由器得知ASBR的位置。由ABR发出,穿越一个ABR,其ADV Router就会变成此ABR的Router-id.
LSA5(Type-5 AS External Link States)
R1#show ip os database external
域外路由,不属于某个区域,ASBR产生,泛洪到整个AS。不会改变ADV Router。
LSA7(Type-7 AS External Link States)
R2#show ip os database nssa-external
只存在于NSSA区域中。
R2(config-if)#bandwidth 5000
R2(config-if)#ip ospf cost 30
·重分布进OSPF的路由默认为E2,Cost=20,且传递过程中不改变COST。
R4(config-router)#redistribute rip subnets metric 8
<修改Cost参考值>
R1(config)#router os 110
R1(config-router)#auto-cost reference-bandwidth 1000 (Mbps)
<域间汇总>
R2(config)#router os 110
R2(config-router)#area 0 range 172.16.32.0 255.255.224.0 cost 2
(汇总哪个区域的路由,明细在哪个区域)
本地产生 O 172.16.32.0/19 is a summary, 00:00:06, Null0
建议在本区域的所有ABR上做。
not-advertise 汇总时加上此参数,汇总,但是不传递此路由。
<域×××总>
R4(config)#router os 110
R4(config-router)#summary-address 44.0.0.0 255.0.0.0 (在ASBR上做)
可加not-advertise参数,也可加tag参数,用route-map进行过滤。
本地产生 O 175.5.64.0/22 is a summary, 00:00:04, Null0
<向OSPF域注入默认路由>
R4(config)#ip route 0.0.0.0 0.0.0.0 Serial 0
R4(config-router)#default-information originate
O*E2 0.0.0.0/0 [110/1] ------- seed metric默认值为1。重分布的seed metric为20。
router)#default-information originate metric 3 type 1 --- 修改类型为1,metric 3。
R4(config-router)#default-information originate always --- 在没有默认路由的情况下下发默认路由。
R4(config-router)#default-information ori alw metric-type 1 metr 3
<Stub>
·将某区域设为Stub可缩小区域的LSDB,降低内存消耗。阻止LSA4/5进入Stub区域。
R2(config-router)#area 2 stub
·由ABR发出一条LSA3默认路由给Stub的其他路由器。
默认的Seed Cost=1
R2(config-router)#area 2 default-cost 6 (在ABR上做,改Seed Cost=6)
·必须将Stub区域的所有路由器都配成Stub。
Stub区域不能用作虚链路的中转区域。
Stub中不能出现ASBR。
Area 0不能配成Stub。
<Totally Stubby > Cisco 私有
·更加缩小区域的LSDB,在Stub基础上,阻止LSA3。(阻止LSA3/4/5)
R2(config-router)#area 2 stub no-summary (只需在ABR上做)
<NSSA(Not-So-Stubby Areas)>
·只有NSSA区域中才会现LSA7,可以存在ASBR。
阻止LSA4/5。
ABR将LSA7转成LSA5,传播到其他区域。
R2(config-router)#area 2 nssa (没有产生默认路由)
R2(config-router)#area 2 nssa default-information-originate
(在ABR上做,由ABR产生一条LSA7默认路由传播到NSSA其他路由器,默认Seed Cost=1)
R2(config-router)#area 2 default-cost 6 (在ABR上做,改Seed Cost=6)
R2(config-router)#area 2 nssa default-information-originate metric 6 metric-type 1
R2(config-router)#area 2 nssa no-redistribution
(对ABR上有外部路由进入NSSA区域时,将其阻止)
R2(config-router)#area 2 nssa no-summary
(Totally NSSA,阻止LSA3/4/5,由ABR产生LSA3默认路由传播到NSSA其他路由器)
R2(config-router)#area 2 nssa no-redistribution default-in no-summary
(LSDB中会出现LSA3/7默认路由,路由表中只会显示LSA3默认路由)
<OSPF区域问题>
1)在ABR上起不同OSPF进程,进行OSPF之间的重分布。
2)虚链路:
R3(config-router)#area 2 virtual-link 2.2.2.2
(中转区域) (对方Router-ID)
·远离Area0 / 分隔的Area 0
R2#show ip os virtual-links
3)Tunnel:
config)#int tunnel 1
config-if)#tunnel source serial 0
(要用物理接口,如用Loopback口会出现路由翻动)
config-if)#tunnel destination 2.2.2.2 (对方Router-ID)
目标:一定要有去往目标的路由条目。
<负载均衡>
·OSPF只支持等价的负载均衡。(默认为4条)
R1#show ip protocols
R1(config)#router ospf 110
R1(config-router)#maximum-paths 6(最多6条)
<被动接口>
R1(config)#router ospf 110
R1(config-router)#passive-interface loopback 0
接口将不收发Hello包,但此接口还是被宣告进OSPF。
其他路由器仍可收到这接口的路由。
<认证>
·分Link/Area/Virtual-Link 3种认证
每种认证都分为 Clear Text & MD5
R1#deb ip ospf adj
Link:
R1(config-router)#int s1
R1(config-if)#ip ospf authentication-key wolf (配明文密码)
R1(config-if)#ip ospf authentication (启动明文认证)
Area:
R1(config-router)#int s0
R2(config-if)#ip ospf message-digest-key 1 md5 wolf (配密文密码)
R2(config-router)#area 0 authentication Message-digest (启动密文认证)
区域内的所有路由器都要认证。
Virtual-Link:
R2(config-router)#area 2 virtual-link 2.2.2.2 message-digest-key 1 md5 wolf (配密文密码)
R2(config-router)#area 2 virtual-link 2.2.2.2 authentication message-digest (启动密文认证)
注:如果Area0启动认证,在Virtual-Link上也要启动相应的认证。
<OSPF Network Type>
1)LOOPBACK: Loopback
2)POINT_TO_POINT: Serial / FR's P2P Subif / BRI (无DR)
3)BROADCAST: Ethernet / Token Ring (选举DR)
4)NON_BROADCAST(NBMA): FR's Physical / FR's MP Subif (手工单播建邻居,选举DR)
5)POINT_TO_MULTIPOINT: (无DR,出现对端直连接口/32主机路由)
6)POINT_TO_MULTIPOINT NON_BROADCAST: (无DR,单播,出现/32主机路由)
[2/3] Hello:10S [4/5/6] Hello:30S
·每种接口都被赋予了默认的OSPF Network Type,但可手工对其修改。
将Serial的Network Type改为Boradcast,测试不同网段选举DR。
·NON_BROADCAST
R1(config-if)#ip ospf network non-broadcast
R1(config)#router os 110
R1(config-router)#neighbor 12.1.1.2 (只需一方设置就OK,一般在Hub指Spoke)
·POINT_TO_MULTIPOINT (BORADCAST)
R1(config-if)#ip ospf network point-to-multipoint
O 12.1.1.1/32 [110/64] via 12.1.1.1, 00:01:12, Serial0 (对方直连接口主机路由)
·POINT_TO_MULTIPOINT NON_BROADCAST
R2(config-if)#ip ospf network point-to-multipoint non-broadcast
R2(config)#router os 110
R2(config-router)#neighbor 12.1.1.1
用show ip ospf interface serial 0看不到non-broadcast,只能show run
<同一网段Hub & Spoke OSPF>
·FR环境:关闭反向ARP,手工映射。
HUB可访问Spoke,Spoke之间不能互访。
________________________________________________________________________________________
应用环境 不支持广播的物理网络 支持广播的物理网络
(FR map 不加Broadcast) (FR map 加Broadcast)
________________________________________________________________________________________
单播 组播
________________________________________________________________________________________
NON_BROADCAST BROADCAST
手工NEI 自动NEI(组播方式)
手工映射 手工MAP 手工MAP(加BROADCAST参数)
手工DR(HUB成为DR) 手工DR(HUB成为DR)
________________________________________________________________________________________
P2MP NBMA P2MP
手工NEI(单播更新) 自动NEI
自动映射 自动MAP 自动MAP
32位主机路由 无DR 无DR
________________________________________________________________________________________
·NON_BROADCAST
·3层是NBMA,2层是否让通过广播都无所谓。(FR map后加不加Broadcast皆可)
在HUB端(R1)单播
R1(config)#router os 110
R1(config-router)#neighbor 145.1.1.4
R1(config-router)#neighbor 145.1.1.5
确保HUB成为DR,和Spoke交互路由信息。
R1(config)#int s0
R1(config-if)#ip ospf priority 2
R4/R5(config-if)#ip ospf priority 0
R4: O 5.5.5.0 [110/65] via 145.1.1.5, 00:00:07, Serial
手工MAP(Spoke 端的互访)
R4(config-if)#frame-relay map ip 145.1.1.5 401
R5(config-if)#frame-relay map ip 145.1.1.4 501
·BROADCAST
·3层是BMA,2层也一定要让广播通过。(FR map后一定要加Broadcsat)
R1(config-if)#fram ma ip 145.1.1.4 104 broadcast
R1(config-if)#fram ma ip 145.1.1.5 105 broadcast
确保HUB成为DR,和Spoke交互路由信息。
R1(config)#int s0
R1(config-if)#ip ospf priority 2
R4/R5(config-if)#ip ospf priority 0
R4: O 5.5.5.0 [110/65] via 145.1.1.5, 00:00:07, Serial
手工MAP
R4(config-if)#frame-relay map ip 145.1.1.5 401
R5(config-if)#frame-relay map ip 145.1.1.4 501
·POINT_TO_MULTIPOINT NON_BROADCAST
·3层是NBMA,2层是否让通过广播都无所谓。(FR map后加不加Broadcast皆可)
在HUB端(R1)单播
R1(config)#router os 110
R1(config-router)#neighbor 145.1.1.4
R1(config-router)#neighbor 145.1.1.5
R4: O 145.1.1.5/32 [110/128] via 145.1.1.1, 00:00:24, Serial1
产生/32主机路由,且下一跳指向HUB,所以不需手工MAP。
·POINT_TO_MULTIPOINT
·3层是允许广播,2层也一定要让广播通过。(FR map后一定要加Broadcsat)
·R1#show ip os neighbor detail
DR is 0.0.0.0 BDR is 0.0.0.0
P2P/P2MP/P2MP NBMA都不需要选举DR/BDR,所以DR is 0.0.0.0 BDR is 0.0.0.0
·POINT_TO_POINT(做不同网段)
HUB端起2个P2P子接口:
interface Serial0
encapsulation frame-relay
no frame-relay inverse-arp
interface Serial0.14 point-to-point
ip address 14.1.1.1 255.255.255.0
frame-relay interface-dlci 104
interface Serial0.15 point-to-point
ip address 15.1.1.1 255.255.255.0
frame-relay interface-dlci 105
==================================================================================================
NP+
链路状态协议及OSPF的三张表
网络分层各种区域及各种LSA类型
OSPF各种包类型
OSPF接口的各种网络类型
OSPF建邻居的必要条件以及各种过程?及OSPF的COST
OSPF的验证
OSPF的汇总
OSPF的重分布
OSPF的虚链路
OSPF的过滤
OSPF在区域内是链路状态协议,在区域间是距离矢量协议。
链路状态协议的特性:
OSPF三张表查看:
#show ip ospf neighbor ------- 查看邻居表
#show ip ospf database ------- 查看database数据库
#show ip route ospf ---------- 查看路由表
网络分层与各种区域
为什么分层?
1,路由翻动时不会影响到其它区域;
2,减少路由表条目(可以在边界汇总);
3,减小路由器资源消耗;
4,减少LSA泛洪。
有哪几种区域?
1,骨干区域backbone(area 0)可以传递其它区域LSA
可以有1、2、3、4、5号LSA
2,规则区域(非骨干区域)
可以有1、2、3、4、5号LSA
与backbone唯一不同处是不能传递其它区域的LSA
3,stub
stub(过滤了4、5类LSA,stub区域不能有ASBR,stub区域的ABR会产生默认路由向stub区域内泛洪)可以有1、2、3类LSA
产生的默认路由:3类 OIA cost为1
区域内的所有路由器都要为stub区域。
在ABR上:
router)#area 1 default-cost 16 ---------- 修改特殊区域内默认路由的cost值
stub区域的ABR,会deny OE 的LSA,不会deny OIA
把自己产生的3号LSA过滤掉,其它区域产生的3类LSA会在stub区域内泛洪。
OIA路由要计算延路metric值。
stub的其它区域中除了ABR,其它路由器不能产生默认路由。
Stub区域不能作为虚链路的中转区域。
4,total stub
在stub的基础上过滤了3类的LSA
在ABR上:
router)#area 1 stub no-summary no-summary 只需做在ABR上。
产生的默认路由:3类 OIA cost为1
修改cost同stub.
可以有1、2类LSA,只有一条3类LSA:是默认路由。
当stub区域有两个ABR时,一个是totoal stub 一个是stub,如果走OSPF域内路由会从stub域内走,如果走外部路由,则从totoal stub区域走。
5,NSSA(Not-So-Stubby Areas)
(过滤4、5类LSA,允许区域内部有ASBR。区域内部产生的外部LSA定义为7类。再经过NSSA的ABR时,7类LSA转5类LSA。)可以有1、2、3、7类LSA。
默认情况下是不会产生默认路由。
在ABR上:
router)#area 1 nssa default-information-originate --------- 产生一条7类打N2的默认路由,路由表中不需要有静态路由。
改cost值同stub区域命令。
router)#area 1 nssa translate type7 suppress-fa ------------------- 在七转五的过程中将forward address 抑制掉。
用上命令,计算cost时计算距离是NSSA ABR的距离。FA(forward address)
NSSA区域内部的路由器不是ABR如何产生默认路由?
1,先写一条静态默认路由;
2,area 1 nssa default-information-originate
此时在NSSA内部是七类LSA,经过ABR时就7转5
6,totoal NSSA
(过滤4、5类LSA,允许区域内部有ASBR。区域内部产生的外部LSA定义为7类。再经过NSSA的ABR时,7类LSA转5类LSA。)可以有1、2、7类LSA。
产生一条3类打OIA的默认路由
router)#area 1 nssa no-summary
router)#area 1 nssa no redistribution
当NSSA区域中的ABR即是ABR又是ASBR(不是7转5,而是自己主动重分布)时,而且会向NSSA域内公布一条默认路由,这时需在NSSA后加上no-redistribution用来抑制将外部LSA重分布进NSSA区域。
产生5类的默认路由
default-information origiate ------------- 在OSPF域内产生5类默认路由,必须要有一条默认的静态路由。
default-information origiate always ------ 加了always这个参数时就是不需要路由表中有这条默认路由。
default-information origiate route-map A -- 允许符合条件的
在NSSA区域有两个ABR时,Router-ID大的ABR进行7转5。
NSSA中的forward address 是其它ASBR最后宣告进OSPF的接口IP地址。
NSSA的forward address有环回口就选环回口,选最新的宣告进OSPF的环回口,如果没有环回口就选物理接口,也是选最新的宣告进OSPF的物理接口。
当先宣告环回口,再宣告物理接口时,会选择哪一个为forward address ?
当一个路由器一个是totoal stub 一个是stub,走内部路由是stub区域,
走外部路由走totoal NSSA,走内部路由走NSSA区域。
域内路由走明细,外部路由走默认。
OSPF LSA类型
LSA:Link-State Advertisement(链路状态数据库)
LSA-1 OSPF中同一个区域内维护一个database数据库,本路由器产生。
#show ip ospf database router --------- 查看database数据库,包括自己直连的接口,包括自己的邻居。
对于非多访问网络的直连链路,描述的是:a stub network,对于多访问网络,描述的是:a transit network
a stub network描述DR地址以及自己与DR相连的接口地址
a transit network描述非多访问网络的网络号以及子网掩码,描述自己的邻居,对方的Router-id以及自己与邻居相连的直连接口。
#show ip ospf database router x.x.x.x ---------- 查看某条路由的database
LSA-2 由DR产生的,DR是接口的特性。
#sh ip ospf database network --------- 查看LSA-2信息
Link-ID是DR的接口地址
包括金访问网络链路下所有路由器的Router-id,还包括这条链路的子网掩码
LSA-3 区域间,由ABR产生,必须一端连接到Area 0
#show ip ospf database summary ------- 查看LSA-3信息
LSA-3其实是路由,每经过一个ABR advertise-route会改变为经过那个ABR的Router-id.
LSA-4 由ABR产生,描述的是其它区域的ASBR的Route-id,每经过一个ABR,ADV-route会改变
#show ip ospf database asbr-summary ---- 查看LSA-4信息
LSA-5 由ASBR产生,其实是路由,不属于任何区域,5类LSA在除了特殊区域以外,其它OSPF域内所有区域泛洪。
#show ip ospf database external -------- 查看LSA-5信息
LSA-6 (MOSPF)cisco路由器不支持,要deny掉
router)#ignore lsa mospf -------- deny掉mospf。
LSA-7 其实是路由,存在于NSSA区域中
#show ip ospf database nssa-external --- 查看LSA-7信息
看database数据库时看四项:
1,区域ID 2,LSA类型 3,Link-ID 4,ADV Router
*重分布直连进一个协议时必须挂Router-map
OSPF的各种包类型及其作用
Hello:建立和维护邻居关系
DBD:数据库描述包(带LSA头部,协商主从关系)
LSR:请求LSA(不带LSA头部)
LSU:更新LSA(LSA详细信息)
LSAck:确认LSU(LSA头部用来做确认LSU)
#show ip ospf request-list ------ 可看到路由器向邻居请求的LSA信息
LSR靠TYPE ,Link-ID,ADV-Router,area-ID来请求LSA详细信息
OSPF选路
O>OIA>ON>OE1>OE2 相同时比较forwarding metric
forwarding metric是路由器计算到其它区域ASBR的一个距离。
OSPF接口的各种网络类型
#show ip ospf interface ethernet 0 -------- 查看接口网络类型
#show ip ospf virtual-links
if)#ip ospf hello-interval 10 ------------- 修改Hello时间
if)#ip ospf dead-interval 40 -------------- 修改dead时间
if)#ip ospf network point-to-multipoint --- 修改接口网络类型
网络类型 Hello时间(秒) 手工建立neighbor 产生32位路由 默认的二层链路
P2P 10 不需要 没有 串口,HDLC,PPP
broadcast 10 需要 没有 以太链路
P2MP 30 不需要 有
P2MP-non 30 需要 有
NBMA 30 需要 没有 帧中继的主接口和多点子接口
Loopback 没有 不需要 有
virtual-link 10(虚链路建立好以后) 需要 没有
改Dead时间,Hello时间不会改
改Hello时间,Dead时间会改变。
NBMA基本配置
FR环境下的NBMA不需要broadcast,二层不broadcast
FR环境下NBMA基本配置:
1,HUB端指neighbor
2,spoke端priotiy 0 (优先级为0)
3,spoke端相互映射FR map
NBMA单播更新,FR中的broadcast是允许广播和组播的流量。
此NBMA拓扑相当于
FR环境下P2MP(二层broadcast)
不需neighbor,优先级不需要为0
在P2MP中相当于
P2MP产生32位主机路由通告给其它邻居或路由器(检测网络可达方法)
1,spoke端之间不需要相互map
2,产生32位主机路由检测网络可达情况
P2MP-non:当二层链路不想产生广播又想用P2P时就用P2MP-non
P2MP-non:(cisco私有,点到多点非广播)
特例:
看不到neighbor的情况:
1,NBMA FR环境
NBMA网络中spoke端指neighbor ,show run时看不到neighbor 命令,show ip ospf neighbor 可看到neighbor 状态。
因为思科默认neibhgor是做在HUB端,spoke端prioity为0时看不到neighbor,prioity为其它值时是可以看到neighbor命令的。
在spoke端指neighbor到HUB端是可以建邻居。
OSPF进程中,neighbor 没有用处,在进程删除不掉?
要删除没用的网络:1,先配一个接口IP与neighbor同一网段;
2,将这个接口类型改为P2MP或P2MP-non;
3,删除neighbor
2,OSPF中指neighbor,不宣告接口,neighbor看不到
1,将接口类型改为其它网段
2,指neighbor
3,将接口类型改回来
OSPF中重分布直连比重分布协议优先级高
如同时进行,必须将本路由宣告进协议的接口,也不重分布直连里匹配。
重分布直连一定要挂route-map
重分布是基于什么的?
1,基于路由表
2,基于宣告进协议的直连接口,掩码多少位看路由表
--------------------------------------------------------------------------------------------------
什么情况下成为full状态,而不能收到LSA?
1,两台路由器对它们中间直连链路认为不一样,学不到路由。
2,在没有区域0的情况下,没有4号LSA,5号的LSA也不会放进路由表中。
OSPF建立邻居必要条件:
1,Hello和dead intervals time
2,Area-ID
3,Authentication password(认证)
4,Stub area flag(未节区域标记)
if)#ip ospf dead-interval minimal hello-multiplier 3 3代表一秒钟发3个hello包。dead时间变为1秒。
hello-interval不一样,dead-interval一样的时候可以建邻居。
在建邻居时,当MTU不匹配的时候,会停在EXSTART或者EXCHANGE状态。
显示确认:发了一个LSU必须收到一个LSACK。
隐式确认:在DBD发送时,当路由器接收一个主路由器发过来的DBD消息,再发给主路由器DBD信息时的序列号相同,用序列号来确定DBD信息。
第一个DBD包不带任何LSA头部,是用来协商主从关系。
用Route-ID选主从关系,Route-ID大的为主,Route-ID小的为从。
路由器的E0口不能直接改MTU,可以改IP MTU,IP MTU 受限于MTU,IP MTU的最大值就是MTU。
R#ip mtu 1400 路由器上修改MTU值, ip mtu的值不能大于mtu。
SW ig)#system mtu 1500 交换机上修改MTU值,改过后必须保存重启才会起效。
SW#show system mtu 看交换机MTU值。
邻接的开始Exstart状态,邻接完成是full状态。
邻居是Two-way状态。
#clear ip ospf process 清OSPF进程。
if)#ip ospf mtu -ignore 接口下做,忽略MTU(做在MTU小的一方)
多访问网络中选DR,如果子网掩码不同,邻居是建不起来。网络类型也不是建邻居的必要条件。
OSPF cost 值
接口的cost值计算方法 : 108/接口带宽
路由带宽cost值算法:沿路入向接口cost 值磊加,就是这条路由的cost值。
默认重分布进OSPF的路由是OE2的,cost值默认值是20
如何修改OSPF cost值:1,修改接口带宽。#bandwidth 1000
2,修改参考带宽。的OSPF域内所有路由器都需要改。router)#auto-cost reference-bandwidth 100
3,接口模式下修改cost值 if)#ip ospf cost 1000
4,重分布时OE2改为OE1。 #re ei 100 sub metric-type OE1
5,重分布时加metric值。 #re ei 100 sub metric 10
6,default-metric。用来修改重分布进来路由的cost值。
7,重分布时挂Route-map set metric值。
8,neighbor x.x.x.x cost 1000 只有在点到多点的情况下才可以更改。
9,router)#area 1 default-cost 16 ------- 特殊区域修改COST值。
作业:
default-metric,对哪些重分布进来的路由起效果?
1,直连 (不起效果)
2,静态 (起效果)
3,其它协议(起效)
OSPF认证 明文认证/密文认证
1,链路认证;
链路认证方式
明文:if)#ip ospf authentication
密文:if)#ip ospf authentication message-digest
链路的认证密码
明文:if)#ip ospf authentication-key cisco cisco是密码,如果后面有空格,空格也算是密码。
密文:if)#ip ospf message-digest-key 1 md5 cisco 1代表是key-id,cisco是密码。
2,区域认证;
区域认证主要作用是:减少配置命令
在进程内打开区域认证方式
明文:router)#area 1 authentication ------ area 1 启用明文认证
密文:router)#area 1 authentication message-digest ---- area 1 启用密文认证
在链路上做认证密码
明文:if)#ip ospf authentication-key cisco
密文:if)#ip ospf message-digest-key 1 md5 cisco
3,虚链路认证。
在进程中做认证密码;在虚链路中做认证必须两边都做。
明文:router)#area 1 virtual-link 3.3.3.3 authentication-key cisco ----- 创建明文密码
调用:router)#area 1 virtual-link 3.3.3.3 authentication ---- 虚链路中调用
密文:router)#area 1 virtual-link 3.3.3.3 authentication message-digest-key 1 md5 cisco ----- 创建密文密码
调用:router)#area 1 virtual-link 3.3.3.3 authentication message-digest --------- 虚链路中调用
明文认证的密码只能有一个,密文认证密码可以有多个。
OSPF认证最后配置的KEY为youngest-key 如youngest-key没有匹配则发所有的K,如youngset-key匹配则只发youngest-key,前面的key不发送。
OSPF汇总
域间汇总:做在ABR上
range区域间汇总只能汇总1,2类的LSA,将它变为3类的LSA发送过去。
#show ip ospf border-routers --------- 查看ABR/ASBR
域间汇总路由标记是OIA
Area 0 是可以做区域间汇总
*OSPF和汇总和EIGRP的汇总都会产生一条指向Null0的汇总路由。
R2(config)#router os 110
R2(config-router)#area 0 range 172.16.32.0 255.255.224.0
(汇总哪个区域的路由)
本地产生 O 172.16.32.0/19 is a summary, 00:00:06, Null0
建议在本区域的所有ABR上做。
域×××总:做在ASBR上
summary-address只能汇总自己产生的五类和七类的LSA
成为ASBR的条件:有重分布的动作,而不管有没有重分布进来的路由,都算是ASBR。
ASBR能产生五类和七类的LSA
#summary-address 172.16.12.0 255.255.252.0 -------- 汇总
#clear ip ospf processes --------------- 清OSPF进程
OSPF的重分布
直连的优于协议的
重分发加subnet,可以加metric,tag等参数。
ospf向eigrp重分布的时候注意汇总路由。因为ospf和eigrp汇总会产生指向Null0的汇总路由,在ospf向eigrp重分布时要deny掉eigrp重分布进来的路由。
作业:
将以下IP地址重分布到OSPF中,要求metric值和tag值要符合条件:
tag ip metric
20 192.168.12.0 100/100
20 192.168.13.0 110/100
10 192.168.14.0 110/50
10 100.1.32.0 110/100
20 100.1.33.0 110/50
20 20.1.64.0 110/50
20 20.1.65.0 110/50
20 200.1.1.0 110/100
router)#redistribute eigrp 90 subnets metric 50 tag 20 route-map XXX
在重分布时可以直接改tag和metric ,route-map是在重分布后改一些参数。
route-map XXX per 10
match ip add 1
set metric 100
set tag 10
exit
router-map XXX per 20
match ip add 2
set metric 100
route-map XXX per 30
match ip add 3
set tag 10
acc 1 permit 100.1.32.0 0.0.0.0
acc 2 permit 200.1.1.0
acc 2 permit 192.168.12.0 0.0.1.0
acc 3 per 192.168.14.0
OSPF虚链路
使用虚链路的环境
1,连接没有和区域0直连的area
2,区域0分割(三种方法)
3,区域0冗余(防止区域0分割)
虚链路是属于area 0的,但不一定是有area 0才可以做虚链路。
虚链路默认的认证方式和区域0认证方式一样。
如题目要求,区域0为明文,密码为cisco,这时必须在虚链路上做认证。
router)#area 1 virtual-link 1.1.1.1 ---------- 做虚链路
对方Route-id
虚链路只能做在标准区域,stub区域和NSSA区域是不能做虚链路。因为标准区域拥有全LSA,而stub和NSSA区域没有全部的LSA。
不需要在虚链路上打认证方式,只需要在区域认证上打上认证。
当区域0只有一条链路连接,这时需做一条虚链路做备份:LAB
虚链路完成需看两个参数,一是UP,二是FULL
virtual-link hello包10秒钟发送一次,虚链路建立完成后就不再发送hello包。
LSA周期性的更新不会在virtual-link上传播。
router)area 1 v 2.2.2.2 hello-interval ----------- 修改虚链路hello时间
router)area 1 v 2.2.2.2 dead-interval ------------ 修改虚链路dead时间
DNA(Do not age):不会老化
rotuer)#net 10.1.13.0 0.0.0.255 area 0.0.1.0 ------------- 用a.b.c.d 表示,此命令等同于宣告进area 256
(256)
区域0分割的三种方法:
1,虚链路;
R2--------R1-------R3--------R5
(Area0) (Area1) (Area2)
R1-R3 做虚链路
R1:
router)#area 1 virtual-link 3.3.3.3 ----- 对方的R-ID,不需要有这条路由,因为在1类的LSA中就可以发现对方的R-ID。
R3:
router)#area 1 virtual-link 1.1.1.1 ----- 对方的R-ID
#show ip ospf virtual-links -------- 查看虚链路状态,,,查看是要看邻接状态是否是FULL状态。不能看协议是否UP。
2,tunnel;
R2--------R1-------R3--------R5
(A0) (A256) (A0)
area0分割,当R3宣告进A0中的接口没有一个能建立起邻居,则这时R3可以学到R2的路由信息,当R3宣告进A0的接口有一个能够建立起邻居关系,则R3学不到R2的路由信息。
R3建时收不到,不建可收到。
R1和R3做tunnel
R1if)#tunnel source s1
if)#tunnel destination 10.1.13.3
R3if)#tunnel source s1
if)#tunnel destination 10.1.13.1
R1ig)interface tunnel 0
if)#ip unnumbered lo 0 ----- lo 0必须是area0里面的接口:::借用lo0口的IP地址。
R3ig)#interface tunnel 0
if)#ip unnumbered lo 0 ----- lo 0必须是area0里面的接口
建tunnel的接口unnumber地址必须为同一区域(area 0)
#show ip ospf tunnel 0 det --------- 可看到tunnel 0为哪一个区域建的。
3,多进程重分布。
在OSPF中两个进程的Router-id不能相同。
OSPF多进程中重分布 metric值不会变(原来路由是多少就是多少不变),显示标记为O E2
OSPF中一条链路不能共享在两个进程,后宣告的进程不起效,不会发Hello包,也不会发送路由。
进程重分布:
R2--------R1-------R3--------R5
(Area0) (Area1) (Area2)
R3:
router ospf 110
net 13.1.1.0
re os 120 su
router ospf 120
net 35.1.1.0
re os 110 su
OSPF的过滤
1、distribute-list 1 in/out方向
in方向跟接口,out方向跟协议,不能跟接口,因为OSPF发的是LSA,而不是路由,所以out方向不能跟接口。
只有标准的访问控制列表在IGP里面有效,扩展的访问列表在IGP中无效。
作业:
测试扩展访问控制列表在IGP的过滤中是否有效。
distribute-list 1 out ei 100
外部的EIGRP进到OSPF的哪些路由
out跟协议必须与重分布命令配合使用,相当于在重分布后面挂route-map
distribute permit是过滤掉的,deny是可以进来的。
distribute是过滤路由,而不是过滤掉LSA
2、area 0 range 2.2.2.0 255.255.255.0 not-advertise ----------- 不通告2.2.2.0 这条路由
not-advertise ---- 可将1、2号LSA转为3号LSA过滤掉。
not-advertise只对1类2类LSA转3类时起效果,将这种特殊的3号LSA过滤掉。
area 0 range不可以超网汇总。
3、summary-address 2.2.2.0 255.255.255.0 not-advertise
只能对本路由器产生的5、7类LSA起效果
这种相当于在重分布时挂route-map,或者是distribute-list out +protocol来过滤路由。
重要用途:可以在NSSA的ABR上过滤7转5的LSA。
?在NSSA的distribute-list out +proocol是否起效果?
4、area 1 filter-list prefix WORD in/out
过滤任何的3号LSA
in对应前面的area X,进到area X中来。
out对应前面的area X,从area X 出去。
5、对接口下的邻居过滤所有LSA
if)#ip ospf database-filter all out ------ 接口下过滤所有LSA
邻居关系不会down,但是不会发送路由过去。
6、对特定的邻居过滤LSA
进程下做:
router)#neighbor x.x.x.x database-filter all out --- 对特定邻居过滤所有LSA
neighbor后面跟参数cost、database-filter在所有网络类型中都起效,但只有在P2MP中可看到此命令。
neighbor后面全部都是IP地址。
neighbor x.x.x.x database-filter all out ---- 在其它网络类型中起效果,有邻居关系,只有在P2MP可看到,其它网络模式下看不到。
有LSA放不进路由表的情况:
1,两对设备对它们中间链路认识不一样;
2,在没有区域0的情况下,没有4号LSA,5号的LSA也不会放进路由表中。
5号类型需要有4号类型才能放进路由表?
不一定,在同一个区域内部是不需要有4号类型的,在不同区域需要有4号的LSA才可。
distance ospf external/inter-area/intra-area
distance 121 3.3.3.3 0.0.0.0
(gateway或者RID)0.0.0.0为通配符
用来修改管理距离,external 7类LSA,inter-area 3、5类LSA ,intra-area 1、2类LSA
在OSPF在哪种网络类型中需要指neighbor?
1,NBMA网络;
2,P2MP-non时。
default-information origiate ------------- 在OSPF域内产生5类默认路由,必须要有一条默认的静态路由。
default-information origiate always ------ 加了always这个参数时就是不需要路由表中有这条默认路由。
default-information origiate route-map A -- 允许符合条件的
OSPF中只宣告第二地址不宣告第一地址不能建立邻居关系,第二地址的路由不能传递。
宣告了第一地址,也宣告了第二地址,第二地址和第一地址必须宣告进同一个区域内,这时用第一地址建立邻居关系,可以传递第二地址的路由。两边第二地址不在同一网段也可以传递路由,因为OSPF是链路状态协议,没有水平分割。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Point-To-Point网络可以达到full状态,
只要是MA网络,都有可能不能达到FULL状态。
只有建立邻接关系才可以相互交互LSDB。
MA网络中选DR/BDR
所有的路由与DR建立邻接关系,Dother之间为To-Way状态。
To-Way状态,收到一个hello包,包含自己的Router-ID。
To-way 之后,Exstart start 之前选举DR/BDR。
第一个DBD确定主从关系(Master/Slave),来控制谁先发送DBD。Router-ID高的被选为Master,先发送DBD信息。
DBD有三个字段:I(Initial) M(More) MS(Master/Slave)
1 1 1 0x7 ----------- 第一个DBD包
0 1 1 0x3 ----------- Master发的DBD包
0 1 0 0x2 ----------- Slave发过来的DBD包
=================================================================================================
隐式确认:每一个DBD包都有一个seq Num.(序列号),发送一个DBD,值加1。
A ----- B
200 100
201 202
==============================
Loading State 对LSR、LSU的回应。
OSPF建邻居状态:Down ---------- Init ----- To-way -------- Exstart ------- Exchange ------- Loading ------- Full
(Hello packet) (DR/BDR) (M/S) (交互DBD信息) (LSAck)
router)#log-adjacency-changes detail ---------- 显示邻接关系详细过程
#show ip o n ------------------ 显示的是对方的状态,DR/BDR,都是显示对方的,如要查看自己的,就要在对方查看。
router)#redistribute rip subnets metric-type 1 ---------- 修改外部路由为OE1
router)#redistribute rip subnets metric-type 1 metric 10 ----- 修改重分布进来seed metric值为10,类型为OE1
router)#redistribute rip subnets ? ---------- ?
if)#ip ospf cost 5 ---------- 修改接口cost值。
如:10M 100M 1000M 如在默认情况下cost值分别为:10 1 1 这时100M和1000M就分不出优劣,此时需要修改OSPF运算方式,将108改为109:
router)#auto-cost reference-bandwidth 1000 ------------ 默认为100是108,修改为1000时就是109
OSPF下发默认路由:
router)#default-informatioon originate ------------ 先写一条默认路由,然后用此命令下发默认路由。
#show ip ospf border-routers ---------- 查看邻居的状态。
有没可能只有4类的LSA,没有5类的LSA?
1,域间汇总时过滤掉5类LSA;
2,重分布Null 0口;
3,重分布时过滤掉所有路由。
在ABR上
router)#area 2 nssa not-redistribution no-summary
router)#area 2 nssa no-redistribution default-information-originate no-summary
路由表中有3类的LSA 一条3类的默认路由,过滤掉7类,3类的路由。<一条命令做一件事>
passive-interface 在OSPF中passive接口,不收不发,不能建邻居。
OSPF网络类型
六种网络类型:
1,Loopback :--------------- 产生32位主机路由。
2,Broadcast :------------- 组播建邻居,选DR/BDR。
3,Point-to-Point :-------- 组播建邻居,不选DR。
4,P2MP :------------------ 组播建邻居,不选DR,产生到达对端直连接口的32位主机路由。
5,NBMA :------------------ 单播建邻居(只需单边Neighbor,HUB neighbor SPOKE),Hello tiem 30, dead time 120,选DR。
6,P2MP NBMA :------------- 单播建邻居(只需单边Neighbor),不选DR,对端直连接口的32位主机路由。
P2P,Broadcast, Hello timer 10 S
NBMA,P2MP,P2MP Non Hello timer 30 S
FR环境下的各种网络类型
1,Hub & Spoke 同一网段;
2,Hub 有到Spoke端的映射。
NBMA
单播更新
有DR(HUB)
手工MAP(Spoke)无需Broadcast
BMA
组播(fram map broadcast)
有DR(HUB)
不需要MAP(Spoke), 注:如要手工MAP,建立邻居则不需加Broadcast
P2MP-NBMA
单播
无DR
产生32位主机路由(Spoke端不需手工MAP)
产生路由下一跳指向HUB端
P2MP
组播(fram map broadcast)
无DR
不需要MAP