基于LSA收敛,故更新量较大,为在中大型网络正常工作,需要进行结构化的部署 --- 区域划分、ip地址规划,组播更新 --- 224.0.0.5 224.0.0.6
支持等开销负载均衡、支持触发更新、30min周期更新、跨层封装协议、协议号89;
Hello包:建立并维护邻居关系,周期保活。
DBD(数据库状态描述包):发送链路状态头部信息。
LSR(链路状态请求包):把从DBD中找出需要的链路状态头部信息传给邻居。
LSU(链路状态更新包):将LSR请求的头部信息对应的完整信息发给邻居。
LSACK(链路状态确认包):收到LSU报文后确认该报文。
2)Init(初始化)状态:本地接收到的hello包中若存在本地的RID,进入下一状态。
3)2-way双向通信状态:邻居关系建立的标志。
4)Exstart(预启动)状态:使用类hello的BDB包进行主从关系选举,RID数值大为主,主从优先进入下一个状态。
5)Exchange(准交换)状态:使用真正的BDB进行数据库目录的共享,需要ACK;
6)Loading(加载)状态:使用LSR/LSU/LSack来获取未知的LSA信息;
7)Full转发:邻接关系建立的标志;
1.启动配置完成后,OSPF对本地所有运行协议的接口以组播224.0.0.5的形式发送hello包
建立邻居关系,生成邻居表
2.建立邻居关系后,邻居间进行条件匹配,匹配失败就停留于邻居关系,仅hello包周期保活;匹配成功后建立邻接关系,需要DBD共享数据库目录,LSR/LSU/LSack来获取未知的LSA信息,当收集完网络中所有的LSA后,完成数据库同步,生成数据库表。
3.数据库建立完成后,本地基于OSPF选路规则,计算本地到达所有未知网段的最短路径,基于本地的链路状态生成有向图,再通过SPF算法,将图形结构转换成最短路径树,之后,根据树形结构计算出到达未知网段的路由信息,然后将其加载到路由表中,完成收敛。
收敛完成后,依然使用hello包进行周期保活,每30Min进行一次周期更新
简单地说就是两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。
拓扑突变:
1.新增网段: 直连新增网段的设备,将直接使用LSU包来告知本地所有邻接,之后邻接传邻接扩散到全网,需要ACK确认
2.断开网段: 直连断开网段的设备,将直接使用LSU包来告知本地所有邻接,之后邻接传邻接扩散到全网,需要ACK确认
3.无法沟通: dead time 为hello time 的4倍;当dead time到时时,断开邻居关系,删除通过该邻接生成的路由协议;
[r1]ospf 1 router-id 1.1.1.1 [r1-ospf-1] 启动时可以定义进程号,进程号仅具有本地意义;每一个OSPF进程均需要RID,全网唯一;
[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.0 0.0.0.255
1)星型拓扑 --- 区域0为骨干,大于0为非骨干,所有非骨干必须连接到骨干区域方可正常共享路由
2)区域间必须存在ABR -- 区域边界路由器。
启动配置完成后,邻居间收发hello包;建立邻居关系,生成邻居表:
[r2]display ospf peer 查看邻居关系
[r2]display ospf peer brief 查看邻居简表
邻居关系建立后,关注条件;匹配失败,保持为邻居关系,仅hello包周期保活;匹配成功可以建立为邻接(毗邻)关系;邻接关系间,将使用DBD/LSR/LSU/LSack来获取本地未知的LSA信息;完整本地的LSDB (数据库表);
[r2]display ospf lsdb
当数据库同步完成后;本地基于SPF算法,将数据库转换为有向图,再将有向图转换为树型结构;之后基于树形结构,以本地为起到到达所有未知网段的最短路径,加载到路由表中;
优先级为10;度量为cost值 ; cost值=开销值
1)DR/BDR选举
干涉选举:
DR优先级最大,BDR次大 -- 切记ospf的选举是非抢占性的;故在修改完优先级后,需要所有路由器重启OSPF进程;
[r2]interface GigabitEthernet 0/0/0
[r2-GigabitEthernet0/0/0]ospf dr-priority 3 修改接口优先级
Warning: The OSPF process will be reset. Continue? [Y/N]:y
DR优先级修改为最大,BDR次大;其他设备修改为0;无需重启进程
2)区域汇总 --- OSPF协议不支持接口汇总;只能在ABR上将a区域拓扑计算所得路由,共享给B区域时进行汇总;
[r2]ospf 1
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]abr-summary 1.1.0.0 255.252.0.0
R2为一台连接区域0和其他区域的ABR;以上操作为,R2将通过区域0学习到的拓扑计算所得的路由,传递给其他区域时进行汇总,汇总网段1.1.0.0/22
3)被动接口(沉默接口)--仅接收不发送路由协议信息;用于连接用户终端的接口,不得用于连接邻居路由器的接口,否则无法建立邻居关系;
[r2]ospf 1
[r2-ospf-1]silent-interface GigabitEthernet 0/0/0
4)认证 -- 接口认证 在直连邻居或邻接的接口上配置,保障更新的安全
[r1-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
模式、编号、密码要求邻居间一致
5)加快收敛
邻居间计时器 10s hello time 40s dead time
邻居间,修改本端的hello time,本端的dead time自动4被关系匹配;但ospf中邻居间的hello time和dead time必须完全一致,否则无法建立邻居关系;
[r1]interface GigabitEthernet 0/0/0
[r1-GigabitEthernet0/0/0]ospf timer hello 5
6)缺省路由 --- 边界路由器上配置后,将自动向内网下放一条缺省路由,之后内网设备将自动生成缺省路由指向边界
[r4]ospf 1
[r4-ospf-1]default-route-advertise always
1)远离了骨干的非骨干
2)不连续骨干
解决目的--全网可达
解决方案:
1.tunnel -- 在合法与非法ABR间使用tunnel建立一个新的网段(类似连接一条独立的网线);然后将该网段宣告到ospf协议中;
缺点:
1)选路不佳
2)周期和触发信息对中间穿越区域照成影响
2.OSPF虚链路 -- 合法的ABR与同一区域的非法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
两台设备均需配置
优点:由于没有新的网段链路出现,不会像tunnel一样选路不佳;
缺点:周期和触发的信息对中间穿越区域照成影响
3.多进程双向重发布(推荐)
多进程 --- 一台路由器上运行多个OSPF进程,可以分别建立自己的邻居,,每个进程拥有独立的数据库,不共享信息;只是将各自计算所得路由加载于同一张路由表中;类似于在同一台路由器上允许多种动态路由协议的效果;路由器单一一个接口只能工作在唯一一个进程中;
重发布:一个网路中,若同时运行多种路由协议;默认协议间不兼容,无法共享路由;可以在两种协议间配置ASBR,ASBR(自治系统边界路由器,协议边界路由器)必须用不同的接口工作不同的协议中;通过两种协议获取到两边的路由,默认这些路由不共享,重发布技术可以实现路由共享,最终全网可达;
故在不规则区域中,利用多进程加重发布机制,可以实现全网可达,且不存在选路问题和中间区域周期信息相关问题;
多进程双向重发布配置命令
[r4]ospf 1
[r4-ospf-1]import-route ospf 2
[r4-ospf-1]q
[r4]ospf 2
[r4-ospf-2]import-route ospf 1
注:通过重发布手段学习到的ospf路由,显示协议为0_ASE,优先级为150;
LSDB中装载了所有可以学习到的LSA;
LSA-- 链路状态通告 一条拓扑或一条路由条目被称为一条LSA
OSPF协议的数据库是本地所有LSA的集合,不同网络环境下将产生不同类别的LSA;
LSA在共享时基于LSU数据包传递;
如何查看一条LSA的具体信息
1)域间汇总 ABR设备基于某个区域的1/2类LSA计算所得的最佳路由,共享给其他区域时,进行汇总传递
[r2]ospf 1
[r2-ospf-1]area 1 --明细路由所在区域,该ABR设备必须和明细路由在同一区域
[r2-ospf-1-area-0.0.0.1]abr-summary 1.1.0.0 255.255.252.0
2)域外汇总 --- ASBR重发布进入OSPF域路由进行汇总配置
[r6]ospf 1
[r6-ospf-1]import-route rip 重发布RIP路由进入ospf域
在ASBR重发布路由后,同时进行汇总配置
[r6]ospf 1
[r6-ospf-1]asbr-summary 99.1.0.0 255.255.252.0
不是骨干区域,不能存在虚链路
1.不能存在ASBR
1)末梢区域
该区域将拒绝4、5LSA的进入,同时由该区域连接骨干0区域的ABR向该区域,发布一条3类的缺省路由;
[r1]ospf 1
[r1-ospf-1]area 1
[r1-ospf-1-area-0.0.0.1]stub
该区域内每台路由器均需配置,否则无法正常建立邻居关系
2)完全末梢
在末梢区域的基础上,进一步拒绝3类的LSA,仅保留ABR发送过来的3类缺省;
先将该区域配置为末梢区域,然后仅在ABR上定义完全即可
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]stub no-summary
2.存在ASBR
1)NSSA -- 非完全末梢区域
该区域拒绝4/5类的LSA;本地的ASBR产生的域外路由基于7类进行传输;当7类LSA需要通过NSSA区域的ABR进入骨干区域,将由该ABR进行7转5,以5类发现骨干区域,7转5的这台ABR同时成为一台ASBR
华为设备由该区域连接骨干ABR自动产生7类缺省路由;
[r4]ospf 1
[r4-ospf-1]area 2
[r4-ospf-1-area-0.0.0.2]nssa 该区域每台设备均需配置
2)完全NSSA
在NSSA的基础上进一步拒绝3类的LSA,由该区域连接骨干的ABR发布一条3类缺省
先将该区域配置为NSSA,然后仅在ABR定义完全即可
[r4-ospf-1-area-0.0.0.2]nssa no-summary
1、认证 --- 直连的邻居或邻接关系间,进行认证配置后,5种数据包中均携带身份核实的密码,且华为设备会对更新信息进行加密--前提为认证方式选择密文认证
1)接口认证
[r1-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
直连的邻居间秘钥和编号、模式必须完全一致否则无法建立邻居关系;
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 123456
可以理解为批量的完成了接口认证;
3)虚链路认证
[r1-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3 md5 1 cipher 123456
在虚链路的两端配置
2、沉默接口 ---只接收不发送路由协议信息,用于路由器连接邻居或邻接的骨干链路,不得用于连接终端用户的接口;
[r1]ospf 1
[r1-ospf-1]silent-interface GigabitEthernet 0/0/2
3、修改计时器
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不变
4、缺省路由(3/5/7类缺省)
1)3类缺省是由配置特殊区域后,特殊区域连接骨干区域的ABR自动发布
末梢、完全末梢、完全NSSA;普通NSSA不产生3类缺省;
2)5类缺省:
[r3-ospf-1]default-route-advertise 将边界路由器上,路由表中通过其他协议产生的缺省路由(最常为静态缺省)重发布到本地的OSPF协议中
因此若边界路由器的路由表还未拥有缺省时,配置该命令将无法发布缺省到其他邻居;
[r3-ospf-1]default-route-advertise always 强制本地向所有邻居重发布缺省路由,即便本地路由表中没有缺省,也会发布;
3)7类缺省:配置特殊区域NSSA时,NSSA区域连接骨干的ABR将发布缺省路由;
[r6-ospf-1-area-0.0.0.2]nssa default-route-advertise 由NSSA区域内部存在其他协议获取的缺省路由时,可以重发布到该NSSA区域
切记:由于特殊区域会产生缺省路由指向骨干区域;故必须关注网络中ISP所在的位置,否则可能由于缺省的互指产生环路 --- ISP连接骨干以为的任何区域,那么该区域将不能配置为特殊区域;