Subject: Re: Challenges for the MANET addressing model

From: "Phil Neumiller" <[email-masked]>
Date: Sat, 31 Mar 2001 04:08:56 -0600

Fred,

At the slight risk of getting off on a rant, at least with IPv6's
implict tunnelling capability (as used in MIP), you could tunnel
directly over/through these MANET private IPv6 address space
bubbles right?    So even if MANETS float about on the edge
or Interconnect portions of the global Internet they could in
theory work the same with these private IPv6 address spaces
while tunnelling other traffic over/through them.

Thanks,

Phil
----- Original Message ----- 
From: "Fred L. Templin" <[email-masked]>

> Phil,
> 
> I think it's a good question, but I don't think MANETs will
> always necessarily live on the edge. In some cases, a MANET
> may be the only alternative for transit between disconnected
> portions of a larger network.
> 
> Fred Templin

> > Phil

---

From: Joe Macker <[email-masked]>
Date: Mon, 02 Apr 2001 14:32:45 -0400

At 12:37 AM 3/31/2001 -0800, Charlie Perkins wrote:
>Hello Fred and Kevin,
>
> >
> > > My view is that
> > > the MANET should look just like a connected Ethernet segment; every
> > > node on the network uses the same logical IP subnet prefix but there
> > > may be multiple hops through the same logical IP subnet required to
> > > reach some nodes. In order to support this view, I advocate relaxing
> > > the notion that MANET routers are "routers" in the traditional sense.
> > > Instead, they do something that is not quite routing and not quite
> > > bridging but something in between.
>
>It seems to me that manet nodes have links, and that using manet
>routing protocols we can join those links into routing paths between
>nodes that are not directly connected.  That sounds a lot like
>internetworking to me, even if we don't have aggregation.  In fact,
>when aggregation is available, it can be fit into manet routing just
>by handling prefixes instead of full-length IP addresses (which are
>the aggregations of one node, described by a /32 prefix).

I also see manet routing nodes as performing basic internetwork routing and 
being able to handle aggregation or /32 prefixes.  Also, Scott and I had 
some older discussion related to a view at that time on manet node 
definitions in this 1998 MC2R article:

http://tonnant.itd.nrl.navy.mil/manet/mc2r/manet_mc2rv2n1.ps

At that time, we talked about the use of router node identifiers (e.g., 
could be one of the local IP interface addresses as in OSPF).....prefixes 
could be advertised as needed (the degenerate case of a single host address 
is just a special case).  Good old IP routing, don't panic.

-Joe

---

From: "Fred L. Templin" <[email-masked]>
Date: Mon, 02 Apr 2001 13:08:19 -0700

Kevin,

Certainly no offense taken on my end; this has been interesting
and illuminating discussion in my view. Some follow-up thoughts
on what you've said:

Kevin Grace wrote:
> "Fred L. Templin" wrote:
> Forwarding packets below the IP layer in an attempt to hide the fact
> that not all interfaces on a subnet are directly connected will create
> problems when the subnet becomes partitioned. No longer will it be
> true that the subnet interfaces can be reached via a single network
> route, though this was the original goal of utilizing subnets.

This is a good point, but in terms of connecting a MANET to the
Internet - either as a stub network or a transit network - I'm not
convinced the situation is any better/worse whether the MANET is
treated as a coherent subnet or just a collection of independent
hosts with their own unique /32 network numbers. The cases for
a partition are:

  1) Some of the nodes retain reachability to a gateway that
     connects the MANET to the Internet, while others wander
     off and are left with no gateway to the Internet.

  2) The MANET has two or more gateways to the Internet. (Let's
     focus on two such gateways and call them 'A' and 'B'.) When
     the MANET partitions, there is no longer MANET-level
     reachability between 'A' and 'B', with some nodes in the
     MANET only able to reach 'A' and others only able to reach
     'B'. 

In situation 1), nothing can be done to help the wanderers in any
case; they are simply adrift in the wilderness unless and until
they either return to their home MANET or find another MANET to
graft onto. Situation 2) is where the differences lie, and I see
challenges for both of the approaches we have discussed:

