条件匹配
指定路由器 — DR — 和MA网络中其他所有设备建立邻接关系
备份指定路由器 — BDR — 和MA网络中其他所有设备建立邻接关系
在DR和BDR都存在的情况下,一个MA网络中至少需要四台设备才能看到邻居关系。
DR和BDR虽然叫做指定路由器(备份指定路由器),但其工作范围在一个MA网络之中,所以,其实质是接口的概念。
条件匹配 — 在MA网络中,若所有设备均为邻接关系,则将出现大量的重复更新,所以,需要进行DR/BDR的选举,所有非DR/BDR(DROther)之间仅维持邻居关系即可。
DR/BDR的选举 — 1,比较接口的优先级,优先级最大的为DR,次大的为BDR。
优先级的初始默认值为1。
[r1-GigabitEthernet0/0/0]ospf dr-priority ?
INTEGER<0-255> Router priority value ---- 如果将一个接口的优先级修改为0,则代表该接口放弃DR/BDR的选举。
2,当优先级相同时,则比较RID。RID大的路由器对应的接口为DR,次大的为BDR。
DR/BDR的选举 — 非抢占模式的选举 — 选举时间等同于死亡时间
reset ospf 1 process — 重启OSPF进程
OSPF的数据包
OSPF的协议号 — 89
ospf报文头部
版本 ---- OSPF协议的版本 ---- OSPFv2版本字段为2。
类型 ---- OSPF数据包的类型
Hello — 1
DBD — 2
LSR — 3
LSU — 4
LSACK — 5
报文长度 — 整个OSPF数据报文的长度,单位字节。
RID — 表示发出这个数据包的路由器的RID
区域ID — 发出数据包的接口所在的区域的ID
认证类型和认证数据 — OSPF在进行认证时,需要先比对认证类型,认证类型相同才比对认证数据。
认证类型 — null — 空认证 — 0
— simple — 明文认证 — 1
— MD5 — 比对摘要值认证 — 2
hello包 — 周期发现,建立以及保活邻居关系。— DR/BDR选举也使用的是hello包
子网掩码 — 发出hello包接口的ip地址对应的掩码信息 ---- 华为设备设定邻居建立双方要求子网掩码必须相同,否则将无法建立邻居关系(对P2P网络不生效)
hello时间和死亡时间 — 邻居双方hello时间和死亡时间必须相同,否则将导致邻居关系建立失败。
可选项 — 8位,8个标记位,每一个标记位置1,则代表其符合OSPF的某种特性。
其中存在ospf特殊区域的标记位,邻居双方如果特殊区域的标记位不同,则将无法正常建立邻居关系。
路由器的优先级 — 发出该数据包的接口其DR/BDR选举时的优先级。
指定路由器和备份指定路由 — 携带的是DR/BDR接口的IP地
址。---- 在DR/BDR没有选出来之前,使用0.0.0.0来进行填充。
邻居 — 本地已知的邻居的RID。
hello包中限制邻居关系建立的参数
1,子网掩码
2,hell时间
3,dead时间
4,ospf特殊区域的标记
5,认证
DBD包 — 数据库描述报文 — 1,使用未数据的DBD包进行主从关系选举;2,使用携带数据的DBD包进行目录信息共享。
MTU — 华为设备默认不开启MTU值的检测功能,可以在接口使用—[r1-Serial4/0/0]ospf mtu-enable 来开启 ---- 如果两边都开启MTU值的检测功能,则双方的MTU值必须相同,不同则将停留在exstart状态,无法向下进行。
I — init — 该位置1,则代表这个DBD包是进行主从关系选举的数据包,所以,这样的数据包后面不包含LSA头部内容。 — 在主从关系没有选出来之前,所有设备都认为自己是主
M — more — 该位置1,则代表后面还有其他DBD包要发送
。
MS — Master — 该位置1,则代表发送这个数据包的设备为主。
序列号 — 在DBD报文收发过程中,会逐次加1,用于确保DBD报文传输的有序性以及可靠性。
LSR包 — 链路状态请求报文 — 基于DBD包请求本地未知LSA信息
链路状态类型,链路状态ID,通告路由器 ---- “LSA三元组” — 通过着三个参数可以唯一的标识出一条LSA。
LSU包 — 链路状态更新报文 ---- 真正携带LSA信息的数据包
LSACK包 — 链路状态确认报文
OSPF的接口网络类型
P2P
MA
BMA
NBMA
OSPF的接口网络类型 — 指的是ospf接口在不同的网络类型下默认的不同工作方式。
网络类型 ospf接口的网络类型(工作方式)
BMA(以太网) Broadcast,可以建立多个邻居关系。需要进行DR和BDR选举,hello 10S,dead time 40S
P2P(PPP,HDLC) P2P,只能建立一个邻居关系,不需要进行DR和BDR选举,hello 10S,dead time 40S
环回接口(虚拟接口) P2P,华为设备定义为P2P类型,但实际上无数据收发。环回接口默认学习32位主机路由
P2MP,可以建立多个邻居关系,不需要进行DR和BDR的选举,hello 30S,dead time 120S。会学习邻居接口的主机路由。
NBMA(帧中继) NBMA,可以建立多个邻居关系,需要进行DR和BDR选举,hello 30S,dead time 120S,无法自动建立邻居关系
[r2]display ospf interface GigabitEthernet 0/0/0 — 查看OSPF的接口网络类型
T1 — 1.544Mbps
E1 — 2.048Mbps ---- 华为设备的串口默认遵循的是E1标准。
华为设备将环回接口的开销值定义为0,不会受外界影响,不受参考带宽变化的影响。
[r2-LoopBack0]ospf network-type broadcast — 修改接口网络类型
如果想要还原环回接口真实的掩码长度,可以将环回接口的网络类型修改为broadcast。
华为设备将tunnel接口的传输速率定义为64Kbps ---- 华为设备这样设计主要目的是为了让隧道接口的开销值变大,使数据尽可能的避免从隧道接口发出,因为走隧道接口的数据,真实还是从物理接口发出,但是会增加复杂的封装和解封装的过程,加大资源的浪费。
在MGRE的环境中,还有一种全连网状拓扑 — mesh,就是所有边界设备即当中心,也做分支,这样搭建出来的MGRE环境是一种类似BMA的网络环境。
[r1-ospf-1]peer 12.0.0.2 — 单播邻居,在NBMA环境下可以手工指定邻居关系。
Attempt — 尝试状态 — 过渡状态 — 本端手工指定邻居后将从down到达尝试状态,之后,等对端手工指定后将进入下一个状态。