多播地址:224.0.0.5
Cost = 100×106/链路带宽 Broadcast /P2P 10s 40s
40s
NBMA/P2MP 30s 120s
120s
DR与BDR的多播地址:224.0.0.6
Protocol: OSPF IGP (89)
Router ID 可以指定也可以根据loopback或者已启用的IP地址最大值充当。
priorty > router id(值越大越优先)
配置的Router ID不一致,系统会采用OSPF协议配置的Router ID
OSPF为了防止路由环路规定ABR从骨干区域学习的路由不能再向骨干区域传播。
DR与BDR的注意事项
1.只有在广播与NBMA的链路上才会选举DR,在PTP与PTMP的链路上不会选举DR。
2.DR是针对一个网段内的设备选举的,对于一个路由器来说,可能它在某个接口上是DR在其他接口上是BDR或DRother,或者因为是PTP连路而不参见DR的选举。
3.在广播的网络中必须存在DR才能正常工作,但是BDR并不是必须的。
4.一个网段中即使只有一个路由器也需要选举DR。
5.由于"终身制”的原因,网段中的DR不一定是priorty最高的,但通常是“来的早”的。路由器。
如果没有任何路由器被宣告为BDR,拥有最高优先级的非DR邻居路由器将被宣告为BDR。如果有多个优先级相同的路由器,则拥有最高Router ID的邻居将被选举为BDR。
DRother只与
DR,
BDR建立邻接关系,
DRother之间不交换任何路由信息。
如果
一个网段被分到多个区域,系统根据network顺序配置,忽略其他。
NBMA 与P2MP的区别
1.在OSPF协议中NBMA是指那些全联通的、非广播的、多点可达的网络。而点到多点网络,则并不一定是全联通的。
2.在NBMA网络中需要选举DR与BDR,而点到多点网络中不需要选举DR、BDR。
3.NBMA是一种缺省的网络类型,例如:如果链路层协议是ATM,OSPF会缺省的认为该接口的网络类型是NBMA(不论网络是否联通)。点到多点不是缺省的网络类型,没有那种链路层协议会被认为是点到多点,点到多点必须是由其他网络类型强制更改的。最常见的做法是将非全联通的NBMA网络改为点到多点网络。
4.NBMA使用单播发送协议报文,需要手工配置邻居{(h3c)[ospf-1]peer
ip}。点到多点是可选的,即可以使用单播发送,又可以使用多播发送。
Stub区域的特点
1.引入的外部路由无法进入STUB区域,为了能保证STUB区域内能到达外部,会自动形成一条缺陷路由;
2.在STUB区域内,不会允许存在ASBR,即使存在,其引入的路由也无法发布出去{(h3c)[ospf-1]import ...}
骨干区域不能配置为Stub区域。
Stub区域不能作为传输区域,即,虚连接不能穿过Stub区域。
如果想将一个区域配置为Stub区域,则该区域内的所有路由器都必须配置该属性。
Stub区域内不能存在ASBR,即自治系统外部的路由不能在本区域内传送。
参数no-summary 只能在ABR上配置,如果在配置了Stub区域的ABR上使用了这一参数,则此ABR只向区域内发布一条缺省的路由 Summary-LSA ,不会生成任何其它的Summary-LSAs 。这种既没有AS-external-LSAs,也没有Summary-LSAs的stub区域,又被称为完全stub区域。
NSSA区域的2个特性:
1.引入的外部路由无法进入NSSA区域,为了能保证NSSA区域能到达外部,会自动生成一条缺省路由,这个特性继承与STUB区域的特性。
2.在NSSA区域内,允许存在ASBR,其引入的路由也可以发布出去;这一点是对STUB区域的改进,也是和STUB区域的主要区别。
NSSA区域与STUB对比:
NSSA与STUB区域一样也已经完全把引入路由(Type 5)完全抛弃了,不允许进入区域,这样已经大大减少了路由表的规模;但Total NSSA区域在NSSA区域的基础上,把区域间的路由(Type 3)也完全抛弃了,不允许进入区域,这样使得路由器的路由表除了区域内的路由外,没有任何外面的路由,减少到了极点,这也就是他们二者的区别,由此可见不管是STUB还是NSSA区域,所谓的“完全”其实就是指这个区域不接收区域间的路由。
NSSA区域注意事项:
参数default-route-advertise 用来发布缺省路由的Type 7 LSA,这个参数只能用于NSSA 的ASBR与ABR;
在NSSA的ABR上配置时,不论系统的路由表中是否存在缺省路由0.0.0.0,都会产生Type7 LSA 的缺省路由。
在NSSA的ASBR上配置时,只有路由表中存在缺省路由0.0.0.0,才会产生Type 7的缺省路由。
路由聚合
配置引入路由聚合后,如果本地路由器是ASBR,将对引入的聚合地址范围内的Type-5 LSA 进行聚合,当配置了nssa区域时,还有对引入地址范围内的Type-7 LSA进行聚合。
如果本地路由器是ABR,且是NSSA区域的转换路由器,则对由Type-7 LSA 转换成的Type-5 LSA进行聚合处理,对于不是NSSA区域转换路由器的则不进行聚合处理。
1、路由器LSA (Router LSA) 由区域内所有路由器产生,并且只能在本个区域内泛洪广播。 这些最基本的LSA通告列出了路由器所有的链路和接口,并指明了它们的状态和沿每条链路方向出站的代价。 2、网络LSA (Network LSA) 由区域内的DR或BDR路由器产生,报文包括DR和BDR连接的路由器的链路信息。 网络LSA也仅仅在产生这条网络LSA的区域内部进行泛洪。 3、网络汇总LSA (Network summary LSA) 由ABR产生,可以通知本区域内的路由器通往区域外的路由信息。 在一个区域外部但是仍然在一个OSPF自治系统内部的缺省路由也可以通过这种LSA来通告。 如果一台ABR路由器经过骨干区域从其他的ABR路由器收到多条网络汇总LSA,那么这台始发的ABR路由器将会选择这些LSA通告中代价最低的LSA,并且将这个LSA的最低代价通告给与它相连的非骨干区域。 4、ASBR汇总LSA (ASBR summary LSA) 也是由ABR产生,但是它是一条主机路由,指向ASBR路由器地址的路由。 5、自治系统外部LSA (Autonomous system external LSA) 由ASBR产生,告诉相同自治区的路由器通往外部自治区的路径。 自治系统外部LSA是惟一不和具体的区域相关联的LSA通告,将在整个自治系统中进行泛洪。 6、组成员LSA (Group membership LSA) * 目前不支持组播OSPF (MOSPF协议) 7、NSSA外部LSA (NSSA External LSA) 由ASBR产生,几乎和LSA 5通告是相同的,但NSSA外部LSA通告仅仅在始发这个NSSA外部LSA通告的非纯末梢区域内部进行泛洪。 在NSSA区域中,当有一个路由器是ASBR时,不得不产生LSA 5报文,但是NSSA中不能有LSA 5报文,所有ASBR产生LSA 7报文,发给本区域的路由器。 * 只有一个例外,每台ABR路由器上利用一个类型3来通告缺省路由。每一种区域内允许泛洪的LSA类型 区域类型 1&2 3&4 5 7
骨干区域 允许 允许 允许 不允许 非骨干(非末梢) 允许 允许 允许 不允许 末梢 允许 允许 不允许 不允许 完全末梢 允许 不允许 不允许 不允许
NAAS 允许 允许 不允许 允许 * 只有一个例外,每台ABR路由器上利用一个类型3来通告缺省路由。
1 末梢区域:(Stub Area)
不允许AS外部通告(LSA 5)在其内部进行泛洪。在末梢区域边界的ABR路由器使用网络汇总LSA (LSA 3)向这个区域通告缺省路由,而且这条缺省路由不会被通告到这个区域的外部去。
Router(config-route)area 1 stub //将Area 1设置成末梢区域 2. 完全末梢区域:(Totally stub)
使用缺省路由到达OSPF自治系统外部的目的地址,而且使用缺省路由到达这个区域外部的所有目的地址,完全末梢区域的ABR路由器不仅阻塞LSA 5,也阻塞所有的汇总LSA�D�D除了通告缺省路由的那一条类型3。
Router(config-route)#area 1 stub no-summary //将Area 1设置成完全末梢区域,此时会将类型3用默认路由代替,NO-summary的作用是将类型3、4用默认路由简化
3 非纯末梢区域(Not-so-stubby-area)
允许外部路由通告到OSPF自治系统内部,而同时保留自治系统的其余部分的末梢区域特征,ASBR将始发类型7的LSA来通告那些外部网络,这些NAAS外部LSA将在整个NAAS区域中泛洪,在ABR上被阻塞。ABR会将类型7的转化为类型5通告到其他区域中。
|
|
|
(在R3的打开debug ip ospf events )
00:33:04: OSPF: Rcv hello from 10.1.3.4 area 2 from Serial0/1 34.34.34.2
00:33:04: OSPF: End of hello processing
(
然后在
R4
上
R4(Config-router)#router-id 4.4.4.4
R4#clear ip ospf process )---更改路由ID
R3#
00:33:08: OSPF:
Rcv hello from 4.4.4.4 area 2 from Serial0/1 34.34.34.2
00:33:08: %OSPF-5-ADJCHG: Process 1, Nbr 10.1.3.4 on Serial0/1 from FULL to DOWN (
从
R4
接收到改变的信息
,
状态变成
DOWN
)
, Neighbor Down: Adjacency forced to reset (邻居关系强制重设)
R3#
00:33:08: OSPF: End of hello processing
R3#
00:33:10: OSPF: Rcv hello from 2.2.2.2 area 0 from Serial0/0 23.23.23.1
00:33:10: OSPF: End of hello processing
R3#(R3
先发送一个
HELLO
到对方
,R4
就会从
DOWN
状态进入到
INIT
状态
)
00:33:14: OSPF: Rcv DBD from 4.4.4.4 on Serial0/1 seq 0x11DA opt 0x42 flag 0x7 l (在INIT状态下只能单方向的从对方接收DBD,而不能发送DBD到对方)
en 32 mtu 1500 state
INIT
00:33:14: OSPF: 2 Way Communication to 4.4.4.4 on Serial0/1, state
2WAY
(当路由器看到它自己出现在一个邻居路由器的HELLO分组中时,它就进入了双向状态)
00:33:14: OSPF: Send DBD to 4.4.4.4 on Serial0/1 seq 0x1E65 opt 0x42 flag 0x7 len 32
(当从对方接收到一个类型2的数据库描述DBD分组,路由器就会进入EXSTART状态,在这里没有显示出来)
00:33:14: OSPF: NBR Negotiation Done. We are the SLAVE (当前R3为从状态,具有最高OSPF路由器ID的路由器将胜出并变为"主",此时R4为主)
(两个邻居路由器用HELLO分组来协商谁主谁从,并用DBD分组来交换数据库信息)
00:33:14: OSPF: Send DBD to 4.4.4.4 on Serial0/1 seq 0x11DA opt 0x42 flag 0x2 le
n 152
00:33:14: OSPF: Rcv DBD from 4.4.4.4 on Serial0/1 seq 0x11DB opt 0x42 flag 0x3 l
en 52 mtu 1500 state
EXCHANGE
(路由器用类型2的DBD来相互描述它们的链路状态数据库的摘要信息)
n 323:14: OSPF: Send DBD to 4.4.4.4 on Serial0/1 seq 0x11DB opt 0x42 flag 0x0 le
00:33:14: OSPF: Database request to 4.4.4.4
00:33:14: OSPF: sent
LS REQ packet to 34.34.34.2, length 12
(在描述过各自的链路状态数据库之后,路由器用类型3的链路状态请求(LSR)分组来请求更完整的信息,上为R3向R4发也链路状态请示包,这是在加载状态下完成的,这里好像没有显示)
00:33:14: OSPF: Rcv DBD from 4.4.4.4 on Serial0/1 seq 0x11DC opt 0x42 flag 0x1 l (当R4接收到一个LSR的时候,它会用一个类型4的链路状态更新(LSU)分组进行回应.这些类型4的LSU分组含有确切的LSA,而LSA是链路状态型路由选择协议的核心)en 32 mtu 1500 state EXCHANGE(这个交换状态显示,是因为它又从对方接收到了DBD分组)00:33:14: OSPF: Exchange Done with 4.4.4.4 on Serial0/1
(交换状态已经完成)
00:33:14: OSPF: Send DBD to 4.4.4.4 on Serial0/1 seq 0x11DC opt 0x42 flag 0x0 le
n 32
00:33:14: OSPF: Synchronize (
两边已经达到同步
)
R3# with 4.4.4.4 on Serial0/1, state
FULL
00:33:14: %OSPF-5-ADJCHG: Process 1, Nbr 4.4.4.4 on Serial0/1 from
LOADING to FULL, Loading Done
(加载状态结束之后,路由器就进入全毗邻状态)
R3#
00:33:18: OSPF: service_maxage: Trying to delete MAXAGE LSA
00:33:18: OSPF: Rcv hello from 4.4.4.4 area 2 from Serial0/1 34.34.34.2
00:33:18: OSPF: End of hello processing
R3#
00:33:20: OSPF: Rcv hello from 2.2.2.2 area 0 from Serial0/0 23.23.23.1
00:33:20: OSPF: End of hello processing
R3#
00:33:28: OSPF: Rcv hello from 4.4.4.4 area 2 from Serial0/1 34.34.34.2
00:33:28: OSPF: End of hello processing
R3#
00:33:30: OSPF: Rcv hello from 2.2.2.2 area 0 from Serial0/0 23.23.23.1
00:33:30: OSPF: End of hello processing
R3#sh ip route
(显示路由表信息)
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
34.0.0.0/24 is subnetted, 1 subnets
C 34.34.34.0 is directly connected, Serial0/1
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/65] via 23.23.23.1, 00:02:18, Serial0/0
3.0.0.0/24 is subnetted, 1 subnets
C 3.3.3.0 is directly connected, Loopback0
4.0.0.0/32 is subnetted, 1 subnets
O 4.4.4.4 [110/65] via 34.34.34.2, 00:00:08, Serial0/1
23.0.0.0/24 is subnetted, 1 subnets
C 23.23.23.0 is directly connected, Serial0/0
10.0.0.0/32 is subnetted, 4 subnets
O 10.1.3.4 [110/65] via 34.34.34.2, 00:00:10, Serial0/1
O 10.1.2.4 [110/65] via 34.34.34.2, 00:00:10, Serial0/1
O 10.1.1.4 [110/65] via 34.34.34.2, 00:00:10, Serial0/1
O 10.1.0.4 [110/65] via 34.34.34.2, 00:00:10, Serial0/1
12.0.0.0/24 is subnetted, 1 subnets
O IA 12.12.12.0 [110/128] via 23.23.23.1, 00:00:10, Serial0/0
(已经从R4上学到了路由信息了)
R3#
00:33:38: OSPF: Rcv hello from 4.4.4.4 area 2 from Serial0/1 34.34.34.2
00:33:38: OSPF: End of hello processing
R3#
00:33:40: OSPF: Rcv hello from 2.2.2.2 area 0 from Serial0/0 23.23.23.1
00:33:40: OSPF: End of hello processing
R3#
00:33:48: OSPF: Rcv hello from 4.4.4.4 area 2 from Serial0/1 34.34.34.2