Subject: Re: [Autoconf] Subnet definition

From: Emmanuel Baccelli <[email-masked]>
Date: Thu, 20 Nov 2008 17:30:14 +0100

Maybe we are hitting the heart of the misunderstanding. I think we
should indeed distinguish prefix and subnet terms, and stick to
something like:

- a prefix is a contiguous range of IP addresses.
- a subnet is a set of IP addresses (that may or may not be a prefix)
that are on the same link. All these addresses are then on-link with
respect to this link.
- a link is what L2 provides, which reaches everything within TTL 1
beyond a given interface.

If we stick to these definitions, we will indeed save ourselves lots of
trouble. Do you agree?
Emmanuel

On Thu, Nov 20, 2008 at 3:39 PM, Thomas Narten <[email-masked]> wrote:
I agree that we need a clean definition of subnet. The term is
overloaded and different people have different meanings associated
with it. That has contributed to confusion in the discussions...

Note also that I think Erik's observation about "on-link" being a key
issue to also be clear about is correct.

"Charles E. Perkins" <[email-masked]> writes:

> A "subnet" is a contiguous range of IP addresses that
> admits a routing prefix.

I'd change that as follows (to highlight the properties that are
important to us):

A "subnet" is the range of IP addresses that are covered by a
prefix. All that a subnet defines is which addresses are considered to
be on the subnet and which are not.

In many cases (in IPv4) there is a one-to-one mapping between a subnet
and a link. I.e., on an Ethernet, you assign a subnet to the ethernet
link.  All the addresses covered by the prefix are assumed to reside
on that Ethernet, and are neighbors of each other. Using IPv6
terminology, we would say "link" rather than subnet and we would say
all the addresses covered by the subnet are "on link". (But note that
in IPv6, you can have links with addresses assigned to it, but for
which there is no prefix that is considered "on link".)

But if one talks to routing folk, a subnet is an abstraction that is
not tied to a physical link. For example, IBM has been assigned net
9.0.0.0. So, to BGP, 9.0.0.0/8 is a "subnet", even though the actual
network is a huge cloud of thousands of individual networks.

And, within IBM, talking about 9.0.0.0/8 as a "subnet" makes little
sense, because we see the individual links that have been subnetted
and given individual subnet numbers. We talk about 9.2.27.0/24 and the
like.

