Subject: [manet] #30 (aodvv2): Use of word "node"

From: "manet issue tracker" <[email-masked]>
Date: Thu, 03 Apr 2014 21:21:18 -0000

#30: Use of word "node"

 (Thomas Clausen) I find the use of "node" unfortunate. I would much prefer
 "router", as this is a protocol running between routers. This applies both
 in the text and in the "terminology mnemonics". I note that the text
 sometimes uses "router" and sometimes "node", and it is not clear that/if
 there is a difference, or if there should be a difference.  The word
 "Router Client" is also used (albeit inconsistently capitalized) as is
 "client".

 An application running on a host has very, very specific expectations as
 to how the underlying IP link behaves. Applications "Expect an IP Link
 that looks like an Ethernet". I believe that it was Dave Thaler that once
 said something like "don't expect Microsoft to rewrite their IP stack..."
 Applications expect what they expect. Even, a protocol such as NDP, which
 an IPv6-host uses to (among other things) configure its interfaces has
 this expectation. Therefore, unless the goal is to explicitly not support
 general applications and general IP stacks, an appropriate link model must
 be presented to hosts.

 Yes, links between MANET routers are not "looking like an Ethernet".
 That's quite alright, as long as the *only* application seeing these
 "MANET links" is the routing application.  Expose the weirdness of "a
 MANET link" to an off-the-shelf app or protocol (such as NDP, mDNS, ...),
 and unpredictable behaviour ensures.

 The way that other MANET routing protocols have taken is, to provide an IP
 hop isolation of the hosts (which run "off the shelf applications") from
 the "MANET links": in other words, a "regular IP link" ties the "host" to
 the "router" and the "router" then has one or more interfaces towards the
 "MANET links".

-- 
-------------------------+-------------------------------------------------
 Reporter:               |      Owner:  draft-ietf-manet-
  [email-masked]  |  [email-masked]
     Type:  defect       |     Status:  new
 Priority:  minor        |  Milestone:
Component:  aodvv2       |    Version:
 Severity:  Active WG    |   Keywords:
  Document               |
-------------------------+-------------------------------------------------

Ticket URL: <http://trac.tools.ietf.org/wg/manet/trac/ticket/30>
manet <http://tools.ietf.org/manet/>

---

From: Abdussalam Baryun <[email-masked]>
Date: Fri, 4 Apr 2014 00:20:46 +0100

I think draft uses node and router the same way it is used in the RFC3561
which is good.  The AODVv2 is protocol between nodes.

AB

On Thursday, April 3, 2014, manet issue tracker wrote:

>   [email-masked] <javascript:;>  |  [email-masked]<javascript:;>
> _______________________________________________
> manet mailing list
> [email-masked] <javascript:;>
> https://www.ietf.org/mailman/listinfo/manet
>

---

From: Thomas Heide Clausen <[email-masked]>
Date: Fri, 4 Apr 2014 01:42:55 +0200

3561 did it wrong.

What is the definition of "node"?

Sent from my iPad

> On 4 avr. 2014, at 01:20, Abdussalam Baryun <[email-masked]> wrote:
> 
> I think draft uses node and router the same way it is used in the RFC3561 which is good.  The AODVv2 is protocol between nodes. 
> 
> AB
> 
>> [email-masked]
> [email-masked]

---

From: Abdussalam Baryun <[email-masked]>
Date: Fri, 4 Apr 2014 01:19:44 +0100

> What is the definition of "node"?

Both documents define their word node clearly, I am not sure what was
wrong. So I will expect you request deleting the word node definition in
this draft. If RFC3561 has one line wrong (even if definition) then we need
to update it. Please explain.

AB

---

From: Teco Boot <[email-masked]>
Date: Fri, 4 Apr 2014 08:24:36 +0200

> What is the definition of "node"?

A node is a router or a host.
A host may run a routing protocol, to learn routes.
A router may forward packets. Hosts do not.

