OSPF的基础原理知识

OSPF(Open Shortest Path First)是一种内部网关协议,支持各种规模网络,具备快速收敛、无自环等特点。通过区域划分、LSA(链路状态通告)和不同类型的路由器(如ABR、ASBR)实现高效路由。OSPF报文包括Hello、DBD、LSR、LSU和LSAck,用于邻居发现、数据库同步和路由更新。OSPF区域类型有骨干区域、Stub区域、Totally Stub区域、NSSA区域和Totally NSSA区域。路由器类型包括区域内路由器、ABR、骨干路由器和ASBR。路由类型按优先级排序,DR和BDR选举用于减少邻接关系和网络流量。
摘要由CSDN通过智能技术生成

OSPF(Open Shortest Path First,开放式最短路径优先),一个基于链路的内部网关协议
    目前针对IPv4协议使用的是OSPFv2,针对IPv6使用的是OSPFv3

 

一、OSPF的特点:

    适应范围广:支持各种规模网络

    快速收敛:网络拓扑发生变化后立即更新报文,可以快速同步

    无自环:根据收集到的链路状态选择最短路径,此算法可以保证不会发生环路

    区域划分:允许自治系统的网络划分区域(area0为主干区域,非主干区域必须和主干区域相连接,物理逻辑都可以)

    等价路由:支持同一目的地址z多条等价路由

    路由分级:按优先顺序来分为区域内路由、区域间路由、第一类外部路由、第二类外部路由

    支持验证:支持基于区域和接口报文验证

    组播发送:在某些类型链路上以组播地址发送协议报文,减少对其他设备干扰


    
二、OSPF报文类型(OSPF封装为IP报文,协议号为89)分为五种

    Hello报文(只在状态init、exstart状态发送):  周期性发送报文,用来发现OSPF邻居,以及选举DR(指定路由器)、BDR(备份指定路由器)

    DBD(数据库描述)报文(只在exchange状态发送):  描述本地LSDB(链路状态数据库)中每一条LSA(链路状态通告)消息,用户路由器数据库同步

    LSR(链路状态请求)报文(只在loading状态发送):  向对方路由器请求LSA时,会相互交换DD报文,根据DD报文得知对向路由有哪些LSA是本地LSDB所缺少的,这时

    需要发送LSR报文向对方请求所需要的LSA

    LSU(链路状态更新)报文(只在loading状态发送):  向对方发送所需要的LSA

    LSAck(链路状态确认)报文(只在loading状态发送):  用于对收到的LSA进行确认

 

三、LSA(链路状态信息都是封装在LSA发布出去)类型:

    Router LSA(Type-1):由每个路由器产生,描述路由器的链路状态和开销,在其始发的区域内传播

 

    Network LSA (Type-2):由DR产生,用来描述本网段所有路由器的链路状态,在其始发的区域内传播

 

    Network Summary LSA (Type-3):由ABR(区域边界路由器)产生,描述某个网段的路由,并通告给其他区域

 

    ASBR Summary LSA (Type-4):由ABR产生,描述到ASBR(自治系统边界路由器)的路由,通告给相关区域

 

    AS Exter LSA (Type-5):由ASBR产生,描述到AS(自治系统)外部的路由,通告到所有区域(除了Stub区域和NSSA区域)

 

    NSSA External LSA (Type-7):由NSSA区域内的ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播

 

    Opaque LSA:用于OSPF的扩展通用机制,目前有Type-9、Type-10、Type-11三种。Type-9LSA仅在本地链路范围内进行泛洪,用于支持GR(平滑重启)的Grace LSA就是Type-9的一种类型;Type-10LSA仅在区域内范围进行泛洪,用于支持MPLS TE的LSA就是Type-10的一种类型;Type-11LSA可以在一个自治系统范围进行泛洪。

 

四、OSPF区域
    1、骨干区域:
        ospf划分区域后,Area 0被称为骨干区域,其余区域都被称为非骨干区域。骨干区域负责区域间的路由,非骨干区域之间路由煮饭必须通过骨干区域
            OSPF区域的规定:
            所有非骨干区域必须与骨干区域连接(可以物理连接,也可以逻辑连接即虚连接)
            骨干区域自身必须也保持连通
    2、虚连接
        虚连接指两台ABR之间通过一个非骨干区域建立逻辑连接,两端必须都是ABR,需要在两端同时配置才生效,为虚连接提供连接的非骨干区域称为传输区
    3、Stub区域与Totally Stub(完全Stub)区域
        Stub区域是一些特定区域,该区域的ABR将区域间的路由信息传递到本区域,但不会引入自治系统外部路由,区域中路由器的路由表现规模以及LSA数量都会大大减少,为保证自治系统外路由可达,该区域的ABR会生成一条缺省路由Type-3 LAS,发布给本区域中的其他非ABR路由器。为了进一步较少Stub区域路由器的路由表规模及LSA数量,可以将区域配置为Totally Stub(完全Stub)区域,该区域的ABR不会将区域间的路由信息和自治系统外部路由信息传递到本区域。以保证本自治系统的其他区域和自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由Type-3 LSA ,发布给本区域非ABR路由器
    4、NSSA区域和Totally NSSA(完全NSSA)区域
        NSSA区域是Stub区域的变形,与Stub区域区别在于NSSA区域允许引入自治系统外部路由,由ASBR发布Type-7 LSA通告给本区域,当Type-7 LSA到NSSA的ABR时,又ABR将Type-7 LSA转换成Type-5 LSA传播到其他区域。可以将区域配置成Totally NSSA区域,该区域的ABR不会将区域间的路由信息传递到本区域,为保证到本自治系统的其他区域的路由依旧可达,该区域的ABR会将生成一条缺省路由Type-3 LSA,发布给本区域中的其他非ABR路由器


    
