HCIP--OSPF

OSPF:开放式最短路径优先协议

无类别链路状态行IGP协议;
无类别—更新时携带子网掩码,链路状态—邻居间共享拓扑信息,本地计算路由
IGP—内部网关路由协议—用于AS之内运行

由于其链路状态的特点,故更新量较大;再中、大型网络中需要结构化的设计;
结构化的设计—区域划分 良好的地址规划;

更新方式—触发更新、周期更新30min—正常路由协议进行周期更新是为ACK和保活;但OSPF协议存在hello(保活)、LSack(确认),故1理论上不需要周期更新;但该协议更新量较大,为了纠错才设计每30min一次周期更新;

组播更新:224.0.0.5(通用) 224.0.0.6(DR/BDR专用)

一、OSPF的数据包—五种数据包

跨层封装于3层报头,协议号89;
Hello包:邻居的发现、建立、周期保活;
Hello包:hello time 10S或30S dead time为hello time 4倍
邻居间建立邻居关系是,必须完全一致的参数,否则无法建立邻居关系
1、Hello、dead time
2、区域id
3、认证字段
4、特殊区域标识
5、在华为的设备中,要求邻居间接口配置的子网掩码也必须一致
hello包中的内容
DBD 数据库描述包
LSR 链路状态请求
LSU 链路状态请求
LSack 链路状态确认
(LSA—链路状态更新—是具体的每一条拓扑或者路由信息;基于LSU包进行传输)

二、OSPF的状态机—两台运行OSPF协议的路由器间的不同关系的阶段

Down---- 一旦接收到hello,进入下一个阶段

Init 初始化---- 一旦接收到的hello包中,存在本地的RID进入下一个阶段

2way 双向通讯— 邻居关系建立的标志
条件:点到点网络类型可以之间进入下一个状态机;MA网络需要进行DR/BDR选举;非DR/BDR设备间不会进入下一个状态机

Exstart 预启动---- 使用不携带内容的DBD包进行主从关系选举,RID数值大为主;优先进入下一个状态机

Exchange 准交换----使用携带数据库目录的DBD包进行交换,需要ACK确认

Loading 加载----将本地和邻居发送过来的目标进行比对,针对本地未知的LSA,使用LSR向对端进行请求;对端属于LSU来共享新的LSA信息;本地需要LSack确认;收敛完成后进入下一个状态

Full 转发---- 邻接关系建立的标志

三、OSPF的工作过程

启动配置完成后,ospf的邻居开始组播224.0.0.5收发hello包;hello包中携带本地的RID;在接收到的hello包中若存在本地的RID,及代表对端已经认识本端,那么邻居关系建立;生成邻居表

邻居关系建立后,需要关注网络类型;若条件不允许将卡在邻居关系,仅hello包周期保活即可;
若条件允许将可以建立邻接关系;
邻接关系的建立需要先使用不懈怠目录信息的DBD进行主从关系选举,RID数值大为主,可以优先进行携带目标信息的DBD收发;在和邻接间收发完DBD后,将基于DBD中本地未知的LSA信息,使用LSR/LSU/LSack来获取具体的LSA信息;
在收集齐整个网络的LSA后,本地数据库表(LSA链路状态数据库)完成;

当本地的数据库同步完成后,先将其转换为有向图,再基于图生成最短路径树;最后将本地到达所有未知网段的最短路径加载于本地的路由表中;该计算过程被称为SFP最短路径优先计算;

路由表生成后,邻接关系建立;收敛完成;正常仅hello包周期保活即可;

结构的突变:
1、新增网段 ---- 直连新增的路由器将直接使用更新包来进行告知,邻接需要确认;
2、断开网段 ----直连断开的路由器将直接使用更新包来进行告知;
3、无法沟通 ---- dead time 到时时,断开邻居关系,删除信息,能否重建关系关注hello包;

四、OSPF的基础配置

启动时需要定义进程号;以及RID,进程号仅具有本地意义;

[r1]ospf 1 router-id 1.1.1.1

不定义进程默认进程为1;不定义RID,默认将自动生成----先取环回上最大数值的IP地址----取物理接口上最大数值的IP地址;

进行宣告:1、区域划分 2、选择接口激活 3、宣告该接口的信息
OSPF的区域划分规则:
1、星型结构拓扑----所有的非骨干区域必须连接到骨干区域,区域0为骨干,大于0为非骨干;
2、区域间必须使用ABR相连

