条件匹配
指定路由器 --- 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的选举 --- 非抢占模式的选举 --- 选举时间等同于死亡时间
<r1>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 --- 表示发出这个数据包的路由器ID
区域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,hello时间
3,死亡时间
4,ospf特殊区域的标记
5,认证
DBD包 --- 数据库描述报文 --- 1,使用为携带数据的DBD包进行主从关系选举 2,使用携带数据的DBD包进行目录信息共享
MTU --- 接口的最大传输单元 --- 华为设备默认不开启MTU的检测功能,可以在接口使用 --- --- 如果两变都开启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,只能建立一个邻居关系,不需要进行DRBDR选举,hello 10S,dead time 40S |
回环接口(虚拟接口) | P2P,华为设备定义为P2P类型,但实际上无数据收发。环回接口默认学习32位主机路由 |
P2MP,可以建立多个邻居关系,不需要进行DR和BDR的选举,hello30S deadtime 120S,会学习邻居接口的路由 | |
NBMA(帧中继) | NBMA,可以建立多个邻居关系,需要进行DR和BDR选举,hello30S deadtime 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到达尝试状态,之后,等对端手工指定后将进入下一个状态。