引子
随着网络的规模发展越来越大,可靠性不断提高,异构化加剧,距离矢量算法的路由协议RIP,存在这收敛速度慢,度量值不科学,可扩展性差等缺点。
RIP协议的不足
怎么解决?
所以IETF这个组织就提出了基于SPF算法的链路状态路由协议OSPF(Open Shortest Path First)。通过在大型网络中部署OSPF协议,弥补了RIP协议的诸多不足。
OSPF链路状态路由协议
基于SPF算法,路由信息传递和计算分离,以“累计路径开销”作为选路的参考值。
工作过程:
1.先建立邻居关系
2.同步链路状态数据库
3.计算最优路径
OSPF特点
- 公有协议,管理距离是110;IP协议号为89
- OSPF路由协议采用cost作为度量标准;
- 每隔30分钟定时发送更新,触发更新
- 支持等价负载均衡;
- 支持区域划分,构成层次化的网络,提供路由分级管理;
- 支持简单口令和MD5认证;
- 以组播方式(224.0.0.5或224.0.0.6)传送协议数据包;
- OSPF维护邻居表、拓扑表和路由表。
OSPF基本原理
Router id
是一个点分十进制的类似IP地址的那种表现形式,用于在自治系统中唯一标识一台运行OSPF的路由器,每台运行OSPF的路由器都有一个Router ID。
官方文档:
1.建议手动配置router-id
2.如果没有手动配置,那么就使用路由器环回接口IP地址最大的作为router-id
3.如果没有配置环回地址,那么就使用路由器物理接口IP地址最大的作为router-id
实际操作:
1.建议手动配置router-id
2.如果没有手动配置,那就使用路由器的全局router-id作为ospf的router-id
3.全局router-id就是设备第一个配置了IP并且UP的接口IP地址。
报文类型和作用
头部报文
Version 版本号2 表示ipv4 版本3表示ipv6
Message type 表示当前的ospf的报文类型 1 2 3 4 5
Packet length 表示报文长度(头部+具体报文)
Source ospf router 代表发出ospf报文的路由器的router-id
Area id 区域id 0 是骨干 非0是非骨干
Checksum 校验报文的完整性
Auth type 认证类型
Auth data 认证数据 密码
1.Hello报文
Network mask Hello报文的接口网络的掩码
Hello interval 报文发送的间隔时间
默认10s
option: 分辨普通区域或者特殊区域
Router priority 接口的dr优先级
Router death 建立报文的失效时间
2.DD报文(Database Description)
interface MTU:接口的mtu值 华为默认不检查,如需检查需要开启
option:接口是否属于特殊区域
DB Description:DD描述
I=1表示为dd报文的第一个报文,用于主从选举
M=0 表示为dd报文的最后一个报文,1表示后面还有报文
MS 确认主从关系,routerid大的为主, ms=1表示发送方为主
Dd sequence dd报文的序列号
3.LSR报文(Link State Request)
LS Type:LSA的类型号
Link State ID:根据LSA中的LS Type和LSA description在路由域中描述一个LSA。
Advertising Router:产生次LSA的路由器的router id
4.LSU报文(Link State Update)
Number of LSAs:LSA的数量
5.LSACK报文(Link State Ack )
根据LSA的头部信息确认收到该LSA。
邻居建立过程
LSDB链路数据库同步过程
相关命令
show ip ospf interface brief //查看接口关于OSPF的信息
show ip ospf interface serial 1/0 //查看某个接口关于OSPF的详细信息
show ip route ospf //查看OSPF路由
show ip ospf neighbor //查看ospf邻居
show ip ospf database //查看ospf链路状态数据库
ip ospf network xxxx //接口下更改OSPF网络类型
debug ip ospf adj //查看OSPF邻居关系建立过程
debug ip ospf hello //查看OSPF hello包
debug ip ospf events //查看OSPF相关事件
服务器租用托管,机房租用托管,主机租用托管,https://www.e1idc.com