[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0

启动和宣告配置完成后,邻居间基于组播224.0.0.5收发hello包,生成邻居表

[r1]display ospf peer//查看邻居关系详述表
[r1]display ospf peer brief//查看邻居关系摘要表

邻居关系建立后,进行条件匹配,匹配失败将维持邻居关系;匹配成功将可以建立为邻接关系;邻接关系间将使用DBD和LSR/LSU/LSack来获取未知的LSA信息,最终和邻接间同步数据库----LSDB;

[r1]display ospf lsdb  //查看数据库表目录

LSA洪泛、LSDB同步(OSPF收敛的名词)完成后;本地基于数据库转换为—有向图—最短路径树;最终计算本地到达所有未知网段的最短路径,然后将其加载到本地的路由表中;
在华为体系中,OSPF所得路由默认优先级为10,优于静态路由的60;
在Cisco体系中,OSPF所得路由优先级为110,不如静态路由的1;
使用cost值作为选路的度量;
Cost值=开销值=参考带宽/接口带宽 默认参考带宽100MB
若接口带宽大于参考带宽,cost值取1;故在接口带宽大于参考带宽的网络中,可能导致选路不佳,可以通过修改默认的参考度量来干涉

[r1]ospf 1
    INTEGER<1-2147483648> The reference bandwidth(Mbits/s)
[r1-ospf-1]bandwidth-reference 1000  

切记:一旦修改,全网需修改一致;

五、OSPF邻居建立为邻接关系的条件

邻居间只有hello包,没有其他数据包,没有LSA;
邻接关系都是在邻居关系之上来建立;
基于网络类型来确定关系:
1、点到点 串线的PPP/HDLC 虚拟的GRE
因为一个网段只能存在两个节点,故必然从邻居关系成为邻接关系;
2、MA多路访问----一个网段中节点的数量不限制
由于节点数量的不限制,故若两两间皆是邻接关系,将可能导致大量的重复更新;
在距离矢量协议中可以使用接口水平分割来解决问题;但OSPF协议需要邻接间比对数据库,故不能使用接口水平分割;最终进行DR/BDR选举,所有的非DR/BDR之间为邻居关系,不进行LSA同步;来避免大量重复更新;

DR/BDR选举:
先比较参选接口的优先级,大优;默认所有接口为1;0-255;

[r1]interfacee GigabitEthernet0/0/1
[r1-GigabitEthernet0/0/1]ospf dr-priority 2 //修改接口优先级

若所有接口优先级相同,将比较参选设备的RID,数值大优;
切记:DR/BDR选举是非抢占的,一旦选定,后加入者无论参数如何只能认可之前的选举结果;因此在修改完接口优先级后,选举结果将不变化,除非人为重启选举;

//所有设备全部重启ospf进程,之后将重选DR/BDR

<r1>reset ospf process
Warning: The OSPF process will be reset Continue?[Y/N]:y

或者将非DR/BDR的优先级修改为0,0代表不参选,不用重启设备的进程;
切记:不能一个网段所有设备的优先级为0,否则将导致无法正常收敛;

六、OSPF接口网络类型

OSPF接口网络类型----OSPF协议在不同的网络类型下,其不同的工作方案;

[r1]diaplay ospf interface  GigabitEthernet0/0/1 //查看OSPF协议在接口的工作方式

在这里插入图片描述

[r1-Tunnel0/0/0]ospf network-type broadcast //修改为广播型

注:broadcast工作方式的hello time 为10s,但需今昔你个DR/BDR选举;P2P也是10s,不进行DR/BDR选举,两者若相遇可以建立邻居关系,但无法正常收敛LSA;故在一个网段内所有接口的工作方式应该一致;

修改接口网络类型后,必须关注拓扑的结构:
1、中心到站点(星型、轴辐状)----由于分支站点间不知道其他分支的存在,从而导致整个网段的DR选举错误,最终导致该网络无法正常收敛;
解决:中心站点作为DR,五BDR;
2、全连网状----在所有接口修改为broadcast后一切正常
3、部分网状----排除星型结构外的非全连结构----结合拓扑的实际情况来干涉DR的位置;

七、OSPF的不规则区域

默认OSPF协议要求区域设计基于星型结构;中心为骨干区域,编号0;其他大于0为非骨干区域,所有非骨干区域必须直接连接
骨干区域;
OSPF的不规则区域
(1)远离了骨干的非骨干区域
(2)不连续骨干
解决方法:
1、将非凡的ABR与区域0中的设备进行GRE的建立;然后将该GRE宣告到OSPF协议中;
缺点:(1)周期性的保活和更新将对中间穿越区域造成很大的影响
(2)选路不佳

2、OSPF虚链路
连接骨干区域的合法ABR对非法ABR进行授权;之后非法ABR可以实施区域间路由共享的能力;

  [r2]ospf 1
  [r2-ospf-1]area 1 //两台ABR同时所在的区域
  [r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4  //对端ABR的RID

优点:没有新增的物理或逻辑链路,故不存在选路不佳的问题;
缺点:(1)Cisco取消两台ABR间的周期保活及更新,避免了对中间区域资源占用,但失去可靠性;
(2)华为保留了两台ABR间的周期保活及更新,增加了对中间区域资源占用,导致网络的转发演示大幅上升;

3、(推荐)多进程双向重发布
多进程:在一台设备上若同时启动多个进程,且不同进程宣告到不同的接口;他们将存在各自独立的邻居,以及独立的数据库;
且数据不共享,最终所有计算所得路由加载于同一张路由表中;
若将同一个接口在多个进程同时宣告,仅最先宣告的进程生效;

双向重发布可以将不同路由协议或相同路由协议的不同进程计算所得路由进行共享,最终实现全网可达;

[r4]ospf 1
[r4-ospf-1]import-route  ospf  2
[r4-ospf-1]q
[r4]ospf 2
[r4-ospf-1]import-route  ospf  1
八、关于OSPF的MTU值

OSPF协议要求邻接关系间的接口MTU必须完全相同,否则将卡在exstart或exchange状态机;因为MTU值被携带于DBD包中;
默认Cisco将自动检测DBD包中的MTU值;而华为设备默认不携带MTU值;

[r1]interface GigabitEthernet 0/0/1
[r1-GigabitEthernet0/0/1]ospf  mtu-enable //在与邻接直连的接口上,开启MTU值检测功能;两端设备均需开启

九、 OSPF的数据库表
[r1]display ospf lsdb  //查看数据库简表

OSPF数据库表有多种LSA构成;OSPF协议使用不同类型的LSA来携带不同条件下产生的拓扑或路由信息;
无论哪类的LSA均储存在以下信息

[r1] display ospf lsdb router 12.1.1.2  // 详细查看某种类别的LSA信息
                                  类别名   LINK-ID
     Type  :   Router          类别名    此处为1类
     Ls id  :   12.1.1.2         link-id  在目录中的编号,类似页码
     Adv rtr : 12.1.1.2        通告者的RID,该条LSA发出的源头设备的RID
     Ls age  :  1269           老化时间,周期30min归0;触发更新马上归0;最大老化时间3609s
     Len    :   48                 包文长度
     Options  : ABR  E       
     seq#  : 8000000b      序列号;每一条LSA存在不同的序列号,每一次更新序列号+1
                                      (OSPF使用的是棒棒糖序列号机制)
     chksum : 0xb43b   
LSA类别传播范围link-id通告者携带的内容
LSA1-Router单区域通告者的RID该区域内每台设备本地的直连拓扑
LSA2-Network单区域DR接口的IP地址该网段的DR该DR所在网段的拓扑
LSA3-summary整个OSPF区域域间路由的目标网络号ABR(在经过下一个ABR时,修改为新的ABR)域间路由
LSA4-asbr除ASBR所在区域以外的整个OSPF区域(ASBR所在区域基于1类交代位置)ASBR的RIDABR(在经过下一个ABR时,修改为新的ABR)ASBR的位置
LSA5-ase整个OSPF区域域外路由的目标网络号ASBR域外路由
LSA7-nssa单个NSSA区域域外目标网络号ASBR域外路由
十、减少OSPF的LSA更新量

子网汇总 ---- 前提是网络拥有良好的地址规划----优化骨干区域的路由表
特殊区域 ---- 优化各个非骨干区域

【1】汇总
(1)域间路由汇总 ---- 在ABR上配置 OSPF不支持接口汇总,因为1、2类LSA为拓扑信息,不可汇;区域间基于ABR传输3类路由时,可以进行汇总配置

[r2]ospf 1
[r2-ospf-1]area 1 //本地通过该区域的1、2类计算所得路由方可汇总
[r2-ospf-1-area-0.0.0.1]abr-summary 4.4.4.0 255.255.254.0

(2)域外路由汇总

[r4]ospf 1  //在ASBR上操作;将该ASSBR导入的域外路由进行汇总配置
[r4-ospf-1]asbr-summary 99.1.0.0 255.255.252.0

【2】特殊区域 ---- 针对非骨干区域优化
要求:不能为骨干区域,不能存在虚链路
1、不能存在ASBR
(1)stub末梢区域 ---- 一旦该区域被配置为末梢区域,将拒绝4、5类LSA进入,由该区域连接骨干的ABR向该区域发布一条第三类的缺省路由

[r5]ospf 1
[r5-ospf-1]area 2 
[r5-ospf-1-area-0.0.0.2]stub //将该区域修改为末梢区域

注:该区域内所有设备均需定义为末梢区域,否则将无法建立邻居关系
(2)完全末梢区域 ---- 在末梢区域的基础上,进一步拒绝3类的LSA,仅保留一条3类的缺省;先将该区域配置为末梢区域,然后尽在ABR上定义完全即可;

[r1]ospf 1
[r1-ospf-1]area 2 
[r1-ospf-1-area-0.0.0.2]stub no summary

2、存在ASBR
(1)NSSA ---- 非完全末梢区域 ---- 拒绝4、5类LSA进入;本区域ASBR产生的区域路由将基于7类在该NSSA区域传播,离开NSSA进入骨干区域时,被连接骨干区域的ABR转换为5类,同时这台ABR也具有了ASBR的特性,相当于5类的通告者;
NSSA设计的初衷不在于拒绝本地的ASBR产生的路由,而是拒绝网络中其他区域的ASBR设备产生的4、5类LSA信息;在拒绝后,Cisco将不会自动产生缺省路由,需要管理员在确定网络无环的前提下添加缺省路由;在华为设备将由该区域连接骨干区域的ABR发布一条7类的缺省;

[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]nssa

(2)完全NSSA ---- 在NSSA的基础上进一步拒绝3类的LSA,由连接骨干的ABR向该区域发布一条3类缺省;
先将该区域配置为NSSA,再在ABR上定义完全即可;

[r1]ospf 1
[r1-ospf-1]area 2 
[r1-ospf-1-area-0.0.0.2]nssa no summary

切记:由于特殊区域都会自动产生缺省路由指向骨干0区域,故在网络中必须关注ISP所在位置,避免与手动产生的缺省互指出现环路。

十一、 OSPF的扩展配置

1、认证 ----接口认证、区域认证、虚链路认证----认证一般分为明文和密文
(1)接口认证 ---- 在和邻居直连的接口上进行配置,邻居秘钥的模式、编号、秘钥必须完全一致

[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher zhb123
                                                  模式 编号      秘钥

(2)区域认证 ---- 假设在R1针对区域0配置区域认证,那么实际就是在R1上所有属于区域0的接口上配置一个接口认证

[r1]ospf 1
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher zhb123

(3)虚链路认证

[r1-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4 md5 1 cipher zhb123

2、沉默接口 ---- 被动接口,仅接收不发送路由协议的信息,用于连接用户PC的接口;不得用于连接邻居的接口,否则导致邻居间不能建立关系

[r1-ospf-1]silent-interface  GigabitEthernet 0/0/1

3、加快收敛
hello time 10s 或30s;dead time为hello time的四倍;修改本地的hello time,本地的dead time自动4倍关系匹配;邻居间hello time与dead time必须完全一致,否则无法建立邻居关系
修改时建议维持原有的倍数关系,且不宜修改的过小;故10s hello time不建议修改;30s时可酌情修改

[r1-GigabitEthernet0/0/0]ospf timer hello 10

4、缺省路由
(1)3类的缺省
管理配置特殊区域后,有特殊区域连接骨干区域的ABR自动产生
末梢,完全末梢,完全NSSA产生3类缺省;普通的NSSA不产生3类缺省

(2)5类的缺省
首先边界路由器上存在一条达到ISP的缺省路由 ----静态、动态协议

[r1]ospf 1
[r1-ospf-1]defult-route-advertise //把本地路由表中其他协议(静态、动态)产生的缺省路由导入到OSPF协议中

重发布进入的路由默认优先级为150;普通OSPF路由优先级为10;

若本地路由器上没有其他协议产生的缺省路由,但想向内部的OSPF发布一条缺省,也可以强制发布;

[r1-ospf-1]default-route-advertise always

注:OSPF路由默认优先级10,但重发布路由为150;另外所有重发布进入的路由均存在一个类型号;类型1或类型2;默认类型2
类型2将仅显示起始度量,类型1将显示总度量;
设计5类LSA类型的目的,在于管理员可以更快的干涉选路;
比较规则:类型1优于类型2;若均为类型2,也是比较总度量;若均为类型1,直接比较总度量;

[r1-ospf-1]default-route-advertise type 1 //修改缺省进入的类型为1

(3)7类的缺省

两种产生条件

1、 将区域设置为NSSA时,在华为中该区域连接谷骨干区域的ABR,将向该区域发布一条7类的缺省,类型2;
2、管理员在NSSA中手工配置一条7类缺省

若一台路由器同时接收到多条不同类的缺省路由时,选举规则:
内部优于外部,类型1优于类型2,5类优于7类,3类优于5/7类,5类中类型1优于类型2;
5类和7类相遇,先比较类型好,在比较度量,若类型号和度量一致,5类优于7类

十二、OSPF的扩展知识点
1.Link-id相同的问题

若一台ABR将两条3类LSA导入其他区域;同时这两条LSA的Link-id会相同;
假设:短掩码先进入,Link-id正常显示,长掩码的信息倍刷新为反掩码;
若长掩码先进入,在短掩码进入时,长掩码的信息会被刷新为反掩码;

20.1.0.0/16 ---- link-id 20.1.0.0
20.1.0.0/24 ---- link-id 20.1.0.255

2.OSPF选路规则

若一条通过骨干区域传递,另一条通过非骨干区域传递 ---- 非骨干区域传递的路由无效

OSPF水平分割;区域标号为A的3类LSA,不能回到区域A;

先比类型(5/7的LSA才存在类型)→区域(骨干优于非骨干)→cost(小优)

总结
拓扑优于路由 ---- 1/2LSA计算所得路由优于3/4/5/7类计算所得

内部优于外部 ---- 3类优于4/5/7类

类型1优于类型2 ---- (E-5类,N-7类)E1优于E2、N1优于N2、E1优于N2、N1优于N2;

若E1与N1相遇或E2与N2相遇 ---- 先比总度量(起始+沿途)小优,度量一致5类优于7类

3.FA - 转发地址

在这里插入图片描述

4.NP位+E位

P位被加密,故抓包时看不见P位;
正常NSSA区域内的1类LSA中,N=1 E=0 标识该区域转发7类LSA,不转发5类;
在非NSSA区域 E=1 N=0 标识可以转发5类,不能转发7类;
P位为1,标识该区域将执行7类转5类;P为0,不能7转5;

若NSSA和非NSSA均将同一条域外路由向内部传递,仅非NSSA区域可以实现;

5.SFP算法 ---- OSPF防环机制

1/2类LSA → 有向图 → 最短路径树 → 计算路径
有向图:
1、末梢网络
在这里插入图片描述
2、传输网络(TransNet)
在这里插入图片描述
3、点到点
在这里插入图片描述
在这里插入图片描述
1、在同一个区域每台路由具有一致的LSDB
2、每台路由器以自己为根计算到达每个目标的最短路径(最小cost值)
3、必须区域划分 ----
优势
(1)域间汇总减少路由条目数量
(2)汇总路由时在所有明细路由均消失后才删除,网络更稳定
(3)区域划分后不同类型的LSA传播范围不同,控制更新量

总结
过程----基于本地LSDB(1/2类LSA)生成 ---- 生成有向图 ---- 基于有向图类进行最短路径树生成

最短路径树生成逻辑 ---- 关注本地LINK-ID的LSA开始 → 基于该LSA内提及的点到点或传输网络信息再查看link-id;递归到下一条信息;基于所有点到点和传输网络信息生成最短路径树主干;
然后用树中每台设备的末梢网络信息补充路由表,完成收敛。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值