五、路由器的类型:
    区域内路由器:该路由器的所有接口都属于同一个OSPF区域
    区域边界路由器(ABR):可同时属于两个以上的区域,但必须有一个是骨干区域。它的作用就是用来连接骨干与非骨干区域,可以物理连接也可逻辑连接
    骨干路由器:至少有一个接口属于骨干区域。所有的ABR和位于Area0的内部路由器都是骨干路由器
    自治系统边界路由器(ASBR):与其他AS内的路由器交换路由信息的路由器称为ASBR,ASBR不一定在AS边界,也有可能是区域内的路由器,也可能是ABR。只要一台
    OSPF路由器引入了外部路由信息,就是ASBR

 

六、路由类型(从优先级高到优先级低的顺序)
    区域内路由
    区域间路由
    第一类外部路由:这类路由器可信度较高,并且和OSPF自身路由的开销具有可比性。所以第一类外部路由开销等于本路由器到相应的ASBR的开销与ASBR到该路由
    目的地址的开销之和
    第二类外部路由:这类路由的可信度比较低,所以OSPF协议认为从ASBR到自治系统之外的开销远远大于在自治系统之内到达ASBR的开销。所以计算路由开销时将主要考虑前者,即到第二类外部路由的开销等于ASBR到该路由目的地址的开销。如果计算出开销值相等的两条路由,再考虑本路由器到相应的ASBR的开销


    
七、OSPF的网络类型:
    广播类型、NBMA(非广播多路访)类型、P2MP(点到多点)类型、P2P(点到点)类型

    NBMA与P2MP网络之间的区别:
    NBMA网络是全通的;P2MP网络并不需要一定要全连通
    NBMA网络中需要选举DR与BDR;P2MP网络中没有DR和BDR
    NBMA网络采用单播发送报文,需要手工配置邻居;P2MP网络采用组播方式发送报文,通过配置也可以采用单播发送报文


    
八、DR、BDR
    在广播网和NBMA网络中,任意两台路由器之间都要交换路由信息。如果网络中有n台路由器,则需要建立n(n-1)/2个邻接关系。这使得任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源。为解决这一问题,OSPF提出了DR的概念,所有路由器只将信息发送给DR,由DR将网络链路状态发送出去。
    另外,OSPF提出了BDR的概念。BDR是对DR的一个备份,在选举DR的同时也选举BDR,BDR也和本网段内的所有路由器建立邻接关系并交换路由信息。当DR失效后,BDR会立即成为新的DR。
    OSPF网络中,既不是DR也不是BDR的路由器为DR Other。DR Other仅与DR和BDR建立邻接关系,DR Other之间不交换任何路由信息。这样就减少了广播网和NBMA网络上各路由器之间邻接关系的数量,同时减少网络流量,节约了带宽资源 


    
九、DR、BDR选举
    DR、BDR在同一网段中所有的路由器根据路由器优先级和Router ID通过Hello选举出来,只有优先级大于0的路由才具有选举资格。
    在各个路由器开始发送Hello报文时候,路由根据Hello报文信息中对比自己的优先级,最优的路由器会先成为BDR,然后会等待40秒(Hello报文10秒一次),也就是再互相发送4个Hello报,如果没有比当前BDR更优的路由器,BDR会成为DR,然后再通过发送Hello报选举出来BDR。
 

 

十、OSPF建立邻居的过程(OSPF的七种状态机)

down状态:刚启动ospf,还没有任何hello包

init状态:只有一方收到hello,但是对方hello还没有交互成功

two-way状态:已经完成了hello交换,可以在hello包中看到自己已经是对方的邻居

exstart状态:开始选举DR、BDR主从关系,确定谁先发DBD报文

exchange状态:完成协商后,开始交换DBD报文

loading状态:收到LSR后,确定对方缺少哪条LSA,再发送LSU告知对方自己的LSA信息

full状态:完成OSPF的建立

 

十一、成为邻居的6个条件

RID不同

特殊区域的flag字段相同

子网掩码相同

验证相同

区域号相同

hello/dead相同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值