Opened 5 years ago

Last modified 4 years ago

#31 new defect

Suitability for implementation on commodity OS

Reported by: charliep@… Owned by: charliep@…
Priority: major Milestone:
Component: aodvv2 Version:
Severity: Active WG Document Keywords:


(Thomas Clausen)

First, there is the whole "react to failure to deliver an IP datagram due to not having an entry in the routing table, and by way of flooding control traffic", which is a formidable vector for making every router in the network participate in a DDOS attack.

Second, from section 5.1:

		The route table entry is a conceptual data structure.
		Implementations may use any internal representation so long
		as it provides access to the information specified below

. <snip>

		The route's state determines the operations that can be
		performed on the route table entry.  During use, an Active
		route is maintained continuously by AODVv2 and is considered
		to remain active as long as it is used at least once during
		every ACTIVE_INTERVAL.  When a route is no longer Active,
		it becomes an Idle route.  After an idle route remains Idle
		for MAX_IDLETIME, it becomes an Expired route.

So, part of the data structures, maintained by this protocol, are the "route table entry", whose state depends on if a route is "used at least once during ..." -- i.e., the routing process must be notified every time a data packet is being forwarded? I do not know for sure, but I am not sure that that's even possible to do on commodity operating systems - but, it does appear to be rather inefficient, increasing per-packet processing overhead for a router?

Section 8.1:

  		Before using a route to forward a packet, an AODVv2 router
		MUST check the status of the route as follows.

Does this imply that the operating system needs to also be modified to also consult with data-structures, maintained internally by this protocol?

The point here is not (necessarily) that it is bad to do so - but, it would be required that all such assumptions and requirements be called out in the applicability statement: "This protocol requires that the operating system permits you to do XXX, YYY, ZZZ".

Change History (2)

comment:1 Changed 5 years ago by charliep@…

  • Owner changed from draft-ietf-manet-aodvv2@… to charliep@…

comment:2 Changed 4 years ago by charliep@…

The following appendix has been added:

Appendix G. Features of IP needed by AODVv2

AODVv2 needs the following:

o information that IP routes are requested o information that packets are flowing o the ability to queue packets.

Tautologically, a reactive protocol reacts when a route is needed. One might say that a route is requested when an application tries to send a packet. The fundamental concept of reactive routing is to avoid creating routes that are not needed, and the way that has been used to know whether a route is needed is when an application tries to send a packet.

If an application tries to send a packet, and the route is available, the packet has to wait until the route is available.

With this informational text, the issue should be closed.

Note: See TracTickets for help on using tickets.