一、OSPF协议
开放式最短路径优先协议,一种公有的、标准的协议,采用dijkstart算法(SPF),最短路由优先算法,周期性的发送链路状态信息给它的邻居。
1、基础概念
三张表
路由表:提供路由信息
拓扑表:存放链路状态信息
邻居表:存放了邻居的状态和邻居的基本信息
2、五种数据包
hello:周期性的建立和维护邻居关系
DBD(DD):数据库描述报文,描述的是LSA(链路状态通告报文)的摘要信息
LSR:链路状态请求报文,自己没有的或者比自己更新的那些链路状态的信息
LSU:链路状态更新报文
LSAck:链路状态确认报文
3、ospf工作过程
邻居:
邻接:
(1)确认可达性,建立邻居
router ID:标识的是路由器的身份
手工配置:IPV4地址格式,点分十进制格式
自动选举:
环回口:IP地址最大的优先成为ROUTER ID
例如:
1.1.1.1/32
1.1.1.1/24
1.1.1.2/24
10.10.10.10/32
物理接口:IP地址最大的优先成为ROUTER ID
注:手工配置>自动选举(环回口>物理接口)
例如:
手工配置RID:6.6.6.6/24
环回口:5.5.5.5/32
物理口:192.168.1.1/24
100.1.1.2/24
建议:一般配置一个环回口
(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(备份指定路由器),DR other(其他没有角色的路由),保证路由信息的交互更加高效有序的进行。
选举范围:每个网段都会选举出一个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、路由器角色
IR:内部路由器,所有接口都在一个区域内
BR:边界路由器,连接多个区域
ABR:区域边界路由器
AS:自治系统,同一个自治系统内的路由器的AS编号是一样的
ASBR:自治系统边界路由器
三、OSPF协议的特点
1、没有跳数限制
2、使用组播更新变化的路由和网络信息
224.0.0.6:DR和BDR的组播接收地址
224.0.0.5:指网络中所有运行OSPF协议的路由器
3、路由收敛速度快
4、以cost作为度量值
5、有效避免环路问题
6、在互联网是被大量使用,是应用最广泛的路由协议
7、ospf的更新周期是30分钟