Subject: [Autoconf] Re:subnet model

From: "Ian Chakeres" <[email-masked]>
Date: Wed, 4 Oct 2006 13:20:36 -0700

In response to the term "subnet model", I don't think that MANETs
impose any new constraints. I will elaborate with my comments inline.

BTW: I've submitted ARCH-01 to [email-masked]. Once it is on the server,
I'll send notice to the list.

On 10/4/06, Thomas Narten <[email-masked]> wrote:
> Hi Ralph.
>
> > Thomas - I agree that some additional detail in fundamental assumptions is
> > needed.  But, I think we need a better term than "subnet model".  I think
> > you mean "basic assumptions about L2 delivery that affect IP".  For example,
> > IPoEthernet assumes every transmission reaches every node, every node has a
> > unique L2 address, there is an MTU, there is a broadcast mechanism, there is
> > a multicast mechanism, etc.
>
> Actually, after thinking a bit about this, I think I do mean "subnet
> model". This is all about defining the abstraction that IP sees. From
> IP's perspective, what does a manet network look like?
>
> But, let's dig deeper. Some questions:
>
> 1) What is the scope of an IP "link" or "subnet"? That is, if one has
>    a manet (which consists of many routers and hosts), which hosts are
>    considered (from IP's perspective) to be on the same "link", and
>    thus can communicate directly with each other (without having to
>    forward traffic through a router)? Note that here, I'm using the term "link", and one could
>    assume link-local addressing is in use.

When a link local message is transmitted, then all nodes within one IP
hop receive the message. I don't think MANET imposes any change to
this definition.

> 2) Are there "subnets" in a manet? That is, is there a prefix that
>    covers multiple nodes? that is, where all the nodes on that subnet
>    can reach each other (directly, without going through a router)? Or
>    stated differently, are there subnets where all the nodes on that
>    subnet can be assigned addresses out of the same prefix (and that
>    can reach each other directly)?

I would say that in the most general case, a MANET router cannot make
assumptions about the IP addresses of other MANET routers that are
reachable using link local communication. That is not to say that a
MANET router cannot be configured to make this assumption, if it is
true. Again, I don't think that MANET imposes any change to existing
definitions in this respect. I elaborate a little more below about
hosts.

> 3) What type of link does a "host" connect to? Is it essentially just
>    a p2p link between itself and a router? Is a manet nothing more
>    than a set of links, each of which is p2p?

I think Joe addressed this question, but I will reiterate it here. A
router supports attached prefixes. I think that hosts connect to the
larger network by using a router.

> Consider Figure 1 in chakeres-manet-arch. It only shows routers. I'd
> like a corresponding figure that also shows hosts, and gives example
> IP address assignments, and shows where the IP subnets are.

If we look at a router, there might be several attached hosts. These
hosts might possibly be in the same prefix to allow easy aggregation
and advertisement in the routing protocol.

Here is an example (pardon the ascii art)

     \|/
      |   wireless interface participating in MANET
[RT1]
    |  wired interface for attached hosts
----------------------------
     |              |
 [host1]       [host2]

Ian Chakeres

_______________________________________________
Autoconf mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/autoconf

---

From: Thomas Narten <[email-masked]>
Date: Wed, 04 Oct 2006 21:29:25 -0400

> hop receive the message. I don't think MANET imposes any change to

I don't understand what this means. This is more like an L2 statement
that says "anyone within range gets the packet".

What I'm asking is, what defines "one subnet hop"? Which nodes are
attached the same link? Which are not? What is the distinction between
those nodes? How does a node know which link it is attached to, since
presumably there are presumably overlapping regions in some cases.

In conventional links, the answer is obvious, because you don't have
overlapping links. One is attached to one link, or another, but you
don't have situations where the link is as ill-defined as "receives
the signal". In comparison, with manets, one presumably has situations
where those in the middle of a radio area can receive packets from all
nodes, whereas those at the edges may not receive packets from those
at the other edge.

> definitions in this respect. I elaborate a little more below about

Again, I don't understand this answer. Is there a notion with manets
that three hosts, say A, B & C are on the same subnet, but node D & E
are on different subnets? This is a very basic concept with IP (i.e.,
A, B & C would be on one ethernet, D & E would be on another). Nodes
A, B & C would have addresses on thes same subnet (and on the same
subnet prefix), where D & E would have addresses corresponding to
different subnet prefixes

Is there a corresponding model with manets?