Thus, when talking about a subnet, we also have to consider the
on-link properties (if any), as differing assumptions on that point
can lead to very different ideas about how things do (or don't) work.

Back to the simple Ethernet, all the addresses covered by the prefix
are typically considered on-link.

When talking about MANETs, and talking about subnets (or prefixes) we
also have to talk about the on-link properties (or lack thereof).

For example, going back to chart 37 of ThomasC's presentation, it may
well make sense to consider the entire cloud of routers to be part of
one subnet, but it does not make sense (I assume) to consider that
same subnet to be "on-link" anywhere within that cloud. Within the
cloud, the subnet is further subdivided into smaller subnets. Each of
those individual (smaller) subnets may well have on-link properties
for small portions of the overall cloud.

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

---

From: mase <[email-masked]>
Date: Fri, 21 Nov 2008 02:25:21 +0900

Dear Emmanuel,

>beyond a given interface.

I agree. If we accept the definitions above, I think that subnet is 
not a useful concept for MANET, because each interface may have a 
differenct set of neighbors. It just inroduces confusions.

Kenichi

---

From: "Emmanuel Baccelli" <[email-masked]>
Date: Thu, 20 Nov 2008 18:34:37 +0100

> I agree. If we accept the definitions above, I think that subnet is not a
> useful concept for MANET, because each interface may have a differenct set
> of neighbors. It just inroduces confusions.
>
>
Yes. These definitions make a needed clarification for us. And they are
compatible with the IP service model described by D. Thaler.

Emmanuel

---

From: "Stan Ratliff (sratliff)" <[email-masked]>
Date: Thu, 20 Nov 2008 13:09:55 -0500

Emmanuel, 
 
I agree with you -- these are a good set of definitions 
from which to proceed. 
 
Regards,
Stan

________________________________

From: [email-masked] [mailto:[email-masked]] On
Behalf Of Emmanuel Baccelli
Sent: Thursday, November 20, 2008 12:35 PM
To: [email-masked]
Subject: Re: [Autoconf] Subnet definition

		- a prefix is a contiguous range of IP addresses.
		- a subnet is a set of IP addresses (that may or may not
be a prefix)
		that are on the same link. All these addresses are then
on-link with
		respect to this link.
		- a link is what L2 provides, which reaches everything
within TTL 1
		beyond a given interface.

	I agree. If we accept the definitions above, I think that subnet
is not a useful concept for MANET, because each interface may have a
differenct set of neighbors. It just inroduces confusions.

Emmanuel

---

From: "Teco Boot" <[email-masked]>
Date: Thu, 20 Nov 2008 19:50:06 +0100

> If we stick to these definitions, we will indeed save ourselves lots of

In general, I agree on the intention. But we should be very careful here.
I suggest xref to RFCs that are in line with what you say. And try to use
the same wording. And explain if not (e.g. clarify or correct)

There would be small nits forever. Just to come up with some, what with
off-link addresses? Are two of those in the same prefix also in the same
subnet? Use "without TTL decrement" instead of "TTL 1"? 

Somewhat more important: Is a IP addresses within a prefix, that is assigned
& configured on an interface, but that is not on-link, part of a subnet? If
not, I think somewhat should write this down. 6MAN?

Teco.

---

From: "Emmanuel Baccelli" <[email-masked]>
Date: Thu, 20 Nov 2008 20:13:59 +0100

Great. So we could refine on this basis. See inline:

> the same wording. And explain if not (e.g. clarify or correct)

OK. Let's do that. Any suggestions?

> subnet? Use "without TTL decrement" instead of "TTL 1"?

If we base ourselves on these definitions, an address is off-link if it is
not on the same subnet, i.e. not in the set of IP addresses that form this
subnet.

As Thomas Narten pointed out, this set may not be a prefix. So being in the
same prefix does not necessarily mean being on the same subnet.

I'm personally OK with using "without TTL decrement".

> not, I think somewhat should write this down. 6MAN?
I'm not sure I understand your question. Do you mean: if the set of
addresses that form a subnet is not a prefix, what do you configure the
interface with, in terms of prefix? If this is correct, I think this is an
architectural question, that we may want to answer in a second phase. Don't
you think?

Emmanuel

---

From: "Charles E. Perkins" <[email-masked]>
Date: Thu, 20 Nov 2008 11:20:38 -0800

Hello Emmanuel,

I want to differ with this proposal, as follows:

> - a prefix is a contiguous range of IP addresses.
O.K., except that it _defines_ a contiguous range of IP addresses.

> that are on the same link. All these addresses are then on-link with

I would greatly prefer to separate the definition of a subnet
from the definition of a link.  We should make a subnet a matter
of addressability, not a matter of transmission ranges.  In other
words, it's a layer-3 concept, not a layer-2 concept.

> beyond a given interface.

I agree with this as far as it goes -- at least as a good
starting point.

Regards,
Charlie P.

---

From: Emmanuel Baccelli <[email-masked]>
Date: Thu, 20 Nov 2008 20:31:10 +0100

Hi Charlie,
great that you think this is a good starting point ;) See below:

> O.K., except that it _defines_ a contiguous range of IP addresses.

I'm personally OK with this.

> words, it's a layer-3 concept, not a layer-2 concept.

I think that even if it is a layer 3 concept, the definition of subnet
should be tied with TTL decrement, and thus to a link.

The reasons for this are all the comments from Dave Thaler about the IP
service model, and other comments from Thomas Narten about 9.0.0.0/8
being a "subnet" to some people.

So I think having a stricter, tying definition about a subnet is
actually what we need to get out of this mess, while sticking to what
MANET reality is. Don't you think?

> I agree with this as far as it goes -- at least as a good

Great. Let's refine.
Emmanuel

---

From: "Teco Boot" <[email-masked]>
Date: Thu, 20 Nov 2008 21:01:21 +0100

> If we base ourselves on these definitions, 
> an address is off-link if it is not on the same subnet,
> i.e. not in the set of IP addresses that form this subnet. 

> As Thomas Narten pointed out, this set may not be a prefix. 
> So being in the same prefix does not necessarily mean being 
> on the same subnet.

