Archive of the categories: CCNA/CCNP

OSPF-7种类型LSA【转】

转自:http://qq163.blog.51cto.com/108184/63633

OSPF的七种类型LSA:
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――除了通告缺省路由的那一条类型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
00:33:48: OSPF: End of hello processing
R3#

OSPF与IS-IS的区别

OSPF受限于星形拓扑( 所有的区域都要连到骨干区域,哪怕使用虚连接,因为OSPF在区域间路由使用的DV算法-而DV算法就会有水平分割的问题;区域内使用SPF),所以在ISP骨干网络使用非常受限制,尤其在中国内国这样的大国,骨干网拓扑非常复杂,OSPF的分层结构也不如ISIS丰富,OPSF也是只支持IP的,目前V2是基于IPV4的。

而ISIS使用的是ISO地址CLNP于独立于IP。ISIS只区域内和区域间都是用SPF算法,所以组网拓扑要比OSPF灵活的多!

IS-IS与OSPF的比较

1) IS-IS 只定义了两种网络拓扑类型:broadcast和general topology。在Cisco路由器中链路分为point-to-point 和broadcast。
OPSF定义了5种网络类型:point-to-point、point-to-multipoint、broadcast和NBMA,以及virtual links
IS-IS与OSPF的比较

1) IS-IS 只定义了两种网络拓扑类型:broadcast和general topology。在Cisco路由器中链路分为point-to-point 和broadcast。
OPSF定义了5种网络类型:point-to-point、point-to-multipoint、broadcast和NBMA,以及virtual links
2) 两种协议都维护一个链路状态数据库(Link State Database)
IS-IS使用LSP(Link State PDU),LSP自己就是一个数据报;
OSPF使用LSA(Link State Advertisements),LSA必须被封装(encapsulate)在OSPF报头和IP报头内。

3) 两种协议都使用SPF算法来计算路由
IS-IS在域内(intra-area)运行Level 1 SPF计算路由,在域间(inter-area)运行Level 2 SPF计算路由;
OSPF在域内(intra-area)运行SPF计算路由,在域间(inter-area)运行距离向量算法(distance vector algorithm)来计算路由。

4) 两种协议都使用域(area)来建立两层分级的网络拓扑结构
IS-IS的骨干不是特定的一个域,而是由连续的Level 2 路由器组成;
OSPF的骨干必须有而且必须为area 0;
IS-IS的域边界是在路由器之间的链路(link)上;
OSPF的域边界是在路由器上;
IS-IS的两层分级的网络拓扑结构不是必须的,网络可以完全由Level 1 路由器或完全由Level 2 路由器构成。
OSPF的必须有area 0,可以只有一个area,但必须是area 0。

5) IS-IS的特性之一是:IS-IS路由器最多能有3个域地址(area addresses),这在域间传输中很有用。

6) 两种协议都是无类路由协议,都在area间汇总(summary)

7) 两种协议处理错误(corrupted)LSP/LSA的方法不同:
IS-IS中任何一个路由器都能丢弃(purge)corrupted LSP;
OSPF中只有corrupted LSA的发送者(originator)才能丢弃(purge)它。

8) 在广播网络(broadcast network)中两种协议都要建立adjacency关系
IS-IS中,只要neighbor的Hello数据报中有你的identity,adjacency关系就建立成功。该阶段经历一个三次握手的过程:Down→Init→Up。
OSPF中,建立adjacency关系前经历的过程:Down→Init→Two-way→Exstart→Exchange→Uploading→Full。

9) IS-IS neighbors会建立adjacency关系,即使Hello-intervals或Hello multipliers不同;
OSPF neighbors不会建立adjacency关系,如果Hello-intervals或Dead-intervals不同。

10) 在广播网络(broadcast network)中两种协议都要选择一个DIS/DR
IS-IS中DIS是动态选择的,即若有更高优先级或更大的地址的路由器加入网络,则新加入的路由器成为DIS;
OSPF中DR相对稳定,即只要DR没有down掉,DR保持其地位;
IS-IS中,广播网络中的路由器与所有的邻居建立adjacency关系;
OSPF中,广播网络中的路由器只与DR和BDR邻居建立adjacency关系;
IS- IS中,DIS不与它的neighbors同步(synchronize)。DIS生成the pseudonode for the LAN,并且每3秒发送PSNPs(partial sequence number PDUs)或每10秒发送CSNPs(complete sequence number PDUs)。其他的路由器也可以用PSNPs向DIS申请丢失的LSP或发送给DIS一个新的LSP。因为DIS能flood PDUs,所以DIS不需要与其neighbors同步(synchronization);有因为不需要与其neighbors同步(synchronization),所以不需要BDIS。
OSPF中,DR/BDR用单播(unicast)传送DDP的方式分别与其他的所以路由器同步(synchronization)。

11) 两种协议都有认证(authentication)
IS-IS只支持简单认证;
OSPF支持简单认证和MD5认证。

12) IS-IS的L1/L2路由器不向L1路由器发布L2路由。L1路由器就象OSPF中的完全端域(totally stubby area)。

13)ISIS 协议的配置中没有一个类似于OSPF协议中的ip ospf network命令的配置选项,因此在NBMA中做为“HUB”的ROUTER必须被配置为point to point subinterfaces(包括地址的改变),以便每一个PVC链路都在不同的SUBNET中。