HuaWei ❉ OSPF基础

      最后更新:2022-01-21 09:20:35 手机定位技术交流文章

      1、协议特点

      (1)OSPF把自治系统划分成逻辑意义上的一个或多个区域;

      (2)OSPF通过LAS的形式发布路由;

      (3)OSPF依靠在OSPF区域内各设备间交互OSPF报文来达到路由信息的统一;

      (4)OSPF报文封装在IP报文内,可以采用单播或组播的形式发送;

      2、报文类型

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

      DBD描述本地LSDB的摘要信息,用于两台设备进行数据库同步;

      LSR用于向对方请求所需的LSA;

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

      LSAck用来对收到的LSA进行确认;

      3、LSA类型

      (1)Router-LSA

      一类LSA,每个设备都会产生,描述了设备的链路状态和开销,在所属的区域内传播;

      (2)Network-LSA

      二类LSA,由DR产生,描述本网段的链路状态,在所属的区域内传播;

      (3)Network-summary-LSA

      三类LSA,由ABR产生,描述区域内某个网段的路由,并通告给发布或接收此LSA的非Totally Stub NSSA区域;

      (4)ASBR-summary-LSA

      四类LSA,由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域;

      (5)AS-external-LSA

      五类LSA,由ASBR产生,描述到AS外部的路由,通告到所有的区域,除Stub区域和NSSA区域;

      (6)NSSA LSA

      七类LSA,由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播;

      (7)Opaque LSA

      九类 、十类、十一类LSA,提供用于OSPF的扩展通用机制;

      九类LSA,仅在接口所在网段范围内传播,用于支持GR的Grace LSA就是九类LSA的一种;

      十类LSA,在区域内传播,用于支持TE的LSA就是十类LSA的一种;

      十一类LSA,在自治区域内传播,没有实际应用;

      4、路由器类型

      (1)区域内路由器

      该类设备的所有接口都属于同一个OSPF区域;

      (2)区域边界路由器-ABR

      该类设备可以同时属于两个以上的区域,但其中一个必须骨干区域;

      ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接;

      (3)骨干路由器

      该类设备至少有一个接口属于骨干区域;

      所有的ABR和位于Area 0的内部设备都是骨干路由器;

      (4)自治系统边界路由器-ASBR

      与其他AS交换路由信息的设备成为ASBR;

      ASBR并不一定位于AS的边界,它可能是区域内设备,也可能是ABR,只要一台OSPF设备引入了外部路由的信息,它就成为ASBR;

      5、路由类型

      (1)Intra Area

      区域内路由;

      (2)Inter Area

      区域间路由;

      (3)Type 1 External 第一类外部路由

      这类路由的可信度高一些,所以计算出的外部路由的开销与自治系统内部的路由开销是相当的,并且和OSPF自身路由的开销具有可比性;

      到第一类外部路由的开销=本设备到相应的ASBR的开销+ASBR到该路由目的地址的开销值;

      (4)Type 2 External 第二类外部路由

      这类路由的可信程度比较低,所以OSPF协议认为从ASBR到自治系统之外的开销远大于在自治系统之内到达ASBR的开销;所以,OSPF计算路由开销时只考虑ASBR到自治系统之外的开销;

      到第二类外部路由的开销=ASBR到该路由目的地址的开销值;

      6、区域类型

      (1)普通区域

      默认情况下,OSPF区域被定义为普通区域,普通区域包括标准区域和骨干区域

      标准区域是最普通的区域,它传输区域内路由,区域间路由和外部路由;

      骨干区域是连接所有其他OSPF区域的中央区域,骨干区域通常用Area 0表示;

      (2)Stub区域

      不允许发布自治系统外部路由,只允许发布区域内路由和区域间路由;

      在Stub区域中,路由器的路由表现规模和路由信息传递的数量都会大大减少;

      为了保证到自治系统外的路由可达,由该区域的ABR发布Type 3默认路由传播到区域内,所有到自治系统外部的路由都必须通过ABR才能发布;

      (3)Totally Stub区域

      不允许发布自治系统外部路由和区域间路由,只允许发布区域内路由;

      在Totally Stub区域中,路由器的路由表现规模和路由信息传递的数量都会大大减少;

      为了保证到自治系统外的路由可达,由该区域的ABR发布Type 3默认路由传播到区域内,所有到自治系统外部的路由都必须通过ABR才能发布;

      (4)NSSA区域

      NSSA区域允许引入自治系统外部路由,由ASBR发布Type 7 LSA通告给本区域,这些Type 7 LSA在ABR上转换为Type 5 LSA,并且洪泛到整个OSPF区域内;

      NSSA区域同时保留自治系统内的Stub区域的特征;

      该区域的ABR发布Type 3默认路由传播到区域内,所有域间路由都必须通过ABR才能发布;

      (5)Totally NSSA区域

      NSSA区域允许引入自治系统外部路由,由ASBR发布Type 7 LSA通告给本区域,这些Type 7 LSA在ABR上转换为Type 5 LSA,并且洪泛到整个OSPF区域内;

      Totally NSSA区域同时保留自治系统内的Totally Stub Area区域的特征;该区域的ABR发布Type 3默认路由传播到区域内,所有域间路由都必须通过ABR才能发布;

      7、OSPF支持的网络类型

      (1)Broadcast 广播型

      当链路层协议是Ethern、FDDI时,默认情况下,OSPF认为网络类型是Broadcast;

      在该类型的网络中:

      • 通常以组播的形式发送Hello报文、LSU报文、LSAck报文;其中,224.0.0.5的组播地址为OSPF设备的预留IP组播地址,224.0.0.6的组播地址为OSPF DR/BDR的预留IP组播地址;
      • 以单播形式发送DBD报文、LSR报文;

      (2)NBMA类型

      当链路层协议是FR、X.25时,默认情况下,OSPF认为网络类型是NBMA;

      在该类型的网络中,以单播形式发送协议报文;

      (3)P2MP类型

      没有一种链路层协议被默认认为是P2MP类型,P2MP必须是由其他的网络类型强制更改;

      在该类型的网络中:

      • 以组播形式发生Hello报文;
      • 以单播形式发送其他协议报文;

      (4)P2P类型

      当链路层协议是PPP、HDLC和LAPB时,默认情况下,OSPF认为网络类型是P2P;

      在该类型的网络中,以组播形式发送协议报文;

      8、Stub区域

      Stub区域是一些特定的区域,Stub区域的ABR不传播他们接受到的自治系统外部路由,在这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少;

      Stub区域是一种可选的配置属性,但并不是每一个区域都符合配置的条件。通常来说,Stub区域位于自治系统的边界,是哪些只有一个ABR的非骨干区域;

      为了保证到自治系统外部路由依旧可达,该区域的ABR将生成一条默认路由,并发布给Stub区域中的其他非ABR路由器;

      配置Stub区域时需要注意下列几点:

      • 骨干区域不能配置成Stub区域;
      • 如果要将一个区域配置成Stub区域,则该区域内的所有路由器都要配置Stub区域属性;
      • Stub区域内不能存在ASBR,即自治系统外部的路由不能在本区域内传播;
      • 虚连接不能穿过Stub区域;

      9、NSSA区域

      OSPF NSSA区域是OSPF特殊的区域类型,NSSA区域与Stub区域有许多相似的地方,两者都不传播来自OSPF网络其他区域的外部路由,差别在于Stub区域是不能引入外部路由,NSSA区域能够将自治系统外部路由引入并传播到整个OSPF区域;

      当区域配置为NSSA区域后,为了保证到自治系统外部路由可达,NSSA区域的ABR将生成一条Type 7的默认路由,并发布给NSSA区域中的其他路由器

      配置NSSA区域时需要注意以下几点:

      • 骨干区域不能配置NSSA区域;
      • 如果要将一个区域配置成NSSA区域,则该区域中的所有路由器都要配置NSSA区域属性;
      • 虚连接不能穿过NSSA区域;

      10、邻居状态机制

      OSPF共有8种状态机制,分别为:Down、Attempt、Init、2-way、Exstart、Exchange、Loading、Full;

      (1)Down

      邻居会话的初始阶段,表明没有在邻居失效时间间隔内收到来自邻居路由器的Hello数据包;

      (2)Attempt

      该状态仅发生在NBMA网络中,表明对端在邻居失效时间间隔超时后仍然没有回复Hello报文,此时路由器仍然发送Hello报文,以轮询时间间隔向对端发送;

      (3)Init

      收到Hello报文后状态转变;

      (4)2-way

      收到的Hello报文中包含有自己的Router-id,则状态为2-way;如果不形成邻接关系,则邻居状态机制就停留在此状态,否则进入Exstart状态;

      (5)Exstart

      如果形成邻接关系,则从Init转为Exstart状态,开始协商主从关系,并确定DBD的序列号;

      (6)Exchange

      主从关系协商完毕狗开始交互DBD报文,此时状态为Exchange;

      (7)Loading

      DBD报文交换完成;状态为Loading;

      (8)Full

      LSR重传列表清空,状态为Full;

      11、OSPF报文认证

      OSPF支持报文验证功能,只有通过验证的OSPF报文才能接收,否则不能建立邻居关系;

      路由器支持两种验证方式:

      • 区域验证方式;
      • 接口验证方式;

      当两种验证方式都存在时,优先使用接口验证方式;

      12、OSPF路由聚合

      路由聚合是指ARP可以将具有相同前缀的路由信息聚合到一起,只发布一条路由到其他区域;

      区域间通过路由聚合,可以减少路由信息,从而减少路由表的规模,提高设备的性能;

      OSPF有两种路由聚合方式:

      (1)ABR聚合

      ABR向其他区域发送路由信息时,以网段为单位生成Type 3 LSA,如果该区域中存在一些连续的网段,则可以通过命令将这些连续的网段聚合成一个网段;这样ABR只发送一条聚合后的LSA,所有属于命令指定的聚合网段范围的LSA将不会再被单独发送出去;

      (2)ASBR聚合

      配置路由聚合后,如果本地设备是自治系统边界路由器ASBR,将对引入的聚合地址范围内的Type 5 LSA进行聚合;当配置了NSSA区域时,还要对引入的聚合地址范围内的Type 7 LSA进行聚合;

      如果本地设备既是ASBR又是ABR,则对由Type 7 LSA转化成的Type 5 LSA进行聚合处理;

      13、OSPF默认路由

      默认路由是指目的地址和掩码都是0的路由;当设备无精确匹配的路由时,就可以通过默认路由进行报文转发,由于OSPF路由的分级管理,Type 3默认路由的优先级高于Type 5和Type 7路由;

      1 OSPF默认路由通常应用与下面情况:

      • 由区域边界路由器ABR发布Type 3默认summary LSA,用来指导区域内设备进行区域之间报文的转发;
      • 由自治系统边界路由器ASBR发布Type 5外部默认ASE LSA,或者Type 7外部默认NSSA LSA,用来指导自治系统内设备进行自治系统外报文的转发;

      2 OSPF默认路由的发布原则如下:

      1. OSPF路由器只有具有对外的出口时,才能够发布默认路由LSA;
      2. 如果OSPF路由器已经发布了默认路由LSA,那么不再学习其他路由器发布的相同类型默认路由,即路由计算时不再计算其他路由器发布的相同类型的默认路由LSA,但数据库中存有对应LSA;
      3. 外部默认路由的发布如果要依赖于其他路由,那么被依赖的路由不能是本OSPF路由域内的路由,即不是本进程OSPF学习到的路由,因为外部默认路由的作用是用于指导报文的域外转发,而本OSPF路由域的路由的下一跳都指向了域内,不能满足指导报文域外转发的要求;

      3 不同区域默认路由发布原则:

      (1)普通区域

      默认情况下,普通OSPF区域内的OSPF路由器是不会产生默认路由,即使它有默认路由;

      当网络中默认路由通过其他路由进程产生时,路由器必须将默认路由通告到整个OSPF自治域中,实现方法是在ASBR上手动通过命令进行配置,产生默认路由;配置完成后,路由器会产生一个默认ASE LSA(五类LSA),并且通告到整个OSPF自治域中;

      (2)Stub区域

      Stub区域不允许自治系统外部的路由(五类LSA)在区域内传播;

      区域内的路由器必须通过ABR学到自治系统外部的路由,实现方法是ABR会自动产生一条默认的Summary LSA(三类LSA)通告到整个Stub区域内;这样,到达自治系统的外部路由就可以通过ABR到达;

      (3)Totally Stub区域

      Totally Stub区域既不允许自治系统外部的路由(五类LSA)在区域内传播,也不允许区域间路由(三类LSA)在区域内传播;

      区域内的路由器必须通过ABR学到自治系统外部和其他区域的路由,实现方法是配置Totally Stub区域后,ABR会自动产生一条默认的Summary LSA(三类LSA)通告到整个Stub区域内;这样,到达自治系统外部的路由和其他区域间的路由都可以通过ABR到达;

      (4)NSSA区域

      NSSA区域允许通过本区域的ASBR到达的少量外部路由,但不允许其他区域的外部路由ASE LSA(五类LSA)在区域内传播,即到达自治系统外部的路由只能通过本区域的ASBR到达;

      只配置了NSSA区域是不会自动产生默认路由的;

      此时,有两种选择:

      • 如果希望到达自治系统外部的路由通过该区域的ASBR到达,而其他外部路由通过其他区域出去;此时,ABR会产生一条Type 7 LSA的默认路由,通告到整个NSSA区域内;这样,除了某少部分路由通过NSSA的ASBR到达,其他路由都可以通过NSSA的ABR到达其他区域的ASBR出去;
      • 如果希望所有的外部路由只通过本区域NSSA的ASBR到达,则必须在ASBR上手动通过命令进行配置,使ASBR产生一条默认的NSSA LSA(七类LSA),通告到整个NSSA区域内;这样,所有的外部路由就只能通过本区域NSSA的ASBR到达;

      上面两种情况的区别是:

      • 在ABR上无论路由表中是否存在默认路由0.0.0.0,都会产生Type 7 LSA的默认路由;
      • 在ASBR上只有当路由表中存在默认路由0.0.0.0,才会产生Type 7 LSA的默认路由;

      因为默认路由只是在本NSSA区域内泛洪,并没有泛洪到整个OSPF域中,所以本NSSA区域内的路由器在找不到路由之后可以从该NSSA的ASBR出去,但不能实现其他OSPF域的路由从这个出口出去,Type 7 LSA默认路由不会在ABR上转换成Type 5 LSA默认路由泛洪到整个OSPF域;

      (5)Totally NSSA区域

      Totally NSSA区域既不允许其他区域的外部路由ASE LSA(五类LSA)在区域内传播,也不允许区域间路由(三类LSA)在区域内传播;区域内的路由器必须通过ABR学到其他区域的路由;实现方法是配置Totally NSSA区域后,ABR会自动产生一条默认的三类LSA通告到整个NSSA区域内;这样,其他区域的外部路由和区域间路由都可以通过ABR在区域内传播;

      14、OSPF路由过滤

      OSPF支持使用路由策略对路由信息进行过滤,默认情况下,OSPF不进行路由过滤;

      OSPF可以使用的路由策略包括Route-policy,访问控制列表(Access-list),地址前缀列表(Prefix-list);

      OSPF路由过滤可以应用于以下几个方面:

      (1)路由引入;

      OSPF可以引入其他路由协议学习到的路由;在引入时可以通过配置路由策略来过滤路由;只引入满足条件的路由;

      (2)引入路由发布;

      OSPF引入了路由后会向其他邻居发布引入的路由信息;

      可以通过配置过滤规则来过滤向邻居发布的路由信息,该过滤规则只在ASBR上配置才有效;

      (3)路由学习;

      通过配置过滤规则,可以设置OSPF对接收到的区域内、区域间和自治系统外部的路由进行过滤;

      该过滤只作用于路由表项的添加与否,即只有通过过滤的路由才被添加到本地路由表中,但所有的路由仍可以在OSPF路由表中被发布出去;

      (4)区域间LSA学习;

      通过命令可以在ABR上配置对进入本区域的Summary LSA进行过滤,该配置只在ABR上有效;

      (5)区域间LSA发布;

      通过命令可以在ABR上配置对本区域出方向的Summary LSA进行过滤,该配置只在ABR上配置有效;

      15、OSPF多进程

      OSPF支持多进程,在同一台路由器上可以运行多个不同的OSPF进程,它们之间互不影响,彼此独立;不同OSPF进程之间的路由交互相当于不同路由协议之间的路由交互;

      路由器的一个接口只能属于某一个OSPF进程;

      OSPF多进程的一个典型应用就是在VPN场景中PE和CE之间运行OSPF协议,同时VPN骨干网络上的IGP也采用OSPF,在PE上,这两个OSPF进程互不影响;

      16、OSPF RFC 1583兼容

      RFC 1583是OSPF v2协议比较早的版本;

      OSPF在计算外部路由时,由于RFC 2328和RFC 1583的路由计算规则不一致,可能会导致路由环路;为了避免路由环路的发生,RFC 2328中提出了RFC 1583兼容特性;

      使用RFC 1583兼容后,OSPF采用RFC 1583的路由计算规则;

      不使用RFC 1583兼容后,OSPF采用RFC 2328的路由计算规则;

      OSPF是根据5类LSA来计算外部路由的,RFC 1583兼容特性主要用于路由器收到5类LSA后:

      选择到达产生该LSA的ASBR或该LSA所描述的转发地址的路径;

      选择到达相同目地的外部路径;

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/16996.html

          热门文章

          文章分类