人人范文网 范文大全

华为OSPF总结

发布时间:2020-03-02 19:18:06 来源:范文大全 收藏本文 下载本文 手机版

华为OSPF总结

1 OSPF基本概念

1.1 拓扑和路由器类型

OSPF整体拓扑

 OSPF把自治系统划分成逻辑意义上的一个或多个区域,所有其他区域必须与区域0相连。 路由器类型

 区域内路由器(Internal Router):该类设备的所有接口都属于同一个OSPF区域。

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

 骨干路由器(Backbone Router):该类路由器至少有一个接口属于骨干区域。所有的ABR和位于Area0的内部路由器都是骨干路由器。  自治系统边界路由器ASBR(AS Boundary Router):与其他AS交换路由信息的路由器称为ASBR。ASBR并不一定位于AS的边界,它可能是区域内路由器,也可能是ABR。只要一台OSPF路由器引入了外部路由的信息,它就成为ASBR。

拓扑所体现的IS-IS与OSPF不同点

 在OSPF中,每个链路只属于一个区域;而在IS-IS中,每个链路可以属于不同的区域;  在IS-IS中,单个区域没有骨干与非骨干区域的概念;而在OSPF中,Area0被定义为骨干区域;

 在IS-IS中,Level-1和Level-2级别的路由都采用SPF算法,分别生成最短路径树SPT而在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由发布还是距离矢量算法,区域之间的路由需要通过骨干区域来转发。

1.2 OSPF网络类型,DR,BDR介绍

OSPF支持的网络类型

 点到点P2P类型:当链路层协议是PPP、HDLC时,缺省情况下,OSPF认为网络类型是P2P。在该类型的网络中,以组播形式(224.0.0.5)发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。  点到多点P2MP 类型(Point-to-Multipoint):没有一种链路层协议会被缺省的认为是Point-to-Multipoint 类型。点到多点必须是由其他的网络类型强制更改的。常用做法是将非全连通的NBMA改为点到多点的网络。在该类型的网络中以组播形式(224.0.0.5)发送Hello报文,以单播形式发送其他协议报文(DD报文、LSR报文、LSU报文、LSAck报文)。  NBMA类型(Non-broadcast multiple acce):当链路层协议是ATM时,缺省情况下,OSPF认为网络类型是NBMA。在该类型的网络中,以单播形式发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。  广播类型(Broadcast):当链路层协议是Ethernet、FDDI时,缺省情况下,OSPF认为网络类型是Broadcast。在该类型的网络中,通常以组播形式发送Hello报文、LSU报文和LSAck报文。其中,224.0.0.5的组播地址为OSPF路由器的预留IP组播地址;224.0.0.6的组播地址为OSPF DR的预留IP组播地址。以单播形式发送DD报文和LSR报文。

在至少含有两个路由器的广播型网络和NBMA网络都有一个指定路由器(DR)和一个备份指定路由器(BDR) DR/BDR的作用  减少邻居关系的数量,从而减少链路状态信息和路由信息的次数。Drother只与DR/BDR建立完全邻接关系。DR与BDR之间建立完全邻接关系。  DR产生网络LSA来描述NBMA网段或者广播网段信息。 DR/BDR选举规则

 DR/BDR由OSPF的Hello协议选举,选举是根据端口的路由器优先级(Router Priority)进行的。

 如果Router Priority被设置为0,那么该路由器将不允许被选举成DR或者BDR。

 Router Priority越大越优先。如果相同,Router ID大者优先。

 DR/BDR不能抢占。

 如果当前DR故障,当前BDR自动成为新的DR,网络中重新选举BDR;如果当前BDR故障,则DR不变,重新选举BDR。 ISIS DIS与OSPF DR/BDR的不同点

 在IS-IS广播网中,优先级为0的路由器也参与DIS的选举,而在OSPF中优先级为0的路由器则不参与DR 的选举。

 在IS-IS广播网中,当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中成为新的DIS,原有的伪节点被删除。此更改会引起一组新的LSP 泛洪。而在OSPF中,当一台新路由器加入后,即使它的DR 优先级值最大,也不会立即成为该网段中的DR。

 在IS-IS广播网中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器。

1.3 OSPF报文类型

Hello报文:用于建立和维持邻居关系

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

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

LSU报文:用于向对方发送其所需要的LSA LSAck报文:用来对收到的LSA进行确认 OSPF报文概述

 OSPF报文直接运行于IP之上,IP协议字段号为89。OSPF有五种报文类型,但是OSPF报文头部格式都是相同的。

 除Hello报文外,其它的OSPF报文都携带LSA信息。 1.3.1 OSPF报文头部信息

所有的OSPF报文使用相同的OSPF报文头部         Version :OSPF协议号,应当被设置成2。 Type:OSPF报文类型,OSPF共有五种报文。

Packet length:OSPF报文总长度,包括报文头部。单位是字节。 Router ID:生成此报文的路由器的Router ID。 Area ID:此报文需要被通告到的区域。

Checksum:是指一个对整个数据包(包括包头)的标准IP校验和。 AuType:验证此报文所应当使用的验证方法。

Authentication:验证此报文时所需要的密码等信息。

1.3.2 Hello报文格式

        Network Mask:发送Hello报文的接口的网络掩码。 HelloInterval:发送Hello报文的时间间隔。单位为秒。

