条件匹配

指定路由器 --- 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的选举规则:

1,先比较优先级,优先级最大的为DR,次大的为BDR

优先级默认为1。

[r1-GigabitEthernet0/0/0]ospf dr-priority ? --- 修改接口优先级,为了方便人为干涉DR/BDR的选举

INTEGER<0-255> Router priority value

 

如果将一个接口的优先级修改为0,则代表该接口放弃DR/BDR的选举。

2,当优先级相同时,则比较RID。RID大的路由器对应接口为DR,次大的为BDR。 DR/BDR的选举是非抢占模式的,一旦DR和BDR选定,则将无法被替换。选举时间为死亡时间。(只是时间相同,并不是由同一个计时器计时)(这个时间仅是选举的一个上限时间,选举可以在短时间内完成,只要完成后则将不能抢占)

 

OSPF的数据包

 

OSPF协议是跨层封装的协议,跨四层封装,直接将应用层的数据封装在网络层协议后

面。IP协议包中协议号字段对应数值为 --- 89

 

OSPF的头部信息

OSPF里DR和主从关系 ospf的主从关系的作用_OSPF里DR和主从关系

版本 --- 指的是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选举

OSPF里DR和主从关系 ospf的主从关系的作用_网络类型_02

网络掩码 --- 接口一旦激活后开始发送hello报文,这个接口本身配置的IP地址的掩码信息

华为设备要求,邻居之间hello包中所携带的子网掩码必须相同,不同则无法建立邻.

居关系。(只针对以太网接口进行检测,对点到点网络不做限制)

 

hello时间和死亡时间 --- 邻居之间所携带的Hello时间和死亡时间必须相同,不同则无

法建立邻居关系。

8位的可选项 --- 每一个比特都表示路由器所携带的某种OSPF特性

--- 8位特殊标记中包含OSPF特殊区域的标记,这个特殊区域的标记在邻居关系

建立中也需要检测,如果不同,则将无法建立邻居关系。

 路由器的优先级 --- 指的是发出接口DR/BDR选举时的优先级

指定路由器/备份指定路由器 --- 在DR/BDR选举完成后,将会把DR/BDR的IP信息携带在该字段。在DR/BDR未选出之前,将以0.0.0.0来填充。

邻居 --- 指的是本地已知的邻居的RID,这个是建立邻居关系的重要条件。

HELLO包中限制邻居关系建立的条件:

1,网络掩码(只针对以太网接口)

2,hello时间

3,dead time

4,OSPF特殊区域标记

5,认证

DBD包 ---- 数据库描述报文 --- 可以主从关系选举(未携带数据的DBD包),携带LSDB(链路状态数据库)摘要信息 。

注意 --- 主从关系选举的作用:1,为主的可以优先进行LSA信息的交换;2,为主的可

以主导DBD包的隐性确认 。

OSPF里DR和主从关系 ospf的主从关系的作用_OSPF里DR和主从关系_03

MTU --- 最大传输单元 --- 这个华为设备默认不检测,一般携带值0。可以在接口上开启检测功能,开启后,数据包中将携带真实的MTU值。在exstart状态中交互DBD包,如果邻居的MTU值不一致,则将会停留在exstart状态。

8位的可选项 --- 每一个比特都表示路由器所携带的某种OSPF特性

I --- INIT --- 该位置1,则代表此时的DBD包是进行主从关系选举的DBD包,后面讲不携带LSDB的摘要信息

M --- More --- 该位置1,则代表后续还有更多的DBD包,该位置0,则代表这个DBD包是最后一个DBD包。

MS --- Master --- 该位置1,则代表发送DBD包设备为主,置0则代表发送该数据包的设备为从。

   (在主从关系没有选举出来之前,邻居双方都会将自己的MS位置1,认为自己是主;之 后,主从关系选举结束后,只有主会将MS置1,从置0)

DBD的序列号 --- 在DBD报文交互过程中,会逐次加1,用于确保BDB报文传输的有序性和

可靠性。

DBD包的确认机制是通过序列号来实现的隐性确认。而通过LSACK数据包实现确认的方法称为显性确认。

---- 隐性确认:为主的设备发送一个DBD包,中包含一个序列号,从收到这个数据包后将使用相同的序号回复DBD包,已起到确认的作用。

LSA头部信息 ---- 并不是完整的LSA信息,相当于LSA信息的一个摘要。

LSR包 --- 链路状态请求报文 --- 基于DBD包中的摘要信息,和本地LSDB进行比对,之

后请求未知的LSA信息。

OSPF里DR和主从关系 ospf的主从关系的作用_OSPF里DR和主从关系_04

链路状态类型,链路状态ID,通过路由器 ---- LSA的三元组 --- 可以唯一的标识出一条LSA

LSU --- 链路状态更新报文 ---- 真正携带LSA信息的数据包

OSPF里DR和主从关系 ospf的主从关系的作用_OSPF_05

LSAck --- 链路状态确认报文 --- 确认包

通过LSA头部内容进行确认

OSPF里DR和主从关系 ospf的主从关系的作用_优先级_06

OSPF的接口网络

P2P

MA

BMA

NBMA

OSPF的接口网络类型 --- 实际上指OSPF接口在不同网络环境下默认的不同工作方式。



网络类型

OSPF接口的网络类型(工作方式)

BMA(以太网)

Broadcast,需要进行DR/BDR选举,hello 10S,dead time 40S

P2P(PPP,HDLC,MGRE)

 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接口网络类型

华为设备的串口遵循的是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状态。