OSPF基础个人总结(一)

OSPF  Open Shortest Path First

本文以产品文档里的内容为基础,加了一些自己有疑惑但解决了的内容进来,欢迎各位小伙伴一起讨论。都是干货,可能对小透明不是那么友好,后面再一点点改进吧~

目录

基本信息 

网络类型

报文类型

状态机

建立邻接关系

DR/BDR

区域类型

路由器类型

LSA

LSA在各区域中传播的支持情况

OSPF缺省路由

虚连接   


基本信息 

  • IP协议号    89 
  • 支持认证    明文/MD5
  • 管理距离    思科110    华为10(仅次于直连)
  • 组播地址    224.0.0.5 224.0.0.6(DR/BDR)

       Drother 路由器将数据包发向目标地址 224.0.0.6,只能被 DR 和 BDR接收,其它 Drother 不能接收;
       而 DR 和 BDR 将数据包发向目标地址 224.0.0.5,可以被所有路由器接收。

  • 路由更新    平时增量更新,30分钟一次周期更新
  • 汇总情况    支持CIDR,没有自动汇总
  • Router-ID    手工指定>活动loopback最大的地址>物理接口最大的

       改变R-ID需要重启进程    如果一台路由器收到一条链路状态,无法到达该 Router-ID 的位置,就无法到达链路状态中的目标网络。

  • 多进程    互不影响,彼此独立。

       不同OSPF进程之间的路由交互相当于不同路由协议之间的路由交互  

  •  COST    手工指定>自动计算    100/带宽(大于100M也是1)    
  • 选路原则 

       华为:

       1、区域内的 > 区域间的 >ASE TYPE1 > ASE TYPE2。
       2、ASE TYPE1和ASE TYPE1 or NSSA TYPE1 进行比较,比较的是OSPF的内部和外部成本只和,即哪个成本之和小,哪条路径就好,如果成本一样,则负载分担。    
       3、ASE TYPE2和ASE TYPE2 or NSSA TYPE2 进行比较 先比较二者的外部成本,外部成本小的路径好,如果外部成本一样,再比较内部成本,内部成本小的路径优先,如果一致,则负载分担。

       思科:

