一、题目
某台路由器运行OSPF协议,并且没有指定Router ID,所有接口的P地址如下,则此路由器OSPF协议的Router ID为?
A. 10.0.12.1
B. 10.0.1.2
C. 10.0.21.1
D. 10.0.1.1
二、答案
B
三、解析
OSPF路由协议的routerID的选举过程如下:
- 如果通过命令设置了routerID,则选择此作为ROUTER ID。
- 如果没通过命令设置routerID,若有loopback地址,则选择最大的loopback地址作为router ID。
- 若没有配置loopback接口地址,则选择其他接口的IP地址中选择最大的地址作为router ID(不考虑接口的Up/Down状态)。
在OSPF中,router ID(路由器标识符)用于在一个OSPF域中唯一地标识一台路由器。
四、扩展 — OSPF
OSPF状态机
OSPF(Open Shortest Path First)是一个内部网关协议(IGP),用于在自治系统(AS)内部路由器之间交换路由信息。在OSPF中,路由器建立邻居关系并通过状态之间的转换来交换路由信息。以下是OSPF状态的详细说明:
- Down(初始)状态: 这是邻居关系的初始状态。在此状态下,路由器尚未收到来自邻居的Hello报文。
- Attempt(尝试)状态: 这个状态仅在OSPF非广播多点接入(NBMA)网络中使用。在此状态下,路由器正在尝试与邻居建立联系。
- Init(初始化)状态: 在此状态下,路由器已收到来自邻居的Hello报文,但本地路由器的Router ID尚未出现在邻居的Hello报文中。
- Two-Way(双向)状态: 在此状态下,双方都收到了对方的Hello报文,并将对方视为一个合法的邻居。这是邻居关系建立的基本要求。
- ExStart(交换开始)状态: 在此状态下,路由器开始交换LSA(链路状态广播)的摘要信息。通常,在广播或NBMA网络中,只有DR和BDR与其他路由器达到此状态。
- Exchange(交换)状态: 在此状态下,路由器之间使用DBD(数据库描述)报文交换LSA摘要信息。如果路由器发现对方有新的或者更新的LSA,会请求这些LSA。
- Loading(加载)状态: 在此状态下,路由器通过发送LSR(链路状态请求)报文来请求邻居的新或更新LSA。随后,邻居会通过LSU(链路状态更新)报文发送请求的LSA。
- Full(完全)状态: 在此状态下,两个路由器已经交换了完整的路由信息,并建立了完全邻居关系。这意味着他们的链路状态数据库是同步的。
这些状态之间的转换描述了OSPF邻居关系的建立过程以及路由器之间如何交换路由信息。在这个过程中,路由器之间会共享并同步链路状态数据库,从而使网络中的所有路由器都具有完整的拓扑信息。
网络类型
OSPF在p-to-p链路下是不选举DR和BDR(可加快邻居建立),主要是在点对点(一对一)连接的网络中进行使用,如下拓扑:
OSPF链路默认为broadcast,需要选举DR和BDR,需要在2way状态下进行选举过程,针对的是点对多点广播链路(多台路由器)相连环境,如下拓扑: