正文内容
ospf试题分析
来源:漫步者
作者:开心麻花
2025-09-19
1

ospf试题分析(精选4篇)

ospf试题分析 第1篇

华为OSPF总结 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 access):当链路层协议是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 Process 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 Process 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 Process 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 Address : 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 Address:是指到达所通告的目的地的数据包应该被转发到的地址。如果转发地址是0.0.0.0,那么数据包将被转发到始发ASBR上。 External Route Tag:标记外部路由。1.4.7 NSSA LSA(ASBR产生)

[Q5]display ospf lsdb nssa 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 Address : 45.0.0.5 Tag : 1 Priority : Low

 Forwarding Address:如果网络一台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。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 OSPF中DR,BDR选举 OSPF特殊区域和外部路由

Ospf特殊区域为stub和nssa 引入外部路由不建议引入直连的路由而采用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 Address不为0的Type-7 LSA才能转化为Type-5 LSA。Forwarding Address用来表示发送的某个目的地址的报文将被转发到Forwarding Address所指定的地址。

 满足以上条件的缺省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为nssa区域

引入外部路由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 nssa 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,向nssa区域通告一条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 nssa

[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 Address : 45.0.0.5 Tag : 1 Priority : Low

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

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 address,直接告诉R9去往8.8.8.0/24网段的下一条是R8的接口g0/0/0。

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

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

R1上的配置:

[R1]interface GigabitEthernet0/0/1 ip address 19.0.0.1 255.255.255.0 # interface GigabitEthernet1/0/0 ip address 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 address 100.0.0.9 255.255.255.0 # interface GigabitEthernet0/0/0 ip address 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 address 100.0.0.8 255.255.255.0 # interface LoopBack0 ip address 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 Process 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 Address : 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 address NSSA中Forwarding Address的处理

对于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 address为5.5.5.5

4.5 外部路由选路规则和forwarding address OSPF如何维护LSDB 5.1 LSA的新旧比较

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

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

5.2 checksum校验和 5.3 计时器

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

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

OSPF路由聚合

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按需链路)缺省路由

普通区域

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协议安全性分析 第2篇

随着Internet技术在全球范围内的飞速发展, IP网络作为一种最有前景的网络技术, 受到了人们的普遍关注。而作为IP网络生存、运作、组织的核心IP路由技术提供了解决IP网络动态可变性、实时性、Qo S等关键技术的一种可能。到了20世纪80年代中期, RIP不能服务于大型、异构网络的缺陷愈发明显。为了解决这个问题, IETF成立了IGP工作组, 专门设计用于因特网的基于最短路径优先 (SPF) 算法的IGP (内部网关协议, Interior Gateway Protocol, 简称IGP) 。OSPF作为是SPF类路由协议中的开放式版本, 由于它较好的解决了网络可扩展性及快速收敛的问题, 使得OSPF协议迅速成为目前Internet广域网和Intranet企业网采用最多、应用最广泛的动态路由技术之一。

1 OSPF工作原理

OSPF是一种分层次的路由协议, 其层次中最大的实体是AS (自治系统) , 即遵循共同路由策略管理下的一部分网络实体。在每个AS中, 将网络划分为不同的区域。每个区域都有自己特定的标识号。对于主干 (backbone) 区域, 负责在区域之间分发链路状态信息。这种分层次的网络结构是根据OSPF的实际提出来的。当网络中自治系统非常大时, 网络拓扑数据库的内容就更多, 所以如果不分层次的话, 一方面容易造成数据库溢出, 另一方面当网络中某一链路状态发生变化时, 会引起整个网络中每个节点都重新计算一遍自己的路由表, 既浪费资源与时间, 又会影响路由协议的性能 (如聚合速度、稳定性、灵活性等) 。

2 OSPF脆弱性分析

