OSPF(open shortest path first)

OSPF(open shortest path first)开放式最短路径优先(链路状态路由协议)
由IETF(网络工程师项目组)定义的,是基于链路状态的动态路由协议(相比于RIP是基于距离矢量路由协议)
链路状态: 三层设备所连接链路的状态、信息。 比如:IP地址,掩码,开销,二层协议类(PPP,HDLC…),网络类型,连接的对端的设备

          RIP的缺点:
              1.收敛慢:周期更新时间30s,而且逐跳更新
              2.易产生环路:传闻性路由
              3.扩展性差: 最大跳数只有15跳,限制了网络规模

  OSPF的优点:
      1.无环路:OSPF基于链路状态,交互的不是实际的路由信息,而是LSA(链路状态信息)
                          域内:通过SPF算法:最短路径优先算法
                          域间:骨干区域和非骨干区域的划分,区域与区域之间传递的是路由信息,易导致环路,通过骨干区域与非骨干区域的划分规则,所有的非骨干区域都必须与骨干区域相连,非骨干区域之间不能相连,从而做到无环路
      2.收敛快:OSPF基于链路状态,交互的是LSA,不是实际的路由,先更新后计算
      3.扩展性好:OSPF基于链路的实际带宽来计算开销,对于网络的规模没有限制,比较适用于大中型企业网络
      4.支持认证:
                     区域认证:在OSPF整个区域内进行认证(同一个区域内,该区域内有一台路由器配置了认证,其他路由器都要配置)
                     接口认证:在连接的两个接口上配置认证
           接口认证优先级高于区域认证

所有路由器监听:224.0.0.5
DR和BDR监听:224.0.0.6

    OSPF工作原理:
              1.使用HELLO报文发现并建立邻居关系
              2.交互LSA,同步LSDB
              3.采用SPF算法,计算出全网拓扑,生成最短路径树,计算出最优路由并加表。

    OSPF报文的种类:                        (OSPF报文封装在IP报文中,协议号为89)
              1.HELLO报文:用来发现、建立并维护邻居关系
              2.DD报文:协商主从;交互LSA摘要(LSA的头部信息,可以唯一的确定一条)
              3.LSR报文:用于请求自身缺少的LSA,LSR只携带摘要
              4.LSU报文:用于回应对方所缺少的LSA,LSU携带是完整的LSA
              5.LSACK报文:用于对收到邻居发的LSA确定响应,表示已经收到LSU,LSACK携带的是收到的LSA的摘要
      
    OSPF的两种邻居关系:
                 1.邻居:                (无路由交互)
                        Down:未使能或刚使能OSPF,是初始化状态,也是OSPF的最初状态。

                        Attempt:NBMA网络中独有的状态;表示向邻居发送hello报文但是还未收到任何邻居的hello报文,在120s后还未收到的话,则回到Down状态。

                        Init:表示向邻居发送了hello报文,并收到了邻居发给我的hello报文,但是hello报文中没有携带我的router ID。

                        2-way:表示向邻居发送了hello报文,并且收到了邻居的hello报文,在hello报文中邻居列表里有自己的router ID。邻居关系至最高状态,邻居关系建立成功。

                 2.邻接:               (有路由交互同步LSDB)
                       Exstart:通过交互DD报文协商主从(router ID:以大为主)
                       Exchange:通过DD报文交互LSA摘要
                       Loading:通过LSR、LSU、LSACK同步LSDB
                       Full:表示LSDB同步完成,邻接关系建立完成

     OSPF邻居关系的建立过程:
                     初始状态为DOWN:
              1.本端设备向对端设备发送只携带了自身 router ID 的 hello 报文
              2.对端设备向本端设备发送只携带了自身 router ID 的 hello 报文
              3.本端设备接收到对端设备的 hello 报文,邻居列表为空,状态置位为init
              4.对端设备接收到本端设备的 hello 报文,邻居列表为空,状态置位为init
              5.本端设备将接收到对端设备 hello 报文中的 router ID 加入到邻居列表中,发送给对端设备
              6.对端设备将接收到本端设备 hello 报文中的 router ID 加入到邻居列表中,发送给本端设备
              7.本端设备接收到对端设备的 hello 报文中,邻居列表里有自己的 router ID,状态置位为2-WAY
              8.对端设备接收到本端设备的 hello 报文中,邻居列表里有自己的 router ID,状态置位为2-WAY
                   至此,邻居关系建立成功。
                                                                                           
     OSPF邻接关系建立的过程:
              1.本端设备向对端设备发送空的DD报文,携带router ID序列号,I、M、MS置位
                          (I置位:代表该DD报文为第一个DD报文(初始报文))
                          (M置位:代表后续还有更多的DD报文)
                          (MS置位:代表宣告自己为主设备)
              2.对端设备向本端设备发送空的DD报文,I、M、MS置位
                    通过DD报文携带的router ID协商主从关系,确定初始序列号,router ID大的为主设备
                 状态置位为exchange
              3.从设备向主设备发送携带自身LSA头部信息的DD报文,序列号用上一个主设备发送的DD报文的序列号
              4.主设备接收到从设备的DD报文,向从设备发送携带自身LSA头部信息的DD报文,状态置位为loading
              5.从设备向向主设备发送LSR请求自身所缺少的LSA头部信息
              6.主设备向从设备发送LSU携带从设备所缺少的LSA的完整信息
              7.从设备向主设备发送LSACK携带所接受到的LSA头部信息,用以接收到的LSA的确定
              8.至此,LSDB同步完成,状态置位为FULL,邻接关系建立成功。


   Router ID:路由器标识:具有任意、唯一的特性。
            作用:用于在OSPF网络中唯一去标识一台OSPF路由器。
            表示方法:与IP地址一样,32位,点分十进制表示。
            获取方式:
                    1.手动配置:常用
                    2.自动获取:如果有逻辑口(loop back 口),选择最大的逻辑口IP地址作为Router ID;如果没有逻辑口,则选择物理接口IP地址最大的。(先到先得,稳定优先)

  Hello报文协商的参数;
             1.network mask:掩码。
             2.Hello interval:hello间隔时间;网络稳定后,每隔多少时间发送一次hello报文用于维护邻居关系。
             3.options:可选项。
             4.router priority:路由器优先级;运行了OSPF路由器的接口的优先级,用于选举DR和BDR。
                                                         取值范围:0-255
             5.router dead interval:路由器死亡间隔;每隔多长时间认为邻居关系失效,一般为hello间隔的4倍。
             6.DR:指定路由器。(不可抢占性)
             7.BDR:备份指定路由器。
             8.neighbor:邻居列表;存放邻居的router ID。

