接近开关三色法所形成的簇之间存在重叠区域。为了增大簇之间的间隔,减少重叠区域,接近开关的TOPDISC算法同时也提出了四色法。顾名思义,节点可以处于四种不同的状态,分别用白色、黑色、灰色和深灰色表示。前三种颜色代表的含义跟三色法相同,增加的深灰色表示节眯收到过拓扑发现请求,但不被任何标记为黑色的节点覆盖。
与三色法类似,在初始阶段,所有节点都被标记为白色,算法由一个初始节点发起,算法结束后所有节点都将被标记为黑色或者灰色(前提假设整个网络拓扑是连通的,注意最终没有标记为深灰色的节点)。四色法的详细过程描述如下:
1、初始节点被标记为黑色,并向网络广播拓扑发现请求;
2、当白色节点收到来自黑色节点的拓扑发现请求时,将被标记为灰色,并在延时时间TWB后继续广播拓扑发现请求,TWB反比于它与黑色节点之间的距离;
3、当白色节点收到来自灰色节点的拓扑发现请求时,将被标记为深灰色并继续广播拓扑发现请求,然后等待一段时间(同样与距离成反比);如果在等待期间收到来自黑色节点的拓扑发现请求,则改变为灰色,否则它自己成为黑色;
4、当白色节点收到来自深灰色节点的拓扑发现请求时,等待一段时间(同样与距离成反比),如果在等待期间收到来自黑色节点的拓扑发现请求,则改变为灰色,否则它自己成为黑色;
5、所有已经被标记为黑色或者灰色的节点,都将忽略其他节点的拓扑发现请求。 |