Teco

---

From: Ulrich Herberg <[email-masked]>
Date: Fri, 4 Apr 2014 09:50:49 +0200

Teco,

On Fri, Apr 4, 2014 at 8:24 AM, Teco Boot <[email-masked]> wrote:

>
> Op 4 apr. 2014, om 01:42 heeft Thomas Heide Clausen <
> [email-masked]> het volgende geschreven:
> >

> A host may run a routing protocol, to learn routes.

Do you mean "router" instead of host? Routers usually run routing
protocols, hosts do not.

> A router may forward packets. Hosts do not.

+ Routers send Router Advertisements (RFC4861), hosts do not.

Best regards
Ulrich

---

From: Teco Boot <[email-masked]>
Date: Fri, 4 Apr 2014 15:28:19 +0200

Op 4 apr. 2014, om 09:50 heeft Ulrich Herberg <[email-masked]> het volgende geschreven:

> Do you mean "router" instead of host? Routers usually run routing protocols, hosts do not.

I wrote may.
A node with willingness WILL_NEVER is a host, not a router.

> + Routers send Router Advertisements (RFC4861), hosts do not.

Only IPv6 routers do.

Teco

---

From: "Dearlove, Christopher (UK)" <[email-masked]>
Date: Fri, 4 Apr 2014 13:51:15 +0000

A node with willingness WILL_NEVER is a router - that WILL_NEVER is a routing protocol parameter, i.e. it's running a routing protocol (possibly a cut-down one), i.e. it's a router. If you try just running host software on it, things will break.

-- 
Christopher Dearlove
Senior Principal Engineer, Communications Group
Communications, Networks and Image Analysis Capability
BAE Systems Advanced Technology Centre
West Hanningfield Road, Great Baddow, Chelmsford, CM2 8HN, UK
Tel: +44 1245 242194 |  Fax: +44 1245 242124
[email-masked] | http://www.baesystems.com

BAE Systems (Operations) Limited
Registered Office: Warwick House, PO Box 87, Farnborough Aerospace Centre, Farnborough, Hants, GU14 6YU, UK
Registered in England & Wales No: 1996687

-----Original Message-----
From: manet [mailto:[email-masked]] On Behalf Of Teco Boot
Sent: 04 April 2014 14:28
To: Ulrich Herberg
Cc: [email-masked]; [email-masked]
Subject: Re: [manet] #30 (aodvv2): Use of word "node"

----------------------! WARNING ! ---------------------- This message originates from outside our organisation, either from an external partner or from the internet.
Consider carefully whether you should click on any links, open any attachments or reply.
Follow the 'Report Suspicious Emails' link on IT matters for instructions on reporting suspicious email messages.
--------------------------------------------------------

I wrote may.

Only IPv6 routers do.

Teco

********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************

---

From: Jiazi YI <[email-masked]>
Date: Fri, 4 Apr 2014 15:51:59 +0200

> A node with willingness WILL_NEVER is a host, not a router.

I think the definition of host is very clear:

