zoukankan      html  css  js  c++  java
  • 3.2、OSPF

    OSPF (开放最短路径优先) 属于 IGP 内部网关路由协议,它基于链路状态算法。

    OSPF 直接运行 IP 协议之上,使用 IP 协议号 89.

    OSPF 的算法:SPF算法:最短路径优先算法

    RIP 的算法:DV算法 (贝尔曼-福德算法)

    OSPF 协议通告的是 链路状态信息。包括,直接接口的 IP /掩码 ,链路的开销值(Csot值),以及链路上的邻居路由器。

    LSA:用来描述自身直连链路 的状态的信息,而这种信息是通过OSPF的报文(LSU报文)携带出去的

    LSDB:链路状态数据库

    OSPF RIP 更加消耗CPU资源

    链路状态协议,不收集路由,只收集链路状态

       

    OSPF 基本特点:

    1. 支持无类域间路由(CIDR,超网)
    2. 支持区域划分
    3. 无路由自环
    4. 路由变化收敛速度快
    5. 使用 IP 组播收发协议数据
    6. 支持多条等值路由
    7. 支持协议报文的认证

    OSPF 报文类型:

    1. Hello 报文:建立和维护邻居关系,10s 周期性发送,不需要LSACK
    2. DDDatabase Description)报文:描述自身的拓扑数据库LSDB LSA的简要信息(类似目录)。并不告诉自己具体的链路状态,而是描述自己的拓扑数据库中有哪些链路状态,不需要LSACK ,它有自己的隐藏反馈机制
    3. LSR( LSR Request)报文:链路状态请求,向邻居请求某个具体的LSA的一种报文
    4. LSU( LSA Update) 报文:将邻居所请求的那个LSA包含在LSU中发送给邻居
    5. LSACK( Link State Acknowledgment)报文:链路状态确认报文。LSRLSU等的应答反馈机制

    OSPF 定义的网路类型 :不同的网路类型,机制可能不一样

    1、点到点 P2P

    2、广播型 broabcastBMA

    3NBMA网络(非广播多路访问)

    4、点到多点的网络类型(这个是人为定义的,与封装无关)

    默认情况下:接口的封装协议决定了网络类型

    如果接口封装协议是PPP ,HDLCFR的点到点的子接口,这种情况默认网路 P2P

    如果接口封装协议是以太网,默认的网络类型为 broabcast(广播型 BMA

    如果接口封装协议是FRFR的点到多点子接口,ATM接口;默认是NBMA网络

    任何接口的默认网络类型,可以被认为修改,从而满足不同的场景

    DRBDR

    在广播型的OSPF网络中,会导致不必要的LSA的泛洪,影响网路性能

    如果广播网络中,路由器的数量越多,这种重复的LSA的数量也会越来越多,非常糟糕。

    如果路由器的数量是N的化,则会产生的LSA的数量为 n*n-1

    所以提出了一种 DR BDR的方案。

    即:

    在每个广播型的网络中,会选举一个DR(必须有,且有一个),会选举一个BDR(不是必须的,但如果有且只能有一个),而其他路由器则会成为DRother

    DRother 只与DR形成邻接关系,如果有BDR时,也同时与BDR形成邻接关系。

    DRBDR形成邻接关系。BDRDR的备份路由器

    DRother 之间只形成邻居关系(two-way

    OSPF协议 邻居关系有2种状态:一种为 two-way (邻居),一种为 full(邻接)

    two-way:互相知道对方的存在,但是不和他进行LSA的交换

    Full:互相知道对方的存在,而且还进行LSA的交换

    P2P的链路上,路由器直接形成FULL的邻居关系,无需选择DR/BDR

       

    DRBDR的选举机制:

    1、先比较接口的优先级,优先级最大的路由器成为DR,次大的成为BDR,其他为DRother

    2、如果接口优先级相同,则 route-id 最大的成为DR,次大的成为BDR,其他为DRother

    3DR 没有抢夺性,BDR也没有抢夺性。当DR失效,BDR成为新的DR,并重新选举新的BDR.

    4、当DRBDR都失效后,才会重新选举新的 DR BDR

    5、当路由器的接口优先级为 0 时,将不会参与DR BDR的选举,永远是DRother

       

    route-id 用来标示一台OSPF路由器,保持唯一

    route-id 格式,同IP 地址的格式 32bit

       

    [Huawei-GigabitEthernet0/0/0]ospf dr-priority 0 ---将接口OSPF 优先级 改为 0

    [Huawei]ospf 1 router-id 1.1.1.1 --设置 OSPF route-id (有时需要重启 OSPF协议)

    <Huawei>reset ospf process ---重启OSPF 协议

    [Huawei]display ospf lsdb --查看 LSDB 数据库简要信息

    [Huawei]display ospf lsdb router 12.1.1.2

    [Huawei]display ospf lsdb router originate-router 12.1.1.2 --查看12.1.1.2LSDB数据库

    [Huawei]display ospf interface g0/0/0 ---查看接口的网路类型

    [Huawei-GigabitEthernet0/0/0]ospf network-type p2p ---osfp的网络类型修改为p2p

       

       

       

       

       

       

       

    ·

  • 相关阅读:
    leetcode 203
    vim插件管理器vundle
    centos7看电影
    getopt
    iOS/object-c: 枚举类型 enum,NS_ENUM,NS_OPTIONS
    "ALView+PureLayout.h"
    UIPageViewController教程
    (Mac ox 10.11+) CocoaPods安装,卸载,使用说明
    CocoaPods集成到Xcode项目中的步骤
    label_设置行距、字距及计算含有行间距的label高度
  • 原文地址:https://www.cnblogs.com/nh206/p/7429457.html
Copyright © 2011-2022 走看看