Options:标识发送此报文的OSPF路由器所支持的可选功能。

Router Priority:发送Hello报文的接口的Router Priority,用于选举DR和BDR。

RouterDeadInterval:宣告邻居路由器不继续在该网段上运行OSPF的时间间隔,单位为秒,通常为四倍HelloInterval。 Designated Router:发送Hello报文的路由器所选举出的DR的IP地址。如果设置为0.0.0.0,表示未选举DR路由器。

Backup Designated Router:发送Hello报文的路由器所选举出的BDR的IP地址。如果设置为0.0.0.0,表示未选举BDR路由器。

Active Neighbor:邻居路由器的Router ID列表。表示本路由器已经从该邻居收到合法的Hello报文。

1.3.3 DD报文格式

 接口MTU:是指在数据包不分段的情况下,始发路由器接口可以发送的最大IP数据包大小。当在虚连接时,该在段为0x0000。  Option:同hello报文。

 I位:当发送的是一系列DD报文中的第一个数据包时,该为置位为1。后续的DD报文将该位置位0。

 M位:当发送的数据包还不是一个系列DD报文中的最后一个数据包时,该值置为1。如果是最后一个DD报文,则将该为置为0。

 MS位:在数据库同步中,主要用来确认协商过程中的序列号。  DD Sequence Number:DD的序列号报文,4byte  LSA头部信息。

1.3.4 LSR报文格式

 Link State Type:用来指明LSA标识是一个路由器LSA、一个网络LSA还是其他类型的LSA。

 Link State ID:不同类型LSA该字段意义不同。

 Advertising Router:始发LSA通告的路由器的路由器ID。

1.3.5 LSU报文格式

 Number of LSA:指出这个数据包中包含的LSA的数量。  LSA:明细LSA信息

1.3.6 LSAck报文格式

 Header of LSA:LSA头部信息。

1.3.7 LSA头部信息

除Hello报文外,其它的OSPF报文都携带LSA信息。

 LS age:此字段表示LSA已经生存的时间,单位是秒。

 Option:该字段指出了部分OSPF域中LSA能够支持的可选性能

 LS type:此字段标识了LSA的格式和功能。常用的LSA类型有五种。  Link State ID:根据LSA的不用而不同。

 Advertising Router:始发LSA的路由器的ID。

 Sequence Number:当LSA每次新的实例产生时,这个序列号就会增加。这个更新可以帮助其他路由器识别最新的LSA实例。

 Checksum:关于LSA的全部信息的校验和。因为Age字段,所以校验和会随着老化时间的增大而每次都需要重新进行计算。  Length:是一个包含LSA头部在内的LSA的长度。

1.4 LSA类型和区域内路由计算与描述

Router-LSA(Type1)

 路由器产生,描述了路由器的链路状态和开销,本区域内传播

Network-LSA(Type2)

 DR产生,描述本网段的链路状态,本区域内传播

Network-summary-LSA(Type3)

 ABR产生,描述区域内某个网段的路由,区域间传播(除特殊区域)

ASBR-summary-LSA(Type4)

 ABR产生,描述到ASBR的路由,OSPF域内传播(除特殊区域)

AS-external-LSA(Type5)

 ASBR产生,描述到AS外部的路由,OSPF域内传播(除特殊区域)

NSSA LSA(Type7)

 由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。

区域内路由的计算只涉及到router-lsa和network-lsa 也只有router-lsa和network-lsa参与ospf路由计算

1.4.1 描述拓扑结构

1.4.2 Router-LSA Router-LSA必须描述始发路由器所有接口或链路。 区域内路由计算用到router-lsa [Q5]display ospf lsdb router self-originate

OSPF Proce 1 with Router ID 5.5.5.5 Area: 0.0.0.1 Link State Database Type : Router Ls id : 5.5.5.5 Adv rtr : 5.5.5.5 Ls age : 194 Len : 48 Options : ASBR E seq# : 80000007 chksum : 0xacb8 Link count: 2 * Link ID: 4.4.4.4 Data : 45.0.0.5 Link Type: P-2-P Metric : 1562 * Link ID: 45.0.0.0 Data : 255.255.255.0 Link Type: StubNet Metric : 1562 Priority : Low

 Link State ID:是指始发路由器的路由器ID。

 V:设置为1时,说明始发路由器是一条或者多条具有完全邻接关系的虚链路的一个端点。

 E:当始发路由器是一个ASBR路由器时,该为置为1。  B:当始发路由器是一个ABR路由器时,该为置为1。  Link count:表明一个LSA所描述的路由器链路数量。

 Link Type:置为1表示点到点连接一台设备;置为2表示连接一个transit网络,可以理解为广播网络;置为3表示连接subnet网络,一般该地址为环回口地址;置为4表示虚链路。

 Link ID:Link Type置为1表示邻居路由器的路由器ID;Link Type置为2表示DR路由器的接口的IP地址;Link Type置为3表示IP网络或子网地址;Link Type置为4邻居路由器的路由器ID。

 Link Data:Link Type置为1表示和网络相连的始发路由器接口的IP地址;Link Type置为2表示和网络相连的始发路由器接口的IP地址;Link Type置为3网络的IP地址或子网掩码。  P2P链路:描述到邻居连接  Transit链路:描述到DR的连接

 Stub链路:描述子网,没有邻居(loopback或者只有一个以太网链路)  V-link链路:描述虚链路点到点链路  ToS,暂不支持。

 Metric:是指一条链路或接口的代价。

