一、OSPF协议
开放式最短路径优先协议,一种公有的、标准的协议,采用dijkstra(SPF),最短路由优先算法,周期性的发送链路状态信息给它的邻居。
1.基础概念
三张表:
路由表:提供路由信息
拓扑表:存放链路状态信息
邻居表:存放了邻居的状态和邻居的基本信息
2.五种数据包
hello:周期性的建立和维护邻居关系。
DBD(DD):数据库描述报文,描述的是LSA(链路状态通告报文)的摘要信息。
LSR:链路状态请求报文,自己没有的或者比自己更新的那些链路状态的信息。
LSU:链路状态更新报文。
LSAck:链路状态确认报文。
3.OSPF工作过程
(1)确认可达性,建立邻居
router ID:标识的是路由器的身份
手工配置:IPV4地址格式,点分十进制格式
自动选举:
环回口:IP地址最大的优先级成为router ID(IP地址相同:子网掩码大的优先,下同)
物理接口:IP地址最大的优先级成为router ID
建议:一般配置一个环回口
(2)摘要同步,开始建立邻接关系
1、A向邻居路由器B发送DBD报文, 通告本地LSDB(链路状态数据库表)中所有的LSA的摘要信息。
2、B收到DBD报文后,与本地的LSDB做对比,向A发送LSR报文,请求对方发送自己需要的LSA的完整信息。
3、A收到LSR后,把对方所需要的LSA的完整信息打包成一条LSU报文,发至B。
4、B收到LSU后,向它的对方A回复LSAck报文,进行确认。
选举DR(指定路由器)、BDR(备份指定路由器)、DRother(其他没有角色的路由),保证路由信息的交互更加高效有序的进行。
选举范围:每个网段都会选举出一个DR和BDR
选举规则:
1.接口优先级(0-255),默认优先级是1,数字越大接口优先级越高。
2.router ID,IP地址大的优先成为DR、次优的是BDR
关系状态:
DR和BDR建立邻接关系
DR和DRother建立邻接关系
BDR和DRother建立邻接关系
DRother之间不用建立邻接关系
注意:DR没有抢占性,当DR出现故障的时候,BDR会成为新的DR,当BDR挂掉的时候,重新选举DR和BDR。
(3)完整信息同步,完全邻接关系建立
完全邻接关系建立,LSDB表和路由表形成
注:OSPF的周期性更新,是增量更新
3.OSPF状态机
DOWN:稳定状态(关闭状态),这种情况处于手动指定router ID,发送第一个hello包的时候,进入下一个状态。
Attempt:一般不会出现,收不到对方的hello回包,这种情况一般出现在NBMA网络(非广播多点接入网络)。
INIT:初始化状态,收到了对方的hello回包,但没有收到对方的hello确认包。
2-way:双方互相发现邻居,邻居状态(关系)稳定,并确认DR和BDR的角色,稳定状态。
Exstart:交换开始状态,发送一个空的DBD报文,不发送LSA的摘要信息。
Exchange:交换状态,发送后续的DBD报文,用于通告LSDB的LSA的摘要信息。
Loading:读取状态,进行LSA的请求、加入、确认。
Full:完全邻接关系建立,LSDB表和路由表形成,稳定状态。
OSPF的周期更新:30分钟
二、OSPF的多区域
1.区域产生背景
(1)如果运行OSPF协议的路由器都处于同一个区域,随着网络规模的变大,同步LSDB表会变的非常缓慢,会导致诸多的问题。
(2)OSPF路由器在同一个区域会广播发送LSA,如果网络规模大,会导致LSDB表的同步非常缓慢。
2.分区好坏
(1)减少LSA的广播范围
(2)减少了路由表的规模
(3)提高网络的扩展性,有利于大规模网络
3.区域类型
骨干区域:area 0
area ID 0=0.0.0.0
1=0.0.0.1
多区互连原则:
(1)非骨干区域必须和骨干区域互连
(2)非骨干区域之间不会互连
(3)骨干区域不能被分割
4.路由器角色
AS:自治系统,同一个自治系统内的路由器的
AS编号是一样的
IR:内部路由器,所有接口都在一个区域内
BR:边界路由器,连接多个区域
ABR:区域边界路由器
ASBR:自治系统边界路由器,连接其他的大的区域
三、OSPF协议的特点
1.没有跳数限制。
2.使用组播更新变化的路由和网络信息。
224.0.0.6:DR和BDR的组播接收地址。
224.0.0.5:指网络中所有运行OSPF协议的路由器。
3.路由收敛速度快。
4.以cost作为度量值。
5.有效避免环路问题。
6.在互联网上被大量使用,是应用最广泛的路由协议。
7.ospf更新周期是30分钟。