条件匹配
指定路由器---DR---DR和MA网络中其他设备之间应该建立邻接关系
备份指定路由器---BDR----BDR也应该和MA网络中其他设备之间建立邻接关系,这样BDR才能在DR出现故障时第一时间顶替DR的位置,起到备份的效果
一个MA网络中,在DR和BDR都存在的情况下,至少需要几台设备才能看到邻居关系---4台,只有DR-other之间会建立邻居关系
DR/BDR---虽然名字叫做指定路由器/备份指定路由器,但一定注意,他其实是一个接口的概念,因为DR/BDR都是在一个MA网络中选取的
条件匹配:在MA网络中,若所有设备均保持邻接关系,将出现大量的重复更新;所以,需要进行DR/BDR的选举:所有非DR/BDR的设备(DR-Other)之间仅保持邻居关系即可
DR/BDR的选举规则:
- 先比较优先级,优先级最大的为DR,次大的为BDR
优先级默认为1[r1-GigabitEthernet0/0/0]ospf dr-priority ? --- 修改接口优先级,为了 方便人为干涉DR/BDR的选举
INTEGER Router priority value
如果将一个接口的优先级修改为0,则代表该接口放弃DR/BDR的选举。
- 当优先级相同时,则比较RID。RID大的路由器接口对应接口为DR,次大的为BDR
DR/BDR的选举是非抢占模式的,一旦DR和BDR选定,则将无法被替换。选举时间为死亡时间
(只是时间相同,并不是由同一个计时器计时)(这个时间仅是选举的一个上限时 间,选举可以在短时间内完成,只要完成后则将不能抢占)
OSPF的数据包
OSPF协议是跨层封装的协议,跨四层封装,直接将应用层的数据封装在网络层协议后 面。IP协议包中协议号字段对应数值为 --- 89
OSPF的头部信息
版本----指的是OSPF版本,在IPV4中一般使用OSPFV2,所以,版本号一般为2
类型-----指的是OSPF数据包类型
Hello---1
DBD——2
LSR——3
LSU——4
LSACK——5
RID——谁发的这个数据包,就写谁的RID
AREA ID——数据包是从哪个区域发出的,就写哪个区域的ID
OSPF的认证类型——null(不认证)——0
Simple(明文认证)——1
MD5(通过比对摘要值的方式进行认证)——2
-----OSPF在进行认证时,需要比较两部分数据,一个是认证类型,一个认证数据
hello包-------周期发现,建立和保活邻居关系,包括DR/BDR选举
网络掩码----接口一旦激活后开始发送hello报文,这个接口本身配置的IP地址的掩码信息
华为设备要求,邻居之间hello包中所携带的子网掩码必须相同,不同则无法建立邻居关系(只针对以太网接口进行检测,对点到点网络不做限制)
hello时间和死亡时间——邻居之间所携带的hello时间和死亡时间必须相同,不同则无法建立邻居关系
8位的可选项-----每一个比特都表示路由器所携带的某种OSPF特性
-----8位特殊标记中包含OSPF特殊区域的标记,这个特殊区域的标记在邻居关系建立中也需要检测,如果不同,则将无法建立邻居关系
路由器的优先级----指的是发出接口DR/BDR选举时的优先级
指定路由器/备份路由器-----在DR/BDR选举完成后,将将会把DR/BDR的IP信息携带在 该字段。在DR/BDR未选出之前,将以0.0.0.0来填充。
邻居 --- 指的是本地已知的邻居的RID,这个是建立邻居关系的重要条件。
HELLO 包中限制邻居关系建立的条件:
- 网络掩码
- Hello时间(只针对以太网接口)
- 死亡时间
- OSPF特殊区域标记
- 认证
DBD包-----数据库描述报文-----可以主从关系选举(未携带数据的DBD包),携带LSDBB(链路状态数据库)摘要信息
注意——主从关系选举的作用:1、为主的可以优先进行LSA信息的交换2,为主的可以主导DBD包的隐性确认
MTU----最大传输单元----这个华为设备默认不检测。一般携带值0,可以在接口上开启检测功能,开启后,
数据包中将携带真实的MTU值。在exstart状态中交互DBD包,如果 邻居的MTU值不一致,则将会停留在exstart状态。
8位的可选项 ----每一个比特都表示路由器所携带的某种OSPF特性
- --INIT----该位置1,则代表此时的DBD包是进行主从关系选举的DBD包,后面讲不 携带LSDB的摘要信息
- --More---该位置1,则代表后续还有更多的DBD包,该位置0,则代表这个DBD包是最后一个DBD包
MS---Master---该位置1,则代表发送DBD包设备为主,置0则代表发送该数据包的设备为从
(在主从关系没有选举出来之前,邻居双方都会将自己的MS位置1,认为自己是主;之后,主从关系选举结束后,只有主会将MS置1,从置0)
DBD的序列号-----在DBD报文交互过程中,会逐次加1,用于确保DBD报文传输的有效性和可靠性
DBD包的确认机制是通过序列号来实现的隐形确认,而通过LSACK数据包实现确认的方法称为显性确认
---- 隐性确认:为主的设备发送一个DBD包,中包含一个序列号,从收到这个数据 包后将使用相同的序号回复DBD包,已起到确认的作用。
LSA头部信息----并不是完整的LSA信息,相当于LSA信息的一个摘要
LSR包-----链路状态请求报文-----基于DBD包中的摘要信息,和本地LSDB进行比对,之后请求未知的LSA信息
链路状态类型,链路状态ID,通告路由器---LSA的三元组---可以唯一的标识出一条LSA
LSU——链路状态更新报文——真正携带LSA信息的数据包
LSACK——链路状态确认报文——确认包
通过LSA头部内容进行确认
OSPF的接口网络类型
P2P
MA
BMA
NBMA
OSPF 的接口网络类型 --- 实际上指OSPF接口在不同网络环境下默认的不同工作方式。
[r2]display ospf interface GigabitEthernet 0/0/0 --- 查看OSPF接口网络类型
华为设备的串口遵循的是E1标准,最大传输速率为2.048Mbps
华为设备环回接口的开销值默认设置为0,这个值不受外界变化干扰(修改参考带宽不会影响环回接口的开销)
[r2-LoopBack0]ospf network-type broadcast --- 修改接口默认的网络类型
如果将环回接口的默认网络类型从P2P修改为Broadcast,则将还原环回接口真实的网络掩码
华为设备将tunnel接口的传输速率定义为64Kbps(实际上该接口为虚拟接口,不存在传输速率,其传输速率取决于物理接口)——其目的是是为了避免选路时选择tunnel接 口,因为走隧道接口需要进行复杂的封装,会消耗大量资源。
全连网状拓扑 ---- MGRE环境中,所有站点都充当中心站点,同时也充当分支站点。--- 在这种模式下,OSPF运行只需要将tunnel口修改为broadcast类型即可。
NBMA网络中建立邻居关系的方法 --- 手动指定,以单播的形式建邻 [r1-ospf-1]peer 12.0.0.2 --- 必须互相指定
Attempt --- 在NBMA网络中增加了一个attempt尝试状态,这是一个过度状态,当双 方均指定对端为邻居后将进入下一个状态init状态。