1.4.3 Network-LSA

DR产生,BDR不会产生Network-LSA [Q2]display ospf lsdb network self-originate

OSPF Proce 1 with Router ID 2.2.2.2 Area: 0.0.0.0 Link State Database Type : Network Ls id : 10.0.0.2 Adv rtr : 2.2.2.2 Ls age : 393 Len : 36 Options : E seq# : 80000006 chksum : 0x9088 Net mask : 255.255.255.0 Priority : Low Attached Router 2.2.2.2 Attached Router 3.3.3.3 Attached Router 4.4.4.4

 Link State ID:是指DR路由器接口上的地址。

 Network Mask:指定这个网络上使用的地址或者子网的掩码。

 Attached router:列出该多路访问网络上与DR形成完全邻接关系且包括DR本身的所有路由器的路由器ID。

1.4.4 Network-summary-LSA(ABR产生)

[Q4]display ospf lsdb summary Type : Sum-Net Ls id : 45.0.0.0 Adv rtr : 4.4.4.4 Ls age : 425 Len : 28 Options : E seq# : 80000003 chksum : 0xde1f Net mask : 255.255.255.0 Tos 0 metric: 1562

Priority : Low

 Link State ID:对于3类LSA来说,表示所通告的网络或子网的IP地址。对于4类LSA来说表示所通告的ASBR路由器的路由器ID。

 Network Mask:对于3类LSA来说,表示所通告的网络的子网掩码或者地址。对于4类LSA来说,该字段没有实际意义,一般置为0.0.0.0。  Metric:直到目的地址的路由的代价。

Network-summary-LSA 在区域间传递,区域间路由是矢量的,那么矢量的路由需要防止环路

防止环路方法如下: (1)ABR不能从非骨干区域接收类型3LSA (2)Downbit防环

1.4.

5ASBR-summary-LSA (ABR产生) 1.4.6 AS-external-LSA (ASBR产生)

[Q4]display ospf lsdb ase OSPF Proce 1 with Router ID 4.4.4.4 Link State Database Type : External Ls id : 55.55.55.0 Adv rtr : 5.5.5.5 Ls age : 2341 Len : 36 Options : E seq# : 80000002 chksum : 0xa273 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2 Forwarding Addre : 0.0.0.0 Tag : 1 Priority : Low

 Link State ID:目的地的IP地址。

 Network Mask:指所通告的目的地的子网掩码或地址。

 E type:用来指定这条路由使用的外部度量的类型。如果该E bit设置为1,那么度量类型就是E2;如果该E bit设置为0,那么度量类型就是E1。  Metric:指路由的代价。由ASBR设定。  Forwarding Addre:是指到达所通告的目的地的数据包应该被转发到的地址。如果转发地址是0.0.0.0,那么数据包将被转发到始发ASBR上。  External Route Tag:标记外部路由。 1.4.7 NSSA LSA ( ASBR产生)

[Q5]display ospf lsdb na self-originate

Type : NSSA Ls id : 55.55.55.0 //目的网段的网络地址 Adv rtr : 55.55.55.55 Ls age : 66 Len : 36 Options : NP seq# : 80000001 chksum : 0x8390 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2 Forwarding Addre : 45.0.0.5 Tag : 1 Priority : Low

 Forwarding Addre:如果网络一台NSSA ASBR路由器和邻接的自治系统之间是作为一条内部路由通告的,那么这个FA就是这个网络的下一跳地址。如果网络不是作为一个条内部路由通告的,那么这个FA地址将是NSSA ASBR路由器的路由器ID。

1.4.8 区域内路由计算SPF过程

1.5

Option字段

 Option可选字段出现在每一个Hello数据包、DD和每个LSA中的。  Option字段允许路由器和其他路由器进行一些可选性能的通信。

Option字段解释:

 DN:用来避免在MPLS VPN中出现环路。当3类、5类和7类LSA中设置了DN位之后,接收路由器就不恩能够在它的OSPF路由计算中使用该LSA。  O:该字段指出始发路由器支持Opaque LSA(类型

9、类型10和类型11)。  DC位:当始发路由器支持按需链路上的OSPF的能力时,该位将被设置。  EA:当始发路由器具有接收和转发外部属性LSA的能力时,该位被置位。  N位:只在Hello数据包中。N=1表明路由器支持7类LSA。N=0表明该路由器将不接收和发送NSSA LSA。

 P位:只用在NSSA LSA。该位将告诉一个非纯末节区域中的ABR路由器将7类LSA转换为5类LSA。  MC位:支持MOSPF。

 E位:当始发路由器具有接收OSPF域外部LSA的能力时,该位置位。在所有5类LSA和始发于骨干区域以及非末节区域的LSA中,该位置为1。而始发与末节区域的LSA中,该位置为0。如果Hello报文中该位表明一个接口具有接收和发送5类LSA的能力。  MT位:表示始发路由器支持多拓扑OSPF。

2 OSPF邻居和邻接关系

2.1 邻居关系建立

