Subject: Session survivability over renumbering, spoofing, address overloading.

From: Peter Tattam <[email-masked]>
Date: Fri, 3 Dec 1999 17:57:08 +1100 (EST)

Just to lighten up the discussion a bit, here's some thoughts that might tickle
the brain cells a little....  I was going to add it to the previous message,
but thought it warranted its own article.  It is not intended to be a serious
article, but just food for the grey matter.

---
You know, I can't help thinking the session survivability over renumbering
issue is probably indirectly a result of having oodles of addresses available
and that we are exploring new ways of internetworking that utilize that surplus
of address space.  Similar thing happened in the CPU industry a couple of
decades or so ago resulting in the invention of virtual memory and new ways of
using memory that stopped the madness.

It's fascinating that there is a strong parallel between NAT and Virtual
Memory. The virtual network behind a NAT is the equivalent to the virtual
address space of a computer while the real internet is equivalent to the
physical address space of a computer.  THe NAT box is the equivalent of an MMU
and joins the virtual network to the physical world. The parallels start to
break down a bit after that, but it's perhaps a new way to look at
internetworking.  Point to point connectivity between the NAT's then becomes a
similar issue to IPC on a computer which is solved in a variety of ways on a
shared virtual memory computer system. 

As much as NAT is a dirty word in the Internet business, perhaps the eventual
future of the internet will work out to be some kind of NAT or MMU equivalent
system.  Heck, perhaps building a NAT based internet using MMU principles might
actually be the holy grail that flat internetworking is looking for. 

As for spoofing & address overloading?  

Spoofing would be much more difficult to do from behind a NAT - the rough
analogy of memory protection in the CPU environment.

Address overloading (as in the site local & link local discussions recently)
would be a matter of address management at the NAT box, much like multiple
processes can share the same address space, but not coincide. To use the
virtual memory analogy, you would manage it by using the NAT box for inter
segment communication.  It should be spelt out that if you plug two subnets
together you'll get trouble, much like if you plug two power systems together -
sparks will fly.

Peter

A small NAT joke, "On the NAT, noone knew I wasn't a dog."

--
Peter R. Tattam                            [email-masked]
Managing Director,    Trumpet Software International Pty Ltd
Hobart, Australia,  Ph. +61-3-6245-0220,  Fax +61-3-62450210

--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [email-masked]
--------------------------------------------------------------------

---

From: Steve Deering <[email-masked]>
Date: Thu, 2 Dec 1999 23:37:29 -0800

At 5:57 PM +1100 12/3/99, Peter Tattam wrote:
>Memory.

Peter,

You're not the first to make this observation.  Here's a part of a reply
I sent recently to someone else who had the same "insight":

>I too have an analogy between NAT and memory systems.  When 32-bit
>PCs first came to market, there was a large installed base of 16-bit
>programs and 16-bit compilers that could not address the new larger
>memories.  So people invented various techniques like "bank-switching"
>to allow 16-bit programs to address more than 64K of memory.  Sure,
>that sort of trick was important for transition to the larger-address-
>space machines, but I think the state of application programming is
>much better off that we didn't stop at that point.
>
>NAT, as an alternative to IPv6, is in the same class of solutions as
>bank-switching, useful as a transition technique but, I believe,
>crippling in the long run.
>
>Aside:	There *is* something very analogous to virtual memory in IP
>	addressing and that is Mobile IP, in which a device can be
>	addressed by its "virtual address" (its home IP address) and
>	that gets mapped by some magic under the covers to its
>	current "real address" (the temporary IP address acquired at
>	the device's current location).  Note that, like virtual
>	memory systems, Mobile IP uses the same size and syntax for
>	both virtual and real addresses, which allows some of a
>	program's virtual address space to be mapped directly to the
>	same values in the real address space and some of the virtual
>	space to be mapped to different real addresses, without the
>	assistance or knowledge of the program.

Steve

---

From: "Charles E. Perkins" <[email-masked]>
Date: Fri, 03 Dec 1999 08:11:20 -0800

> actually be the holy grail that flat internetworking is looking for.

I think the analogy breaks down almost immediately, because end-to-end
addressability is the cornerstone for peer-to-peer communication in the
Internet.  Memory_address to memory_address connectivity is not an
important concept for inter-process communication between processes
using virtual address spaces.

Regards,
Charlie P.