使用范围:IGP
协议算法特点:链路状态型路由协议,SPF算法
协议是否传递网路掩码:传递网路掩码
协议封装:基于IP协议封装,协议号为89
1.OSPF是一种典型的链路状态型路由协议
2.传递路由信息称作LSA,LSA链路状态通告,包含路由信息和拓扑信息
路由LSA:描述本路由器上接口的路由信息
拓扑LSA:描述路由器之间的链接状态
3.更新方式:触发更新和30分钟的链路状态刷新
4.更新地址:组播和单播更新,组播地址:224.0.0.5
5.支持路由认证
6.支持手工汇总
7.支持区域划分
8.OSPF比较消耗设备资源,一个路由器上最多支持31个OSPF进程
9.OSPF V1用于实验环境,V2(常用)用于IPV4,V3用于IPV6
区域划分的意义:1.减少LSA数量 2.减小LSA传播范围
区域划分是基于接口的,不是指整个路由器
区域的标记:使用32个二进制;两种表示:1.十进制 2.类似于IP地址 A.B.C.D
区域的分类:
骨干区域:区域标记为0或0.0.0.0
非骨干区域:区域标记不为0或0.0.0.0
区域设计原则:向日葵型网路结构
1.OSPF网络中必须存在且唯一的骨干区域(单区域除外)
2.若存在非骨干区域,非骨干区域必须与骨干区域直接相连
OSPF中路由器的角色:
骨干路由器
非骨干路由器
ABR:区域边界路由器,能产生3类LSA的路由器
ASBR:自治系统边界路由器。能产生5类或7类LSA的路由器
HELLO,DBD,LSR,LSU,LSACK
HELLO:周期性发送,周期时间为10s或30s(根据不同的网络类型默认为10s或30s)
目的:建立并维持OSPF邻居关系(邻居关系建立后充当保活包功能)
DBD:数据库描述数据包
1)主从选举DBD:比较双方的route-id,route-id大的一方为主(master),另一方为(slave);主要用于控制LSA的交互
2)携带LSA头部信息的DBD
LSR:链路状态请求按照DBD中报文的未知LSA头部进行请求
LSU:链路状态更新,携带LSA信息
LSACK:链路状态确认
Down,init,attempt,two-way,exstart,exchange,loading,full
Down——刚刚开启ospf,还没有收到任何数据,此时路由器本身是可以发送hello企图寻找ospf邻居
init ——初始化状态,一旦开始发送hello报文,进入初始化状态
attempt——这是在特殊网络条件下才有的状态,就是不支持广播的网络(非广播网络),以太网是没有的,因为ospf需要使用组播发送hello,所以在这种网络环境下,必须要指定使用单播来发送hello;当用单播代替默认的组播去建立OSPF邻居关系的时候会出现
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地址必须在同一网段)
邻居状态之后:MA网络中会选举DR(指定路由器)BDR(备份指定路由器)
DR选举:1.比较优先级(范围:0-255,默认优先级为1,越大越优,0代表不参选)
2.比较各自的router-id,越大越优
注意:1.DR抢占是关闭的 2.DR是一个接口的概念 3.优先级范围0-255,数字为0代表不参选 4.先选BDR,在升级为DR
主从选举:发生在exstart状态,通过双方的router-id进行比较,router-id大的一方为主。发送的主从选举DBD,DBD中包含了MTU值(思科默认直接启用,华为中默认不包含MTU,可以使用命令激活传递MTU值的功能,若双方的MTU值不同则卡在exstart状态)
exstart——预启动状态,一旦开始发送主从DBD,则进入预启动状态
exchange——预交换状态,主从选举完成,则发送携带LSA头部信息的DBD,进入预交换状态,会发送LSR数据包,不会发送LSU
loading——加载状态,一旦发送LSU数据包,进入加载状态,进行大量LSA学习,同时会发送LSACK进行确认
full——邻接状态,双方LSA同步(双方LSA全部学习)
启用OSPF并指定router-id
router-id:路由器标识符,用于标识在OSPF(本区域)网路中的唯一性
OSPF router-id选举规则:1.手工指定最为优先 2.选举所有环回地址最大的 3.选举所以物理接口地址最大的
华为中:若以上三点都不满足,则可以创建router-id为0.0.0.0;在使用逻辑地址或物理接口地址时接口可以使关闭的;若一台路由器启用多个OSPF进程,不同进程可以使用不同router-id(建议使用相同的)
思科中:若以上三点都不满足,则无法启用OSPF;在使用逻辑或物理接口时,接口必须双up,该接口可以不通告在OSPF中;同一路由器上多个OSPF进程必须router-id不同
全局模式下可以选择针对所有的OSPF进程修改router-id(若同时在接口上进行部署,则接口优先)
network通告:
1.运用反掩码,可以精确宣告;
1)将本路由器上接口IP地址符合宣告的所有接口激活(激活代表可以收发有关数据包)
2)将激活的接口所对应的路由通告进入协议
2.在进行接口宣告时,必须先创建OSPF进程并开启需要使用的区域ID,再进入接口启用
激活DBD中携带的MTU值功能:
查看二层接口信息:
查看三层接口信息:
OSPF三张表:
1.OSPF邻居表
查看OSPF邻居表:(图中未截完)
查看OSPF邻居表的摘要信息:
2.LSDB表(链路状态数据库)
查看LSDB的摘要信息:
查看LSDB详细信息:
3.OSPF路由表