目录
1、基本概念
OSPF基于IP协议,协议号89。OSPF通信时使用组播地址,所有设备监听组播地址224.0.0.5,DR和BDR监听组播地址224.0.0.6。
OSPF版本分为两个版本,OSPFv2(IPv4使用)和OSPFv3(IPv6使用),那我们今天主要讲的是主流OSPFv2版本。
1.1、OSPFv2基础概述
1.1.1、OSPFv2区域划分
OSPFv2采用2层网络架构:骨干区域(area0)和非骨干区域(!area0)。
1.1.2、OSPFv2路由器类型
OSPFv2中若路由器同时连接着骨干区域和非骨干区域,则该路由器为ABR。
若路由器所有接口都在同一区域,则该路由器为IR。
由ABR和area0中的IR,则为主干路由器(backbond Router)。
若存在外部路由且进行了引入的路由器,则该路由器为ASBR。
1.2、OSPFv2区域设置原则
1、area 0 有且只有一个,并必须连续。
2、非骨干区域必须和骨干区域直接相连。
1.3、网络类型
1、默认链路层协议的类型决定了链路类型。
2、在每一个广播链路/NBMA链路有且只会存在一个DR、一个BDR。
3、广播类型会减少邻居会话,产生网络LSA(2类LSA)。
1.4、Option字段
O字段指出始路由器支持Opaque LSA(类型9、类型10和类型11)
N bit(置1代表该路由器发送该hello报文中在NSSA区域,支持七类LSA的泛洪以及同步。置0代表该路由器发送该hello的接口不在NSSA区域,不支持七类LSA泛洪以及同步)
P bit(置1 该7类LSA可以被转换成5类LSA,置0 该7类LSA不可以被转换成5类LSA)
E bit(如果在hello中该位置被置1,则表示接口支持发送和接收五类LSA)
2、报文类型
2.1、Header头部报文
Version:版本为2。
Message Type:报文类型。
Packet Length:OSPF报文头和OSPF载荷总大小。
Source OSPF Router:发送此报文的路由器的router-id。
Area ID:发送此报文的出接口所在区域。
Checksum:校验和,用作校验。
Auth Type:认证类型,有Null(0),Simpe(1)和MD5(2)认证。
Auth Data:认证数据,用来存放认证的密钥,Key ID等。
2.2、Hello(用于发现,建立和维护邻居关系)
Network Mask:子网掩码。
hello时间:(P2P、Broadcast周期性10s发生,邻居失效时间40s、P2MP、NBMA周期性30s发送,邻居失效时间为120s)
Options:(DN、E、N/Pbit)
Router Priority:路由器优先级,用来自己设定优先级来决定谁是DR。
Router Dead Interval[sec]:路由器死亡时间=4*hello时间。
Designated Router:用来发送链路上DR的接口IP地址,若为0.0.0.0,则表示DR未选举。
Backup Designated Router:用来发送链路上BDR接口IP地址。
Active Neighbor:邻居路由器IP地址,表示合法的接收到邻居的hello报文。
2.3、DD报文(用来发送LSA头部信息)
DD报文进行发送LSDB的摘要信息(LSA头部信息),如下图所示:
DB Description:
1、Init:如果置位标识是第一个DD报文。
2、More:如果置位标识后续还有带有LSA摘要信息的DD报文。
3、Master:置位标识发送该DD报文的是Mater。
DD Sequence:DD报文序列号,只有Master能增加。
2.4、LSR报文
包含请求的LSA三要素唯一标识一条LSA:1、type类型。2、Link ID。3、advertising Router。
2.5、LSU报文
LSU报文用来承载LSA信息使用,可以理解成LSA是乘客,LSU则是车。
2.6、LSAck报文
对收到LSA确认,只有摘要信息。