Classical IP Router approach:
*****************************
In the case that you are treating the MANET as a collection of
independent routers; each with its own /32 network prefix, then
'A' and 'B' are not really Internet gateways. Instead, they are
NAT boxes that convert addresses coming from the MANET into IPv4
addresses that make topological sense for the particular point
of attachment to the Internet. From the Internet's perspective,
'A' and 'B' appear to be simple (albeit active!) hosts; not
gateways to complex networks.

In order to access Internet services, some subset of the nodes in
the MANET will "bind" to 'A' while other nodes will "bind" to 'B'.
When the partition occurs, nodes that were "bound" to 'A' and
retain reachability to 'A' will still operate just fine. (Same
as for nodes "bound" to 'B'). But, suppose some node 'x' that was
bound to 'A' loses touch with 'A' when the partition occurs but
still has connectivity to 'B'. First of all, any existing sessions
between 'x' and nodes out on the Internet would break, since the
NAT translation for 'x' cached in the correspondent nodes out in
the Internet would *still* be 'A', and 'x' is no longer reachable
through 'A'. Also, since no subnet-level service discovery support
exists for the dissemination of such things as Router Advertisements
in the model you advocate, you would need to do something special
to get 'x' to realize that it should cease treating 'A' as its
bound gateway for new sessions and begin treating 'B' as its
bound gateway. Another problem occurs for MANET servers that are
advertised out to the Internet by 'A' and 'B'. If 'A' advertises
a service that is provided by node 'x' within the MANET, but 'x'
loses contact with 'A' when the partition occurs, then the service
will be unreachable until the partition is repaired.

Classical IP subnet approach:
*****************************
In the case that you are treating the MANET as a coherent logical
IP subnet, then 'A' and 'B' are true gateways. In order to access Internet services, some subset of
the nodes in the MANET will
set their default route to 'A' while other nodes will set their
default route to 'B'. When the partition occurs, the MANET nodes
will readjust their default roures just fine if necessary by
detecting a change in the router advertisements they are receiving.
Correspondent nodes out in the Internet will *still* have valid
address cachings for the MANET nodes, and service advertisments
from the MANET will *still* point to the same IPv4 addresses. But
the problem, of course, is that the subnet itself is partitioned
and MANET nodes which were formerly reachable through 'A' may no
longer be reachable through 'A' even though Internet routing
suggests otherwise.  

An easy fix for this is for 'A' and 'B' to exchange MANET topology
information over their Internet interfaces, since the MANET partition
presumably did not affect reachability between 'A' and 'B' over the
Internet. Then, for any node 'x' that is no longer reachable from
'A' but still reachable from 'B', 'A' can automatically tunnel
messages addressed to 'x' over the Internet to 'B'. This obviously
introduces triangle routing, but it provides a simple fix for
reachablility. Another possibility is for one of 'A' or 'B' to
re-number their MANET interface, cease advertising their original
subnet prefix out to the Internet, and begin advertising the *new*
subnet prefix out to the Internet. Then, the situation reduces to
Mobile IP. In other words, the nodes associated with whichever
gateway did the renumbering would detect a prefix change via
router advertisments and adopt a care-of address out of the new
prefix. A final possibility would be for one or both of 'A' and
'B' to cease acting like a true Internet router and start doing
NAT on behalf of their associated MANET nodes. But, I've already
expressed my misgivings about this sort of approach.    
 
> Just because the subnet is partitioned by a lack of connectivity below
> IP does not mean that the MANET is necessarily partitioned. Yet the
> attempt to try to hide the topology of the subnet from IP precludes
> the possibility of healing the partition by leveraging connectivity at
> the IP layer (unless the thingy below IP provides reachability
> information, but, this would require IP to use host routes so then
> there'd be little reason to do subnets since route aggregation will
> not be realized). Had all forwarding been done at the IP layer, there
> would not be this accidental partitioning.

I'm not sure I followed the case you are referring to above. Are
you referring to one of the partition instances I mentioned above,
or are you considering some other case of partitioning?
 