> larger network by using a router.

Again, I don't understand this response (or it doesn't answere what
I'm trying to ask).

Is a link a point-to-point link (from IP's perspective)? one that can
have exactly to devices attached to it? Or is it something else?

Again, I think it might really help to give some actual examples with
(possible) IP addresses and (possible) subnet prefixes/masks.

> and advertisement in the routing protocol.

Might? Or might not? Again, this sort of vague answer just doesn't
help explain anything to me.

>     |  wired interface for attached hosts

How about this example:

[RT1] - H1
      - H2
      - H3
      - H4

(All hosts connected to RT1).

What IP addresses are assigned to H1-H4? What subnet prefix (if any)
is assigned to the "link" (which is what I imagine the set of RT1 and
H1-H4 would be). Can H1 talk to H3 directly without going through RT1
(at the IP layer)?

Thomas

---

From: "Ian Chakeres" <[email-masked]>
Date: Wed, 4 Oct 2006 19:17:59 -0700

A link is defined as:
      A communications facility at a layer below IP, over which nodes
      exchange IP packets directly without decrementing IP TTL (Hop
      Limit).

Other comments inline.

> presumably there are presumably overlapping regions in some cases.

Can you please define subnet hop?

In MANET, the MANET routers may not know beforehand which other MANET
routers are nearby. They will need to learn about nearby MANET routers
using link local messaging.

> nodes, whereas those at the edges may not receive packets from those

What is a conventional link? Is it a link that does not exhibit
asymmetric reachability?

> Is there a corresponding model with manets?

If two nodes will reliably be able to communicate using one IP hop,
then they can (and probably should) be configured in the same
subnet/prefix.

MANET routing protocols support the aggregation of IP addresses using
the subnet/prefix concept.

I would also like to state that A/B/C & D/E could be on the same
Ethernet segment and still configured to be in two different subnets.
If the nodes were so configured, their link local communications would
reach A/B/C/D/E and they could learn about each other.

> have exactly to devices attached to it? Or is it something else?

In MANET we do not need to add attach any additional criteria to the
term link. It is simply a communication facility below IP.

We have in general assumed that the MANET WG protocols will often be
run over semi-broadcast interfaces, exhibiting both non-transitive and
non-reflexive behaviors.  We have tailored our routing protocols for
this environment. I would say the protocols work equally well in
broadcast networks that exhibit both transitive and reflexive
behaviors.

> H1-H4 would be). Can H1 talk to H3 directly without going through RT1

Let us assume that RT1 and H[1-4] are attached to the same Ethernet
segment. The IP addresses of all the nodes could be configured in the
same subnet prefix. Alternatively, each node's interface could be
configured in its own subnet prefix.

Independent of a node's configured prefix, the node's routing table
would determine whether they spoke directly to another node or through
the router.

In a MANET, MANET routers' semi-broadcast interfaces will likely have
IP addresses. In respect to any one MANET router's interface, they
will likely assume that only themselves are directly reachable. Unless
other nodes are connected and the router is configured with this
knowledge. The MANET routers will need to use link local messaging
(one IP hop) to learn about other nearby MANET routers.

I hope I have addressed your questions.
Ian Chakeres

---

From: Thomas Narten <[email-masked]>
Date: Wed, 04 Oct 2006 22:36:16 -0400