OK.
draft-ietf-6man-ipv6-subnet-model-02 (IPv6 Subnet Model: the Relationship
between Links and Subnet Prefixes) discusses this.
Can we conclude that "IPv6 subnet" equals "IPv6 on-link prefix" equals "IPv6
subnet prefix" as described in this I-D? (I added IPv6 as context qualifier)

I had the impression that some intended that a subnet is a set of on-link
addresses, which typically would not be contiguous. 
Why not using the aliases as above? 
If not, post this as issue on the 6man draft?
If so, let's follow the 6man draft terminology and use subnet as alias for
on-link prefix. Maybe prefer on-link prefix to keep in line with the 6man
I-D.

>> Somewhat more important: Is a IP addresses within a prefix, 
>> that is assigned & configured on an interface, but that is 
>> not on-link, part of a subnet? If not, I think somewhat 
>> should write this down. 6MAN?

> I'm not sure I understand your question. 
> Do you mean: if the set of addresses that form a subnet is not a prefix, 
> what do you configure the interface with, in terms of prefix? 
> If this is correct, I think this is an architectural question, 
> that we may want to answer in a second phase. Don't you think?

Assumed we use the term subnet for on-link prefix; addresses assigned to
interfaces 
that have a link with each other, but addresses are off-link, these
addresses are not 
in the same on-link prefix and thus not in the same subnet.
If subnet not equals on-link prefix, I agree answering in a second phase.

Teco

---

From: "Charles E. Perkins" <[email-masked]>
Date: Thu, 20 Nov 2008 12:01:55 -0800

Hello Emmanuel,

More discussion...

> being a "subnet" to some people.

Well, 9.0.0.0/8  _could_  be a subnet to some people.  And I very
much believe that "subnet" has to be _strictly_ a layer 3 concept, to be
realized in whatever way is determined to be the best way
according to the system designers.  It could be a subnet realized
by GRE over MPEG.  There could be tricycles involved.  Why
should IP care?

> MANET reality is. Don't you think?

What's important about a subnet is reachability from the
subnet router.  It might even be that the subnet router does
not have completely awareness of how the reachability is
achieved, if the mechanisms for providing reachability
are isolated into auxiliary functional units.

So, I don't agree with this suggestion to have a stricter
definition.

Regards,
Charlie P.

---

From: "Emmanuel Baccelli" <[email-masked]>
Date: Thu, 20 Nov 2008 22:05:06 +0100

Hi again Charlie,

> by GRE over MPEG.  There could be tricycles involved.  Why

I think I see what you mean. But then what is the difference between a
subnet and a prefix? If there is no difference, why do 2 terms exist? If
there is a difference, then I think the safest in our context is along the
lines we are currently refining, i.e.

- a prefix defines a contiguous range of IP addresses.
- a subnet is a set of IP addresses (that may or may not be a prefix)
that are on the same link. These addresses are then on-link with
respect to this link. All other addresses are off-link.
- a link is what lower layers reach without TTL decrement, through a given
interface.

>From what you say, I guess the difference you are trying to make between
"subnet" and "prefix" involves routability. However, according to how
non-routing people use these terms, both are routable (for example Narten's
9.0.0.0/8 ), and this it is still confusing. Thus I think we really do need
stricter definitions that do not involve routing concepts, in order to
distinguish the term "subnet" from the term "prefix".

Moreover, TTL is a L3 thing. So the definition above is still intrinsically
L3, so we are fine in that respect.

---

From: Erik Nordmark <[email-masked]>
Date: Mon, 24 Nov 2008 11:01:07 -0800

> not, I think somewhat should write this down. 6MAN?

I think that is a key thing to get clarified. 6MAN might be the best 
place to do so.

My take is that an address that is drawn from a prefix that isn't 
on-link on any link does not have to be part of a subnet.

    Erik

---

From: Erik Nordmark <[email-masked]>
Date: Mon, 24 Nov 2008 11:32:21 -0800

> on-link prefix. Maybe prefer on-link prefix to keep in line with the 6man

My personal take is that "on-link prefix" is more specific than "subnet" 
or "subnet prefix" (having co-authored both RFC 4861 and the above 
draft.) But it might be that the above draft could use some crisper use 
of terminology. Thus suggestions for improvements are welcome.

    Erik