本文部分资料来源于网络
OSPF简介:
属于IGP(内部网关协议)
- 开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。
- OSPF把自治系统AS(Autonomous System)划分成逻辑意义上的一个或多个区域;
- OSPF通过链路状态通告LSA(Link State Advertisement)的形式发布路由;
- OSPF依靠在OSPF区域内各设备间交互OSPF报文来达到路由信息的统一;
- OSPF报文封装在IP报文内,可以采用单播或组播的形式发送。
- OSPF协议号为89
目前针对IPv4协议使用的是OSPF Version 2(RFC2328)。
针对IPv6协议使用OSPF Version 3(RFC2740)。本文讲述的是针对IPv4协议使用的OSPF Version 2的技术原理
OSPF交互的是链路状态信息,路由器根据最短路径优先算法计算到达目的网络的路径。而不是通过路由通告来获取路由信息(改进了RIP的缺点)。
OSPF优点:
OSPF协议出现以前使用的是RIP协议(基于邻居路由表计算,易成环且收敛速度慢)
- 每台路由器都能够掌握全网拓扑,通过最短路径优先算法SPF(Shortest Path First)计算路由,不会产生路由环路。
- 收敛速度快,因为路由更新是及时的,并且能够快速传递到整个网络。
- 能够处理VLSM,灵活进行IP地址分配。
- OSPF可以采用组播形式收发报文,这样可以减少对未运行OSPF的路由器的影响。
- OSPF支持无类型域间选路(CIDR)。
- OSPF支持对等价路由进行负载分担。
- OSPF支持报文验证。
OSPF运行机制:
建立邻居关系-同步链路数据库-计算路由表
- 交互Hello报文形成邻居关系
- 泛洪LSA通告链路状态信息
- 组建LSDB形成带权有向图
- SPF算法计算并形成路由表
- 维护和更新路由表
OSPF5种报文类型
- Hello报文
邻居发现(Hello interval:报文间隔10s;Router Dead interval:失效时间40s),邻居保持(维护邻居关系),邻居建立(建立双向通信,指定DR和BDR) - DD报文
选举主从,相互交互LSA摘要信息 - LSR报文
向对方请求更新LSA,LSR报文里包括所需要的LSA摘要信息 - LSU报文
用来向对端发送其所需的LSA或泛洪本端更新的LSA,其报文内容是多条完整的LSA的集合。未来实现泛洪的可靠性传输,需要LSAck报文对其进行确认,对没有收到确认的LSA进行重传。 - LSACK报文
用来对接收到的LSU报文进行确认,内容是需要确认的LSA的Header(包含用于描述LSA的关键信息,唯一标识