OSPF协议 ( 1 )
OSPF是IETF定义的一种基于链路状态的内部网关路由协议。目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。OSPF是封装在IP协议中,协议号是89。
文章目录
前言
记录的是一些OSPF基础的东西
OSPF基础
1、OSPF的优点
基于SPF算法,计算出最优路径
采用组播形式收发部分协议报文
支持区域划分
支持对等价路由进行负载分担
支持报文认证
2、OSPF的更新机制
触发更新
党链路状态发生改变之后OSPF将会触发跟新,比如COST变了、网段改变了掩码改变了,取消宣告。
周期更新
每个OSPF每隔30分钟(1800s)进行一次周期更新一次自身的LSA,更新的将SEQ+1校验和重新计算,age时间恢复到初始值。
3、OSPF的基础术语
Router ID
router ID就是设备的唯一标识符(相当于设备的名字)
- 首先使用手动配置的router ID
ospf 1 router-id 1.1.1.1
//ospf进程1手动配置router ID 1.1.1.1
- 没有手动配置的rouer ID的时候使用全局的router ID
- 全局router ID的原则:设备使用的第一个配置的接口IP为全局router ID。
- 全局router ID不会因为接口的状态发生改变.
- 全局router ID的改变是根据第一个配置使用接口的IP进行改变。
- ospf的router ID不会因为全局router ID的改变而改变。
- ospf的router ID只会在清理ospf进程或者重启设备的时候进行重新选举。
display router ID
//查看当前的全局router ID
区域
- 用于标识一个OSPF的区域。
- 逻辑上将ospf网络中的设备划分为不用的组(区域号进行标识)。
- 区域号也是使用点分十进制来表示,区域0作为ospf的骨干区域,非0区域作为ospf的非骨干区域,ospf规定非骨干区域必须要根骨干区域逻辑上连接,不要求是物理上的连接,这个是ospf的防环机制
度量值
- OSPF所用的Cost(开销)作为路由的度量值。没一个OSPF接口都会维护一个Cost值,缺省是Cost=参考带宽/接口带宽。参考带宽的缺省值是100Mbit/s。(Cost只取整数值)
- 累计Cost,流量从原网络到目的网络的所有出接口的总和
[Huawei-GigabitEthernet0/0/0]ospf cost 200
//修改OSPF接口的参考值为200
4、三大表项
OSPF有三张重要的表项,OSPF邻居表、LSDB和OSPF路由表
邻居表
OSPF的邻居关系通过交互Hello报文建立
[Huawei]dis ospf peer
//查看邻居表,作用就是查看之间连接着那些路由器
Address:建立邻居路由器的接口IP地址
State:跟邻居的状态
Mode:连接的邻居是主还是从
Priority:邻居的优先值
Dead Timer:老化时间是40s,等于是4和hello报文的时间,也就是说在4个Hello的时间内没有收到对方的Hello报文,就会跟断掉邻居关系
LSDB
保存着本地的LSA信息和从邻居收到的的LSA信息
[Huawei]dis ospf lsdb
//查看LSDB表,作用就是查看链路状态信息
Type:表示LSA的类型
LinkSateID:表示LSA的链路状态ID
AdvRouter:表示通告者,值为通告路由器OSPF的Router ID
OSPF路由表
用spf算法计算出来的最优路由储存到OSPF路由表里
OSPF路由表和路由器路由表是两张完全不同的表
[R1]dis ospf routing
//查看OSPF路由表
Destination:表示目的网段
Cost:表示开销
Type:表示类型
NextHop:表示下一跳的IP地址
AdvRouter:表示通告者
Area:表示区域
5、五种报文
hello报文:用于发现、协商、维护和建立OSPF邻居。
DD报文:用于交互LSA的摘要信息(包含头部信息)。
LSR报文:用于请求发送一条LSA。
LSU报文:用于发送LSA的详细信息。
LSACK报文:用于确认接收到的LSA信息。
- Hello报文字段的解释
OSPF Header
version:说明当前的版本号
M essage Type:说明当前报文的类型
Source OSPF Router:说明发送当前OSPF报文的路由器的router ID
Area ID:说明发送该OSPF报文的接口在那个域内
Auth Type:认证类型(Null为空)
Auth Data:认证的数据
OSPF Hello Packet
Network:说明发送该OSPF报文路由器接口的掩码。
Hello Interval:发送Hello报文的间隔
Options:可选项 E为是否支持外部路由 MC为是否支持转发组播数据包 N/P是否为NSSA区域
Router Priority:说明发送该OSPF报文接口的DR优先级(默认1)
Router Dead Interval:邻居的失效时间(是Hello Interval的4倍)
Designated Router:指定路由器,说明这条链路上的DR,值为DR接口的IP地址
Backup Designated Router:备份路由器,说明这条链路上的BDR,值为BDR接口的IP地址
Active Neighbor:用于标识邻居,值为邻居的ospf的router ID
6.七种状态
- Down:初始状态,还没有接收到任何邻居信息(启动OSPF时)。
- Init:这个状态,表示接收到了Hello报文但报文中的邻居表没有自己的router ID。
- 2-Way:这个状态,表示hello报文中的邻居表中有了自己的router ID(邻居建议完成)。
- Exstart:这个状态,是邻居建立完成后路由器开始向邻居发送DD报文,报文不包含链路的状态信息并选举主从关系。
- Exchange:这个状态,是邻居互相发送链路状态信息摘要的DD报文。
- Loaing:这个状态,路由器域邻居之间互相发送LSR、LSU、LSACK报文。
- Full:在这个状态表示路由器已经完成了LSDB表的同步。
7.六类常见的LSA
了解一下就行,后面详细说