一、OSPF基础
1、技术背景(RIP中存在的问题)
2、OSPF协议特点
注意:OSPF传递的是拓扑信息和路由信息,RIP传递的是路由表
3、OSPF三张表
路由表:记录由SPF算法计算的路由,存放在OSPF路由表中
4、OSPF数据包
(1)hello:
(2)DBD(数据库描述报文):
(3)LSR:
(4)LSU:链路状态更新信息
作用:把对方所需的几条LSA的详细信息,打包成一条LSU发给对方
一个LSU报文可以包含多个---LSA--(具体关于LSA请看后文)
(5)LSAck:
5、OSPF工作过程
邻接:邻居关系建立好后,进行一系列报文交互,当两台路由器LSDB同步完成,开始独立计算路 由时,这两台路由器形成了邻接关系
(1)确认可达性,建立邻居
(2)邻接路由器之间交换链路状态信息,实现区域内链路状态数据库同步
- 向邻接路由器发送DBD报文,通告本地LSDB中所有LSA的摘要信息
- 收到DBD报文后,与本地LSDB对比,向对方发送LSR报文,请求发送本地所需要的LSA的完整信息
- 收到LSR后,把对方所需的LSA的完整信息打包为一条LSU报文,发送至对方
- 收到LSU后,向对方回复LSAck报文,进行确认
(3)完整信息同步,完全邻接关系建立
6、OSPF的状态机
邻居关系开始建立
(1)down:关闭状态(稳定状态),这种情况处于手动指定邻居的情况下,发送hello包之后进入下一个状态
(2)INIT:初始化状态,收到对方的hello报文,但没有收到对方的hello确认报文
(3)Attempt:一般不会出现,只出现在NBMA网络中,发出hello,但收不到对方的hello包
(4)2-way(稳定状态):双方互相发现,邻居状态稳定,并确认了DR/BDR的角色;
当选举完毕后,就算出现一台优先级更高的路由器,也不会替换成新的DR\BDR;
需要原DR\BDR失效,或重置OSPF进程才会成为新的DR\BDR;
Router-id无冲突,修改router-id需要重置ospf进程使生效;
区域ID一致;
验证密码一致;
hello-time一致;
dead-time一致;
特殊区域类型一致;
(5)Exstart:交换开始状态;发送第一个DD报文,但不发送LSA摘要,仅用于确定LSDB协商的主从,ROUTER-ID大的成为master
(6)Exchange:交换状态;发送后续DD报文,用于通告LSDB摘要
(7)Loading:读取状态,进行LSA的请求、加入和确认
--注意: FULL的前提:两端MTU一致,否则可能卡在EXSTART\Exchange状态
能够计算路由的前提:两端网络类型一致,否则邻居状态full,但无法学习路由
二、OSPF的区域划分
1、分区好处
2、区域类型
骨干区域:
非骨干区域:
特殊区域:优化路由表、优化LSDB表
1、STUB区域:末梢区域
(1)定义:
末梢区域,适用于区域中路由器性能较低,目的是为了减少区域中路由器的路由表规模以及路由信息传递的数量。不希望接收大量的AS以外路由
虽然拒绝学习域外路由信息,但依然有访问域外路由的需求;故会由ABR设备自动下发一条指向骨干区域的3类缺省;
2、totally stub区域----完全末梢区域
(1)定义:完全末梢区域,拒绝学习域外和其他区域的路由信息
虽然拒绝学习域外路由信息,但依然有访问域外路由的需求;故会由ABR设备自动下发一条指向骨干区域的3类缺省;
3、NSSA区域(Not-So-stubby Area)----非纯末梢区域
(1)定义:非纯末梢区域,是STUB区域的变形,拒绝学习域外(主要是5类)路由信息,但需要引入后面的域外路由信息
LSA
LSA是OSPF的一个核心内容,如果没有LSA,OSPF是无法描述网络的拓扑结构及网段信息的,也无法传递路由信息,更加无法正常工作,在OSPFV2中,需要我们掌握的主要有6种。
1、type1-LSA:----重要且复杂
2、type2-LSA:
描述区域内的MA网络(广播网络、NBMA网络)链路的路由器及掩码信息
3、type3-LSA:
[R1]dis ospf lsdb summary 查看Type3 LSA的具体信息
SubAdv Rtv:通告该LSA的ABR的router-id
注:3类LSA的传递范围在ABR相邻的单区域中进行,跨区域传递时,需要进行通告者的转换,通告者变了,则将不是同一条LSA
4、type4-LSA:
Adv Rtv:通告描述该ASBR的ABR的router-id
注:在ASBR本区域的内部路由器,不会产生到达该ASBR的4类LSA
5、type5-LSA:
(1)定义:AS_extenal LSA,传递域外 路由信息
描述AS外部引入的路由信息,会传播到所有区域(特殊区域除外)