OSPF
目录
open shortest path first 开放式最短路径优先协议
使用范围:IGP
协议算法特点: 链路状态型路由协议,SPF算法 最短路径算法
协议是否传递网络掩码:传递网络掩码
协议封装:基于IP协议封装,协议号为 89 EIGRP也是IP封装,协议号88.
采用跨层封装。因IP封装不可靠,采用确认重传确保可靠性。
一.OSPF 特点
1.OSPF 是一种典型的链路状态型路由协议 ,地图式协议
2.传递信息称作LSA,LSA 链路状态通告,包含路由信息和拓扑信息。
路由LSA:描述本路由器上接口的路由信息
拓扑LSA:描述路由器之间的连接状态
3.更新方式: 触发更新+30分钟的链路状态刷新 (增量更新,有界更新)
4.更新地址:组播和单播更新,组播地址:224.0.0.5(ALL SPF router) 224.0.0.6(ALL DR router)
5.支持路由认证 (链路认证 区域认证 虚链路认证)
6.支持手工汇总(仅在特殊的路由器上可汇总)topo信息不可汇总
7.支持区域划分
8.OSPF 比较消耗设备资源
9.OSPF使用 cost(相当于带宽)计算metric (路由学习入方向)
cost计算方式:100M / 真实带宽(单位M)=cost
参考带宽尽量调整到最大
二.OSPF 区域
区域划分的意义: 1.减少LSA的数量 2.减少LSA的传播范围
区域的划分是基于接口的(链路的)
区域的标记:使用了32个二进制 1.十进制 2.类似于IP地址 A.B.C.D
区域的分类:
骨干区域: 区域标记为0或0.0.0.0
非骨干区域:区域标记不等于0或0.0.0.0
区域设计原则: 向日葵型网络结构
1.OSPF网络中必须存在并唯一的骨干区域(单区域除外)area0
2.若存在非骨干区域,非骨干区域必须与骨干区域直接相连
OSPF中路由器的角色:
骨干路由器:所有接口在骨干区域
非骨干路由器:该路由器被宣告到OSPF中的接口都在非骨干区域
ABR:区域边界路由器,能够产生3类LSA的路由器 区域内部传递链路状态型,区域间传递距离矢量型
ASBR:自治系统边界路由器,能够产生5类或7类LSA的路由器 连接OSPF和运行了非OSPF区域相接的路由器,且进行了引入操作的路由器。
三.OSPF 消息数据包
Hello DBD LSR LSU LSACK
1.hello数据包
周期性发送,周期时间10s或30s(根据不同的网络类型默认10s或30s)包内无路由信息,周期性保活。
目的:建立并维持OSPF 邻居关系(邻居关系建立之后重当保活包功能)
IPV4(01:00:5e)为组播地址
2.DBD数据包
数据库描述数据包;
1.主从选举DBD: 比较双方的router-id ,router-id大的一方为主(master ),小的一方为从 (slave);主用于控制LSA的交互
2.携带LSA头部信息的DBD
3.LSR数据包
链路状态请求,按照DBD中报文的未知LSA头部进行请求
LSA三原则,ADVrouter,link-state ID,类型。
4.LSU数据包
链路状态更新,携带完整的LSA信息
5.LSACK数据包
链路状态确认,存放LSA报头
四.OSPF 邻居状态机制
Down、 init 、 attempt(过渡) 、 two-way 、 exstart 、 exchange 、loading 、full
Init ---初始化状态,一旦开始发送hello报文,进入初始化状态。
Two-way---双向通信状态(邻居状态),接收到包含自己router-id 的对方hello报文。点到点网络会从2way直接到full
邻居关系建立条件:
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地址必须在同一网段)
邻居状态下(two-way): MA的网络中会选举DR(指定路由器) BDR(备份指定路由器)
DR选举: 1.比较优先级 (范围:0-255,默认优先级为1 ,越大越优)
2.比较各自的router-id,越大越优
注意:
DR指定路由器
1.DR抢占是关闭的 默认关闭
2.DR是一个接口概念
3.优先级范围0-255,数字为0代表不参与选举 越大越优
4.先选举BDR ,再升级为DR
5.选举DR时间,waiting time与dead时间一致
6.一个MA网络必须有一个DR,BDR可有可无
7.第一个进入two-way的路由器声明选举开始
8.路由器接口优先级一样,先宣告的即便router-id小也有可能成为DR 40秒无比较/抢占,
默认为DR
224.0.0.5 都能收 224.0.0.6 other 发,DR BDR才接收其他丢弃
意义:减少邻居数量,减少LSA的交互,优化网络。
主从选举:发生在exstart状态, 通过双方的router-id进行比较,router-id大的一方为主。
发送的 主从选举DBD,DBD中包含了MTU值(默认思科直接启用,华为中默认不包含MTU,可以使用命令 激活传递MTU值的功能,若双方的MTU值不值则卡在exstart 状态)。
完成选举后,序列号改为和DR一致。
先用主学习从,然后才从从学习主
Exstart---预启动状态,一旦开始发送主从DBD,则进入预启动状态。
Exchange ---预交换,主从选举完成,则发送携带LSA头部信息的DBD,进入预交换状态,会发送LSR 数据包。(但是没有LSU)
Loading ---加载状态,一旦发送LSU数据包,进入了加载状态,进行大量LSA的学习。
Full ---邻接状态。双方LSA同步(双方LSA全部学习)
1.一旦发送hello包,进入init
2.收到的hello包里面携带自己的router-id进入two-way邻居状态,MA继续下一步,如果P2P直接full邻接状态
3.选举DR,BDR,一旦发送主从选举DBR,进入exstart状态
4.一旦发送携带LSA目录信息的DBD报文,进入exchange状态
5.一旦收到LSU进入loading
6.重传列表和请求列表清空进入full
Router-id 1.手工指定优先,2,选择最大的环回地址,3,使用最大物理接口地址
DR BDR选举,1.先比较优先级,越大越好,0放弃,2,优先级一致比较router-id
主从选举:直接比router-id,越大越好,最后会将自己的序列号设置为主一致
I M M/S I位=1 代表第一个发送 M位=1 代表后续还有更多 M/S = 1 代表为主
所以,默认第一个发送DBD报文的三个值为111
五.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邻居表:
查看OSPF邻居表的摘要信息:
2.LSDB表(链路状态数据库)
查看LSBD的摘要信息:
LSA中存在3个参数用于LSA的新旧比较:3600s的LSA 都是最新的.
Display ospf 100 lsdb router
里面有校验和
采用棒棒糖型序列空间存储
直线0x80000001到0x8FFFFFFF
圆形0x00000000到0x7FFFFFFF
1.序列号
2.校验和
3.LSA老化时间(若以上都相同,LSA age 之差小于15分钟,越小越优,若大于15分钟,则无 法比较 认为都是最新的。)
组步调计时器:默认5分钟。
查看LSDB详细信息:
3.OSPF 路由表