3

假设我们在 AODV 协议中有一个条件

AODV(MANET 协议)中的 RREQ(路由请求)数据包继续移动到目的地,即使 TTL=1 的节点已经回复了路由请求。
例如,
n1、n2 和 n3 是 TTL=1 的 3 个节点,n2 回复源 S,但 n1 和 n3 已将 RREQ 数据包重新广播到目的地 D,这可能会在网络中造成不必要的泛洪。


现在我想到了一个简单的解决方案来最小化这种泛滥,n2 还将广播另一个数据包,其中包含它已回复 S 到 D 的 RREQ 的信息,可能使用其中更高的目标序列号或包含与 RREQ 相同的广播 ID . 但它会制造另一个洪水泛滥的机会。那么,有没有什么方法可以让我们以更有效的方式最小化这个问题呢?

注意:AODV 是移动 Ad-Hoc 网络系统中依赖表路由的反应式路由协议。

4

2 回答 2

4

这是一个研究课题。为此提供了几种解决方案。一个有效的解决方案是:
源节点第一次开始广播,TTL 值为 1。这个 RREQ 到达相邻节点,他们检查天气,它们包含目的地的更新路由。那些对目的地有更新路由的人用 RREP 回复,其余节点不能重新广播,因为 TTL 已过期。如果没有人有路由,RREQ 由源重新广播,增加一个 TTL=2 的值。这样,只有当节点没有到达目的地的路径时,才会重新广播 RREQ 数据包。
这种方法也增加了 RREQ 数据包的泛洪,但它是一个优化问题,仍然是解决这个问题的好方法之一。
希望现在清楚。

于 2013-04-06T08:05:34.233 回答
1

Aodv 协议中节点的条件只是检查接收数据包类型,如果它的 RREQ 意味着只是转发给它的所有邻居。如果你想最小化 RREQ,你可以在 Recvpacket() 函数中添加你的条件。更好的是你可以使用数字的啤酒花创造了一个新的条件。

于 2013-04-10T11:57:28.957 回答