虽然OSPF路由协议自身的复杂性和其内建的安全机制使得对OSPF的攻击较难实施, 但是OSPF并不足够安全, 它仍存在着很多薄弱环节可以被攻击者利用, 例如美国人开发的nemesis-ospf工具软件就曾经可以成功的对OSPF进行某些形式的攻击。

2.1 内建安全机制的失效

在OSPF的三个内建安全机制中, 层次路由机制主要是尽力减小攻击的影响范围域, 它不能杜绝攻击, 而且若攻击者入侵到一个ABR、自治系统边界路由器 (AS Boundary Router, ASBR) , 或者攻击实体假扮成一个ABR, ASBR, 这时层次路由机制就不足为力了。程序性检验是一般路由协议都要进行的一个过程, 它只是为攻击增加了复杂度。OSPF自反击安全机制相对来说给攻击造成的麻烦要大一些, 但仍有一些方法可使自反击机制实效。

2.1.1 周期性注入

RFC2328规定LSA的更新速度不能超过最小LSA生成间隔 (Min LSInterval) , 该参数默认为5秒, 如果攻击者以比Min LSInterval更高的速度注人序号更大的虚假LSA, 就很可能使该虚假LSA被其它路由器应用, 而真正的LSA却被淹没了。

2.1.2 分块网络

如果使虚假LSA不被泛洪给该LSA的合法生成者, 则该ISA的合法生成者就不会启动其自反击机制来纠正该LSA。假设有一个被人侵的路由器所处的位置可以将区域分为两个子区域, 则攻击者就可以只向其中的一个子区域以另一个子区域中的某路由器的身份注人虚假LSA, 而不向另一个子区域注入, 这显然就可以达到欺骗的效果。

2.1.3 幻影路由器

虚构一个路由域中本不存在的路由器使路由域中的其它路由器认为好像存在这么一个路由器, 这样的路由器称为幻影路由器。以幻影路由器的身份注人大量虚假信息, 将不会触发自反击机制的作用。然而需要注意的是注人的LSA并不一定会参与路由计算, 除非该幻影路由器能够和某个路由器形成邻接关系。

2.1.4 注入AS外部路由

如果攻击者成功的人侵了一台ASBR或者伪装成一个ASBR, 它就可以通过注人LSA而引人虚假AS外部路由, 而其它路由器并不能验证、纠正其错误信息。

2.2 验证的安全性

OSPF信息交换都是需要进行验证的, 分为两类:简单密码验证和MD5加密认证, 也可以配置为不验证。简单密码验证其安全性几乎不值一提。对MD5加密认证机制, 这里我们假设其算法是安全的, 被使用的密钥不会被暴露, 并且选择适当, 运行平台被安全的管理并且没有被侵人, 由信息论表明:英语每8比特字符其平均信息嫡只有1.3, 如果管理者选择英语字母作为密钥, 则128比特密钥的信息嫡相当低, 攻击者可能只需要几分钟或者数天就能破解。而OSPF密钥选择很差劲几乎是一个普遍的现象, 并且通常3个月、半年才变换一次, 有的甚至从来不变化。在所有的这些场景中, 如果一个攻击者获得一条Hello报文, 他就很有可能破解该密钥, 并在随后侵人整个路由域。我们并得知, 2004年中国科学家已经成功的破解了MD5算法, 因此OSPF的验证方式并不足够安全。

2.3 对OSPF的常规攻击

OSPF整个运行机制相对比较复杂, 其运行过程中的很多环节都有可能被攻击者开发为对OSPF的攻击, 造成不同程度的危害, 这里我们只简要分析其中的部分情形作为示例。

2.3.1 利用Hello报文的攻击

OSPF路由器定期向外发送Hello报文, 用以发现邻居和维护邻接节点之间的关系。Hello报文中的区域ID, Hello间隔等参数错误, 会使该Hello报文被邻居路由器丢弃, 造成邻居Down, 直接在链路上阻绝Hello报文当然也可以造成这种危害。如果OSPF没有进行加密或者攻击者攻破了OSPF的验证体系, 攻击者就可以修改报文中的某些参数来达到攻击的效果。