> It does not appear to me that subnets are appropriate for MANET's. And
> if the purpose of doing forwarding below IP is solely to support
> subnets, then I don't see a need to forward below IP.
> 
> I hope I have not offended anyone with these comments...these are just
> my humble opinions...

I maintain my viewpoint that the classical IPv4 subnet paradigm
provides a more natural fit for the Internet, and what is going on
in MANETs is *not* classical IPv4 routing in its true sense. The
stereotypical MANET "router" configuration is something like a
laptop with a single IEEE 802.11 interface attached. When the node
is called upon to "route", it receives a packet on its IEEE 802.11
interface and then turns around and send it right back out the
*same* interface it came in on! This is *not* Internet routing in
the traditional sense; in fact, on most implementations you have
to explicitly disable ICMP Redirects in order to support this
paradigm in the first place.

Fred
[email-masked]

---

From: "Fred L. Templin" <[email-masked]>
Date: Mon, 02 Apr 2001 13:15:05 -0700

Phil,

I don't want to get into detail on this, but I'm a big believer
that many of the issues we have been discussing will be either
fixed or made much less difficult in IPv6. I'm also a big
believer in automatic IPv6-in-IPv4 tunneling to get from private
IPv4 address spaces out to the global IPv6 Internet - see my draft
on this subject at:

 http://www.ietf.org/internet-drafts/draft-ietf-ngtrans-isatap-00.txt

But, once everything goes native IPv6, we should never need to
worry about private IPv6 address spaces again - right?

Fred
[email-masked]

---

From: Kevin Grace <[email-masked]>
Date: Tue, 03 Apr 2001 10:05:00 -0400

Hi Fred,

> Classical IP Router approach:

There's no requirement for NAT...I merely suggested it as a quick and
very dirty way of allowing MANET nodes with arbitrary addresses to
gain connectivity to nodes outside the MANET. A better approach is to
assign MANET node addresses from known address blocks and advertise
routes to these spaces on the border router interfaces that reside on
the "fixed" network.

> will be unreachable until the partition is repaired.

Yes, NAT has problems when there is more than one border router
running NAT. But, again, NAT is not a requirement and can easily be
avoided.

> IP subnet, then 'A' and 'B' are true gateways. 
> In order to access Internet services, some subset of
> reachablility.

Yes, in fact tunneling topology information across the fixed network
between border routers is exactly the approach we took with the Mobile
Mesh Border Gateway Protocol.

> or are you considering some other case of partitioning?

Actually, I was referring to a more general form of your case #2. That
is, the subnet is partitioned (ie. a connected graph can not be drawn
that contains all the *interfaces* of the subnet) but the network is
not partitioned (ie. a connected graph can be drawn that contains all
the *nodes* of the network). In this case, forwarding packets below IP
is not sufficient to heal the subnet partition. The only way to heal
this case of partitioning is to forward at IP, and this would require
host routes rather than network routes. This means there's little
reason to do subnets since the goal of achieving route aggregation
will not be realized.

I don't see any advantages to forwarding below IP, only
shortcomings. Are there advantages that you have not mentioned?

Kevin

---

From: "Fred L. Templin" <[email-masked]>
Date: Tue, 03 Apr 2001 11:44:02 -0700

Charlie,

I just sent a reply to Kevin's most recent message that also
addresses some of the points you are making here. But, I'll
comment on a few of the specific items you brought out as well: 

Charlie Perkins wrote:

> I'd be just as happy if 255.255.255.255 were forwarded to all manet nodes.
> Either that, or maybe we should change AODV so that some sort of
> "all-nodes-multicast" address should be used for propagating RREQ
> messages.

So, it seems you perceive the need for service discovery protocols
in which messages would be forwarded beyond a single hop in cases
in which the IETF literature claims they MUST NOT be forwarded.
The literature is clear in stating that the all-1's broadcast
("limited broadcast") MUST NOT be forwarded to other networks.
So, if you are assigning /32 prefixes to your interfaces then it
is effectively a violation to even send all-1's broadcasts to
your single hop neighbors!

