OSPF:开放式(公共)最短路径优先协议
无类别 – 更新携带精确掩码
链路状态 – 共享拓扑,本地计算路由
IGP协议 – 基于AS进行分类 AS内部
更新量大 中型、大型网络生存
需要结构化的部署 — 区域划分 ip地址规划
需要在更新等各个细节点良好设计
IGP协议
OSPF的5种包
hello
DBD
LSR
LSU
LSACK
7种状态机
Down 一旦收到hello包进入下一个状态机
init 接受到的hello包中,存在本地的RID,进入下一个状态
2way 邻居关系建立
条件匹配:
Exstart 预启动 使用不携带数据库目录的DBD包进行主从关系选举,RID大为主优先进入下一状态机
Exchange 基于邻接分享的DBD,判断本地未知的LSA,只有使用LSR向邻接查询,邻接使用LSU来传输LSA,本地再LSack确认
一 获取本地未知的LSA信息
Full 转发 邻接(毗邻)关系建立的标志
OSPF工作过程:
ospf启动配置完成后,本地开始组播收发hello包,获取邻居的RID
建立邻居关系,生成邻居表
之后关系建邻条件,条件不匹配,将维持邻居关系,仅hello包周期保活即可
条件匹配者间,可以建立为邻接关系,将使用DBD/LSR/LSU/LSack来获取本地未知的所有LSA信息,同步本地数据库–数据库表
之后基于本地的数据库,启动SFP算法,将数据库转换为有向图 --> 树型结构图 --> 基于结构图 ,将本地到达所有未知网段的最短路径加载于路由表中,收敛完成
结构突变:
1、新增网段
2、断开网段
3、无法沟通 – 保活时间到期后,dead time到时时,断开邻居开关
ospf宣告:
1、划分区域 2、共享拓扑 3、建立邻居
区域划分规则:
1、星型结构 – 中心到站点 区域0为骨干(中心) 大于0为骨干
所有非骨干必须连接骨干区域
2、区域间必须使用ABR互联 ABR – 区域边界路由器
若接口带宽大于参考带宽,cost值为1,可能导致选路不佳
可以修改设备的参考带宽:
ospf 1
bandwidth-reference ?
The reference bandwidth (Mbits/s)
bandwidth-reference 1000
切记:若进行修改,整个网络中所有设备需要修改为一致
ospf的基础配置
ospf 1 router-id 1.1.1.1 启动时需要定义进程号,仅具有本地意义
建议配置RID–全网唯一–手工配置–本地环回接口最大值数–物理接口最大数值
area 0 进入对应的区域进行宣告
network 1.1.1.1 0.0.0.0
network 12.1.1.1 0.0.0.0
华为设备还要求邻居间建立邻居的接口ip地址子网掩码必须一致
ospf接口网络类型:OSPF协议在不同网络类型接口上,不同工作方式
ospf工作方式
环回 p2p 无hello 32位主机路由共享
点到点协议(串线上的HDLC、PPP、GRE) p2p hello 10s 不选DR/BDR
BMA(以太网) Broadcast hello 10s 选DR/BDR(40s)
NBMA(MGRE)
ospf在tunnel接口工作方式为点到点,该方式仅允许建立一个邻居关系
故在GRE中,将无法正常建邻
修改接口的工作方式:
P2pm – hello 30s 不选DR
拓扑类型:
星型–中心站点(轴辐状-星型结构) DR必须定在中心站点 没有BDR
全连网状 基于实际环境关注是否固定DR
部分网状 DR/BDR选举正常
OSPF工作过程:
1、五种数据包-- 跨层封装到ip报头,协议号89,五种数据包头部一致
2、7种状态机
3、OSPF基础配置
4、OSPF接口网络配置 --ospf在不同类型的接口的不同工作方式
邻居关系 邻接(毗邻)关系
网络类型
点到点类型 --所有的邻居关系直接建立为邻接关系
MA – 多路访问网络 一个网段内节点数量不限制
DR/BDR 在每一个MA网段中选举
DR/BDR 与该网段所有的邻居均建立邻接关系
非DR/BDR之间为邻居关系,维持2way状态机
一、不规则区域
1、远离骨干的非骨干区域
2、不连续骨干
解决方法:
1、tunnel
合法abr与非法abr间建立tunnel,然后将tunnel宣告的ospf
缺点:
1.周期和触发的信息对中间穿越区域资源不断占用
2.选路不佳
2、OSPF虚链路 – 非法ABR获取合法ABR的授权后,具有区域间路由共享的功能,合法ABR与非法ABR工作于同一区域
优点:没有新生链路,不存在选路问题
缺点:两台ABR间,依然存在周期、触发的信息对中间穿越区域的资源占用,华为–保持周期 思科–取消所有周期
3、多进程 双向重发布
多进程,在一台设备上运行多个ospf的进程,不同进程拥有独立的数据库和邻居,不共享,仅仅是将各自计算所得路由条目加载于同一张路由表中
重发布,多协议间利用ASBR(自治系统边界路由器,协议边界路由器)
在非法ABR处,将不同区域的接口宣告到不同进程中,形成独立的数据库,之后使用重发布技术来实现路由共享,全网可达,不担心选路问题,资源占用问题:
ospf 1
import-route ospf 2
q
ospf 2
import-route ospf 1
OSPF协议在不同的环境下,将产生不同类别的LSA,LSA–链路状态通告 – 拓扑 或路由信息 多个类别
类别名 传播范围 通告者 携带内容
1类 Router 单区域 该区域每台路由 本地直连拓扑
2类 network 单区域 该网段的DR 单个MA网段的拓扑
3类 summary 整个ospf域 ABR 域间路由条目
4类 asbr 除ASBR所在区域 ASBR ASBR位置
外整个ospf域 ASBR所在区域依赖1类交代位置
5类 ase 整个OSPF域 ASBR 域外路由条目
类别名 link-id 通告者
1类 Router 通告者的RID 该区域每台路由器
2类 network DR接口ip地址 DR的RID
3类 summary 域间路由目标网络号 在进入下一区域时,变为新的ABR
4类 ASBR ASBR的RID ABR 在进入下一个区域时,变为新的ABR
5类 ase 域外路由的目标网络号 ASBR
OSPF的数据库表 --装载所有的LSA
LSA链路状态通告 – 拓扑或路由信息
类别名 传播范围 携带内容 link-id 通告者
1 router 单区域 本地的直连拓扑 通告者RID 该区域每台路由
2 network 单区域 单个MA网段拓扑 DR接口ip地址 单个网段DR
3 summ 整个ospf 域间路由 域间路由目标网络号 ABR,新ABR修改
4 ASBR 除ASBR所在区域的整个ospf域 ASBR位置 ASBR的RID ABR 新ABR修改
5 ase 整个ospf 域外路由 域外路由目标网络号 ASBR
7 nssa 单个NSSA 域外路由 域外路由目标网络号 ASBR 在通过该区域的ABR转发到其他区域时,转为5类
【1】优化OSPF的更新量 – 减少LSA的更新量
1、汇总 – 骨干区域的LSA减少
2、特殊区域 – 针对非骨干区域的LSA减少
汇总:在单区域内,OSPF通过1、2类传递拓扑信息,不能汇总
汇总:
1、域间路由器 – 汇总3类
2、域外路由汇总 – 汇总5/7类
特殊区域:
不是骨干区域,不能存在虚链路
1、不存在ASBR
1.末梢区域,该区域被配置为末梢区域后,将拒绝4/5的LSA
由该区域连接骨干的ABR,向内部发送一条3类的缺省
ospf 1
area 1
stub
注:该区域内所有设备均设置
2.完全末梢,在末梢区域的区域上,进一步的拒绝3类的LSA,仅保留ABR发送的3类缺省
先将该区域配置为末梢,仅需要再在ABR上定义完全即可
ospf 1
area 1
stub no-summary
2、存在ASBR
1.NSSA-- 非完全末梢区域 拒绝4/5类LSA 本地ASBR不再产生5类,而是使用7类路由向骨干区域进行共享,NSSA区域连接骨干的ABR将进行7转5动作,让NSSA外的区域正常学习5类LSA,通告者为进行7转5的ABR
NSSR的意义,不是为了拒绝本地区域产生的域外路由,而且拒绝本区域外的其他ASBR产生的域外路由
华为在NSSA配置完全后,由该区域连接骨干区域的ABR向该区域发布一条7类缺省
思科在NSSA配置完全后,不自动产生缺省路由,而是管理员在确定网络无环的前提下,手工发布
2.完全NSSA – 在NSSA的基础上,进一步拒绝3类LSA,由连接骨干的ABR发一条3类缺省
先将该区域设置为NSSA,然后仅在ABR上定义完全即可
切记:在使用NSSA或完全NSSA时,一定要关注该网络连接ISP接口所在位置,小心环路的出现
扩展配置:
1、认证
邻居间进行身份核实 – 共享密钥
接口认证 – 邻居间同一配置即可
[r1-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
直连的邻居间秘钥和编号、模式必须完全一致否则无法建立邻居关系;
区域认证 – 批量配置
假设在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 123456
可以理解为批量的完成了接口认证;
虚拟路认证
[r1-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3 md5 1 cipher 123456
在虚链路的两端配置
2、汇总 – 域间3类汇总 -ABR 域外5/7类汇总-ASBR
3、被动接口–沉默接口 – 仅接受不发送路由协议信息 ,仅用于连接用户终端的PC接口,不得用于连接邻居的接口
[r1]ospf 1
[r1-ospf-1]silent-interface GigabitEthernet 0/0/2
4、加快收敛
邻居间修改hello time 和dead time ,OSPF要求邻居间的hello 和dead time一致,否则无法建立邻居,修改时建立维持原有的倍数关系
修改本端的hello time ,本端的dead time 自动4被关系匹配
ospf timer hello 5
建议不要修改过小
Ospf的hello time为10s或者30s dead time为hello time的4倍;
邻居间该时间必须一致,否则无法邻居关系;若hello time为10,不再建立修改;
若为30s可以结合网络的实际硬件处理能力,适当修改计时器,加快收敛速度
[r1]int g0/0/1
[r1-GigabitEthernet0/0/1]ospf timer hello 10 修改本端的hello time,本端的dead time自动4倍关系匹配;对端还需要手工修改一致,否则无法建立邻居关系;
[r1-GigabitEthernet0/0/1]ospf timer dead 40 修改本端的dead time,本端的hello time不变
5、缺省路由
3类缺省 自动产生 – 特殊区域产生 末梢 完全末梢 nssa 完全nssa
在末梢和完全末梢,完全NSSA三种特殊区域中,会有连接骨干区域的ABR向内发布一条3类的缺省路由
普通的NSSA,产生7类缺省
5类缺省
ospf 1
default-route-advertise
边界路由器上,先静态或通过其他协议产生的一条缺省路由,然后使用该命令将其发布到本地的OSPF域
default-route-advertise always 强制发布,无论本地路由表中是否存在缺省路由,均向内网发布一条缺省路由
7类缺省
普通NSSA区域中,连接骨干区域的ABR向该区域发布
首先设备处于NSSA,然后该设备的路由表中,通过其他协议产生了一条缺省路由,然后通过以下命令到该NSSA区域
ospf 1
area 2
nssa default-route-advertise
拓扑优于路由
内部优于外部
类型1优于类型2 仅在5/7的LSA中才出现
默认5/7的LSA在进入ospf区域,均为类型2,仅显示起始度量,不显示内部叠加的总度量,但选路时,基于总度量选
若修改类型1,将显示总度量,且选路也是优先总度量最小的
若学习到两条路由,一条为类型1,另一台为类型2,优选类型1