主动路由的寻路一开始发起的洪泛改成深度优先算法,是否可行
我认为不可行。因为有环的话,DFS会陷入死循环,除非你有记录哪些节点已经访问过了。路由协议了这要这么做也可以,就是每通过一个节点,消息里就把节点编号加进去,消息会越来越长的。同时,肯定也要花更多时间啊,找到的还可能是一条延时无比长的路径。有很多关于如何避免flooding的研究。比如Scalable Source Routing。主要思路借鉴自DHT。现在考虑一种简化的DHT。DHT是为了在N个节点上存储好多Key -\u0026gt; Value的数据。假如你的节点编号为 1 2 3 4 5 ,那么 hash(Key) 为 1 的那就存到节点1,依次类推。假如你其实只有2 4两个节点在工作。你要把1 2 3 4 5看成一个环,也就是5的下一个节点是1。此时,把hash(Key)为5 1 2的数据存在节点2,把hash(Key)为3 4的数据存在节点4。不过怎么存数据和你没什么关系。把这种思路用于路由协议的时候,现在假设有7个节点1 2 3 4 5 6 7。比如节点3要记住一条到节点2的路径和一条到节点4的路径。这样,比如节点1要找到节点4的路径,因为节点1知道一条到节点2的路径,所以节点1可以问节点2,节点2可以问节点3,节点3知道一条到节点4的路径,把这几条路径串起来,就是一条从节点1到节点4的路径,当然了,你得去掉这中间出现的环,不然就是在兜圈子嘛。假如只剩下1 3 5 7,那么1要记住到3和7的路径,也就是要记住按逻辑编号排成一圈之后你的neighbour的编号。一个个节点问过去是很慢的,所以你还需要从真正的DHT,比如Chord, Kademlia里借鉴点东西来加快找路径的速度。这样就能避免flooding了。当然了这样做经常不能返回当前的延时最短路径。据说这里也有个三角关系,(图片来自 http://www.net.t-labs.tu-berlin.de/talks/2010-01-13-fuhrmann.pdf) 【主动路由的寻路一开始发起的洪泛改成深度优先算法,是否可行】
■网友
网络我已经忘了……不过只从图算法的角度讲,题主你想没想过万一DFS把整个网络搜遍了才找到你要的节点的情况?或者DFS出现回路怎么办(假如不记录路径的话)?floodfill算是BFS吧,找的是最短路。
推荐阅读
- 电信主动上门维修是咋回事
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
- 交换机,路由器经常性的死机咋办
- |高颜值低油耗,标配主动刹车!这台日系车不输迈腾和雅阁!
- “我把我爸爸杀死了!”深夜,杭州一男子主动投案
- 基因是主动表达还是受某种场的影响被动表达,又或两者都有有没有隔绝所有电磁场来研究基因表达的实验
- 趣头条|将消费者放首位,威马起火主动召回态度引好评
- 蓝牙路由器在医疗健康方面有哪些应用
- 家用路由器解决了用户啥需求是否有更好的办法解决用户需求
- 为啥市场上还没有这样的智能路由器