2.3.2 利用Update报文的攻击

为修改LSA参数, 使OSPF朝着利于攻击者的方向运转, 攻击者必须能成功的注人虚假LSA。因此攻击者必须能够侵人或者假扮成一个OSPF路由器来和其它的路由器达到Exchange或者更高的状态, 以使两者间可以传送LSA, 而且此时攻击者显然必须至少占有一条链路的密钥或者该链路根本就不需要验证。然后, 攻击者就可以通过注人虚假LSA来达到攻击的目的了。例如不间断的发送大量Maxage的LSA进行Maxage攻击, 或者发送最大序号LS A进行最大序号攻击, 等等。

2.3.3 资源消耗攻击

通过不间断的大量发送各种类型的OSPF报文, 很可能造成被攻击实体的资源耗竭, 而无法正常工作。例如向OSPF的邻居发送包含过长邻居列表的超大Hello报文, 邻居路由器将需为邻居列表上的每个邻居创建邻居结构, 而消耗大量的资源。

3 相关建议

OSPF路由协议并不足够安全, 鉴于其在Intemet网络中的重要角色, 因此我们建议对OSPF采用积极的主动防护和检测机制来保证其安全。验证是OSPF保护的第一环, 因此对OSPF路由域内的所有OSPF路由器都采用有效的加密认证机制是非常必要的, 尽管我们仍需开发更安全有效的加密认证机制。此外, 设计适当的人侵检测系统也是很有帮助的, 它可以帮助发现很多针对OSPF的攻击, 因为对OSPF的攻击往往会因为OSPF的自反击机制在路由域中产生很多的冲突信息。总之, 维护OSPF的安全应有一个系统的全局的观念, 需要我们从多个层面分别着手来保障OSPF的安全。一是路由器层面, 我们需保证操作系统的安全, 路由器上其它所有协议的安全, 路由器的物理安全等。等;二是路由域层面, 这需要考虑所有边缘接人实体和所有链路的安全;最后我们要强调的是人的层面, 应更多地对网络进行监控和取证, 积极立法, 打击对网络造成危害的人和事, 防患于未然。

结束语

OSPF路由协议由于其自身的复杂性和内建的安全机制, 给攻击者造成了不小的困难, 但是本文的分析表明OSPF并不足够安全, 而一旦被人侵, 很可能造成巨大的危害。因此本文建议采用积极的主动防护和检测机制来增加OSPF的安全, 并强调维护OSPF的安全应有一个系统的全局的观念, 要从路由器和路由域等多个层面分别着手来保障OSPF的安全。

参考文献

[1]钟廷龙, 李鑫, 郭云飞.OSPF路由协议安全性分析[J].微计算机信息, 2005, (14) :16-17.

[2]孙文海, 焦利, 金跃辉.OSPF路由监测系统[J].计算机应用与软件, 2009, (06) :24-26.

OSPF路由协议分析 第3篇

【关键词】OSPF;邻接关系通告;分组;区域;数据库

一、OSPF介绍

OSPF:Open Shortest Path First 开放最短路径优先是基于RFC 2328的开放标准协议,它非常复杂涉及到多种数据类型,网络类型,数据通告过程等,灵活的接口类型,可以随处设置通告网络地址,方便的修改链路开销等。

二、OSPF邻居关系的建立

1.在局域网中路由器A启动后处于down状态,此时没有其它路由器与它进行信息交换,它会从启用OSPF协议的接口向外发送Hello分组,发送分组使用组播地址:224.0.0.5。

2.所有运行OSPF的直连路由器将会收到Hello分组,并将路由器A加入到邻居列表中,此时的邻居处于Init状态(初始化状态)。

3.所有收到Hello分组的路由器都会向路由器A发送一个单播应答分组,其中包含它们自身的信息,并包含自己的邻居表(其中包括路由器A)。

