多播地址: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只与 DRBDR建立邻接关系, 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
由区域内的DRBDR路由器产生,报文包括DRBDR连接的路由器的链路信息。
网络LSA也仅仅在产生这条网络LSA的区域内部进行泛洪。
3、网络汇总LSA Network summary LSA
ABR产生,可以通知本区域内的路由器通往区域外的路由信息。
在一个区域外部但是仍然在一个OSPF自治系统内部的缺省路由也可以通过这种LSA来通告。
如果一台ABR路由器经过骨干区域从其他的ABR路由器收到多条网络汇总LSA,那么这台始发的ABR路由器将会选择这些LSA通告中代价最低的LSA,并且将这个LSA的最低代价通告给与它相连的非骨干区域。
4ASBR汇总LSA ASBR summary LSA
也是由ABR产生,但是它是一条主机路由,指向ASBR路由器地址的路由。
5、自治系统外部LSA Autonomous system external LSA
ASBR产生,告诉相同自治区的路由器通往外部自治区的路径。
自治系统外部LSA是惟一不和具体的区域相关联的LSA通告,将在整个自治系统中进行泛洪。
6、组成员LSA Group membership LSA  * 目前不支持组播OSPF MOSPF协议)
7NSSA外部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的作用是将类型34用默认路由简化


3 非纯末梢区域(Not-so-stubby-area

  允许外部路由通告到OSPF自治系统内部,而同时保留自治系统的其余部分的末梢区域特征,ASBR将始发类型7LSA来通告那些外部网络,这些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)分组来请求更完整的信息,上为R3R4发也链路状态请示包,这是在加载状态下完成的,这里好像没有显示)
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