OSPF 多区域
OSPF多域
1、什么是区域?
是OSPF的一个区域,一个自制系统,不是进程
2、为什么要将网络分域?
当网络规模不大的时候,可以将所有的路由器放在一个域中,area 0,但是当网络变大时,会有一些不确定的因素,比如一个点发生链路改变,那么会直接影响全网的所有设备,更新LSA时也会全部受影响,这样,会给路由器带来额外的运行负担
3、分域的原则是什么?
Area0为骨干区域,其它的为常规区域,当然还有特殊区域,在后面说,所有的常规区域必须和骨干区域直接相连,否则无法同步LSA,无法获取网络拓扑
4、划分区域后路由器的角色有哪些?
区域间路由器:ABR,设备连接着一个或多个区域
AS边界路由器:ASBR,一端连接着OSPF,另一端连接着其它协议路由
如图所示
R2,R3,都连接着area0 和其它区域,那么这两台就是ABR
R1,R4都分别连接着eigrp,rip,那他们就是ASBR
那有了不同的区域,产生了不同的角色,就肯定会有不同的传输信息,也就是不同的LSA
在OSPF中,一共分为以下几类LSA
1类LSA
Router lsa 路由器SLA,所有运行OSPF的设备都会发,区域内的
2类LSA
Network sla 网络SLA,这个只有brodcast网络类型中才会出来,因为是DR发出的,声明谁是DR,BDR没有这个权力发布
3类LSA
Summary lsa 汇总LSA,ABR始发,将一个区域的LSA,进行汇总发往另一个区域
(就是将1类的LSA,进行汇总和简化,因为区域间是不可以传播1类LSA的)
4类LSA
ASBR summary lsa 汇总LSA,ABR始发,告诉自己连接的区域,如何去往ASBR
5类LSA
External lsa 外部LSA,ASBR始发,我能够到外边的世界去
7类LSA
NSSA区域特有的LSA,NSSA区域内的ASBR始发,只有NSSA区域内传播
如果想要传输到其它区域就要进行转换,转成5类(这一点在后面讲)
那种种区域都能够支持哪些LSA呢
看表
LSA |
1、2 |
3 |
4 |
5 |
7 |
骨干 |
√ |
√ |
√ |
√ |
× |
常规 |
√ |
√ |
√ |
√ |
× |
末梢 |
√ |
√ |
× |
× |
× |
完全末梢 |
√ |
× |
× |
× |
× |
NSSA |
√ |
√ |
√ |
× |
√ |
通俗讲,在运行了OSPF多域后,无外乎就是三种类型的信息
1 域内信息:在一个单单独的区域内传播的信息 (1,2)
2 域间信息:在多个区域间传递的信息,(3,)
3 外部信息:OSPF域内路由器与外部路由器传输的信息(4,5/7)
由于信息类型不同,那么在OSPF 路由表中所标记的类型也是不同的
O :单个OSPF域的条目
OIA :OSPF多区域条目
O*IA :STUB区域特有条目,缺省路由
OE 1/2 :自制系统外部条目
ON2 :NSSA特有条目
这么多的类型,肯定有个优先之分吧,是的,没错
OSPF在收到多种类型的条目时,执行如下排序
O>OIA>OE>ON,从左到右,越来越低的等级
实例
根据拓扑图进行网络配置,然后查看各设备的角色,以及链接状态数据库,以及neighbors
R1 (ASBR)
r1(config)#router ospf 1
r1(config-router)#network 12.0.0.0 0.0.0.255 area 1 //将接口F0/0网段宣告到AREA 1
r1(config-router)#router eigrp 1 //运行EIGRP
r1(config-router)#no auto-summary
r1(config-router)#network 16.0.0.0 0.0.0.255 //将F0/1网段宣告至EIGRP 1 中
R2(ABR)
r2(config-if)#router ospf 1
r2(config-router)#network 12.0.0.0 0.0.0.255 area 1 //宣告12网段至area 1
r2(config-router)#network 23.0.0.0 0.0.0.255 area 0 //宣告23网段至area 0 骨干
R3(ABR)
r3(config-if)#router ospf 1
r3(config-router)#network 23.0.0.0 0.0.0.255 area 0
r3(config-router)#network 34.0.0.0 0.0.0.255 area 2 //宣告34网段至area 2
R4(ASBR)
r4(config-if)#router ospf 1
r4(config-router)#network 34.0.0.0 0.0.0.255 area 2 //宣告34网段至area2
r4(config-router)#router rip //开启RIP
r4(config-router)#version 2
r4(config-router)#no auto-summary
r4(config-router)#network 45.0.0.0 //宣告45网段
R5 (rip)
r5(config-if)#router rip
r5(config-router)#version 2
r5(config-router)#no auto-summary
r5(config-router)#network 45.0.0.0 //两台外部协议设备
R6 (EIGRP)
r6(config)#router eigrp 1
r6(config-router)#no auto-summary
r6(config-router)#network 16.0.0.0 0.0.0.255 //两台外部协议设备
这里还要有一个特殊的操作,就是将rip ,eigrp ,重分布到ospf中,
RIP(这里直接做双向的)
R4(只要在ASBR上做重分布就可以了)
r4(config-router)#router ospf 1
r4(config-router)#redistribute rip subnets //rip进OSPF
r4(config-router)#router rip
r4(config-router)#redistribute ospf 1 metric 10 //ospf进RIP
//这里的metric 10,是将OSPF转为距离矢量,在RIP 中这个不能大过15,最好是在10以下就可以了,
EIGRP
R1
r1(config-router)#router eigrp 1
r1(config-router)#redistribute ospf 1 metric 1000 100 255 255 1500 //OSPF进EIGRP
//这里有一些特殊,因为EIGRP是复合型的参考依据,所牵扯到的依据较多,(其实瞎写就行,就那么回事儿)
依次为 1000 100 255 255 1500
延迟 带宽 负载 可靠性 MTU
r1(config-router)#router ospf 1
r1(config-router)#redistribute eigrp 1 subnets
上面都配置完了,现在来查看一下各路由器的路由表以及各路由器的角色
查看角色,
r2#show ip ospf border-routers
OSPF Process 1 internal Routing Table
Codes: i - Intra-area route, I - Inter-area route
I 4.4.4.4 [20] via 23.0.0.2, FastEthernet0/1, ASBR, Area 0, SPF 3
i 1.1.1.1 [10] via 12.0.0.1, FastEthernet0/0, ASBR, Area 1, SPF 5
i 3.3.3.3 [10] via 23.0.0.2, FastEthernet0/1, ABR, Area 0, SPF 3
Rid |度量|下一跳地址|本设备出接口|对应的路由器角色|所在区域
I 为区域间 i 为区域内
查看路由表
其中
O为区域内部路由
O IA 为区域音路由
O E2为外部路由
R4上也是一样的,都会有OE2 和OIA
查看链路状态数据库
这个很重要,只要是将OSPF进行分区后,就一定要会看数据库
因为数据库中明确的标记了该区域允许哪种LSA的通过
r1#show ip ospf database
R1
里面标记了共有5类LSA,
没错,因为目前我们没没有配置任何的特殊区域。所以默认情况下是允许1-5类的数据进行通过的,
分析:
3类,区域间
Summary Net Link States (Area 1)
Link ID ADV Router Age Seq# Checksum
23.0.0.0 2.2.2.2 1157 0x80000002 0x00838F
34.0.0.0 2.2.2.2 1157 0x80000002 0x0058A5
4类LSA
在R1上看为什么只有一条呢?因为它自己也是一台ASBR,
而在R2上看的话,就会有两个了,
可以看到有两个ASBR的汇总,4类LSA
当然,也可以查看一下汇总消息,可以先直观的看到哪类的LSA有多少条
总结,在第一次接触OSPF多区域时,确认感觉挺乱的,东西有些多,但是当你找到窍门的时候,其实这东西也算是SO-EASY吧。
r2#show ip ospf database database-summary
现在所有的条目还不是那么的多,网络拓扑还不是那么的大,但如果对于一个更大型的网络来说,所有的设备都要掌握这些条目吗?3,4,5类的LSA需要在所有的设备上进行传播吗?
他们有必要都知道吗?
如果都知道,是否又违背了我们划分区域的初衷呢?路由表真正的有所减少吗?
所以,这个时候OSPF提出了特殊区域的概念。
STUB 末梢区域
Totally stub 完全末梢区域
NSSA 非纯末梢区域
具体下个文档见
-------------------------------------------------
CCIE成长之路 --- 梅利