邻居状态建立:

 Down:这是邻居的初始状态,表示没有从邻居收到任何信息。

 Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。在此状态下的邻居要被包含在自己所发送的Hello报文的邻居列表中。  2-Way:在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。如果网络为广播网络或者NBMA网络则选举DR/BDR。

在形成邻居关系过程中,需要对Hello报文携带的参数进行协商:  如果接收端口的网络类型是广播型,点到多点或者NBMA,所接收的Hello报文中Network Mask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者是虚连接,则不检查Network Mask字段;  所接收的Hello报文中的Hello和Dead字段必须和接收端口的配置保持一

致;

 所接收的Hello报文中的认证字段需要一致;

 所接收的Hello报文中的Options字段中的E-bit(表示是否接收外部路由信息)必须和相关区域的配置保持一致。  所接收的Hello报文中的区域字段必须一致。

2.2 邻接关系建立

邻接状态建立:

 邻居状态机变为ExStart以后,R1向R2发送第一个DD报文,在这个报文中,DD序列号被设置为552A(假设),Initial比特为1表示这是第一个DD报文,More比特为1表示后续还有DD报文要发送,Master比特为1表示R1宣告自己为主路由器。

 邻居状态机变为ExStart以后,R2向R1发送第一个DD报文,在这个报文中,DD序列号被设置为5528(假设)。由于R2的Router ID比R1的大,所以R2应当为主路由器,Router ID的比较结束后,R1会产生一个NegotiationDone的事件,所以R1将状态机从ExStart改变为Exchange。  邻居状态机变为Exchange以后,R1发送一个新的DD报文,在这个新的报文中包含LSDB的摘要信息,序列号设置为R2在第二步里使用的序列号,More比特为0表示不需要另外的DD报文描述LSDB,Master比特为0表示R1宣告自己为从路由器。收到这样一个报文以后,R2会产生一个NegotiationDone的事件,因此R2将邻居状态改变为Exchange。

 邻居状态变为Exchange以后,R2发送一个新的DD报文,该报文中包含

 LSDB的描述信息,DD序列号设为5529(上次使用的序列号加1)。

即使R1不需要新的DD报文描述自己的LSDB,但是做为从路由器,R1需要对主路由器R2发送的每一个DD报文进行确认。所以,R1向R2发送一个新的DD报文,序列号为5529,该报文内容为空。

邻居状态变为Loading之后,R1开始向R2发送LS request报文,请求那些在Exchange状态下通过DD报文发现的,而且在本地LSDB中没有的链路状态信息。

R2收到LS Request报文之后,向R1发送LS Update报文,在LS Update报文中,包含了那些被请求的链路状态的详细信息。R1收到LS Update报文之后,将邻居状态从Loading改变成Full。

R1向R2发送LS Ack报文,确保信息传输的可靠性。LS Ack报文用于泛洪对已接收LSA的确认。

2.3 邻居关系状态机

2.4 邻接关系状态机

2.5 总结OSPF邻接建立状态变换和用途

1.5.1 Init状态

当路由器收到邻居发送来的hello报文就将状态变换成init状态,Init状态也说明路由器是可以收到邻居的hello消息的,也说明路由器和邻居之间至少二层是互通的。 1.5.2 TwoWay状态

a,检查如下参数是否一致, 在p2p与MA之间有什么不同  如果接收端口的网络类型是广播型,点到多点或者NBMA,所接收的Hello报文中Network Mask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者是虚连接,则不检查Network Mask字段;  所接收的Hello报文中的Hello和Dead字段必须和接收端口的配置保持一致;

 所接收的Hello报文中的认证字段需要一致;

 所接收的Hello报文中的Options字段中的E-bit(表示是否接收外部路由信息)必须和相关区域的配置保持一致。  所接收的Hello报文中的区域字段必须一致。 P2P不需要建立邻接,MA需要建立邻接

b,用途?

当路由器和邻居之间建立双向通信就变成TwoWay状态,或者说当路由器收到邻居发送过来的hello报文发现自己在对方的邻居列表中就变成TwoWay状态。

c,DR选举和抢占,wait计时器就是dead time计时器,在这个时间里面,如果路由器接收到的hello报文中有DR和BDR就不进行DR选举

1.5.3 Exstart状态

通过检查router-id,DBD主从选举,router-id大的成为主,小的成为从 1.5.4 Exchange状态

检查ls age和sequence,同步DBD 1.5.5 Loading状态

发送LSR请求 1.5.6 FULL状态

发出的LSR全部收到应答

检查DBD完全一样 已经同步了LSDB

3 OSPF中DR,BDR选举

4 OSPF特殊区域和外部路由

Ospf特殊区域为stub和na 引入外部路由不建议引入直连的路由而采用network+silent方式引入直连路由。

4.1 Stub区域

OSPF可以将特定区域配置为Stub和Totally Stub区域。Stub区域是一些特定的区域,Stub区域的ABR不传播它们接收到的自治系统外部路由,在这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少。Stub区域是一种可选的配置属性,但并不是每个区域都符合配置的条件。通常来说,Stub区域位于自治系统的边界,是那些只有一个ABR的非骨干区域。为保证到自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由,并发布给Stub区域中的其他非ABR路由器。 Stub区域  骨干区域不能配置成Stub区域。

 如果要将一个区域配置成Stub区域,则该区域中的所有路由器都要配置Stub区域属性。

 Stub区域内不能存在ASBR,即自治系统外部的路由不能在本区域内传播。  虚连接不能穿过Stub区域。

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

 Totally Stub区域既不允许自治系统外部的路由(Type5 LSA)在区域内传播,也不允许区域间路由(Type3 LSA)在区域内传播。

 区域内的路由器必须通过ABR学到自治系统外部和其他区域的路由。  ABR会自动产生一条缺省的Summary LSA(Type3 LSA)通告到整个Stub区域内。

 Stub区域的E-bit被置位