1:O路由>Oia路由>external路由!
O:计算LSA-1和LSA-2,前提age不能MaxAge,metric不能LSinfinity,计算出来的最小metric的路由放入RIB中。具体是否放入RIB,比如有AD更低的协议,这并不是本文研究重点。
Oia:计算LSA-3,ABR只计算来自于骨干区域的LSA-3(虚链路也属于骨干区域),non-ABR要计算来自每个区域的LSA-3。前提这些LSA的前提age不能为MaxAge,metric不能为LSinfinity,目的地不在本路由器所在区域,这些LSA不能是自己产生的,并且它们的ADVroute可达。计算出来的最小metric的路由放入RIB中,如果metric相同则负载均衡。
External:计算十分复杂,需要考虑是否ADVrouter(FA)字段相同,和到这些ADVrouter(FA)地址的O(内部)和Oia(LSA-4)。下面详述:
备注 ABR:一台同一OSPF进程下配置了包含骨干区域在内的多个区域,而且在骨干区域不仅有状态不是down的接口,而且有处于完全邻接状态关系的邻居的路由器叫做ABR。Non-ABR:一个接入多个区域,但未接入骨干区域的路由器(在本文中,我们这样称呼)。
2:external-type-1 >external-type-2 
External:这些LSA-5不能age为MaxAge,metric不能为Lsinfinity,并且不是由自身产生的,而且ADVRouter必须可达。如果这些LSA-5有FA地址,则必须发送到FA地址,那么这个FA地址也必须可达。
3:都为ExternalType1,cost(外部开销+到ASBR开销)越小越优先。(外部开销默认重分配进OSPF为20,但BGP重分配进OSPF为1。)
4:都为ExternalType1,cost也相等,那么E1>N1。
5:都为E1或都为N1,cost也相等,那么进行负载均衡。
6:都为ExternalType2,cost(只外部开销)越小越优先。(外部开销默认重分配进OSPF为20但BGP重分配进OSPF为1。
7:都为ExternalType2,cost也相等,到 ADVrouter(ASBR的RID)/FA cost小的路径优先。
8:都为ExternalType2,cost也相等,到 ADVrouter(ASBR的RID)/FA cost也相等,那么E2优于N2。
9:都为E2或都为N2,cost也相等,到 ADVrouter(ASBR的RID)/FA cost也相等,那么进行负载均衡。

思科的选路原则

网络类型

网络类型 hello/dead 是否选DR 建立邻居方式 组播报文 单播报文
广播 10s/40s 选DR/BDR 自动建立邻居 组播方式发HELLO/LSU/LSACK 单播发DD和LSR
NBMA 30s/120s 选DR/BDR 手工指定邻居   单播发所有
P2MP 30s/120s 不选DR 自动建立邻居 组播发HELLO 单播发其他
P2P 10s/40s 不选DR 自动建立邻居 组播发所有  

报文类型

  • hello报文

       周期性发送,用来发现和维持OSPF邻居关系。

       邻居发现:使能了OSPF功能的接口会周期性地发送Hello报文,与网络中其他收到Hello报文的路由器协商报文中的指定参数,决定是否建立邻居关系。
       建立双向通信:如果路由器发现收到的Hello报文的邻居列表中有自己Router ID,则认为已经和对端建立了双向通信,邻居关系建立。
       指定DR和BDR:Hello报文包含DR优先级和Router ID等信息,每台路由器将自己选出的DR和BDR写入Hello报文的DR和BDR字段中,然后进行DR和BDR的选举,详细的选举原则和过程请参见DR和BDR选举。
       保活:在建立邻居关系后,使能OSPF功能的接口仍周期性地发送Hello报文维护邻居关系,如果在一定的时间间隔内没有收到邻居发来的Hello报文,则中断邻居关系。

       说到这里我加一下邻居建立条件:

       必须满足 4 个条件,才能形成 OSPF 邻居,4 个必备条件如下:
       1.Area-id(区域号码)一致
       2.Hello and Dead Interval(Hello 时间与 Dead 时间)一致
       3.Authentication(认证)一致
       4.Stub Area Flag(末节标签)一致

  • DD报文

      描述本地LSDB的摘要信息,用于两台路由器进行数据库同步。

       两台路由器在邻接关系初始化时,DD报文(Database Description packet)用来协商主从关系,此时报文中不包含LSA的Header。在两台路由器交换DD报文的过程中,一台为Master,另一台为Slave。由Master规定起始***,每发送一个DD报文***加1,Slave方使用Master的***作为确认。
       邻接关系建立之后,路由器使用DD报文描述本端路由器的LSDB,进行数据库同步。DD报文里包括LSDB中每一条LSA的Header(LSA的Header可以唯一标识一条LSA),即所有LSA的摘要信息。LSA Header只占一条LSA的整个数据量的一小部分,这样可以减少路由器之间的协议报文流量。对端路由器根据LSA Header就可以判断出是否已有这条LSA。

  • LSR报文

       用于向对方请求所需的LSA。路由器只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文。

       两台路由器互相交换过DD报文之后,需要发送LSR报文(Link State Request packet)向对方请求更新LSA。LSR报文里包括所需要的LSA的摘要信息。

  • LSU报文    

       用于向对方发送其所需要的LSA。  

        LSU报文(Link State Update packet)用来向对端路由器发送其所需要的LSA或者泛洪本端更新的LSA,其报文内容是多条完整的LSA的集合。为了实现泛洪的可靠性传输,需要LSAck报文对其进行确认,对没有收到确认报文的LSA进行重传,重传的LSA是直接发送到邻居的。

  • LSACK报文  

        用来对收到的LSA进行确认    

       LSAck报文(Link State Acknowledgment packet)用来对接收到的LSU报文进行确认,内容是需要确认的LSA的Header。一个LSAck报文可对多个LSA进行确认。

状态机

                                        OSPF基础个人总结(一)

  • Down    

       邻居会话的初始阶段。表明没有在邻居失效时间间隔内收到来自邻居设备的Hello报文。        

  • Attempt    

       处于本状态时,定期向手工配置的邻居发送Hello报文。    Attempt状态只适用于NBMA类型的接口。    

  • Init    

       本状态表示已经收到了邻居的Hello报文,但是对端并没有收到本端发送的Hello报文。        

  • 2-way(稳态)

       互为邻居。本状态表示双方互相收到了对端发送的Hello报文,建立了邻居关系。    如果不形成邻接关系则邻居状态机就停留在此状态,否则进入Exstart状态。    

  • Exstart    

       协商主/从关系。建立主/从关系主要是为了保证在后续的DD报文交换中能够有序的发送    在 Exstart状态,就是确定邻居之间的主从关系(Master—Slave 关系),Router-ID 数字大的为主路由器,另一端为从路由器,由主路由器先向从路由器发送信息。在选举 DR与 BDR 的网络环境中,并不一定 DR 就是主路由器,BDR 就是从路由器,因为 DR和 BDR 可以通过调整接口优先级来控制,所以 DR 也许是因为优先级比 BDR 高,而Router-ID 并不比 BDR 高    

  • Exchange    

       交换DD报文。本端设备将本地的LSDB用DD报文来描述,并发给邻居设备。        

  • Loading    

       正在同步LSDB。两端设备发送LSR报文向邻居请求对方的LSA,同步LSDB。        

  • Full(稳态)

       建立邻接。两端设备的LSDB已同步,本端设备和邻居设备建立了邻接状态。    此时只是数据库已经同步,但路由表却还在计算当中。

建立邻接关系

       OSPF在不同网络类型中,OSPF邻接关系建立的过程不同,分为广播网络,NBMA网络,点到点/点到多点网络。

       两点决定是否建立邻接关系:1、当与邻居的双向通讯初次建立时;2、当网段中的DR和BDR发生变化时。

  •        在广播网络中建立OSPF邻接关系    

       在广播网络中,DR、BDR和网段内的每一台路由器都形成邻接关系,但DR other之间只形成邻居关系。    

       建立关系如下图所示

                      OSPF基础个人总结(一)

       1、建立邻居关系(在广播网络中,两个接口状态是DR Other的路由器之间将停留在此步骤。) 
       RouterA的一个连接到广播类型网络的接口上**了OSPF协议,并发送了一个Hello报文(使用组播地址224.0.0.5)。此时,RouterA认为自己是DR路由器(DR=1.1.1.1),但不确定邻居是哪台路由器(Neighbors Seen=0)。    
       RouterB收到RouterA发送的Hello报文后,发送一个Hello报文回应给RouterA,并且在报文中的Neighbors Seen字段中填入RouterA的Router ID(Neighbors Seen=1.1.1.1),表示已收到RouterA的Hello报文,并且宣告DR路由器是RouterB(DR=2.2.2.2),然后RouterB的邻居状态机置为Init。    RouterA收到RouterB回应的Hello报文后,将邻居状态机置为2-way状态,下一步双方开始发送各自的链路状态数据库。
       2、主/从关系协商、DD报文交换    
       RouterA首先发送一个DD报文,宣称自己是Master(MS=1),并规定***Seq=x。I=1表示这是第一个DD报文,报文中并不包含LSA的摘要,只是为了协商主从关系。M=1说明这不是最后一个报文。为了提高发送的效率,RouterA和RouterB首先了解对端数据库中哪些LSA是需要更新的,如果某一条LSA在LSDB中已经存在,就不再需要请求更新了。为了达到这个目的,RouterA和RouterB先发送DD报文,DD报文中包含了对LSDB中LSA的摘要描述(每一条摘要可以惟一标识一条LSA)。为了保证在传输的过程中报文传输的可靠性,在DD报文的发送过程中需要确定双方的主从关系,作为Master的一方定义一个***Seq,每发送一个新的DD报文将Seq加一,作为Slave的一方,每次发送DD报文时使用接收到的上一个Master的DD报文中的Seq。    
       RouterB在收到RouterA的DD报文后,将RouterA的邻居状态机改为Exstart,并且回应了一个DD报文(该报文中同样不包含LSA的摘要信息)。由于RouterB的Router ID较大,所以在报文中RouterB认为自己是Master,并且重新规定了***Seq=y。    RouterA收到报文后,同意了RouterB为Master,并将RouterB的邻居状态机改为Exchange。RouterA使用RouterB的***Seq=y来发送新的DD报文,该报文开始正式地传送LSA的摘要。在报文中RouterA将MS=0,说明自己是Slave。    RouterB收到报文后,将RouterA的邻居状态机改为Exchange,并发送新的DD报文来描述自己的LSA摘要,此时RouterB将报文的***改为Seq=y+1。
       3、LSDB同步(LSA请求、LSA传输、LSA应答) 
       RouterA收到最后一个DD报文后,发现RouterB的数据库中有许多LSA是自己没有的,将邻居状态机改为Loading状态。此时RouterB也收到了RouterA的最后一个DD报文,但RouterA的LSA,RouterB都已经有了,不需要再请求,所以直接将RouterA的邻居状态机改为Full状态。    
       RouterA发送LSR报文向RouterB请求更新LSA。RouterB用LSU报文来回应RouterA的请求。RouterA收到后,发送LSAck报文确认。    
       上述过程持续到RouterA中的LSA与RouterB的LSA完全同步为止,此时RouterA将RouterB的邻居状态机改为Full状态。当路由器交换完DD报文并更新所有的LSA后,此时邻接关系建立完成。

  • 在NBMA网络中建立OSPF邻接关系

       NBMA网络和广播网络的邻接关系建立过程只在交换DD报文前不一致,如图中的蓝色标记。                
       在NBMA网络中,所有路由器只与DR和BDR之间形成邻接关系      

                         OSPF基础个人总结(一)

       1、建立邻居关系                
       RouterB向RouterA的一个状态为Down的接口发送Hello报文后,RouterB的邻居状态机置为Attempt。此时,RouterB认为自己是DR路由器(DR=2.2.2.2),但不确定邻居是哪台路由器(Neighbors Seen=0)。

       RouterA收到Hello报文后将邻居状态机置为Init,然后再回复一个Hello报文。此时,RouterA同意RouterB是DR路由器(DR=2.2.2.2),并且在Neighbors Seen字段中填入邻居路由器的Router ID(Neighbors Seen=2.2.2.2)。    在NBMA网络中,两个接口状态是DROther的路由器之间将停留在此步骤。        
       2、主/从关系协商、DD报文交换过程同广播网络的邻接关系建立过程。                
       3、LSDB同步(LSA请求、LSA传输、LSA应答)过程同广播网络的邻接关系建立过程。                

  • 在点到点/点到多点网络中建立OSPF邻接关系                

       在点到点/点到多点网络中,邻接关系的建立过程和广播网络一样,唯一不同的是不需要选举DR和BDR,DD报文是组播发送的。

DR/BDR

       (思科华为相同,默认参数选举方式都相同)

       在广播网和NBMA网络中,任意两台路由器之间都要传递路由信息。网络中有n台路由器,则需要建立n*(n-1)/2个邻接关系。这使得任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源。

       为解决这一问题,OSPF定义了指定路由器DR和备份指定路由器BDR。通过选举产生DR(Designated Router)后,所有路由器都只将信息发送给DR,由DR将网络链路状态LSA广播出去。除DR和BDR之外的路由器(称为DR Other)之间将不再建立邻接关系,也不再交换任何路由信息,这样就减少了广播网和NBMA网络上各路由器之间邻接关系的数量。

       在DR和BDR选举的过程中,如果两台路由器的DR优先级相等,需要进一步比较两台路由器的Router ID,Router ID大的路由器将被选为DR或BDR。缺省情况下,优先级为1。接口在选举DR或BDR时的优先级。其值越大,优先级越高。如果一台设备的接口优先级为0,则它不会被选举为DR或BDR。重新配置设备的DR优先级后,仍不会改变网络中的DR或BDR。可以利用下面两种方法重新进行DR或BDR的选择,但是这会导致设备之间的OSPF邻接关系中断,谨慎使用。OSPF协议不支持在NULL接口上配置DR优先级。

区域类型

  • 普通区域

       缺省情况下,OSPF区域被定义为普通区域。普通区域包括骨干区域和标准区域
       骨干区域:连接所有其他OSPF区域的中央区域,通常用Area 0表示。骨干区域负责区域之间的路由,非骨干区域之间的路由信息必须通过骨干区域来转发。
       标准区域:最通用的区域,它传输区域内路由,区域间路由和外部路由。
       骨干区域自身必须保持连通。所有非骨干区域必须与骨干区域保持连通。

  • Stub区域    

       Stub区域是一些特定的区域,Stub区域的ABR不传播它们接收到的自治系统外部路由,因此这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少。    
       一般情况下,Stub区域位于自治系统的边界,是只有一个ABR的非骨干区域,为保证到自治系统外的路由依旧可达,Stub区域的ABR将生成一条缺省路由,并发布给Stub区域中的其他非ABR路由器。    
       Totally Stub区域允许ABR发布的Type3缺省路由,不允许发布自治系统外部路由和区域间的路由,只允许发布区域内路由。
骨干区域不能配置成Stub区域。Stub区域内不能存在ASBR,因此自治系统外部的路由不能在本区域内传播。虚连接不能穿过Stub区域。

  • NSSA(Not-So-Stubby Area)区域    

       NSSA是Stub区域的一个变形,它和Stub区域有许多相似的地方。    
       NSSA区域不允许存在Type5 LSA。NSSA区域允许引入自治系统外部路由,携带这些外部路由信息的Type7 LSA由NSSA的ASBR产生,仅在本NSSA内传播。当Type7 LSA到达NSSA的ABR时,由ABR将Type7 LSA转换成Type5 LSA,泛洪到整个OSPF域中。    
       Totally NSSA区域不允许发布自治系统外部路由和区域间的路由,只允许发布区域内路由。
NSSA区域的ABR会发布Type7 LSA缺省路由传播到本区域内。所有域间路由都必须通过ABR才能发布。虚连接不能穿过Stub区域。

路由器类型

  • 区域内路由器(Internal Router)    

       该类路由器的所有接口都属于同一个OSPF区域。    

  • 区域边界路由器ABR(Area Border Router)    

       该类路由器可以同时属于两个以上的区域,但其中一个必须是骨干区域。ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。

  • 骨干路由器(Backbone Router)    

       该类路由器至少有一个接口属于骨干区域。所有的ABR和位于骨干区域的内部路由器都是骨干路由器。

  • 自治系统边界路由器ASBR(AS Boundary Router)    

       与其他AS交换路由信息的路由器称为ASBR。ASBR并不一定位于AS的边界,它可能是区域内路由器,也可能是ABR。

LSA

       Router-LSA(Type1)    
       每个路由器都会产生,描述了路由器的链路状态和开销,在发布路由器所属的区域内传播。            
       Network-LSA(Type2)    
       由DR产生,描述本网段的链路状态,在DR所属的区域内传播。            
       Network-summary-LSA(Type3)    
       由ABR产生,描述区域内某个网段的路由,并通告给其他区域(除了Totally Stub和Totally NSSA区域)。    
       例如:ABR同时属于Area0和Area1,Area0内存在网段10.1.1.0,Area1内存在网段11.1.1.0,ABR为Area0生成到网段11.1.1.0的Type3 LSA;ABR为Area1生成到网段10.1.1.0的Type3 LSA。        
       ASBR-summary-LSA(Type4)    
       由ABR产生,描述本区域到其他区域中的ASBR的路由,通告给除ASBR所在区域的其他区域(除了Stub区域、Totally Stub、NSSA区域和Totally NSSA区域)。            
       AS-external-LSA(Type5)    
       由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了Stub区域、Totally Stub、NSSA区域和Totally NSSA区域)。      
       NSSA LSA(Type7)    
       由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。            
       Opaque LSA(Type9/Type10/Type11)    
       Opaque LSA提供用于OSPF的扩展的通用机制。
       其中:Type9 LSA仅在接口所在网段范围内传播。用于支持GR的Grace LSA就是Type9 LSA的一种。    
       Type10 LSA在区域内传播。用于支持TE的LSA就是Type10 LSA的一种。    
       Type11 LSA在自治域内传播,目前还没有实际应用的例子。