RFC 1122:

 1.1.1  Internet Hosts

         A host computer, or simply "host," is the ultimate consumer of
         communication services.  A host generally executes application
         programs on behalf of user(s), employing network and/or
         Internet communication services in support of this function.
         An Internet host corresponds to the concept of an "End-System"
         used in the OSI protocol suite [

A router with willingness WILL_NEVER is still a router -- just it's set to
be not forwarding control messages.
Even a router is powered off, it's still a router -- we can't call it a
host, right? :-P

best

Jiazi

---

From: Henning Rogge <[email-masked]>
Date: Fri, 4 Apr 2014 15:59:32 +0200

A router with flooding_willingness WILL_NEVER will just not forward
protocol messages.
A router with routing_willingness WILL_NEVER will just not user
forward traffic between other routers.

but both might still do routing between the mesh and a locally
attached network like an internet gateway.

Henning

---

From: "Dearlove, Christopher (UK)" <[email-masked]>
Date: Fri, 4 Apr 2014 14:19:08 +0000

You don't even need attached networks for a node with willingness WILL_NEVER to do routing functions (though of course they are a good point). A locally generated packet needs a next hop address. That requires a routing protocol.

(It could be a very bad routing protocol, such as just listen for routers, pick the first one you hear, and use that. But that's still not a host function. And what will that router do without you having exchanged routing signalling with it?)

-----Original Message-----
From: manet [mailto:[email-masked]] On Behalf Of Henning Rogge
Sent: 04 April 2014 15:00
To: Teco Boot
Cc: [email-masked]; [email-masked]
Subject: Re: [manet] #30 (aodvv2): Use of word "node"

A router with flooding_willingness WILL_NEVER will just not forward protocol messages.
A router with routing_willingness WILL_NEVER will just not user forward traffic between other routers.

but both might still do routing between the mesh and a locally attached network like an internet gateway.

Henning

---

From: "Timothy J. Salo" <[email-masked]>
Date: Fri, 04 Apr 2014 10:57:23 -0500

>     A node is a router or a host.

This appears to me to be a [nearly] universally accepted definition of 
"node".
I don't ever recall anyone quibbling with this definition before.
>     A host may run a routing protocol, to learn routes.

Particularly a host with multiple interfaces.

> Do you mean "router" instead of host? Routers usually run routing 

A host MAY run a routing protocol.  True, hosts USUALLY do not. But, in
my view, and I believe in the view of much of the known universe, running a
routing protocol doesn't make a host become a router.

-tjs

---

From: Thomas Clausen <[email-masked]>
Date: Fri, 4 Apr 2014 19:26:33 +0200

On 04 Apr 2014, at 17:57, Timothy J. Salo <[email-masked]> wrote:

> This appears to me to be a [nearly] universally accepted definition of "node".

If a device runs (or not) a given piece of software at any given time is actually a red herring.

When you say "host" you say "applications running on hosts", such as - for example - iTunes or a web browser. Applications running on hosts have very specific expectations as to what the links (that they are exposed to) look like, and how its own, and the other, interfaces on these links are configured (on-link prefixes, ...)

So, saying "host" means something: it means that it is possible to run these applications, unmodified, and have them work as they're supposed to. It's a "contract".

Similarly, we're "used to" routers facing strange looking connectivities and configurations, such as links with unnumbered interfaces, or NBMA links, and such stuff -- that would confuse the heck out of an application otherwise intended to run on a host. That's alright, a "router" is explicitly something that's supposed to be capable of handling that "strangeness" -- and, on a host-facing interface, present something which matches what applications running on a host would expect.

Saying "node" as a cop-out for "host or router or white elephant" essentially means, that one does not know if a device is either (and which) of the above.

That's a problem.

And, if I may, I have not actually found any situation and any well-specified protocol, wherein it was not possible to concisely use, or have used, the terms "host" or "router". I've not managed to work that out for this I-D (and, I am also confused by the term "Router Client" in this I-D, which makes even less sense than "node" - but perhaps they're the same).

---

From: Christopher Dearlove <[email-masked]>
Date: Fri, 4 Apr 2014 22:15:05 +0100

RFC 2501 does not define node that way.

---

From: "Timothy J. Salo" <[email-masked]>
Date: Fri, 04 Apr 2014 16:44:09 -0500

> RFC 2501 does not define node that way.

To the contrary, RFC 2501 doesn't appear to define "node" at all.  In
fact, RFC 2501 appears to be careful to use the conventional definition
of "node", namely a network device that could be either a host or a
router.

See for example, the following text from RFC 2501.

   The vision of mobile ad hoc networking is to support robust and
   efficient operation in mobile wireless networks by incorporating
   routing functionality into mobile nodes.

This is the first use of "node".  This use is not inconsistent with
the notion that a node could be either a host or a router.  Rather,
it says that in MANETs, routing functionality is incorporated into
mobile nodes.

   nodes--which may be combined routers and hosts--

This is the second use of "node".  It appears consistent with the
generally accepted use of "node", namely a network device that
could be either a host or a router.

   A MANET consists of mobile platforms (e.g., a router with multiple
   hosts and wireless communications devices)--herein simply referred to
   as "nodes"--which are free to move about arbitrarily.

This is the closest that RFC 2501 comes to defining "node".  All it
says is that nodes in a MANET are mobile.  It further gives an
_example_, not a definition.

   A MANET node principally consists of a router, ...

RFC 2501 _does_ appear to introduce a new term, "MANET node".  But, the
authors appear to be careful to not conflict with the conventional use
of "node".

Finally, the title of RFC 2501 is: "Mobile Ad hoc Networking (MANET):
Routing Protocol Performance Issues and Evaluation Considerations".
This hardly looks like a document that intends to mandate terminology
for use in subsequent documents.

It really appears to me that claiming RFC 2501 provides some important
precedence is, as has been said recently, a red herring.

-tjs

---

From: Joe Macker <[email-masked]>
Date: Fri, 4 Apr 2014 18:23:29 -0400

RFC 2501 was not mandating terminology nor did it claim to.

It was an informational document to raise issues and design considerations relating to a particular problem space.

And certainly there are always more issues to consider than it raised at the time.

-joe

"To everything there is a season. A time to weep, and a time to laugh; a time to model using a graph"

---

From: Christopher Dearlove <[email-masked]>
Date: Fri, 4 Apr 2014 23:26:49 +0100

We seem to be reading different RFC 2501s. Try Section 3. Also Section 1 which refers to a composite of the two. It's essentially defining a node as a mobile platform, and every example contains a router.

--  
Christopher Dearlove
[email-masked] (iPhone)
[email-masked] (home)

---

From: Thomas Heide Clausen <[email-masked]>
Date: Sat, 5 Apr 2014 00:29:07 +0200

I don't think that I claimed that 2501 did any of those things, Joe. 

-- 
Thomas Heide Clausen
http://www.thomasclausen.org

"Today's scientists have substituted mathematics for 
  experiments, and they wander off through equation 
  after equation, and eventually  build a structure 
  which has no relation to reality."
 - Nikola Tesla, 
    Modern Mechanics and Inventions, July, 1934

> On 5 avr. 2014, at 00:23, Joe Macker <[email-masked]> wrote:
>

---

From: Christopher Dearlove <[email-masked]>
Date: Fri, 4 Apr 2014 23:34:32 +0100

However, it clearly shows that not everyone uses the word node identically. For that matter RFC 3626 defines a node as a router.

In other words, best not to use the word without defining it.

> On 4 Apr 2014, at 23:23, Joe Macker <[email-masked]> wrote:
>

---

From: Abdussalam Baryun <[email-masked]>
Date: Sat, 5 Apr 2014 00:32:12 +0100

The node is defined in RFC3561 which was published before RFC3626. Both
published by the WG, but the definition of RFC3561 is the best suitable for
AODVv2. The definition of node in RFC3626 is best suitable for OLSRv2.

AB

On Friday, April 4, 2014, Christopher Dearlove wrote:

> However, it clearly shows that not everyone uses the word node
> identically. For that matter RFC 3626 defines a node as a router.
>
> [email-masked] <javascript:;> (iPhone)
> [email-masked] <javascript:;> (home)
>
> > It was an informational document to raise issues and design
> considerations relating to a particular problem space.
> >
> >>> I think draft uses node and router the same way it is used in the
> RFC3561 which is good.  The AODVv2 is protocol between nodes.
> >>>
> >>> AB
> >>>

---

From: Thomas Heide Clausen <[email-masked]>
Date: Sat, 5 Apr 2014 01:39:56 +0200

Why?

Sent from my iPad

> On 5 avr. 2014, at 01:32, Abdussalam Baryun <[email-masked]> wrote:
> 
> The node is defined in RFC3561 which was published before RFC3626. Both published by the WG, but the definition of RFC3561 is the best suitable for AODVv2. The definition of node in RFC3626 is best suitable for OLSRv2. 
> 
> AB
>

---

From: Joe Macker <[email-masked]>
Date: Fri, 4 Apr 2014 20:23:52 -0400

I didnt think you did.
I was commenting on another part of the thread but misclicked in reply.

-joe

---

From: Christopher Dearlove <[email-masked]>
Date: Sat, 5 Apr 2014 02:58:05 +0100

Well I brought up 2501, but just to point out it used the term node differently, so the claim that the term was universally agreed wasn't so. 3626 also provided a data point there. So it's best not to use the term undefined. But I didn't make the other points Joe suggests either.

> On 5 Apr 2014, at 01:23, Joe Macker <[email-masked]> wrote:
> 
> I didnt think you did.

---

From: Joe Macker <[email-masked]>
Date: Fri, 4 Apr 2014 22:11:21 -0400

right chris I was not responding to your comments just confirming that 2501 did not claim to mandate any terminology definition of node.

I prefer router myself when I talk about something that does routing 
but I do occassionally like to use node when I talk about graph theory ;-)