实例

Q1和Q2所在的area 2为stub或者是stub totally

4.2 NSSA区域

 NSSA区域能够将外部路由引入并传播到整个OSPF自治域中,同时又不会学习来自OSPF网络其它区域的5类LSA  包括NSSA和Totally NSSA OSPF规定Stub区域是不能引入外部路由的,这样可以避免大量外部路由对Stub区域路由器带宽和存储资源的消耗。对于既需要引入外部路由又要避免外部路由带来的资源消耗的场景,Stub区域就不再满足需求了。因此Stub区域的变形——NSSA区域就产生了。 7类LSA  7类LSA是为了支持NSSA区域而新增的一种LSA类型,用于描述引入的外部路由信息。

 7类LSA由NSSA区域的自治域边界路由器(ASBR)产生,其扩散范围仅限于边界路由器所在的NSSA区域。

 NSSA区域的区域边界路由器(ABR)收到7类LSA时,会有选择地将其转化为5类LSA,以便将外部路由信息通告到OSPF网络的其它区域。  缺省路由也可以通过7类LSA来表示,用于指导流量流向其它自治域。 为了将NSSA区域引入的外部路由发布到其它区域,需要把Type-7 LSA转化为Type-5 LSA以便在整个OSPF网络中通告。

 option字段P用于告知转化路由器该条7类LSA是否需要转化。  进行转化的是NSSA区域中Router ID最大的区域边界路由器(ABR)。  只有P置位并且Forwarding Addre不为0的Type-7 LSA才能转化为Type-5 LSA。Forwarding Addre用来表示发送的某个目的地址的报文将被转发到Forwarding Addre所指定的地址。

 满足以上条件的缺省7类LSA也可以被转化。

 区域边界路由器ABR产生的7类LSA不会置位P-bit。 注意事项

 在NSSA区域中,可能同时存在多个边界路由器。为了防止路由环路产生,边界路由器之间不计算对方发布的缺省路由。

NSSA和Totally NSSA  NSSA区域允许引入少量通过本区域的ASBR到达的外部路由,但不允许其他区域的外部路由ASE LSA(Type5 LSA)在区域内传播。即到达自治系统外部的路由只能通过本区域的ASBR到达。

 Totally NSSA区域既不允许其他区域的外部路由ASE LSA(Type5 LSA)在区域内传播,也不允许区域间路由(Type3 LSA)在区域内传播。 实例

Area 1为na区域

引入外部路由55.55.55.0/24

[Q4] ospf 1 router-id 4.4.4.4 area 0.0.0.0 network 10.0.0.0 0.0.0.255 area 0.0.0.1 network 45.0.0.0 0.0.0.255 na default-route-advertise no-summary [Q4]display ospf lsdb Area: 0.0.0.1 Type LinkState ID AdvRouter Age Len Sequence Metric Router 4.4.4.4 4.4.4.4 25 48 80000004 1562 Router 55.55.55.55 55.55.55.55 2207 48 80000003 1562 Router 5.5.5.5 5.5.5.5 28 48 80000005 1562 Sum-Net 0.0.0.0 4.4.4.4 30 28 80000001 1 NSSA 0.0.0.0 4.4.4.4 27 36 80000003 1 NSSA 55.55.55.0 55.55.55.55 2228 36 80000001 1 NSSA 55.55.55.0 5.5.5.5 1209 36 80000001 1 NSSA 45.0.0.4 55.55.55.55 2228 36 80000001 1 NSSA 45.0.0.0 55.55.55.55 2228 36 80000002 1 //Q4为NSSA的ABR,向na区域通告一条3类lsa的默认路由和一条NSSA的默认路由,这是因为有参数default-route-advertise和 no-summary [Q5] ospf 1 router-id 5.5.5.5 import-route direct route-policy 1111 area 0.0.0.1 network 45.0.0.0 0.0.0.255 na

[Q5]display ospf lsdb Area: 0.0.0.1 Type LinkState ID AdvRouter Age Len Sequence Metric Router 4.4.4.4 4.4.4.4 229 48 80000004 1562 Router 55.55.55.55 55.55.55.55 2409 48 80000003 1562 Router 5.5.5.5 5.5.5.5 230 48 80000005 1562 Sum-Net 0.0.0.0 4.4.4.4 234 28 80000001 1 NSSA 55.55.55.0 5.5.5.5 1411 36 80000001 1 NSSA 0.0.0.0 4.4.4.4 231 36 80000003 1 NSSA 55.55.55.0 55.55.55.55 2430 36 80000001 1 NSSA 45.0.0.4 55.55.55.55 2430 36 80000001 1 NSSA 45.0.0.0 55.55.55.55 2430 36 80000002 1