4.路由器A收到这些Hello分组后,将它们加入到自己的邻居表中,并发现自己在邻居的邻居表中,这时就建立了双向邻居关系(two-way)状态。

5.在广播型网络中要选举DR和BDR,选举后路由器处于预启动(exstart)状态。

6.在预启动状态下路由间要交换一个或多个的DBD分组(DDP),这时路由器处于交换状态。在DBD中包含邻居路由器的网络、链路信息摘要,路由器根据其中的序列号判断收到的链路状态的新旧程度。

7.当路由器收到DBD后,使用LSAck分组来确认DBD包,并将收到的LSDB与自身的相比较,如果收到的较新,则路由器向对方发出一个LSR请求,进入加载状态,对方会用LSU进行回应,LSU中包含详细的路由信息。

8.当对方提供了自身的LSA后,相邻路由器处于同步状态和完成邻接状态,在lan中路由器只与DR和BDR建立完全邻接关系,而与DRothers只建立双向邻接关系,此时的相邻路由器进入了Full状态,完成了信息同步。

三、OSPF的分区机制

OSPF路由协议可以使用在大型网络规模中,如要规模太大,路由器需要维持很大的链路状态作息,构建大的链路状态数据库存(LSDB),路由表要较大,影响工作效率,并且当网络中拓扑出现问题时,会引起大的路由波动,所有路由器要重建路由表,所以分区的概念被提出来。

设计者可以将整个网络分为多个区域,每个区域内部的路由器只需要了解本区域内部的网络拓扑情况,而不用掌握所有路由器的链路情况,这样LSDB就减小了很多,并且当其它区域的网络拓扑变化时,相应的信息不会扩散到本区域外,如变化后影响到其它区域,这时ABR才会生成LSA发往其它区域,这样大部分的拓扑变化被隐藏在区域内部,其它区域的自身并不需要明白这些,内部路由器只需维持本区域的LSDB即可,这样就减少了协议数据包,减轻路由器及链路的负载。

四、OSPF的分组类型

1.HELLO报文(Hello Packet)。最常用的一种报文,周期性的发送给本路由器的邻居。内容包括一些定时器的数值,DR,BDR,以及自己已知的邻居。

2.DBD报文(Database Description Packet)。两台路由器进行数据库同步时,用DD报文来描述自己的LSDB,内容包括LSDB中每一条LSA的摘要(摘要是指LSA的HEAD,通过该HEAD可以唯一标识一条LSA)。这样做是为了减少路由器之间传递信息的量,因为LSA的HEAD只占一条LSA的整个数据量的一小部分,根据HEAD,对端路由器就可以判断出是否已经有了这条LSA。

3.LSR报文(Link State Request Packet)。两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地的LSDB所缺少的或是对端更新的LSA,这时需要发送LSR报文向对方请求所需的LSA。内容包括所需要的LSA的摘要。

4.LSU报文(Link State Update Packet)。用来向对端路由器发送所需要的LSA,内容是多条LSA(全部内容)的集合。

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

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,簡称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。与RIP相比,OSPF是链路状态路由协议,它在各方面具有较大的优势,虽然比较复杂,但其优越的工作机制却是网络规划中不可或缺的。

OSPF协议安全性分析 第4篇

1 OSPF路由协议简介

OSPF协议全称为Open Shortest Path First, 是应用于TCP/IP网络下的路由协议, 是一种内部网关协议, 自治系统内的路由器用该协议来发布路由信息。OSPF协议是建立在链路状态与最短生成树技术基础之上进行工作的, 与早期的基于距离向量与BellmanFord算法的路由协议是完全不同的。

