OSPF总结
1.OSPF介绍
OSPF(Open Shortest Path First,开放最短路径优先)是一种链路状态路由协议,无路由循环(全局拓扑),“开放”意味着非私有的。每一台路由器拥有整个拓扑结构,能根据网络拓扑信息独立地做出决策。OSPF采用SPF算法计算到达目的地的最短路径,所谓“链路”,即指路由器接口,所谓“状态”,即指描述接口以及其与邻居路由器之间的关系。管理距离AD值为110。
2.OSPF的数据包 - 5种
hello包 – 组播收发,用于邻居、邻接关系的发现、建立、周期保活
DBD – 数据库描述包-- 本地LSDB(链路状态数据库)目录
LSR—链路状态请求 – 用于询问对端本地未知的LSA信息
LSU-- 链路状态更新 – 用于共享具体的每一条LSA信息
LSack 链路状态确认 – 确认包
LSA–链路状态通告–具体的一条一条 路由或者拓扑信息,不是一种数据包,所有的LSA是使用LSU这种包来转发的;
OSPF的数据包是跨层封装于3层报头后方 ,协议号89
3、OSPF的状态机 – 两台OSPF路由器间不同关系的阶段
Down 一旦接收到对端的hello包进入下一个状态
Init 初始化 若接收到的hello包中存在本地的RID,那么进入下一个状态机
2way 双向通讯 邻居关系建立的标志
条件:点到点网络直接进入下一个状态机;MA网络进行DR/BDR选举,非DR/BDR之间不能进入下一个状态机;
4、OSPF的工作过程
- 启动配置完成后,邻居间组播收发hello包,建立邻居关系;生的邻居表。
- 邻居关系建立后,将进行条件的匹配,匹配失败将维持邻居关系,仅hello包周期保活即可。
- 匹配成功可以建立邻接关系。
- 邻接关系间将使用DBD/LSR/LSU/LSack来获取本地未知的LSA信息。
- 获取完成后,邻接关系间数据库同步一致,得到数据库表。
5、OSPF的基础配置
- 启动ospf,可以定义进程号,进程号仅具有本地意义。
- 宣告:区域划分、激活接口、传递接口信息。
区域划分规则:
星型拓扑——区域0为骨干,大于0为非骨干,所有非骨干必须连接到骨干区域方可正常共享路由
区域间必须存在ABR——区域边界路由器
6、DBD包的扩展
- Ospf的DBD包中将携带接口的MTU值,要求邻接间的MTU必须一致,否则将卡在exstart或 exchange状态机。
- DBD包中的标记位 ,I M MS I为1标识该DBD包为本地发出的第一个DBD M为1标识该DBD包不是本地发出的最后一个DBD包 MS 为1标识本地为主,为0代表从。
- 隐性确认:主从被选举后,从将使用主的序列号为确认接收到了主的DBD包,即使从设备已经不需要发送DBD,依然要使用未携带信息的DBD来进行隐性确认;
7、OSPF 数据表
- 查看OSPF数据库目录 display ospf lsdb
- LSDB中装载了所有可以学习到的LSA;
- LSA-- 链路状态通告 一条拓扑或一条路由条目被称为一条LSA
- OSPF协议的数据库是本地所有LSA的集合,不同网络环境下将产生不同类别的LSA;
- LSA在共享时基于LSU数据包传递;
8、OSPF优化–减少LSA的更新量
1、汇总 — 减少骨干区域的路由条目数量
2、特殊区域-- 减少非骨干区域的路由条目数量
【1】汇总–OSPF协议不支持接口汇总,在一个区域内,邻接间传递的是拓扑信息,不能进行汇总;故只能在交互路由的边界设备进行汇总
1)域间路由汇总–在区域间的ABR上,交互区域间路由条目时进行汇总配置
[r2]ospf 1
[r2-ospf-1]area 1 本地通过该区域1/2类LSA计算所得路由,可以汇总后传递给其他区域
[r2-ospf-1-area-0.0.0.1]abr-summary 3.3.0.0 255.255.252.0
2)域外路由汇总—ASBR在将外部的路由条目通过重发布协议,共享到OSPF协议中时;
可以进行汇总
[r4]ospf 1
[r4-ospf-1]asbr-summary 99.1.0.0 255.255.252.0
【2】 特殊区域 – 用于减少各个非骨干区域的LSA数量
不能为骨干区域,不能配置虚链路
[1] 同时不能存在ASBR
1)末梢区域–拒绝4/5类的LSA;由该区域连接骨干区域的ABR向该区域发布一条3类的缺省
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]stub
注:该区域内的所有路由器均需配置该命令
2)完全末梢区域 在末梢区域的基础上,进一步拒绝3类的LSA;仅保留一条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,由该区域连接骨干区域的ABR向该区域发布一条7类的缺省路由;该区域内的ASBR导入域外路由时,基于7类导入,之后通过该区域连接骨干的ABR传递到骨干区域时,转换为5类进入骨干区域;
NSSA设计的重点,不是减少该区域内ASBR产生的域外路由,而是网络中其他部分的ASBR产生的域外路由;
[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上配置完全即可
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]nssa no-summary
切记:NSSA和完全NSSA的工作环境,需要考虑ISP(运营商)所在位置,否则可能导致环路出现