[Q4]display ospf lsdb ase self-originate Type : External Ls id : 55.55.55.0 //Q4将NSSA lsa装换成external lsa发布 Adv rtr : 4.4.4.4 Ls age : 752 Len : 36 Options : E seq# : 80000001 chksum : 0xf9ee Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2 Forwarding Addre : 45.0.0.5 Tag : 1 Priority : Low

4.3 外部路由和forwarding addre Forwarding Addre用来表示发送的某个目的地址的报文将被转发到Forwarding Addre所指定的地址。

R1和R9连接在一起属于区域area 1,R8属于ospf外部路由器,R1上引入一条静态的路由,这条静态的路由指向R8连接的网段8.8.8.0/24,由于在R1上引入的外部路由会通告给AREA 1中的R9,那么也就是告诉R9去往网段8.8.8.0/24的路径要经过R1(图中蓝线的路径箭头),然而R9和R8之间是通过交换机直连的,R9直接通过交换机去8.8.8.0/24网段(图中红线的路径箭头)要比ospf通告的要优先一些,那么这时就造成了次优路径。

解决这种次优路径的方法就是引入forwarding addre,直接告诉R9去往8.8.8.0/24网段的下一条是R8的接口g0/0/0。

开启forwarding addre功能时要满足如下条件

(1) 引入的外部路由,其对应的出接口开启了ospf(network命令) (2) 引入的外部路由,其对应的出接口没有开启了silent-interface (3) 引入的外部路由,其对应的出接口是网络类型broadcast或者nbma 如下为R1,R8,R9的配置和测试

R1上的配置:

[R1]interface GigabitEthernet0/0/1 ip addre 19.0.0.1 255.255.255.0 # interface GigabitEthernet1/0/0 ip addre 100.0.0.1 255.255.255.0 # ospf 1 router-id 10.0.1.1 import-route static area 0.0.0.0 authentication-mode simple plain huawei network 10.0.1.1 0.0.0.0 network 10.0.123.1 0.0.0.0 area 0.0.0.1 network 19.0.0.0 0.0.0.255 network 100.0.0.0 0.0.0.255 //要将出接口宣告进ospf # ip route-static 8.8.8.0 255.255.255.0 GigabitEthernet1/0/0 100.0.0.8

R9配置:

[R9]interface Ethernet0/0/1 ip addre 100.0.0.9 255.255.255.0 # interface GigabitEthernet0/0/0 ip addre 19.0.0.9 255.255.255.0 # ospf 1 router-id 9.9.9.9 area 0.0.0.1 network 19.0.0.0 0.0.0.255 network 100.0.0.0 0.0.0.255 //要将出接口宣告进ospf R8配置

[R8]interface GigabitEthernet0/0/0 ip addre 100.0.0.8 255.255.255.0 # interface LoopBack0 ip addre 8.8.8.8 255.255.255.0 # ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet0/0/0 100.0.0.1 #

R1上的外部路由通告

[R1]display ospf lsdb ase self-originate

OSPF Proce 1 with Router ID 10.0.1.1 Link State Database Type : External Ls id : 8.8.8.0 Adv rtr : 10.0.1.1 Ls age : 1588 Len : 36 Options : E seq# : 80000001 chksum : 0x3709 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2 Forwarding Addre : 100.0.0.8 //告诉其他的路由器的去往8.8.8.0/24的下一跳是100.0.0.8 Tag : 1 Priority : Low

R9上正好下一条是100.0.0.8 [R9]display ip routing-table Destination/Mask Proto Pre Cost Flags NextHop Interface

8.8.8.0/24 O_ASE 150 1 D 100.0.0.8 Ethernet0/0/1

4.4 NSSA和forwarding addre NSSA中Forwarding Addre的处理

对于NSSA区域中ASBR产生的7类LSA,如果需要转换为5类LSA发布到其他OSPF区域,那么FA必须要填写非零的IP地址

对于7类LSA中FA的填写分为两种情况:

1.如果发布该7类LSA的ASBR满足上文提到的非零FA填写规则,那么就按照该 规则填写。

2.如果发布该7类LSA的ASBR不满足上述条件,那么需要从该路由器上启用OSPF 协议的接口中选择一个进行填写。

对于情况2虽然RFC3101对FA的填写进行了要求,但是并未明确如何填写该FA。在某些组网环境中由于该FA地址的填写不当,有可能会产生次优路由。 考虑如下组网:

Router A、Router B、Router C形成NSSA区域,Router A引入外部路由Route a,

通过7类LSA通告给Router B和Router C,因为RFC并未明确要求这种情况下该7类LSA中的FA如何填写,Router A可能会选择Int 1的IP地址填写FA,那么对于Router C来讲,到达Int 1有两条路径,一条是通过RouterA到达路径 Cost为100,另一条是通过Router B到达路径Cost为80,因此Router C将选择通过Router B的路径,很明显它实际上选择了一条次优路径。

如果在填写FA时,使用Loopback接口地址进行填写,可以解决上述问题。

实例:

Q5引入外部路由之后由router-id最大的ABR将Type 7类型的lsa转换成外部路由Type 5,这本例中Q4的router-id比Q3大,所以由Q4将Type 7类型的lsa转换成外部路由Type 5。

Q5产生type 7外部路由forwarding addre为5.5.5.5

4.5 外部路由选路规则和forwarding addre

5 OSPF如何维护LSDB 5.1 LSA的新旧比较

