OSPF:Open Shortest path First :开方式最短路径优先
一、基础知识:
1、使用范围:IGP
2、协议算法特点:链路状态型路由协议,SPF算法
3、协议是否传递网络掩码:是
4、协议封装:基于TCP封装,协议号为89
二、OSPF特点:
1、OSPF是一种典型的链路状态型路由协议
2、传递的信息称作:LSA,LSA链路通告,包含路由信息和拓扑信息
路由LSA:描述本路由器上的接口路由信息
拓扑LSA:描述路由器之间的连接状态
3、更新方式:触发更新+30min的链路状态更新
4、更新地址:组播和单播更新地址
组播地址:224.0.0.5----所有运行OSPF的路由器都会接收这个组播组
224.0.0.6----多有的DR路由器才会运行的
5、支持路由认证
6、支持手工汇总
OSPF是LS型路由协议,既传递路由又传递拓扑,手工汇总只能汇总路由信息,不能汇总拓扑信息
7、支持区域划分
三、OSPF区域
基于接口或链路划分
1、区域划分的意义:
(1)、减少LSA数量
(2)、减少LSA传播范围
2、区域划分是基于接口或链路的
3 、区域设计原则:
1)OSPF网络中必须存在且唯一的骨干区域
2)若存在非骨干区域,非骨干区域必须与骨干区域直接相连
骨干路由器:所有接口都在area 0里
非骨干路由器:所有接口都在非area 0里
ABR:区域边界路由器,能够产生3类LSA的路由器(属于area 0 和非area 0的路由器)
ASBR:自治系统边界路由器,能够产生5类或7类LSA的路由器(OSPF网络和非OSPF网络网络的边界路由器,必须通过重发布在路由器上做路由引入才算ASBR)
四、OSPF消息数据包:
1、邻居与邻接 :
邻居:双方互相知道彼此的存在,但并没有交换LSA
邻接:在邻居关系建立之后才会共享LSA,在共享了LSA之后,邻接关系才会建立
2、hello:周期性发送,周期时间10s或30s(根据不同的网络类型默认10s或30s)
目的:建立并维持OSPF邻居关系(邻居关系建立之后充当保活包功能)
3、DBD:数据库描述包,特点:隐性确认,看序列号,在对方互相发的包中,序列号变相同后代表隐性确认
1)主从选举DBD:比较双方的router-id,大的一方为主(master),小的一方为从(slave),主要用于LSA的交互
2)携带LSA头部信息的DBD
4、LSR:链路状态请求,按照DBD报文中的未知LSA头部进行请求
5、LSU:链路状态更新,携带LSA信息
6、LSACK确认:链路状态确认
五、OSPF邻居状态机制:--LS型协议特有的
down、init、attempt、two-way、exstart、exchange、loading、full
1、init:初始化状态,一旦开始发送hello报文,进入初始化状态
2、two-way:双向通信状态(邻居状态),接收到包含自己router-id的对方hello报文
邻居关系建立的条件:
1.router-id 必须不同
2.area ID 相同
3.认证: 认证类型 (不认证=0 明文认证=1 MD5=2) 认证数据
4.hello时间,dead时间
5.特殊区域标识(E(外部路由位)=1 ; N(NSSA外部路由位)=0 P=0)
6.MA网络中,网络掩码必须一致
7.必须同时使用单播或组播更新
8.更新源检测(双方的IP地址必须在同一网段
DR选举:
邻居状态下(two-way):条件匹配-->邻居成为邻接关系的条件(目的:消除重复更新)
MA的网络中会选举DR(指定路由器) BDR(备份指定路由器)
DR选举: 1.比较优先级 (范围:0-255,默认优先级为1 ,越大越优)
2.比较各自的router-id,越大越优
DR选举了之后,其他所有人只是个DR建立邻接,把信息都交给DR,然后再由DR分别交给其他人
注意:1.DR抢占是关闭的
2.DR是一个接口概念
3.优先级范围0-255,数字为0代表不参与选举
4.先选举BDR ,再升级为DR
(DR、BDR的选举是在一个时间范围内,超过这个时间范围优先级再高也不能成为DR),时间:waiting time,在华为中,waiting time=dead time(40s)
3、exstart:预启动状态,一旦开始发送主从DBD,则进入预启动状态
4、exchange:预交换,(发送类hello的DBD选主从)主从选举完成,则发送携带LSA头信息的DBD,进入预交换,会发数据包,但没有LSU
5、loading:加载状态,一旦发送LSU数据包,进入了加载状态,进行大量LSA的学习
6、full:邻接状态,双方LSA同步(双方LSA全部学习)
六、补充:
1、为什么RIP不需要router-id,OSPF需要?
因为OSPF是LS型协议,需要router-id,因为收集到路由、拓扑信息需要构建逻辑拓扑,则需要将OSPF中的每个路由器标记出来,用路由器的唯一性标识-router-id来
2、以太网线----->MA
可以通过修改接口网络类型将MA改为P-to-P
串线------>点到点
3、广域网:PPP、HDLC ------> 不选DR
FR(帧中继)、ATM ------> 选DR
路由器物理接口类型:是一个默认的、最原始的状态---->选DR或不选DR,但OSPF的网络类型是独立的,因为不同的物理接口,可以修改它的网络类型