一、 OSPF的数据包
1、 OSPF的序列号:89
2、 OSPF报文头部
(1) 版本:OSPF协议的版本(OSPFv2版本字段为2)。
(2) 类型:OSPF数据包的类型
Hello — 1
DBD ---- 2
LSR — 3
LSU — 4
LSACK – 5
(3) 报文长度:整个OSPF数据报文的长度,单位字节。
(4) RID:表示发出这个数据包的路由器的RID
(5) 区域ID:发出数据包的接口所在的区域的ID
(6) 认证类型和认证数据:OSPF在进行认证时,需要先对比认证类型,认证类型相同才比对认证数据。
认证类型:
null — 空认证 — 0
simple – 明文认证 – 1
MD5 — 比对摘要值认证 — 2
3、OSPF五大数据包
(1)hello包:
作用:①周期发现,建立以及保活邻居关系。
②DR/BDR选举使用的是hello包
Hello包中限制邻居关系建立的参数:
1、子网掩码:发出hello包接口的ip地址对应的掩码信息
(华为设备设定邻居建立双方要求子网掩码必须相同,否则将无法建立 邻居关系(对p2p网络不生效))
2、Hello时间 (邻居双方hello时间和死亡时间必须相同,否则将导致邻居关系建立失败)
3、Dead时间
4、Ospf特殊区域的标记
可选项:8位(8个标记位),每一个标记位置1,代表其符合OSPF的某种特性。
(其中存在OSPF特殊区域的标记位,若邻居双方特殊区域的标记位不同,则将无法正常建立邻居关系)
5、认证
(2)DBD包:数据库描述报文
1、使用未携带数据的DBD包进行主从关系选举;
2、使用携带数据的DBD包进行目录信息共享。
可选项:
I --- init --- ①该位置1,则代表这个DBD包是进行主从关系选举的数据包,这样的数据包后面不包含LSA头部内容。
②在主从关系没有选出来之前,所有设备都认为自己是主。
M --- more – 该位置1,代表后面还有其他DBD包要发送。
MS --- Master – 该位置1,则代表发送这个数据包的设备为主。
序列号:在DBD报文收发过程中,会逐渐加1,用于确保DBD报文传输的
有序性以及可靠性。
(3)LSR包:链路状态请求报文(基于DBD包请求本地未知LSA信息)
“LSA三元组”:①链路状态类型;②链路状态ID;③通告路由器。
通过上述三个参数可以唯一地标识出一条LSA。
(4)LSU包:链路状态更新报文(真正携带LSA信息的数据包)
(5)LSACK包:链路状态确认报文。
二、 条件匹配
1.概念:在MA网络中,若所有设备均为邻接关系,则将出现大量的重复更新,因此,需要进行DR/BDR的选举,所有非DR/BDR(DROther)之间仅维持邻居关系即可。
2.路由器类型:
(1) 指定路由器(DR):和MA网络中其他所有设备建立邻接关系。
(2) 备份指定路由器(BDR):和MA网络中其他所有设备建立邻接关系。
Tip:
①在DR和BDR都存在的情况下,一个MA网络中至少需要四台设备才能 看到邻接关系。
②DR和BDR虽然叫指定路由器(备份指定路由器),其工作范围在一个MA网络之中,其实质是接口的概念。
3.DR/BDR的选举
背景:在MA网络中,若所有设备均为邻接关系,则将出现大量的重复更新,因此,需要进行DR/BDR的选举。
方法:
(1)比较接口的优先级,优先级最大的为DR,次大的为BDR。
①优先级的初始默认值为1;
②若将一个接口的优先级修改为0,则代表该接口放弃DR/BDR的选举;
③优先级范围(0-255)。
(2)当优先级相同时,比较RID。RID大的路由器对应的接口为DR,次大的为BDR。
RID:表示发出这个数据包的路由器的RID。
区域ID:发出数据包的接口所在的区域ID。
Tip:DR/BDR的选举 — 非抢占模式的选举 — 选举时间等于死亡时间
三、 OSPF的接口网络类型
- 定义:指ospf接口在不同的网络类型下默认的不同工作方式。
- 类型:
(1) p2p(ppp,HDLC):
只能建立一个邻居关系,不需要进行DR和BDR选举, hello 10s, dead time 40s。
(2) MA:
① BMA(以太网):Broadcast,可以建立多个邻居关系。需要进行DR和BDR选举,hello 10s ,dead time 40s
② NBMA(帧中继):可以建立多个邻居关系,需要进行DR和BDR的选举,hello 30s, dead time 120s, 无法自动建立邻居。
(3) 环回接口(虚拟接口):
① P2p,华为设备定义为P2P类型,实际上无数据收发。环回接口默认学习32位主机内容。
② P2MP,可建立多个邻居关系,不需要进行DR和BDR的选举, hello 30s,
Dead time 120s。会学习邻居接口的主机路由。