(1)当网络拓扑发生变化时,lsa的序列号会+1,比较序列号,序列号越大越优先

(2)序列号相同,比较老化时间,越小越优先 采取的措施是泛红,回馈,丢弃。

5.2 checksum校验和 5.3 计时器

60分钟刷新删除陈旧的LSA 30分钟泛红自己的LSA 5.4 更改lsa规则

自己更改自己,别人不能更改,否则lsa破坏风暴。 6 OSPF选路规则

7 OSPF路由聚合

8 OSPF扩展特性

8.1 virtual-link详解

8.2 认证

认证分类

接口认证 区域认证

认证方式

Null Simple MD5 HMAC-MD5 当两种验证方式都存在时,优先使用接口验证方式。

8.3 Database Overflow 数据库超限

限制非缺省外部路由数量,避免数据库超限

通过设置路由器上非缺省外部路由数量的上限,来避免数据库超限。OSPF网络中所有路由器都必须配置相同的上限值。这样,只要路由器上外部路由的数量达到该上限,路由器就进入Overflow状态,并同时启动超限状态定时器(默认超时时间为5秒),路由器在定时器超过5秒后自动退出超限状态。 OSPF Database Overflow过程

 进入Overflow状态时,路由器删除所有自己产生的非缺省外部路由。  处于Overflow状态中,路由器不产生非缺省外部路由,丢弃新收到的非缺省外部路由且不回复确认报文,当超限状态定时器超时,检查外部路由数量是否仍然超过上限,如果超限则重启定时器,如果没有则退出超限状态。

 退出Overflow状态时,删除超限状态定时器,产生非缺省外部路由,接收新收到的非缺省外部路由,回复确认报文,准备下一次进入超限状态。

8.4 Demand circuit (DC按需链路)

9 缺省路由

普通区域

ASBR上手动配置产生缺省5类LSA,通告到整个OSPF自治域(特殊区域)

Stub区域

ABR自动产生一条缺省3类LSA,通告到整个Stub区域内

Totally Stub区域

ABR自动产生一条缺省3类LSA,通告到整个Stub区域内

NSSA区域

在ABR手动配置产生一条缺省7类LSA,通告到整个NSSA区域内 在ASBR手动配置产生一条缺省7类LSA,通告到整个NSSA区域内

Totally NSSA区域

ABR自动产生一条缺省3类LSA,通告到整个NSSA区域内

OSPF缺省路由通常应用于下面两种情况  由ABR发布缺省3类LSA,用来指导区域内路由器进行区域之间报文的转发。

 由ASBR发布缺省5类LSA,或者缺省7类LSA,用来指导自治系统(AS)内路由器进行自治系统外报文的转发。 注意事项

 当路由器无精确匹配的路由时,就可以通过缺省路由进行报文转发。由于OSPF路由的分级管理,3类缺省路由的优先级高于5和7类缺省路由。  如果OSPF路由器已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由。即路由计算时不再计算其它路由器发布的相同类型的缺省路由LSA,但数据库中存有对应LSA。  外部缺省路由的发布如果要依赖于其它路由,那么被依赖的路由不能是本OSPF路由域内的路由,即不是本进程OSPF学习到的路由。因为外部缺省路由的作用是用于指导报文的域外转发,而本OSPF路由域的路由的下一跳都指向了域内,不能满足指导报文域外转发的要求。 不同区域的缺省路由发布原则  普通区域

• 缺省情况下,普通OSPF区域内的OSPF路由器是不会产生缺省路由的,即使它有缺省路由。

 NSSA区域

• 如果希望到达自治系统外部的路由通过该区域的ASBR到达,而其它外部路由通过其它区域出去。则必须在ABR上手动通过命令进行配置,使ABR产生一条缺省的7类LSA,通告到整个NSSA区域内。这样,除了某少部分路由通过NSSA的ASBR到达,其它路由都可以通过NSSA的ABR到达其它区域的ASBR出去。

• 如果希望所有的外部路由只通过本区域NSSA的ASBR到达。则必须在ASBR上手动通过命令进行配置,使ASBR产生一条缺省7类LSA,通告到整个NSSA区域内。这样,所有的外部路由就只能通过本区域NSSA的ASBR到达。

• 上面两种情况使用相同的命令在不同的视图下进行配置,区别是在ABR上无论路由表中是否存在路由0.0.0.0,都会产生7类LSA缺省路由,而在ASBR上只有当路由表中存在路由0.0.0.0时,才会产生7类LSA缺省路由。

• 7类LSA缺省路由不会在ABR上转换成Type5 LSA缺省路由泛洪到整个OSPF域。

 Totally NSSA区域

• 区域内的路由器必须通过ABR学到其他区域的路由。

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

1.由区域边界路由器(ABR)发布(三类缺省SUMMARY LSA), 用来指导区域内路由器进行区域之间报文的转发。

2.由自治系统边界路由器(ASBR)发布(五类外部缺省ASE LSA,或者七类外部缺省NSSA LSA),用来指导OSPF路由域内路由器进行域外报文的转发。

当路由器无精确匹配的路由时,就可以通过缺省路由进行报文转发。由于OSPF路由的分级管理,三类缺省路由的优先级要高于五/七类路由。

(注:不同的OSPF进程认为属于不同的OSPF路由域)