---

From: Christopher Dearlove <[email-masked]>
Date: Sat, 5 Apr 2014 09:18:33 +0100

Graph theory is where node is at home.

> On 5 Apr 2014, at 03:11, Joe Macker <[email-masked]> wrote:
>

---

From: Abdussalam Baryun <[email-masked]>
Date: Sat, 5 Apr 2014 10:05:24 +0100

IMO the RFC2501 should have defined MANET nodes or even explain what is
talking about. Any informational work should be clear if it wants to have
good information. I remember I asked the WG before to update this old
informational RFC but most disagreed. Now most say it is not defining the
principle of node.

AB

On Saturday, April 5, 2014, Joe Macker wrote:

> right chris I was not responding to your comments just confirming that
> 2501 did not claim to mandate any terminology definition of node.
>
> > Well I brought up 2501, but just to point out it used the term node
> differently, so the claim that the term was universally agreed wasn't so.
> 3626 also provided a data point there. So it's best not to use the term
> undefined. But I didn't make the other points Joe suggests either.
> >
> > --
> > Christopher Dearlove
> >>>>>> that looks like an Ethernet". I believe that it was Dave Thaler
> that o

---

From: Thomas Heide Clausen <[email-masked]>
Date: Sat, 5 Apr 2014 11:15:08 +0200

