OSPF
指定路由器:DR----和MA网络中其它所有设备建立邻接关系
备份指定路由器:BDR----和MA网络中其它所有设备建立邻接关系
在DR和BDR都存在的情况下,一个MA网络中至少需要四台设备才能看到邻居关系。
条件匹配----在MA网络中,若所有设备均为邻接关系,则将出现大量的重复更新,所以需要进行DR/BDR的选举,所有非DR/非BDR (DROther)之间仅维持邻居关系即可。
DR/BDR的选举
-
比较接口的优先级,优先级最大的为DR,次大的为BDR。 优先级的初始默认值为1。
修改优先级命令:
[r1-GigabitEthernet0/o/0]ospf dr-priority ?
INTEGER Router priority value ----如果将一个接口的优先级修改为0,则代表该接口放弃DR/BDR的选举。 -
当优先级相同时,则比较RID。RID大的路由器对应的接口为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包
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包中限制邻居关系建立的参数
- 子网掩码
- hello时间
- dead时间
- ospf特殊区域的标记位
- 认证
DBD包
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包
LSR包:链路状态请求报文----基于DBD包请求本地未知LSA信息
链路状态类型,链路状态ID,通告路由器----“LSA三元组” ----通过这三个参数可以唯一的标识出一条LSA。
LSU包
LSU包:链路状态更新报文----真正携带LSA信息的数据包
LSACK包
LSACK包:链路状态确认报文
OSPF的接口网络类型
P2P
MA
BMA
NBMA
OSPF的接口网络类型:指的是ospf接口在不同的网络类型下默认的不同工作方式。
网络类型 | ospf接口的网络类型(工作方式) |
---|---|
BMA(以太网) | Broadcast,可以建立多个邻居关系。需要进行DR和BDR选举,hello10s, dead time 40s |
P2P(PPP,HDLC) | P2P,只能建立一个邻居关系,不需要进行DR和BDR选举,hello10s,dead time 40s |
环回接口(虚拟接口) | P2P,华为设备定义为P2P类型,但实际上无数据收发。环回接口默认学习32位主机路由 |
P2MP,可以建立多个邻居关系,不需要进行DR和BDR选举,hello30s,dead time 120s,会学习邻居接口的主机路由。 | |
NBMA(帧中继) | NBMA,可以建立多个邻居关系,需要进行DR和BDR选举,hello 30s,dead time 120s,无法自动建立邻居关系 |
Virtual,以单播的形式发送hello包; hello 10s,dead time 40s |
[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到达尝试状态,之后,等对端手工指定后将进入下一个状态。