OSPF : 开放式最短路径优先协议
使用范围:IGP
协议算法特点: 链路状态型路由协议,SPF算法
协议是否传递网络掩码:传递网络掩码(RIP V1不传递掩码信息)
协议封装:基于IP协议封装(跨层封装),协议号为 89
一.OSPF 特点
1.OSPF 是一种典型的链路状态型路由协议
2.传递信息称作LSA,LSA 链路状态通告,包含路由信息和拓扑信 息。OSPF中常见的LSA有6种.
路由LSA:描述本路由器上接口的路由信息(网络号,网络掩码,开销值)
拓扑LSA:描述路由器之间的连接状态
3.更新方式: 触发更新+30分钟的链路状态刷新
触发更新:网络结构不发生变化,不发生改变。网络结构发生变化,立即发送
30分钟的链路状态刷新:刷新或还原LSA中的某些值
4.更新地址: 组播和单播更新,组播地址就是D类地址(224~239),组播地址: 224.0.0.5(ALL SPF router) 224.0.0.6 (ALL DR router)
224.0.0.x:本地链路组播地址、特殊的地址,TTL=1;给各种控制层面的协议使用
(只有RIP不等于1)
5.支持路由认证
6.支持手工汇总
7.支持区域划分
8.OSPF 比较消耗设备资源
二.OSPF 区域
区域划分的意义: 1.减少LSA的数量 2.减少LSA的传播范围
区域的划分是基于接口的(链路的)区域里面是链路状态型,区域之间类似于距离矢量型,只传递路由信息
区域的标记:使用了32个二进制
1.十进制 2.类似于IP地址 A.B.C.D
区域的分类:
骨干区域: 区域标记为0或0.0.0.0
非骨干区域:区域标记不等于0或0.0.0.0
区域设计原则: 向日葵型网络结构 【解决区域之间的环路问题,在骨干区域与非骨干区域的接口用水平分割来解决环路问题。区域内部使用SPF算法解决】
1.OSPF网络中必须存在并唯一的骨干区域(单区域除外)
2.若存在非骨干区域,所有非骨干区域必须与骨干区域直接相连OSPF中路由器的角色:
骨干路由器:该路由器的所有接口都在骨干区域中
非骨干路由器:该路由器的接口即在骨干区域中,也在非骨干区域中
ABR:区域边界路由器,能够产生3类LSA的路由器
ASBR:OSPF路由与非OSPF路由的交界处,将非OSPF的路由引入OSPF中、自治系统边界路由器,能够产生5类或7类LSA的路由器
三.OSPF 消息数据包
【Hello 周期性发送】 【DBD<序列号确认,隐式确认> LSR<LSU对请求进行确认> LSU <LSAck对更新进行确认>LSACK<隐式确认>】
R-ID:唯一、选举:1.手工配置 2.选择所有环回接口中IP值最大的 3.选择所有物理接口中IP值最大的
Header认证: 认证类型 (不认证=0 明文认证=1 MD5认证=2)
hello包: 周期性发送,周期时间10s或30s(根据不同的网络类型默认 10s或30s)
目的:建立并维持OSPF 邻居关系(邻居关系建立之后充当 保活包功能)
DBD:数据库描述数据包;
1.主从选举DBD: 比较双方的router-id ,router-id大的一方为主 (master ),小的一方为从(slave);主用于控制LSA的交互。
2.携带LSA头部信息的DBD
LSR: 链路状态请求,按照DBD中报文的未知LSA头部进行请求。
LSU:链路状态更新,携带LSA信息。
LSACK:链路状态确认
四.OSPF 邻居状态机制
Down、 init 、 attempt(尝试 过渡) 、 two-way 、 exstart 、 exchange 、loading 、full
Init ---初始化状态,一旦开始发送hello报文,进入初始化状态。
Hello包作用:建立并维持OSPF 邻居关系、保活
Two-way---双向通信状态(邻居状态),接收到包含自己router-id 的对方hello报 文。
Exstart---预启动状态,一旦开始发送主从DBD,则进入预启动状态。
Exchange ---预交换,主从选举完成,则发送携带LSA头部信息的DBD,进入预交换状态,会发送LSR数据包。(但是没有LSU)
Loading ---加载状态,一旦发送LSU数据包,进入了加载状态,进行大量LSA的学习。
Full ---邻接状态。双方LSA同步(双方LSA全部学习)
邻居关系建立条件:
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地址必须在同一网段)适用于所有的IGP。
DR BDR的选举
邻居状态下(two-way): MA的网络中会选举DR(指定路由器) BDR(备份指定路由器)
DR选举: 1.比较优先级 (范围:0-255,默认优先级为1 ,越大越 优)
2.比较各自的router-id,越大越优
注意:1.DR抢占是关闭的 2.DR是一个接口概念 3.优先级范围 0-255,数字为0代表不参与选举 4.先选举BDR ,再升级为DR
主从选举
主从选举:发生在exstart状态, 通过双方的router-id进行比较, router-id大的一方为主。 发送的主从选举DBD,DBD中包含了MTU值【1500】(默认思科直接启用,华为中默认不包含MTU,可以使用命令激活传递MTU值的功能,若双方的MTU值不同,则卡在exstart 状态或者卡在exchange状态)。
五.OSPF基本配置
启用OSPF 并指定router-id
Router-id : 路由器标识符,用于标识本路由器在OSPF网络中的唯一性
OSPF router-id 选举规则:1.手工指定最优先 2.选举所有逻辑中IP地址最大的 3.选举所有物理接口IP地址最大的
华为中: 若以上三点都不满足,则可以创建router-id 为0.0.0.0 ;在使用逻辑或物理接口IP地址时,接口可以是关闭状态;若一台路由器启用了多个OSPF进程,不同进程可以使用相同的router-id(不推荐);
思科中:若以上三点都不满足,则无法启用OSPF;在使用逻辑或物理接口时,接口必须双 up ,该接口可以不通告进入OSPF中;同一路由器上多个OSPF进程必须router-id必须不同;
全局模式下可以选择针对所有的OSPF进程修改router-id ;(若同时在接口部署时,接口优先生效)
查看:
Network通告:
1.通告
2.必须先创建OSPF 进程并开启需用使用的区域ID,再进入接口启 用:
激活DBD中携带MTU值功能:
修改接口MTU值: (同时修改3层和2层的MTU值)
查看二层接口信息:
查看三层信息:
六、 OSPF三张表:
1.OSPF 邻居表
查看OSPF邻居表 【display ospf peer brief】
2.LSDB表(链路状态数据库)
查看LSBD的摘要信息:【display ospf lsdb】
3.OSPF 路由表
查看ospf路由信息【display ip routing-table protocal ospf】
补充信息:
组播地址:224~239
如何给组播IP地址生成组播MAC地址
1个组播MAC对应了32个组播IP
建议:
224.0.0.5
1110 0000.0000.0000.0000.0000.0000.0101
中间5位不变 后23位直接抄
01-00-5E-0000.0000.0000.0000.0000.0101
01-00-5E-00-00-05