Re: [Roll] Something to ADD
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Roll] Something to ADD



Hi Roger,

The spec is exactly along the lines of what you wrote: intermediate nodes can store routes of course, and RPL does not mandate to store route at the DAG only. Some networks will exclusively use hop by hop routing with route storage at each hop, others won't, others will have a mixed of nodes and RPL
does support them all.

Cheers.

JP.

On Nov 17, 2009, at 12:42 AM, Roger Alexander wrote:

Sorry for the earlier transmission of the incomplete email...(moving vehicle)...final thoughts completed below.

Thanks.

Roger

On Nov 16, 2009, at 3:33 PM, Roger Alexander <roger.alexander at ekasystems.com > wrote:



On Nov 13, 2009, at 6:44 PM, Michael Richardson <mcr at sandelman.ca> wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


"Richard" == Richard Kelsey <richard.kelsey at ember.com> writes:
mcr> I guess it might be enough to have a bit that gets turned by the
 mcr> first non-root node that stores DAOs.

Richard> I think you need two bits. One is turned on by the root if
 Richard> it stores DAOs and the other is turned on by any
 Richard> intermediate node that stores them.

I didn't realize that the root could *not* store DAOs...!
I'm trying to imagine how that works.
I can perhaps see how this might be the case with an ungrounded DAG,
where some random DAO-incapable node decides to become the new root.

mcr> If I understand correctly, if the intermediate nodes do not store mcr> DAOs, then they won't have a routing table to other peers, so p2p
 mcr> traffic will have to travel all the way up to the root and out
 mcr> again.

 Richard> Yes.  On the other hand, the DAG formation mechanism works
 Richard> to maximize downward fanout, which in turn maximizes the
 Richard> number of P2P routes that go through the root even if all
 Richard> nodes store DAOs.  For example, if the root has N children
Richard> with roughly equal subgraphs, then each node can reach only
 Richard> 1/N of the network without through the root.

Yeah, I can see how a relatively uniformly distributed DAG would have this property. I can also see where this would not be the case, such as a long linear network, such as a series of lampposts or utility poles
along a rural road... where the grounded node is at one of the road.

It seemed to me like a compromise that the root had to be able to
create source routes so that weaker intermediate nodes could
avoid storing the DAOs. That this wasn't the ideal situation, but
was a compromise.

What happens if we insist all nodes store DAOs? (is it simpler?)

 Richard> That uses too much RAM for us to require it.

Yes, I understand why we can not do it.

You see, I'm asking what the real tradeoff is about this.
If ram and CPU was free, but network bandwidth was not, would we
decide to force all nodes to store DAOs?
JP has suggested that it helps.

It does help when intermediate nodes store DAOs since DAO information should only need to be passed further up towards the root when the info represents a change in outward (to leaves) connectivity. That is, if a node changes parent and reattaches to a new branch that information only needs to travel inward towards the root to the point in the tree that held an outward table containing the given node. Granted it may be in some cases that point is at the root itself. However, in the absence of DAO storage at intermediate nodes a node's change of parent must always be conveyed all the way to the root so that outward connectivity (via source routing) can be supported. For nodes not maintaining state, the change of parent information must always flow back to the root or otherwise to the first DAO storing node (which may then need to update it's parent(s) if the stateless node was not previuosly reachable via the stateful node).

I can see with a linear network where there is traffic up and down the line, that without DAO storing nodes in the middle, traffic has to go
all the way to the end and back.

What happens if we insist that no nodes store DAOs? (is it
simpler?)

 Richard> Do you mean no nodes at all, or no nodes other than the
 Richard> root?

No nodes other than the root....
Nothing would work if nobody knew the routes, right.

 Richard> If only the root stores DAOs, then most of the P2P traffic
 Richard> will go through the root.  As I said above, this is often
Richard> the case even if all node's store DAOs. I think this would
 Richard> be OK.  Even without intermediate DAO storage, routing
 Richard> packets directly to neighbors will reduce the P2P messages
 Richard> traveling through the root.  Devices that require more
 Richard> bandwidth (in or out) can become roots of their own DAGs,
 Richard> as long as the number of such devices is limited.

To summarize, forbidding intermediate nodes to store DAOs:
  - causes a loss in quality for p2p traffic for some topologies,

It also creates additional routing traffic towards the root which is needed so that the reverse path information from the root to the node can be conveyed to the root for subsequent outward routing.

    but for many topologies has a neglible effect
  - causes no change for m2p
  - massively reduces traffic when there is a new parent chosen
  - simplifies the protocol (no need to record who records DAOs)

Not clear why there is a need to know who records DAOs. In response to a new child a parent that does maintain state will add itself to the path information from the child and pass that information to it's parent. That information will pass inward towards the root until a node is encountered that can store the path information and previously supported connectivity to the node at the same cost.

  - removes the need for code to do different things depending
  upon whether there are DAO storing nodes above, when changing
  parents.

The nodes that do not store DAOs can have a consistent behavior while those that do can similarly also be consistent.

Or to be it another way, capable nodes that have the ram to store DAOs
are causing load on less capable nodes.   They aren't being very
helpful.

It seems that the intermediate nodes that do maintain DAOs can limit overhead by avoiding the need for all changes in node connectivity to the DAG from having to always go all the way to the root to provide for maintaining an outward path. Furthermore if only the root stores DAOs the RPL reduces to a source routing protocol which may be an issue.
- --
] He who is tired of Weird Al is tired of life! | firewalls [ ] Michael Richardson, Sandelman Software Works, Ottawa, ON | net architect[ ] mcr at sandelman.ottawa.on.ca http://www.sandelman.ottawa.on.ca/ | device driver[ Kyoto Plus: watch the video <http://www.youtube.com/watch?v=kzx1ycLXQSE >
                then sign the petition.



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Finger me for keys

iQEVAwUBSv4ZbYCLcPvd0N1lAQLyNQf+JhBgKbIXe/Fj9knKJwWuflxOwDndPzHF
AiZIszE8gxjHKUyd7UPC/b7Mf/kQvIO9v05inqaUazjK4a1n9aY6J4/dKONGzpNl
p+DO9LkBo5j9wnSdc6KU3YIgv2apznSxX6Q/FTIh6Jt9yPUcq9wyFUKAETrIqw67
WGxqhkHq58xBWJD5SPfvvun2dnZMXWMOrQ1lICWFO3B14Z0F42wMAr06ZmcNk7ko
xup7hh8HDe2QqJ504PKP9S9C5KrJpHWjEPmLvvJbqUumNnHPOkc5R39XKRNjH1bF
YbuW4YqEixUrTooNjYRZ2s7M+Sv2rDbR4Vur+zXimFthXnWj3fsiKg==
=slpm
-----END PGP SIGNATURE-----
_______________________________________________
Roll mailing list
Roll at ietf.org
https://www.ietf.org/mailman/listinfo/roll

_______________________________________________
Roll mailing list
Roll at ietf.org
https://www.ietf.org/mailman/listinfo/roll

_______________________________________________
Roll mailing list
Roll at ietf.org
https://www.ietf.org/mailman/listinfo/roll


Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.