OSPF只有在MA网络中才会选举DR/BDR/DOTHER,而在MA网络中会使用两个组播地址来进行传递信息。
DR的选举原则:DR是不可以被抢占的
1、首先比较DR优先级,默认为1(越大越优先)
2、当DR优先级相同的时候比较Router-ID(越大越优先)
DRother:DRother产生的LSU通过224.0.0.6发送给DR和BDR;DR通过224.0.0.5发送给其他的DRoher和BDR;DRother收到DR的LSU之后通过224.0.0.6发送ACK确认,BDR收到DR的LSU之后通过组播地址224.0.0.5发送ACK向DR确认。
DR:DR产生的LSU通过224.0.0.5发送给其他DRother和BDR;BDR收到之后通过224.0.0.5发送ACK向DR进行确认;DRother收到之后通过224.0.0.6发送ACK向DR确认。
BDR:BDR产生的LSU通过224.0.0.5发送给其他的DRother和DR,DR收到之后通过224.0.0.5发送ACK向BDR确认,DRother收到之后通过224.0.0.6发送ACK向BDR确认。
DR和BDR同时监听224.0.0.5和224.0.0.6两个组播地址,drother只监听在224.0.0.5。需要注意一点在初次建立邻居的时候会产生LSR报文,而LSR是单播发送的报文,在广播网络类型中中无论是DR,BDR还是DRother只要收到了LSR之后,都会以单播的形式发送LSU更新。ACK则正常发送。DR与BDR的区别在于DR收到DRother的LSU则泛洪,BDR不做任何相应。
如果是DROther产生了更新发送到224.0.0.6 收到了更新发送到224.0.0.6.
如果是DR,BDR产生了更新都发送224.0.0.5 收到了更新发送到224.0.0.5
那为什么DR不支持抢占那?
在OSPF中每个节点否会以自己为根来计算SPF树,而在MA网络中会产生伪节点来帮助LSA的发送与接收,如果DR支持抢占的话那么整个OSPF网络会变得震荡,网络不稳定。