(注:VRP V3具体区分五/七类路由OSPF-ASE、OSPF-NSSA,VRP V5对五/七类LSA都生成OSPF-ASE路由)

二、OSPF缺省路由的几个基本原则:

1.如果OSPF路由器已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由(即路由计算时不再计算其它路由器发布的相同类型缺省路由LSA)。

原因主要有以下两点:

a 本路由器自身已经具有对外的出口,所以不需要学习其它路由器发布的缺省路由。

b 如果学习其它路由器发布的缺省路由,就会形成缺省路由的下一条相互指向,造成路由环路。

2.OSPF路由器只有具有对外的出口时,才能够发布缺省路由LSA。

a 因此对于区域边界路由器(ABR),一旦失去跟骨干区域的连接(骨干区域没有FULL邻居),那么就要停止发布缺省路由。这主要用于解决当区域存在多个出口的ABR时,此时可以通过别的ABR出口继续转发报文。

b 因此对于自治系统边界路由器(ASBR),一旦失去对外的连接(例如依赖的外部路由消失),那么就要停止发布缺省路由。这主要用于解决当OSPF路由域存在多个出口的ASBR时,可以通过别的ASBR出口继续转发报文。

3.外部缺省路由的发布如果依赖于其它的路由,那么被依赖的路由不能是本OSPF路由域内的路由(即不是本进程OSPF学习到的路由)。

因为,外部缺省路由要用于指导报文的域外转发,而本OSPF路由域的路由下一条都指向了域内。

三、OSPF各种缺省路由情况具体分析

a外部缺省路由不能通过引入或者转换产生,是由命令指定产生的。

b路由器一旦发布外部缺省路由,就是ASBR路由器。

c只有区域边界路由器(ABR)才能发布三类缺省路由。

1. STUB AREA的TYPE3 缺省路由

ABR路由器发布,传播范围为本STUB区域。

根据基本原则

1、2:

a 当存在骨干区域的FULL邻居时,需要发布缺省路由。同时不学习其它路由器发布的三类缺省路由LSA(此时,根据RFC2328路由计算使用骨干区域SUMMARY LSA,所以不会学习到其它路由器发布到STUB区域的三类缺省路由LSA)。

b当不存在骨干区域的邻居或者骨干区域邻居DOWN时,需要取消发布缺省路由。同时学习其它路由器发布的三类缺省路由LSA(此时,路由计算使用各个非骨干区域SUMMARY LSA)。

对于PE路由器,不需要判断骨干区域是否有FULL邻居。始终发布缺省路由,同时不学习其它PE路由器发布的缺省路由LSA(通过DN比特实现)。

(注:PE路由器,VRP V3会生成骨干区域,VRP V5不生成骨干区域)

2. NSSA AREA的TYPE3 缺省路由

ABR路由器配置NO-SUMMARY后发布,传播范围为本NSSA区域。

其它规格同STUB AREA的TYPE3 缺省路由。

3. DEFAULT-ROUTE-ADVERTISE SUMMARY的TYPE3 缺省路由

只有是PE路由器时才发布缺省路由。同时不学习其它路由器发布的缺省路由LSA(需要通过DN比特实现)。

(注:此命令只存在于VRP V5 OSPF。)

4. DEFAULT-ROUTE-ADVERTISE ALWAYS的TYPE5 缺省路由

始终发布缺省路由,同时不学习其它路由器发布的缺省路由LSA。

不能根据外部连接的变化动态调节缺省路由的发布和删除,实际应用不太灵活。

5. DEFAULT-ROUTE-ADVERTISE的TYPE5 缺省路由

只有路由表中存在活跃的缺省路由时(不是本OSPF进程学习到的路由),才会发布缺省路由LSA。

如果OSPF路由器已经发布了五类外部缺省路由LSA,那么不再学习其它路由器发布的五类外部缺省路由。(这点VRP V3也没有实现)

6. DEFAULT-ROUTE-ADVERTISE ROUTE-POLICY的TYPE5 缺省路由

只有ROUTE-POLICY匹配时,才会发布缺省路由LSA。

如果OSPF路由器已经发布了五类外部缺省路由LSA,那么不再学习其它路由器发布的五类外部缺省路由。

7. NSSA AREA DEFAULT-ROUTE-ADVERTISE的TYPE7 缺省路由

当是区域边界路由器(ABR)(且存在骨干区域的FULL邻居)时,发布七类外部缺省路由(P标志设0)。同时不学习其它路由器发布的七类外部缺省路由 LSA。这条缺省路由的作用是指导NSSA区域的报文通过骨干区域向外转发(由于NSSA区域不学习ASE LSA)。

当不是区域边界路由器 时,只有路由表中存在活跃的缺省路由时(不是本OSPF进程学习到的路由),才会发布缺省路由LSA(P标志设1)。同时不学习其它路由器发布的七类外部 缺省路由LSA。这条缺省路由的作用是指导NSSA区域的报文通过本ASBR路由器直接向外转发(这种情况在实际应用中并不多见)。

OSPF知识点总结

网络工程师ospf总结

ospf学习心得

OSPF协议优缺点

李慢慢的干货OSPF技术总结

华为面试总结

华为HCDA总结

华为RIP总结

OSPF重分布与汇总

华为AP上线总结

华为OSPF总结
《华为OSPF总结.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 华为ospf总结 华为
点击下载本文文档