Agreed.

Sent from my iPad

> On 5 avr. 2014, at 10:18, Christopher Dearlove <[email-masked]> wrote:
>

---

From: Abdussalam Baryun <[email-masked]>
Date: Sat, 5 Apr 2014 10:39:49 +0100

Hi Thomas,

The MANET reactive (as AODV) protocol is busy depending on dynamic number
of sources within MANET. And MANET proactive (as OLSR) protocol is busy
depending of dynamic number of routers within MANET. So IMO each
protocol defined their node in the suitable way of its busy work/concept.
Comments below,

> AODVv2. The definition of node in RFC3626 is best suitable for OLSRv2.
-----------------------

> Yes I agree with you totally. So the RFC2501  should have defined
the  manet-node word clearly, or mention your statement that there are
different definitions. Don't you think?

---

From: Thomas Heide Clausen <[email-masked]>
Date: Sat, 5 Apr 2014 12:39:02 +0200

> On 5 avr. 2014, at 11:39, Abdussalam Baryun <[email-masked]> wrote:
> 
> Hi Thomas,
> 
> The MANET reactive (as AODV) protocol is busy depending on dynamic number of sources within MANET. And MANET proactive (as OLSR) protocol is busy depending of dynamic number of routers within MANET. So IMO each protocol defined their node in the suitable way of its busy work/concept. Comments below,