>       exchange IP packets directly without decrementing IP TTL (Hop

This is a somewhat funny definition, IMO. If such nodes can exchange
packets "directly" at L2, by defintion the IP TTL would not be
decremented. The IP TTL gets decremented only if a packet is
forwarded/processed at the IP layer.

Is this then just the standard definition of a link as is commonly
used in both IPv4 and IPv6? E.g., from 2460:

   link        - a communication facility or medium over which nodes can
                 communicate at the link layer, i.e., the layer
                 immediately below IPv6.  Examples are Ethernets (simple
                 or bridged); PPP links; X.25, Frame Relay, or ATM
                 networks; and internet (or higher) layer "tunnels",
                 such as tunnels over IPv4 or IPv6 itself.

Note, in the above context, it is assumed that "at the link layer"
means an IP packet will be delivered unmodified, i.e., without
decrementing the IP TTL.

> Can you please define subnet hop?

The set of nodes that are all connected to the same link, and can each
send directly to each other. By analogy, this is a typical L2 link
over which an IP "subnet" is configured (e.g., an ethernet).

> using link local messaging.

You keep dragging in "other manet routers". I'd like to understand
what a single "link" or "subnet" is, without dragging in other routers
that (presumbly) are (at least in many cases) on other links.

Or, the set of nodes and manet routers that can all send packets
directly to each other.

> What is a conventional link? Is it a link that does not exhibit

Yes. All links on which IP runs today are always reachable in both
directions. When that isn't the case, IP doesn't run normally. 

> then they can (and probably should) be configured in the same

OK. so manets do have the notion of subnets, as is commonly assumed in
IP.

> the subnet/prefix concept.

I don't want to hear about manet routing protocols. We should be able
to talk about the subnet model/architecture without getting into
specific manet routing protocols.

> Ethernet segment and still configured to be in two different
> subnets.  If the nodes were so configured, their link local
> communications would reach A/B/C/D/E and they could learn about each
> other.

yes, but let's keep it simple for now because in practice, if they
were on different L2 links as I originally described, they would be
configured as above.

in other words, don't make the picture more complicated when we seem
to be having such a disconnect on even the most basic concepts!

> broadcast networks that exhibit both transitive and reflexive

Again, don't talk about routing protocols. If you have asymetric
"interfaces", what is the subnet model? going back to the A/B/C/RT1
example, if A can't reach B directly, can they be on the same IP
subnet? And how do packets get from A to B? Via RT1? and is this
visible to IP (e.g., by decrementing a TTL)?

> segment.

Argh!!!! I think we all know about ethernets (and conventional links).

Assume the above is a manet. How would the addresses and subnet
prefixes be configured? Exactly the same way? 

Thomas

---

From: "Ian Chakeres" <[email-masked]>
Date: Wed, 4 Oct 2006 20:10:49 -0700

Comments inline.

> means an IP packet will be delivered unmodified, i.e., without

Sounds good. Yes, the standard terminology applies.

> over which an IP "subnet" is configured (e.g., an ethernet).

I would say that a subnet is a configured option/concept and not
inherent to a link. Perhaps this is where the misunderstanding lies. A
subnet and a "communication" link are not the same.

This is the reason I discussed the case where A/B/C/D/E are on the
same link yet the nodes might be configured in different subnets.

> directions. When that isn't the case, IP doesn't run normally.

Note: This discussion is a bit off topic. I would say that IP runs
normally even on unidirectional links (e.g. satellite). In many cases,
reachablity through via multiple hops (routing) is sufficient. I admit
that certain IP protocols do not work well over this type of
communication link.

> visible to IP (e.g., by decrementing a TTL)?

I think that if two nodes cannot communicate directly, they should not
be configured to believe they can. That is to say, they should not be
configured to believe they are in same subnet.

> prefixes be configured? Exactly the same way?

The above is not representative of a MANET. That said, the IP address
allocation and configuration of hosts behind a MANET router is no
different from existing router/host interactions.

Ian Chakeres

---

From: Christophe Jelger <[email-masked]>
Date: Thu, 05 Oct 2006 12:00:37 +0200

Hi all,

[sorry for the long email]

I think the current discussion is interesting but it embraces too many 
things that have little to do with IP subneting. I agree with Thomas N. 
that things like link properties, routing protocol details, and 
connectivity dynamics are out of scope wrt defining what is or what is 
not a MANET subnet. Subnetting relates to addressing and routing 
aggregation: whatever techniques are used to allocate addresses and 
prefixes and setup (aggregated) routing entries is an implementation 
issue (yet not always an easy one).

For example for say IPv6, if one wants a MANET model without subnet then 
all routers and hosts are configured with a /128 and routing is flat. 
How addresses are assigned (to both routers and hosts), how routing is 
established (reactive or proactive), and how links "operate" does not 
change the model: it's flat, and all routing entries are /128.

Now if the model is that each MANET router "is" a subnet that comprises 
itself and hosts attached to it, we can specify e.g. that a MR gets a 
/64, and routing between MRs is based on /64 routing entries. Hosts 
attached to a MR get an address from the MR's /64. Now again how this is 
achieved does not change the model. For example, "routing" between hosts 
that share a /64 (all attached to the same MR) can be direct (hosts are 
neighbors) or via the MR.

Now if one wants to aggregate more, one can specify the target goal 
(e.g. all MRs share a given prefix, say a /48), define how routing is 
performed between MRs (maybe still with /64s), and then write protocols 
that can do this in one way or another: again what matters is the model, 
not how you implement it.

I think the whole discussion is biased because there is no common 
agreement about the objectives of MANET autoconfiguration. In the 
Internet, addresses are administratively assigned to RIRs, LIRs, etc and 
a subnet is something that has administrative boundaries. A human user 
assigns prefixes, and autoconfiguration only takes place for hosts (via 
DHCP or SAA). One can see a subnet as the entity that "owns" a given 
address space, as my university owns a /48 and the CS department owns a 
few /64s. This is actually merely done for IP routing to scale, and to 
avoid 2 sites from using the same addresses. It's all about how the 
Internet is topologically organized.

Now how does this relate to MANETs? First a MANET is made of routers, so 
we do router autoconfiguration and possibly host autoconfiguration (for 
hosts attached to MRs). Second and more importantly, MANET routers do 
not necessarily belong to an administrative authority and this is a big 
difference compared to the Internet. Also a MANET is not always 
connected to the Internet, so we don't always have to follow existing 
rules. To me this is the kind of discussions that should appear in the 
MANET-arch document. One could then extract scenarios that will be 
considered by the WG. I see 4 of them:

- flat: all nodes have /128, routing entries are /128. An MR has to take 
care of routing for hosts attached to it, and hosts have a default route 
pointing to the MR they are attached to
- semi-flat: all routers own a /64, they delegate /128 to hosts attached 
to them, routing entries in routers are /64, hosts have a default route 
pointing to the MR they are attached to
- coherent: all MRs share a given prefix. For example for an 
Internet-connected MANET this could an Internet routeable /48, and for 
an isolated MANET this could a reserved prefix by IANA for MANETs (e.g. 
MANET-local prefix).
- clustered: some (topologically close) MRs share a given prefix, and 
routing entries to this cluster may be aggregated. Example is a MANET 
with multiple gateways to the Internet or a very large isolated MANET 
that need routing aggregation for scalability reasons.

I think that MANET-arch-00 would have been a very good document for the 
MANET WG when it started, but I currently don't see how it fits into the 
AUTOCONF framework.

best regards,
Christophe

---

From: Thomas Narten <[email-masked]>
Date: Thu, 05 Oct 2006 09:56:05 -0400

Thank you Christophe. I agree with pretty much everything you say.

Christophe Jelger <[email-masked]> writes:

> agreement about the objectives of MANET autoconfiguration.

Well, that is what I'm trying to understand. And if people can't
explain it, or write it down in a document (even if this is only 2
pages), then we (this WG and the IETF) do not have agreement, and the
obvious implication is that none of the work being worked on in this
space is going to go anywhere. Thus, attempts to brush these questions
off as unimportant or trivial (rather than actually answering them)
while preferring to work on solutions is (IMO) a doomed strategy. I
assume the real goal is to get documents out that can be approved by
the broader community and IESG!

> Now how does this relate to MANETs? First a MANET is made of
> routers,

And indeed, one question I have is "are all nodes routers?" Who
decides whether one wants to be just a host or a router? And how does
that change things? (I assume there will be dumb hosts that don't want
to be routers -- is that a shared assumption?)

> so we do router autoconfiguration and possibly host
> autoconfiguration (for hosts attached to MRs). Second and more
> importantly, MANET routers do not necessarily belong to an
> administrative authority and this is a big difference compared to
> the Internet.

Yes, but I wonder if this too is a distraction. Whether a manet is
connected to the Public internet or not, doesn't seem (to me) to have
any impact on its subnet model. The only impact would be what
addresses the nodes have (publically routable vs. private/site local).

Indeed, another question that comes to my mind is, how does the
autoconf problem in manets compare/relate to the zrouter (zero config
router) BOFs that were held at one point, where the goal was to
autoconfigure the subnets within an autonomous area. How is the work
here similar, and how does it differ?

> Also a MANET is not always connected to the Internet, so we don't
> always have to follow existing rules.

But there presumably still needs to be some basic assumptions about
what a subnet is, how the addresses on a subnet relate to each other,
etc., regadless of whether the manet is connected to the internet.

> To me this is the kind of discussions that should appear in the

> that need routing aggregation for scalability reasons.

Yep, the above are the kinds of questions I have. Just what is being
proposed? (and answering "any and all of them" is not the answer I'm
looking for!)

Thomas

---

From: "Joe Macker" <[email-masked]>
Date: Thu, 5 Oct 2006 12:41:11 -0400

Thomas/All:

Just some thoughts here. Hopefully they add to the discussion.

Regarding the router/host question that keeps coming up. I think we really
are talking about configuring routers and associated prefixes (for networks
behind the routers) if we do our job right. It would be good to review any
related zrouter issues but I believe there are more than zero configuration
issues as well.  Also, we sometimes in MANET routing designs have modes were
a node is not actively forwarding (for policy or energy reasons) but is
running a MANET routing code. I view these nodes as routers or MRs since
they can become active L3 forwarders dynamically.  Attached hosts and
prefixes behind the router are just that IMO as with the normal IP model
(e.g., vehicular LANS,etc).

I do believe multiple deployment models have been envisioned to manage
addressing and interconnection for MANET routing in particular ways.  In
particular, I have a working MANET testbed running two very different
addressing approach.  Just as for host configuration this may lead to
alternate solutions that are valid and solve different scenarios (e.g.,
zrouter type vs more stateful DHCP with relay agents,etc).  We need to
discuss scenarios to understand this better.  Does the group want to define
both of those types ? .. perhaps not but the discussion should happen.  The
fixed Internet has both types and they are both valid.  Even hybrid
stateful/stateless autoconf can make sense as we see with IPv6. These are
just examples but the rationale would be driven by deployment scenarios as
you suggest.

I think we can discuss that.

> directions. When that isn't the case, IP doesn't run normally.

Also on this point, even without MANET, IP is running on wireless links
everyday all over the world (e.g., 802.11) that are ONLY Temporally not
Always bidirectional.  I certainly have better antennas at my access point
in my house than in my portable devices and there are lost link packets in
both directions for various environmental reasons and its not as simple as
an out-of-range issue.  Rather than always, I would say we need some
statistically significant reachability in both directions for many protocols
in the IP stack to run normally and this varies dependent upon the protocol
design assumptions and transport layer. Certainly with mobile routers we are
attempting to improve this situation by defining neighbor bidirectionality
testing and status maintenance for IP prior to declaring a valid useable
link.  We could or course borrow L2 bidirectional neighbor status if that
information is available.

-Joe

>-----Original Message-----
>From: Thomas Narten [mailto:[email-masked]] 
>Sent: Thursday, October 05, 2006 9:56 AM
>To: Christophe Jelger
>Cc: [email-masked]
>Subject: Re: [Autoconf] Subnet model 
>
>Well, that is what I'm trying to understand. And if people 
>can't explain it, or write it down in a document (even if this 
>is only 2 pages), then we (this WG and the IETF) do not have 
>agreement, and the obvious implication is that none of the 
>work being worked on in this space is going to go anywhere. 
>Thus, attempts to brush these questions off as unimportant or 
>trivial (rather than actually answering them) while preferring 
>to work on solutions is (IMO) a doomed strategy. I assume the 
>real goal is to get documents out that can be approved by the 
>broader community and IESG!
>

