条件匹配
指定路由器---DR----和MA网络中其他所有设备建立邻接关系
备份指定路由器----BDR---和MA网络中其他所有设备建立邻接关系
在DR和BDR都存在的情况下网络中至少需要四台设备才能看到邻居关系。
DR和BDR在其工作范围在一个MA网络中所有,其实质是接口
条件匹配 --在MA网络中,所有设备均为邻接关系,则将出现大量的重复更新。
DR和BDR的选举
1,比较接口的优先级(Priority),最大为DR,次大的为BDR,默认优先级为1。
2,当优先级相同时,则比较RID,RID大的路由器对应的接口为DR,次大的为BDR。
DR、BDR的选举--非抢占模式的选举---选举时间等于死亡时间
OSPF的数据包
报文头部:
版本--ospf协议的版本---ospfv2版本字段为2
类型---ospf数据包的类型
hello ----1
DBD ----2
LSR ----3
LSU ---4
LSACK ---5
报文长度 --整个ospf数据报文的长度,单位字节
RID ---发出数据包的路由器的RID
区域ID --发出数据包的接口所在的区域ID
认证类型和认证数据(先比对认证类型后比对认证数据)
认证类型 ---null --空认证 -0
---simple--- 明文认证---1
---MD5--- 比对摘要值的认证---2
hello包 ---周期的发现和建立保活邻居关系(DR,BDR选举)
(子网掩码)--发出hello包接口的IP地址对应的掩码信息---邻居关系的子网掩码必须相同(p2p网络不生效)
hello时间和死亡时间 --邻居双方hello和死亡时间必须相同否则导致邻居关系建立失败。
可选项--8位,8个标记位置1,则代表其符号ospf的某种ospf的某种特性。其中存在ospf特殊区域的标记位,邻居双方如果特殊区域的标记为不同,则将无法正常建立邻居关系
路由器的优先级 --发出数据包的接口其DR和BDR选举的优先级
指定路由器和备份指定路由器 --携带的是DR和BDR接口的IP地址(在DR和BDR为选取之前都由0.0.0.0代替)
邻居---邻居本地已知的邻居IP
hello包限制邻居关系的建立的参数
1.子网掩码
2.hello时间
3,dead时间
4.ospf特殊区域的标记
5.认证
DBD包 --数据库描述报文
1.使用未携带数据的DBD包进行主从关系的选举;
2.使用携带数据的DBD包进行目录信息共享。
MTU --值为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的接口网络类型
接口网络类型--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。会学习邻居接口的主机路由。 | |
NNMA(帧中继) | NBMA,可以建立多个邻居关系,需要进行DR和BDR选 |
[r2]display ospf interface GIgabitEthernet 0/0/0查看ospf的接口类型
华为设备将环回接口的开销值定义为0,不会受外界的影响。
[r2-LoopBack0]ospf network-type broadcast ---修改接口网络类型如果想要还原环回接口真实的掩码长度,可以将环回接口的网络类型修改为broadcast。
环回接口(虚拟接口)
华为设备将tunnel接口的传输速率定义为64Kbps ----华为设备这样设计主要目的是为了让隧道接口的开销值变大,使数据尽可能的避免从隧道接口发出,因为走隧道接口的数据,真实还是从物理接口发出,但是会增加复杂的封装和解封装的过程,加大资源的浪费。
[r2-LoopBack0]ospf network-type broadcast ---修改接口网络类型如果想要还原环回接口真实的掩码长度,可以将环回接口的网络类型修改为broadcast。