Thank you for explaining to me what a proactive and reactive protocol is (!)

That does, however, not answer to, nor relate to, my question. So let me try once again, and to be more explicit:

Why do you believe that *this* reactive protocol cannot use the regularly accepted terms "host" and "router", and needs to "invent" some other (undefined) term? 

Especially, when a proactive protocol can, and does, use these terms. And especially as LOADng - another reactive protocol - can, and does, use these terms.

Also, comments below.

> Yes I agree with you totally. So the RFC2501  should have defined the  manet-node word clearly, or mention your statement that there are different definitions. Don't you think?
> 

No, that would be a really, really, horrible idea.

We already have the terms "host" and "router", which are well defined, descriptive, largely sufficient, and convey meaning (such as, as I indicated in a previous email, what expectation a process can have to interface and link configuration).

There is nothing gained by coming up with another term, that has no clear semantics, and which doesn't map into something to which also application classes map.

Thomas

---

From: Thomas Heide Clausen <[email-masked]>
Date: Sat, 5 Apr 2014 13:20:52 +0200

> On 5 avr. 2014, at 11:05, Abdussalam Baryun <[email-masked]> wrote:
> 
> IMO the RFC2501 should have defined MANET nodes or even explain what is talking about. Any informational work should be clear if it wants to have good information. I remember I asked the WG before to update this old informational RFC but most disagreed. Now most say it is not defining the principle of node. 
> 

Abdussalam,

It's fine to say that you "asked the WG before to update this old informational RFC", but that's really going about it the wrong way: the WG doesn't "work for you", but offers a place to for you to (perhaps) do work.

The way it works in the IETF is, that if *you* feel that something needs to be done, documented, then *you* write a draft...with that in hand, *you* try to get consensus for that I-D. First, in a WG for adopting it as WG document (subsequent to which the I-D is beholden to WG consensus, and must adapt to reflect that -- and not to the authors' whims), and, ultimately, seek IETF wide consensus for publication as RFC.

So, if you feel that an update to RFC2501 is needed, then write a draft with what updates you think are required, and see if there's consensus for those.

Thomas

>> >>>>>> that looks like an Ethernet". I believe that it was Dave Thaler that o

---

From: Daniel He <[email-masked]>
Date: Sat, 5 Apr 2014 12:24:20 +0100

I  agree Thomas' argument. Node is not a proper word in this document.
It is too vague, not defined any functions at all.

Router is a specific device. it must forward messages, and does routing
function. I think MANET document should use router consistently!

Dan

On 5 April 2014 11:39, Thomas Heide Clausen <[email-masked]> wrote:

> Why do you believe that *this* reactive protocol cannot use the regularly
> accepted terms "host" and "router", and needs to "invent" some other
> (undefined) term?
>
> Especially, when a proactive protocol can, and does, use these terms. And
> especially as LOADng - another reactive protocol - can, and does, use these
> terms.
>
> Also, comments below.
>
> We already have the terms "host" and "router", which are well defined,
> descriptive, largely sufficient, and convey meaning (such as, as I
> indicated in a previous email, what expectation a process can have to
> interface and link configuration).
>
> There is nothing gained by coming up with another term, that has no clear
> semantics, and which doesn't map into something to which also application
> classes map.
>
> Thomas
>
>
> --
>> Christopher Dearlove

---

From: Christopher Dearlove <[email-masked]>
Date: Sat, 5 Apr 2014 15:31:04 +0100

You could have some hosts. But there will be constraints on them. You'd have to write what routers do and what hosts do. Making a more complicated protocol, with reduced performance over everything a router. You can't just say "there are routers and hosts, they all do this".

> On 5 Apr 2014, at 12:24, Daniel He <[email-masked]> wrote:
>