在了解OSPF選舉之前,我們先介紹一下OSPF選舉的是什麼。
在廣播和NBMA類型的網路上,任意兩台路由器之間都需要傳遞路由信息。如果網路中有N台路由器,則需要建立“N×(N-1)/2”個鄰接關係。任何一台路由器的路由變化,都需要在網段中進行“N×(N-1)/2”次的傳遞。這是沒有必要的,也浪費了寶貴的頻寬資源。
為了解決這個問題,OSPF協定指定一台路由器作為DR(Designated Router)來負責傳遞信息。所有的路由器都只將路由信息傳送給DR,再由DR將路由信息傳送給本網段內的其他路由器。兩台不是DR的路由器(DR Other)之間不再建立鄰接關係,也不再交換任何路由信息。這樣在同一網段內的路由器之間只需建立N個鄰接關係,每次路由變化只需進行2N次的傳遞即可。
- 登記選民——本網段內運行OSPF的路由器。
- 登記候選人——本網段內優先權(Priority)大於0的OSPF路由器。優先權是接口上的參數,可以人為配置,預設值是1。如果一台路由器接口的優先權為0,則它在該接口所連網段上不會被選舉為DR或BDR。
- 競選演說——部分優先權大於0的OSPF路由器認為自己是DR,傳送OSPF的Hello報文給其他路由器,宣稱自己是該網段DR。
- 投票——在所有自稱是DR的路由器中,優先權最大的當選DR。若兩台路由器的優先權相等,則選Router-ID最大的。選票就是OSPF的Hello報文。每台路由器將自己選出的DR寫入Hello報文中,發給網段上的每台路由器。