LSA在各区域中传播的支持情况

区域类型 Router-LSAType1 Network-LSAType2 Network-summary-LSAType3 ASBR-summary-LSAType4 AS-external-LSAType5 NSSA LSAType7
普通区域(包括标准区域和骨干区域)
Stub区域 是(Stub区域的ABR将生成一条缺省路由,并发布给Stub区域中的其他非ABR路由器。)
Totally Stub区域 否(Totally Stub区域允许ABR发布的Type3缺省路由)
NSSA区域 是(NSSA中的ABR会下发7类LSA描述的缺省路由,指导路由转发到Area0区域)
Totally NSSA区域 否(Totally NSSA  NSSA的ABR将3类LSA阻挡,过滤掉域间路由,但是保留描述缺省路由的3类LSA) 是(ABR会自动产生缺省的Type3 LSA和Type7 LSA通告到整个Totally NSSA区域内。)

OSPF缺省路由

       OSPF缺省路由通常应用于下面两种情况:

       1、由区域边界路由器(ABR)发布Type3缺省Summary LSA,用来指导区域内路由器进行区域之间报文的转发。
       2、由自治系统边界路由器(ASBR)发布Type5外部缺省ASE LSA,或者Type7外部缺省NSSA LSA,用来指导自治系统(AS)内路由器进行自治系统外报文的转发。

       由于OSPF路由的分级管理,Type3缺省路由的优先级高于Type5和Type7路由。

       OSPF缺省路由的发布原则如下:
       1、OSPF设备只有具有对外的出口时,才能够发布缺省路由LSA。
       2、如果OSPF设备已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由。即路由计算时不再计算其它路由器发布的相同类型的缺省路由LSA,但数据库中存有对应LSA。 
       3、外部缺省路由的发布如果要依赖于其它路由,那么被依赖的路由不能是本OSPF路由域内的路由,即不是本进程OSPF学习到的路由。因为外部缺省路由的作用是用于指导报文的域外转发,而本OSPF路由域的路由的下一跳都指向了域内,不能满足指导报文域外转发的要求。
       4、路由器发布缺省路由时会检查区域0是否有状态为full的邻居,当区域0仅有状态为full的邻居时,缺省路由才会发布。因为区域0没有状态为full的邻居,说明骨干区域没有转发能力,发布缺省路由没有实际意义。状态full的概念请参见OSPF邻居状态机。


       Stub Area    
       Stub区域不允许自治系统外部的路由(Type5 LSA)在区域内传播。    
       区域内的路由器必须通过ABR学到自治系统外部的路由。实现方法是ABR会自动产生一条缺省的Summary LSA(Type3 LSA)通告到整个Stub区域内。这样,到达自治系统的外部路由就可以通过ABR到达。

       Totally Stub Area    
       Totally Stub区域既不允许自治系统外部的路由(Type5 LSA)在区域内传播,也不允许区域间路由(Type3 LSA)(除了缺省的Type3 LSA之外)在区域内传播。    
       区域内的路由器必须通过ABR学到自治系统外部和其他区域的路由。实现方法是配置Totally Stub区域后,ABR会自动产生一条缺省的Summary LSA(Type3 LSA)通告到整个Totally Stub区域内。这样,到达自治系统外部的路由和其他区域间的路由都可以通过ABR到达。
       NSSA Area    
       NSSA区域允许引入少量通过本区域的ASBR到达的外部路由,但不允许其他区域的外部路由ASE LSA(Type5 LSA)在区域内传播。如果骨干区域中存在Full状态的邻居和Up状态的接口,ABR会自动产生一条缺省的NSSA LSA(Type7 LSA),通告到整个NSSA区域内。这样,除了某少部分路由通过NSSA的ASBR到达,其它路由都可以通过NSSA的ABR到达。在ASBR上手动通过命令进行配置,使ASBR产生一条缺省的NSSA LSA(Type7 LSA),通告到整个NSSA区域内。这样,外部路由也可以通过本区域NSSA的ASBR到达。    
       Type7 LSA缺省路由不会在ABR上转换成Type5 LSA缺省路由泛洪到整个OSPF域。
       Totally NSSA Area    
       Totally NSSA区域既不允许其他区域的外部路由ASE LSA(Type5 LSA)在区域内传播,也不允许区域间路由(Type3 LSA)(除了缺省的Type3 LSA之外)在区域内传播。    
       区域内的路由器必须通过ABR学到其他区域的路由。实现方法是配置Totally NSSA区域后,ABR会自动产生缺省的Type3 LSA和Type7 LSA通告到整个Totally NSSA区域内。这样,自治系统外部路由和区域间路由都可以通过ABR在区域内传播。

