HCIP之OSPF(一)

OSPF:开放式最短路径优先
    公有协议----链路状态协议----更新量大

算法:
    OSPF : 迪杰科斯特拉算法(SPF算法)
    RIP:贝尔曼斯特算法
OSPF特点
1. CIDR:
2、收敛速度快:相当于RIP收敛快,相对于EIGRP比较慢
3、是无类路由协议,支持VLSM,CIDR,不连续子网,手工汇总
4、支持区域划分
    OSPF:区域划分
        骨干区域、常规区域
            注:常规区域必须和骨干区域直接相连
5、支持认证:分三种:
    不认证
    简单明文认证
    MD5(认证)
6、触发更新
7、OSPF是无环协议(只局限于区域内) ,在一个区域内是绝对无环的,基于SPF算法
8、OSPF的低层协议: IP 89
9、0SPF的优先级为10 (OSPF内部)   150 (OSPF 外部)
10、OSPF使用开销(COST)做为度量标准
11、RIPv1是广播,v2是组播: 224.0.0.9 OSPF是用组播来更新(224.0. 0.5, 224. 0.0. 6)
12、OSPF的三张表:邻居表(邻居数据库),拓扑表(链路状态数据库LSDB),路由表(RIB )
13、OSPF LSDB每30分钟会更新(LSA (1800秒) 60分钟老化(3600老化)
OSPF的进程只具有本地意文
    ASBR:自制系统边界路由器
    ABR:区域边界路由器
    router-id:标识运行ospf的路由器的身份
        选举规则:
            手动指定优先,如果没有指定则选择环回接口,没有环回接口选举物理接口(接口地址越大越优先)
            华为设备:手动指定最优先,最先up的接口最优先
            可以在全局指定:router-id
            ospf进程下指定:ospf 1 router id 1.1.1.1
                注:进程优于全局
ospf邻居状态机:
    down:表示没有邻居收到hello报文,在NBMA网络中仍然使用较低频率向down状态发送hello报文
    Atempt(NBMA环境):未从收到hello报文,仍然需要向外发送hello包进行尝试,用于邻居联系
    init :已经收到了邻居发送的hello包,但该报文中列出的邻居未包含自己的router-id
    two-way :路由器双方都得到对方的router-id,建立了邻居关系,未建立邻接关系。在广播和NBMA类型的网络中,两个接口状态是DROther的路由器之间将停留在此状态。其他情况状态机将继续转入高级状态。
    exstart :邻接建立的第一步,准备交互DBD描述报文,同时选举DR和BDR。路由器和它的邻居之间通过互相交换DBD报文来决定发送时的主从关系。建立主从关系主要是为了保证在后续的DD报文交换中能够有序的发送。
    exchange :交互DBD描述报文,路由器将本地LSDB通过DBD报文描述并发送给邻居
    loading :路由器发送LSR报文向邻居请求对方的DBD报文,对端发送LSU用于本地更新,发送LSACK确认
    full :完全邻接状态,双方数据库同步。此状态下,邻居路由器的LSDB中所有的LSA在本路由器上全部有了,即本路由器和对端邻居建立了邻接关系

查看ospf邻居:display ospf peer brief
查看ospf链路状态数据库:display ospf lsdb

LSA(链路状态通告信息):有关各条链路的状态信息
LSU:包括了LSA信息,链路状态更新报文
最短路径算法(SPF算法)
邻居关系:是建立邻接关系的必须阶段
邻接关系
指定路由器(DR)
备份路由器(BDR)
非指定路由器(DRother)

ospf的报文:
    1.Hello报文:建立和发现邻居,维护ospf邻居关系
    2.DBD报文:数据库描述包,用于描述LSDB的摘要信息
    3.LSR报文:用于向对方请求所需要的LSA信息
    4.LSU报文:更新报文,用于向对方发送所需要的LSA    
    5.LSACK报文:用来对收到的LSU报文进行确认,即确认LSA
    注:五种报文中,只有LSU包含具体的LSA信息,DBD只包含摘要信息
    hello报文
        掩码(在广播或NBMA中才会检查)
        hello时间:发送hello的时间间隔,广播网络或点到点10s,NBMA30s
        options:
            DN:用来防环
            o:支持9、10、11类LSA能力
            DC位:按需链路
            N:等于1代表支持七类LSA,=0代表不支持
            P:需要做七转五
            MC位:支持MOSF
            E位:表示支持五类LSA
        Router Priority:用于选举DR、BDR
        Router Dead Interval(死亡时间):是hello时间的4倍,如果在该时间内没有收到hello报文就会认为邻居失效
        DR
        BDR
        Active Neighbor
    DR与BDR的选举
        双方在进入2-way状态开始选举,选举时间=死亡时间=40s
        1.DR与BDR字段为空,首先选举BDR,首先比较优先级,越高越优,默认为1,0表示不参与选举,优先级相同会比较router-id,越大越优,BDR选举后,会自动升级成为DR,重新再选举BDR
        2.DR字段为空,BDR不为空,BDR自动升级成为DR,重新选举BDR
        3.DR字段不为空,BDR为空,重新选举BDR
        注:默认DR、BDR是不抢占的
        作用:
            减少邻接关系
            降低OSPF协议流量
            DR:指定路由器,负责在MA网络中建立维护邻接关系和LSA同步
            DR会与其他路由器交换链路状态信息,其他不直接交换,减少资源消耗
            BDR:备份路由器,当DR发生单点故障后,邻接关系全部失效,LSA无法同步。通过BDR能快速接管DR工作
    DBD报文的作用:
        主从选举DBD
        交互LSA的摘要信息    
        注:第一个DBD报文为空报文,用来选举主从
            选举规则:router id 大的为主
            隐示确认:通过主序列号进行确认;如果主设备收到一条DBD的回复报文,里面的序列号是自己之前发送的,就认为之前的DBD的对端已经收到

            华为设备默认不检测MTU,思科设备会检测。当MTU不一致时,会卡在exstart状态
                从设备MTU小于主设备MTU,会卡在exstart状态
    OSPF确认机制:
        隐式确认(主从序列号)
        显式确认(LSR、LSU、LSACK)
    OSPF工作过程:
        启动宣告配置完成后,路由器开始组播224.0.0.5收发OSPF的hello包;若接收到的hello 包中存在本地的route-id,建立邻居关系。生成邻居表;
        之后基于表格中所有的邻居进行条件的匹配,匹配失败将维持邻居关系,仅hello包周期保活即可
        匹配成功可以建立邻接关系;邻居间使用DBD进行数据库目录的比对;之后使用LSR查询目录中未知的LSA信息。对端使用LSU来携带传递LSA,最终需要LSack进行接收确认
        当本地收集到区域内所有设备的LSA后,生成LSDB-链路状态数据库表
        本地基于LSDB启用SFP算法,计算到达所有未知网段的最短路径,然后将其加载到路由表内
        收敛完成,仅hello包周期保活所有的邻居和邻接关系;每30min周期进行DBD包的收发来进行纠错
        结构突变:
            新增网段或断开网段:直连会使用DBD告知邻居,邻居进行LSR、LSU、LSACK收敛
            无法沟通:死亡时间和最大老化时间解决
                正常邻居间存在hello包,;若超过死亡时间依然未收到hello包,则断开邻居关系,删除之前学习到的所有信息
                若邻居关系正常,但未进行周期更新,则每条LSA的后方会存在一个老化时间,默认为3600s,到达最大老化时间时删除LSA信息即可
    LSA新旧比较:
        比较序列号,越大越优
        比较校验值,越大越优
        LSA age时间,是否等于    MAX-age时间(3600)
        如果age时间不等于MAX-age时间,比较差值,当差值大于15min,小的优
        如果age时间不等于MAX-age时间,比较差值,当差值小于15min,说明为同一条LSA,忽略其中一条
    LSA更新时间:
        1800s到期自动更新
        触发更新(接口的变化)
    OSPF网络类型
        P2P网络类型:
            物理接口:串口(PPP、HDLC)、tunnel接口、virtual-link、sham-link
            hello时间与死亡时间:10s  40s
            自动建立邻居,不选举DR
        NBMA:非广播多路访问网络
            物理接口哦:FR接口
            hello时间与死亡时间:30s  120s    
            不自动建立邻居关系:
                手工指定单播邻居
                控制Hub端为DR,不得出现BDR
                手工写映射
        P2MP:点到多点网络类型
            自动建立邻居
            hello时间与死亡时间:30s  120s
        P2MP NON broadcast:点到多点非广播
            hello时间与死亡时间:30s  120s
            不自动建立邻居:
                手工指定单播邻居
    注:修改hello时间,影响dead时间
    注:修改dead时间,不影响hello时间。但二者都影响邻居关系的建立

发布了53 篇原创文章 · 获赞 472 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_45331873/article/details/105612170