1OSPFRouter ID选举规则

a)如果通过命令设置了routerID,则选择此作为ROUTER ID

b)如果没通过命令设置routerID,若有loopback地址,则选择最大的loopback地址作为router ID;若无loopback地址,则选择其他接口中地址最大的作为router ID

2OSPFrouter ID刷新规则

a)当且仅当被选举为routerID的接口的地址被删除或修改,才会触发选举过程,此过程需要reset OSPF进程才生效;

b)被选择的接口状态改变、新配置更大的loopback或其他接口地址,均不会导致router id重新选举;

crouter ID不可以是0.0.0.0 255.255.255.255

3router ID作用

a)作为OSPF区域中本路由器的唯一标识;

bDRBDR选举中,在优先级相同的时候,router ID大的选举为DR

4router ID冲突问题

          1)拓扑,见附件

【华为】OSPF router ID选举、作用、冲突_第1张图片

2)场景1:R1和R2均在area0,R1/R2具有相同的routerID

【R1】

ospf1 router-id 2.2.2.2

 area 0.0.0.0

  network 10.1.1.1 0.0.0.0

  network 10.1.12.1 0.0.0.0

【R2】

ospf1 router-id 2.2.2.2

 area 0.0.0.0

  network 10.1.12.2 0.0.0.0

  network 10.1.2.2 0.0.0.0

结果:R1R2无法建立OSPF邻居关系;

分析:R1发送hello包后,R2收到R1hello包,发现routerID与自己的router ID一致,邻居无法建立。

3)场景2:R1、R2和R3处于area0,R2、R3具有相同的routerID

【R1】

ospf1 router-id 1.1.1.1

 area 0.0.0.0

  network 10.1.1.1 0.0.0.0

  network 10.1.12.1 0.0.0.0

  network 10.1.13.1 0.0.0.0

【R2】

ospf1 router-id 2.2.2.2

 area 0.0.0.0

  network 10.1.12.2 0.0.0.0

  network 10.1.2.2 0.0.0.0

【R3】

ospf1 router-id 2.2.2.2

 area 0.0.0.0

  network 10.1.3.3 0.0.0.0

  network 10.1.13.3 0.0.0.0

结果:

aR1R3R1R2能分别建立OSPF邻居;

bR2能学到R1R3路由,但路由会不停地抖动,一会儿学到R1的,一会儿学到R3

cR1R3无法互相学到路由。

分析:

aOSPF是以{typels idadvrouter}来标识LSA,以(ageseq numchecksum)标识一个LSA实例;

bR3发送的LSAR1泛洪,R2收到该LSA

cR2检查收到的LSA,发现{typels idadv router}与自己一致,就认为是自己始发的LSA

eR2比较(ageseq numchecksum),发现该LSA比自身存的数据库更新,则seq num+1,回复LSA

fR1收到R2LSA后,发现{typels idadv router}与自己数据库的R3的一致,认为是一条LSA;再比较(ageseq numchecksum),发现seqnum更大,LSA更加新,则泛洪。

gR3收到R1转发的R2LSA{typels idadvrouter}一样,(ageseq numchecksum)更新,跟R2一样的超过。

hR3/R1/R2之间不停地传递LSA,不断循环。

故:R1一会儿学到R3的路由,一会儿学到R1的路由。R1R3之间无法互相学到路由。

华为模拟器实验表明:这种情况循环多次后,R1/R3会重新选举一个routerID发起OSPF邻居建立过程,邻居建立后,R1能学到R2R3的路由。

4)场景3:R1、R2为area0,R4为area1,R1、R4具有相同的routerID

R1

ospf1 router-id 1.1.1.1

 area 0.0.0.0

  network 10.1.1.1 0.0.0.0

  network 10.1.12.1 0.0.0.0

  network 10.1.13.1 0.0.0.0

R2

ospf1 router-id 2.2.2.2

 area 0.0.0.0

  network 10.1.12.2 0.0.0.0

  network 10.1.2.2 0.0.0.0

 area 0.0.0.1

  network 10.1.24.2 0.0.0.0

R4

ospf1 router-id 1.1.1.1

 area 0.0.0.1

  network 10.1.4.4 0.0.0.0

  network 10.1.24.4 0.0.0.0

结果:

aarea0R1能与R2建立邻居关系;

barea1R1能与R4建立邻居关系。

cR1R4能互相学到路由。

分析:

aR1发送LSAR2收到后,向area1发送3LSALS ID为路由前缀,R2ABRadv routerR2router ID

bR4收到3LSA后,发现是新的router id,与自己不同,纳入LSDB,并提交路由表。

cR4发送的LSAR2R1相同处理,均能学到路由。