OSPF协议是IETF所提出的, 并专门针对TCP/IP网络所专门设计出的, 主要包括了CIDR技术与外部路由信息引用的支持。OSPF协议主要是为路由更新提供认证机制, 并且在报文的接收与发送过程中合理的对IP的多播性能进行利用。OSPF协议对于网络拓扑所出现的变化, 能够快速的进行反映并使之收敛并只引入少量的协议流量。OSPF路由协议是根据IP数据报中的目的IP地址来进行转发的服务的。其作为动态的路由协议, 能够快速的对网络拓扑的变化能够快速的做出反映, 并且能够在收敛周期中期内快速的计算出无环路经。在自治系统内的每一个OSPF路由器都给自维持有一个对自治系统的拓扑信息进行描述的数据库。在自治系统内的每一个OSPF路由器都有相等的链路状态数据库, 数据库主要是由每一个路由的各自的链路状态信息所构成的, 路由器会向自治系统内对自己的链路状态信息进行发布, 使得其他的路由器能够获得这条路由器所生成的链路状态信息。

2 OSPF协议的安全性分析

(1) 无认证以及简单明文认证

OSPF协议提供了认证机制, 但是在很多时候因为一些特殊的原因往往是采用的无认证或是简单明文认证, 使得其安全新降低。无认证指的是在路由器配置OSPF的过程用户没有采取任何的认证手段, 路由器默认的是使用这种方式, 这种情况下OSPF数据包包头中的“认证类型”与“认证数据”全部都为“0”。而简单明文认证则是指的在配置路由器时用户所设置的明文口令没有超过8个字节, 在不足8个字节时则是使用0进行填充。因为是明文口令, 其在网络中传输时是可见的, 只有在邻居不支持加密认证是才使用这种方式。无认证与简单明文认证的安全性对于攻击者来讲都一样。因为简单明文认证所设置的口令, 攻击者能够通过对广播的OSPF数据包的监听来获取, 并构造出相同口令且与OSPF协议规范相符合的数据包, 就能够与目标路由器交换信息, 进行攻击。

在图1中R1、R2以及R3都是通过OSPF协议进行连接的路由器, 并且采用的是无认证或简单明文认证, 其中攻击者Attacker则是位于R1与R2之间, 通过交换机S1接入到该网络中, 对于攻击者Attacker来讲, 他能够对R1与R2向224.0.0.5广播的数据包进行监听, 其中主要包括了Hello分组、LSU分组以及LSA分组。当攻击者Attacker获取了这些分组信息之后, 就能够伪装成为R1或者是R2对两者进行各种攻击, 例如插入恶意的路由信息、对两者的通信进行阻断、对网络流量进行引导等等。

(2) 泛洪机制

在OSPF协议中, LSA是利用可靠的泛洪来进行通告的, 能够保证链路状态在本区域中的一致性, 进而保证了所计算出的路由的一致性。这个特性让OSPF具备一定的自卫性。当某一个节点想要发送出伪造的或者经过修改过的LSA时, 只要是有一条其他的可用路由, 让这个LSA所声明的通告路由器受到这个LSA, 并且这个LSA所描述出来的信息和自身的信息不同时, 这个路由就会立刻生产一个新的LSA实例, 并将这个新产生的LSA的序号超过所接收到的LSA序号, 泛洪出去, 使得伪造的LSA被丢弃掉, 实现一定程度上的自卫, 冲突检测系统也能够很容易的发现这种现象。

需要注意的是仍然是有很多方法使得这种泛洪机制失效。其中主要有以下的几种。周期性的注入错误链路状态信息, 这主要是在OSPF协议中规定, 路由器链路状态数据库中所保存的链路状态信息的刷新状态不能够小于5秒, 当一个新的链路状态信息开始存入到链路状态数据库时, 路由器就会为这个链路状态信息启动一个5秒的计时器, 而在计时器到时之前, 即便是出现了新的链路状态也会被忽略。攻击者正好利用这种规则来实施攻击。对网络进行切割, 当恶意链路状态洗洗脑在网络中泛洪中煤油被生成路由器所接受到, 那么泛洪机制也就不会起到作用, 而这种可能是存在的。模拟傀儡路由器。攻击者能够利用软件在PC机上模拟出OSPF路由器的行为, 进而能够在网络中模拟出一个傀儡路由器, 这个傀儡路由器能够用来作为链路状态信息想原始生成者, 即使发送的是恶意的链路状态洗信息, 也是不会被发现的。

(3) 层次化的路由结构

在设计之初层次化的路由是为了能够解决路由的可扩展性问题, 但是后来发现层次化的路由减小的不仅仅是路由表的大小, 同时也会减少网络流量, 让网络可以快速收敛, 并且能够改善网络的安全性。OSPF协议则能够区分骨干区域与非骨干区域, 使得网络更加具有层次结构, 提高安全性。但是需要注意的是局部能够影响全局。因为OSPF协议自身并没有端到端的认证机制, 这就容易让链路状态信息在进行转发的过程中被篡改, 这就为攻击者提供了攻击的机会, 使得局部受到攻击时也容易对整体OSPF路由域产生影响。

3 结语

OSPF协议本身具有良好的安全性, 但是其所存在的能够被利用的漏洞也是很多的, 也正是因为这样才对OSPF协议的安全性以及改进进行探讨。到现在对于OSPF的研究已经有了新的研究方向, 就是利用密码体制安全性的同时对入侵检测技术进行引进, 让OSPF具有更好的安全性。

参考文献

[1]徐鲁宁.基于数字签名的OSPF路由协议安全性研究[D].南昌大学, 2011.

相关文章
11月份幼儿教师工作总结

11月份幼儿教师工作总结

11月份幼儿教师工作总结(精选14篇)11月份幼儿教师工作总结 第1篇本月,自己积极适应新时期教学工作的要求,严格要求自己,积极向同事们...

1
2025-09-19
兽药饲料监管工作总结及2012年工作打算

兽药饲料监管工作总结及2012年工作打算

兽药饲料监管工作总结及2012年工作打算(精选8篇)兽药饲料监管工作总结及2012年工作打算 第1篇2011年兽药饲料监管工作总结及2012年工作打...

1
2025-09-19
10职业健康安全保障措施

10职业健康安全保障措施

10职业健康安全保障措施(精选9篇)10职业健康安全保障措施 第1篇六、施工组织设计㈠文字表述总体施工组织布置及规划施工进度安排主要工程...

1
2025-09-19
2023年中国网络教育激发创新意识

2023年中国网络教育激发创新意识

2023年中国网络教育激发创新意识(精选7篇)2023年中国网络教育激发创新意识 第1篇2013年中国网络教育激发创新意识智研数据研究中心网讯:...

1
2025-09-19
2024-2025学年度第一学期少先队活动计划

2024-2025学年度第一学期少先队活动计划

2024-2025学年度第一学期少先队活动计划(精选10篇)2024-2025学年度第一学期少先队活动计划 第1篇2017---2018学年第一学期少先队工作计划...

1
2025-09-19
山东公务员考试行测判断推理注意事项

山东公务员考试行测判断推理注意事项

山东公务员考试行测判断推理注意事项(精选4篇)山东公务员考试行测判断推理注意事项 第1篇2018山东公务员考试行测判断推理注意事项随着20...

1
2025-09-19
400字初中日记作文

400字初中日记作文

400字初中日记作文(精选13篇)400字初中日记作文 第1篇初中暑假日记作文400字【作文一】一天暑假,妈妈就子啊家里河东狮吼: “扫地了,...

1
2025-09-19
3s技术与方法名词解释

3s技术与方法名词解释

3s技术与方法名词解释(精选6篇)3s技术与方法名词解释 第1篇3S技术在林业的应用与前景随着3S技术在林业中的`应用,我国林业信息技术的发展...

1
2025-09-19
付费阅读
确认删除?
回到顶部