虚连接   

                             OSPF基础个人总结(一)

              在部署OSPF时,要求所有的非骨干区域与骨干区域相连,否则会出现有的区域不可达的问题。如图中所示,Area2没有连接到骨干区Area0,DeviceB不是ABR(Area Border Router),因此不会向Area2生成Area0中Network1的路由信息,所以DeviceC上没有到达Network1的路由。

       在实际应用中,可能会因为各方面条件的限制,无法满足所有非骨干区域与骨干区域保持连通的要求,此时可以通过配置OSPF虚连接来解决这个问题。

       虚连接(Virtual link)是指在两台ABR之间通过一个非骨干区域建立的一条逻辑上的连接通道。
       虚连接必须在两端同时配置方可生效。为虚连接两端提供一条非骨干区域内部路由的区域称为传输区域(Transit Area)。
       虚连接相当于在两个ABR之间形成了一个点到点的连接,因此,虚连接的两端和物理接口一样可以配置接口的各参数,如发送Hello报文间隔等。

       如图所示通过虚连接,两台ABR之间直接传递OSPF报文信息,这两台ABR之间的OSPF设备只是起到一个转发报文的作用。由于OSPF协议报文的目的地址不是这些设备,所以这些报文对于这些设备而言是透明的,只是当作普通的IP报文来转发。

       解决OSPF中无法与区域0相连的方法

1、多进程ospf,路由重发布。
2、隧道技术
3、virtual-link


如果还有其他想了解的,我这里没提到的请留言,我都会补充上去的~

下一篇更新报文格式,加油ヾ(◍°∇°◍)ノ゙