My main goal in initiating this discussion was to try to figure
out a way for service discovery protocols to work across multiple
hops, and it appears that there is no standard that would support
multi-hopping either the all-1's broadcast or the low-numbered
multicasts addresses within a MANET. 

> > > Anyway, I'm not saying that the approach you are suggesting is
> > > invalid; I'm just saying that it bends the existing rules for
> > > host and router implementations. It seems to me that some rules
> > > will have to be bent in order for MANETs to play in the global
> > > Internet. But, I think we need to look at the "pain vs. gain"
> > > tradeoffs for the various alternatives.
> 
> Agreed, and I think that typically the tradeoff is best if we can
> identify and conform to natural models of operation.  Here,
> recognizing the natural differences between wireless and Ethernet
> could easily lead to the conclusion that indeed wireless links
> DO enable one-hop connectivity to multiple different subnets.

Let me toss out an interesting example and see how you think this
fits in with natural models of operation. Suppose you wanted to
line up two or more RIP routers along the periphery of a MANET
so that the MANET would have multiple points of connection to
the Internet. (Let's assume that the MANET has been arranged so
that it is feasible to advertise an aggregatable prefix, since
the MANET properly contains the set of nodes which share that
prefix.)

Then, the RIP routers would need to exchange information with
each other in order to maintain consistency. The way this is
ordinarily done is by the RIP routers sending messages to the
"All_Routers_Multicast" address on their common attachment
network. But, if that common attachment network is a MANET then
the "All_Routers_Multicast" messages will go no further than a
single hop. What do we say about such a configuration? Do we
say that it just isn't supported on MANET? Or, do we re-write
the rules for how "All_Routers_Multicast" should be handled on
MANETs?
 
> > > bridging but something in between. Perhaps the truth lies somewhere
> > > in the middle of these two viewpoints -  or perhaps there is no one
> > > universal truth?
> 
> The truth is that wired network links have a much more restricted
> kind of connectivity than wireless network links do.  We should try
> to remodel subnet (including /32) connectivity in order to find the
> most natural way to fit into the IP internetworking scheme.

I agree. In order to bring this remodeling into the general
Internetworking lexicon, however, I think it needs to be reflected
either through supplemental text in existing IETF standards documents
or new standards-tract documents that emerge from this working group.
 
> Regards,
> Charlie P.

Thanks,

Fred Templin
[email-masked]

---

From: "Fred L. Templin" <[email-masked]>
Date: Tue, 03 Apr 2001 11:04:44 -0700

Kevin,

> routes to these spaces on the border router interfaces that reside on

So, you seem to be agreeing then that the ability to advertise an
aggregated prefix (or prefixes) out to the Internet is a better
approach from the standpoint of attaching a MANET as a stub network
or transit network to the Internet. This is one of the most important
aspects of what I have been saying. In terms of the nodes that have
arbitrary addresses then, the approach I advocate is MobileIP. In
other words, the machine(s) that connect the MANET to the Internet support the MobileIP home
agent/foreign agent paradigm on behalf
of nodes with "foreign" IPv4 prefixes with respect to the point
of attachement to the Internet. 
 
> running NAT. But, again, NAT is not a requirement and can easily be

By allocating IP addresses out of an aggregated IP subnet prefix
or prefixes as you mentioned above; correct? So, you do seem to
agree that advertising aggregatable prefixes from within the MANET
(i.e. supporting logical IP subnets from within the MANET) is a
good thing.

> Mesh Border Gateway Protocol.

It is interesting that we have independently reached the same
conclusion on this. If we have both reached the same conclusion,
(which I came to without a great deal of thought invested) then
I'm sure others have or will come to this conclusion as well.
Perhaps this argues for a MANET document that specifies how
things should be done in the general case...

> reason to do subnets since the goal of achieving route aggregation

You may be mis-understanding what I'm saying regarding the level
at which I advocate MANET forwarding. I advocate fowarding based
on IPv4 host routes; NOT MAC addresses or the like. I also support
multiple interfaces and thus support the case of the MANET being
spanned by a graph that contains all nodes but not necessarily
all interfaces. But, most of the time, forwarding based on IPv4
host routes causes a forwarding hop to occur *within* what would
ordinarily appear to be a logical IP subnet. I have yet to find
any written text that calls this IPv4 routing in the classical
sense. One thing I am taking away from this discussion is the
possibility of assigning /32 prefixes to MANET interfaces,
instead of a "normal" prefix like a /24 or something. But, I
still have yet to find anything written that would call
forwarding based on /32 prefixes "IP routing" in its truest sense.  

