接近開關三色法所形成的簇之間存在重疊區域。為了增大簇之間的間隔,減少重疊區域,接近開關的TOPDISC算法同時也提出了四色法。顧名思義,節點可以處于四種不同的狀態,分別用白色、黑色、灰色和深灰色表示。前三種顏色代表的含義跟三色法相同,增加的深灰色表示節瞇收到過拓撲發現請求,但不被任何標記為黑色的節點覆蓋。
與三色法類似,在初始階段,所有節點都被標記為白色,算法由一個初始節點發起,算法結束后所有節點都將被標記為黑色或者灰色(前提假設整個網絡拓撲是連通的,注意最終沒有標記為深灰色的節點)。四色法的詳細過程描述如下:
1、初始節點被標記為黑色,并向網絡廣播拓撲發現請求;
2、當白色節點收到來自黑色節點的拓撲發現請求時,將被標記為灰色,并在延時時間TWB后繼續廣播拓撲發現請求,TWB反比于它與黑色節點之間的距離;
3、當白色節點收到來自灰色節點的拓撲發現請求時,將被標記為深灰色并繼續廣播拓撲發現請求,然后等待一段時間(同樣與距離成反比);如果在等待期間收到來自黑色節點的拓撲發現請求,則改變為灰色,否則它自己成為黑色;
4、當白色節點收到來自深灰色節點的拓撲發現請求時,等待一段時間(同樣與距離成反比),如果在等待期間收到來自黑色節點的拓撲發現請求,則改變為灰色,否則它自己成為黑色;
5、所有已經被標記為黑色或者灰色的節點,都將忽略其他節點的拓撲發現請求。 |