(DR与BDR和所有路由器建立邻接关系,DR与BDR间也为邻接关系,DR other之间为邻居关系)

   OSPF四种网络类型:
            1.Broadcast:广播型网络,默认以太网为广播型网络。
                        hello间隔时间:10s
                            7种状态,没有Attempt
                                   需要选举DR/BDR
            2.NBMA:非广播多路访问,默认FR和ATM网络为NBMA网络。
                         hello间隔时间:30s
                             8种状态
                                   需要选举DR/BDR
            3.P2P:点到点网络,默认PPP和HDLC为点到点网络。
                          hello间隔时间:10s
                                6种状态,没有Attempt和2-way
                                          不需要选举DR/BDR
            4.P2MP:点到多点网络,没有默认,只有手动修改。
                          hello间隔时间:30s
                                6种状态,没有Attempt和2-way
                                            不需要选举DR/BDR

DR和BDR的选举: (基于接口选举)
为什么要选举DR和BDR:减少报文的交互数量,减少链路带宽和设备资源的浪费。减少广播网络中的邻接关系。
什么时候选举:邻居关系建立完成

   DR和其他所有的OSPF路由器建立邻接关系
   BDR和其他所有的OSPF路由器建立邻接关系,包括DR
   DR other之间只建立邻居关系,和DR/BDR建立邻接关系

    DR和BDR是在同网段内,基于接口进行选举,只在本网段内有效

   选举规则:通过Hello报文携带的路由器优先级和Router ID进行选举:
              1.先比较路由器优先级(0-255),以大为优,如果优先级为0,则不参与选举。
              2.如果路由器优先级一致,则比较Router ID,以大为优。
                    注意:DR不具备抢占性,先到先得,稳定最大。

 OSPF区域的划分:通过接口去进行划分
             骨干区域:area 0,唯一
             非骨干区域:除了area 0,所有的区域都是非骨干区域
      非骨干区域必须和骨干区域相连,骨干区域能直接和其他非骨干区域通信,非骨干区域与非骨干区域不能直接通信,需要借助骨干区域进行通信
       注意:每个区域的路由器共同维护同一个LSDB

  路由器角色:
            区域内路由器AR:所有接口都在同一个区域
            区域间路由器ABR:接口处于不同的区域,但是必须有接口处于骨干区域
            AS间路由器ASBR:连接AS外的路由器

 OSPF开销的计算:
        基于实际链路带宽
            计算方式:   Cost=参考带宽/实际链路带宽
                   cost取整数,小于1,取1;大于1,也取1.    如1.9,取整数位,为1.
       修改开销的方式:
              1.手动修改接口的开销:
                           接口视图下:ospf cost 开销值
              2.修改参考带宽值:
                           协议视图下:bandwidth-reference 参考带宽值
                  注意:如果一台路由器上既在接口上修改了开销,也修改了参考带宽值,接口开销生效

 OSPF认证:
             认证类型:明文认证(简单认证),密文认证(MD5认证),默认不认证
 认证方式 :
        1.接口认证:
                 在接口上配置,与该接口相连的接口上也必须配置认证
        2.区域认证:
                 在区域里进行配置,一个区域里有一台配置了区域认证,该区域的所有路由器都得配置区域认证
          注意:如果一台路由器上既配置了接口认证又配置了区域认证,接口认证生效

你可能感兴趣的:(网络,网络,网络协议)