> shortcomings. Are there advantages that you have not mentioned

You seemed to agree that supporting the notion of one or more
logical IP subnets being properly contained within a MANET is a
good thing. But, if you don't tackle the subject of how the all-1's
broadcast address and the low-numbered multicast addresses should
be propagated, then you won't be able to support service
discovery protocols. Examples:

  - Router advertisements and router solicitations won't be
    multi-hopped. So, a MANET node that is multiple hops away
    from a gateway to the Internet will not be able to
    automatically discover that gateway in the normal fashion;
    instead, you will be forced to use static routes or you will
    need to propagate the RA; RS messages by piggybacking them
    onto the MANET routing protocol messages themselves.

  - Same comment as above for agent advertisements/agent
    solicitations. If you want to do MobielIP, then you will have
    to do something special to support mobile nodes that are more
    than one hop away from the home/foreign agent

  - Other service discovery protocols that rely on subnet level
    broadcast and multicast services. There are many of these;
    not supporting the notion of a logical IP subnet breaks
    applications that depend on low-numbered multicasts and
    all-1's broadcasts spanning the entire subnet. Again, piggy-
    backing these messages onto the MANET routing protocol is
    a possible solution if you don't want to support the notion
    of a logical IP subnet. But, you would need to support every
    potential service discovery protocol that might come up. 

I feel now having said these things and having heard what you've
said that the truth lies somewhere in between the "classical IPv4
router approach" (in which every node is a /32 subnet unto itself)
and the "classical IPv4 subnet approach" (in which every node in
the MANET is a member of an aggregatable IPv4 subnet). I believe
now that a MANET may contain one or more independent logical IPv4
subnets as well as a number of "outliers" that are essentially
foreign nodes that are visiting the MANET from IPv4 prefixes that
either have a native point of attachment elsewhere on the Internet
or no native point of attachmemt to the Interent at all.

But, my original questions that prompted this entire discussion
remain: what should we do with the all-1's broadcast address and
the low-numbered multicast addresses within the logical IPv4
subnets contained within a MANET? If we don't do anything more
than drop them after a single hop, then important service
discovery protocols such as those I've discussed above are
defeated. This can only lead to folks taking non-standard and
proprietary approaches to support service discovery if we can't
come up with answers within MANET.

Fred Templin
[email-masked]

---

From: Joe Macker <[email-masked]>
Date: Wed, 04 Apr 2001 14:35:32 -0400

>your single hop neighbors!

Fred:

I see the first point re. multi-hopping, but why would this be a problem 
for single hop neighbors?

I think this is a terminology interpretation issue and doesn't violate the 
intention.
While some wireless link layers have a semi-broadcast nature (a set of 
connectionless adjacencies that are dynamic), there are still a set of 
logical links connecting neighbors.  I would interpret the above, for 
single-hop neighbors, as if I initiate the packet on my local link 
interface I am not FORWARDING it.

Yes, someone could probably make all this terminology clearer for wireless, 
semi-broadcast cases. And there are peculiarities we have to deal with in 
such cases. BTW, for scalable and heterogeneous operation (just like as in 
OSPF) it would be desirable to define manet operation for multiple link 
types (e.g., broadcast, PtoP, semi-broadcast (the oddball)). A manet area 
may contain multiple link types, with certain nodes having multiple 
physical interfaces running the routing protocol. A semi-broadcast radio 
interface being one of those classes of interfaces and the class we are 
typically talking about with 802.11 DCF.

Also how do people feel about  using "all-manet-routers" or probably more 
exactly "all-protocolx-routers" multicast addresses when desireable for 
handling special behavioral/parsing approaches of protocolx? I started some 
discussion re. this at the meeting, but it was cut short.

-Joe