---

From: "Charles E. Perkins" <[email-masked]>
Date: Thu, 05 Oct 2006 12:18:58 -0700

Hello Thomas,

It is important to allow a manet that consists of a lot of
point-to-point links without enforcing subnet definitions
on those links.

The endpoints of these communication links are called
neighbors, and neighbors do not have to share a common
subnet prefix for their IP addresses.  This behavior is
pretty much the same as with Mobile IP.  Suppose that
a mobile node encounters a foreign agent and sets up
communication using the care-of address offered by the
foreign agent (i.e., not using a co-located care-of address).
The node can register by way of that foreign agent, and
communicate with the foreign agent, even though the mobile
node and the foreign agent do not have a common subnet
prefix.

The addresses of the mobile node and the foreign agent are
not on the same subnet, but the two nodes clearly have an
established communication link.

That communication link is important for the IP communication
between the two nodes -- just as the communication link
between any two manet nodes is important for them to
communicate.

A few comments inline.

>> then they can (and probably should) be configured in the same
I do not agree with this.
> OK. so manets do have the notion of subnets, as is commonly assumed in
I also do not agree that manets necessarily have a notion of subnets.
> specific manet routing protocols.
That is true, but on the other hand we should be able to talk about manet
routing protocols and address autoconfiguration in situations where there
are not any subnets (except perhaps for the trivial subnet consisting of
just one node).
>> term link. It is simply a communication facility below IP.
Check!

Regards,
Charlie P.

-- 
Please address return e-mail to [email-masked]