README 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. Ad hoc On-Demand Distance Vector (AODV) Routing Examples
  2. ========================================================
  3. 1. StaticIPv4
  4. -------------
  5. In this example, static means that there is no mobility, the
  6. hosts are uniformly distributed in a 600m X 600m square.
  7. As the simulations starts, host[0] continuously tries to send
  8. ping requests to host[1]. However, at the beginning of the
  9. simulation, host[0] and the other hosts in network do not have
  10. any routing information, so host[0] broadcasts a route request
  11. for host[1].
  12. While the RREQ propagates in network, host[0] is sending more and
  13. more ping requests destined to host[1]. The AODV can consult
  14. with the IP-layer via Netfilter hooks, and can buffer these pings
  15. until it gets an appropriate RREP with valid routing information
  16. for the requested destination. Then host[0] takes these delayed
  17. pings out from the buffer and sends to host[1] as it now has
  18. information to make routing decisions.
  19. In this scenario, host[0] and host[1] are not far from each other,
  20. so AODV builds routing tables up in a very short time. Actually, it
  21. finds the shortest path (host[0] -> host[16] -> host[1]) between the
  22. two hosts.
  23. As the path is constructed, the subsequent pings and their replies
  24. arrive without any problems. The constructed path will never be
  25. outdated since it is constantly used to forward data packets (pings),
  26. so in the rest of the simulation there won't be other route request.
  27. The simulation ends without any packet loss.
  28. 2. IPv4SlowMobility, IPv4ModerateFastMobility, IPv4FastMobility
  29. ---------------------------------------------------------------
  30. The only difference in these scenarios is the speed of hosts and
  31. the ACTIVE_ROUTE_TIMEOUT parameter. In these simulations, we use
  32. MassMobility model with speeds 2m/s, 8m/s, 15m/s and with 3s, 2s, 1s
  33. ACTIVE_ROUTE_TIMEOUTs, respectively. Of course, the communicating
  34. hosts (host[0], host[1]) are staying in fixed places.
  35. The communicating scheme is inherited from the previous scenario.
  36. Since the hosts are moving, link breaks and topology changes occur, so
  37. AODV may use RERR messages, originate new route requests to establish
  38. valid paths in the changed network topology and expunge old routing table
  39. records.
  40. The user may note that the packet loss rate is growing with the speed.
  41. However, we try to compensate this "speed handicap" with lower
  42. ACTIVE_ROUTE_TIMEOUTs.
  43. 3. Dynamic
  44. ----------
  45. The Dynamic simulation is similar to StaticIPv4. It comes without mobility,
  46. and with the same communicating scheme.
  47. First, it finds the same host[0] -> host[16] -> host[1] path. However,
  48. host[16] shuts down at 25s, thus AODV has to find a different path to
  49. host[1], which will be host[0] -> host[10] -> host[17] -> host[1]. This new
  50. path is longer then the previous one, but you can see in the animation that
  51. there is no shorter route in the changed topology.
  52. We have one packet loss in this example, when host[16] stopped, host[0] have
  53. already started to originate a new ping request with the next hop host[16].
  54. Therefore, this packet will never arrive.
  55. As a result of this sending, host[0] receives a link break signal, so it can
  56. invalidate routes and inform its neighbors by initiating Route Error process.
  57. At the next ping request, host[0] has just an invalidated route to host[1],
  58. so it starts over again the Route Request process for host[1] which finds
  59. the new route mentioned above.
  60. host[16] reboots at 40s, but it will have no effect on the current route, since
  61. the new path will never be outdated due to its constant usage.
  62. 4. MoreDynamic
  63. --------------
  64. The communicating scheme is same as usual, that is, host[0] sends pings to host[1].
  65. AODV finds the shortest host[0] -> host[16] -> host[1] path. Then hosts 16, 19, 10,
  66. 17, 4, 7, 14 shut down, visually, all neighbors, except host[6], of host[1] will be
  67. unreachable. Thus, AODV has to find a bypass and it does it by finding a new path:
  68. host[0] -> host[8] -> host[2] -> host[15] -> host[6] -> host[1].