Re: IPv6 addressing limitations (was national security)

2003-12-04 Thread Masataka Ohta
Anthony G. Atkielski;

I've described variable-length addresses in the past.  Essentially a
system like that of the telephone network, with addresses that can be
extended as required at either end.  Such addressing allows unlimited ad
hoc extensibility at any time without upsetting any routing already in
place.
Unlimited? The limitation on public part is 20 digits.

Ad hoc extension beyond hardware supported length at that time will
fatally hurt performance.
Masataka Ohta





Re: IPv6 addressing limitations (was national security)

2003-12-04 Thread jfcm
Dear Masataka,
my interest in this is national security. I see a problem with IPv6 in two 
areas.

1. the 001 numbering plan as inadequate to national interests - digital 
soverignty, e-territory organization, law enforcement, security and 
safetey, etc. related reasons (I do not discuss their degree of relevance, 
just the existance).

2. the Y2K syndrome. IPv6 has 6 potential numbering plan. Launching it in 
real production without certifying it and the equipment to multiple plan 
support capacity is unacceptable. When there will be millions on IPv6 
inside without large scale testing of multiple numbering plan support, and 
many ways of use, applciations etc. developed with one single actually used 
plan in mind, no one will able to seriously propose an additional plan.

Comments welcome.
jfc


At 05:20 04/12/03, Masataka Ohta wrote:
Content-Transfer-Encoding: 7bit

Iljitsch;

We need to keep the size of the global routing table in check, which 
means wasting a good deal of address space.
That's not untrue. However, as the size of the global routing table
is limited, we don't need so much number of bits for routing.
61 bits, allowing 4 layers of routing each with 32K entries, is
a lot more than enough.
Even in IPv4, where addresses are considered at least somewhat scarce, a 
significant part of all possible addresses is lost because of this.
Only 20 bits or so for routing is, certainly, no good.

If we want to keep stateless autoconfig and be modestly future-proof we 
need at least a little over 80 bits. 96 would have been a good number, 
but I have no idea what the tradeoffs are in using a broken power of two. 
If we assume at least 96 bits are necessary, IPv6 only wastes  2 x 32 
bits = 8 bytes per packet, or about 0,5% of a maximum size packet. Not a 
huge deal. And there's always header compression.
Stateless autoconfig is mostly useless feature applicable only
to hosts within a private IP network that 64 bits could have
worked.
128 bit is here to enable separation of 64 bit structured ID
and 64 bit locator.
Masataka Ohta








Re: IPv6 addressing limitations (was national security)

2003-12-04 Thread Masataka Ohta
Anthony G. Atkielski;

Unlimited? The limitation on public part is 20 digits.

That's just a matter of programming these days.
On the Internet these days, it is a matter of hardware.

Ad hoc extension beyond hardware supported length
at that time will fatally hurt performance.

What hardware limits numbers to 20 digits today?
On psuedo packet network, such as X.25 or ATM, with full of
connection, packets are forwarded by hardware with short
connection ids where e.164 numbers are used at the time of
complex signalling processed by software.
		Masataka Ohta





Re: IPv6 addressing limitations (was national security)

2003-12-04 Thread Masataka Ohta
jfcm;

Dear Masataka,
my interest in this is national security. I see a problem with IPv6 in 
two areas.
Only two?

IPv6 contains a lot of unnecessary features, such as stateless
autoconfiguration, and is too complex to be deployable.
Comments welcome.
As it is too complex, it naturally has a lot of security problems.

I'm not surprised some of them are national ones.

			Masataka Ohta





Re: IPv6 addressing limitations (was national security)

2003-12-03 Thread Bob Hinden

See, that's the classic mistake: Everyone wants to divide the entire
address space RIGHT NOW, without any clue as to how the world will
evolve in years to come.  Nature may abhor a vacuum, but it certainly
That not correct.  See:

   http://www.iana.org/assignments/ipv6-address-space

Where it says:

 2) For now, IANA should limit its allocation of IPv6 unicast
address space to the range of addresses that start with binary
value 001. The rest of the global unicast address space
   (approximately 85% of the IPv6 address space) is reserved for future
definition and use, and is not to be assigned by IANA at this time.
It was well understood that it was important to keep most of the IPv6 
address space open to allow for future use.

Bob








Re: IPv6 addressing limitations (was national security)

2003-12-03 Thread Masataka Ohta
Iljitsch;

We need to keep the size of the 
global routing table in check, which means wasting a good deal of 
address space.
That's not untrue. However, as the size of the global routing table
is limited, we don't need so much number of bits for routing.
61 bits, allowing 4 layers of routing each with 32K entries, is
a lot more than enough.
Even in IPv4, where addresses are considered at least 
somewhat scarce, a significant part of all possible addresses is lost 
because of this.
Only 20 bits or so for routing is, certainly, no good.

If we want to keep stateless autoconfig and be modestly future-proof we 
need at least a little over 80 bits. 96 would have been a good number, 
but I have no idea what the tradeoffs are in using a broken power of 
two. If we assume at least 96 bits are necessary, IPv6 only wastes  2 x 
32 bits = 8 bytes per packet, or about 0,5% of a maximum size packet. 
Not a huge deal. And there's always header compression.
Stateless autoconfig is mostly useless feature applicable only
to hosts within a private IP network that 64 bits could have
worked.
128 bit is here to enable separation of 64 bit structured ID
and 64 bit locator.
		Masataka Ohta




Re: IPv6 addressing limitations (was national security)

2003-12-02 Thread Anthony G. Atkielski
Keith Moore writes:

 This was shortsighted, just like having the notion of class built into
 IPv4 addresses was shortsighted.

Just about everything about address allocation has always been
shortsighted.

I have a simple idea:  Why not just define the first three /32 chunks of
the IPv6 address space as three IPv4 spaces, and leave the rest of the
IPv6 reserved?  This triples the amount of address space available to 12
billion addresses.  You put all the existing addresses in the first
chunk, and then expand to the second and third chunks as required once
IPv6 is widespread.  You leave all the rest ALONE until these chunks are
exhausted.  Simple, no?  And it involves no stupid decisions that will
cause the entire address space to be exhausted in twenty years.  It buys
you possibly decades of time in which to think of a new and better way
to allocate a bit more address space.  You proceed by small increments
like this for the future, never attempting to allocate the entire space
at once.  And if you do it that way, there's a good chance that you'll
never run out of space, and rewriting will be minimal or nonexistent.

 Fortunately  the mistake is easily rectified, so long
 as software doesn't get into the habit  of expecting the lower 64 bits
 of an address to be a unique interface identifier.

Why dedicated /64 to anything?  We are getting by just fine on /32 for
the whole world right now.  Why is a sudden expansion of 2^32 required
RIGHT NOW?

See, that's the classic mistake: Everyone wants to divide the entire
address space RIGHT NOW, without any clue as to how the world will
evolve in years to come.  Nature may abhor a vacuum, but it certainly
also seems that engineers abhor unallocated address space, and will try
to allocate everything even when they are lightyears off the mark, and
even if it means rewriting all the software in the world a few decades
later.




Re: IPv6 addressing limitations (was national security)

2003-12-02 Thread Iljitsch van Beijnum
On 2-dec-03, at 20:42, Schiro, Dan wrote:

Fortunately  the mistake is easily rectified, so long
as software doesn't get into the habit  of expecting the lower 64 bits
of an address to be a unique interface identifier.

This is a dangerous prospect.  The company I work for makes a 
networking
stack and our IPv6 implementation expects the lower 64 bits to be the 
unique
interface identifier.  Other implementations do the same.
Interface identifiers aren't required to be unique. Anyone who expects 
them to be be in trouble at some point. There are many ways in which 
the same interface identifier can show up in more than one subnet:

- manual configuration (interface identifier 02-00-00-00-00-00-00-01 is 
very popular)
- RFC 3041 and a whole lot of bad luck
- there are systems on the market that use the same MAC address on more 
than one interface
- there have been many screwups with MAC address assignment during 
production

But what benefit is there to assuming that interface identifiers are 
unique anyway?




Re: IPv6 addressing limitations (was national security)

2003-12-02 Thread Iljitsch van Beijnum
On 2-dec-03, at 21:04, Anthony G. Atkielski wrote:

Why dedicated /64 to anything?  We are getting by just fine on /32 for
the whole world right now.  Why is a sudden expansion of 2^32 required
RIGHT NOW?
Stateless autoconfiguration.

See, that's the classic mistake: Everyone wants to divide the entire
address space RIGHT NOW, without any clue as to how the world will
evolve in years to come.  Nature may abhor a vacuum, but it certainly
also seems that engineers abhor unallocated address space, and will try
to allocate everything even when they are lightyears off the mark
About 85% of the IPv6 address space is specifically left unused at this 
time. And even within the 2000::/3 which is defined for global unicast 
use *now* just 3/8192th is really used.




RE: IPv6 addressing limitations (was national security)

2003-12-02 Thread Schiro, Dan
Keith,

Fortunately  the mistake is easily rectified, so long
as software doesn't get into the habit  of expecting the lower 64 bits
of an address to be a unique interface identifier. 

This is a dangerous prospect.  The company I work for makes a networking
stack and our IPv6 implementation expects the lower 64 bits to be the unique
interface identifier.  Other implementations do the same.  Now would be the
time to change the spec if its going to be done, otherwise it will already
have market penetration just like NAT.

Dan 


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Keith
Moore
Sent: Tuesday, December 02, 2003 1:03 PM
To: Iljitsch van Beijnum
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: IPv6 addressing limitations (was national security)


 RFC 3513 mandates that all unicast IPv6 addresses except the ones 
 starting with the bits 000 must have a 64-bit interface identifier in 
 the lower 64 bits.

This was shortsighted, just like having the notion of class built into
IPv4 addresses was shortsighted.  People are going to need to subnet
past /64 sooner rather than later, and subnetting past /64 is a LOT
better than NAT.  Fortunately  the mistake is easily rectified, so long
as software doesn't get into the habit  of expecting the lower 64 bits
of an address to be a unique interface identifier.  

 This has some important advantages, most notably it 
 allows stateless autoconfiguration. 

Providing an alternative to stateless autoconfiguration for subnets 
past /64 might be a acceptable compromise.

 Putting a 64-bit crypto-based host identifier in the bottom 64 bits of
 
 IPv6 addresses shouldn't get in the way of regular IPv6 addressing 
 mechanisms and/or operation.

Putting a crypto-based host identifier in the address is unnecessary,
since there's really no need to include a strong host identifier in
every packet sent to a host.  The locator alone is usually sufficient,
and if that's not sufficient, the sender can generally encrypt the
traffic with a secret known only to the intended destination.

Keith



Re: IPv6 addressing limitations (was national security)

2003-12-02 Thread Keith Moore
 
 Fortunately  the mistake is easily rectified, so long
 as software doesn't get into the habit  of expecting the lower 64 bits
 of an address to be a unique interface identifier. 
 
 This is a dangerous prospect.  The company I work for makes a networking
 stack and our IPv6 implementation expects the lower 64 bits to be the unique
 interface identifier.  Other implementations do the same. 

My advice would be for you and your competitors to fix this problem as
part of your normal product improvement.  Because sooner or later those whose 
products don't support subnets past /64 will lose business to those that 
do.

It's all well and good to insist that ISPs give out /48s to their customers,
but it's not wise to pretend that everyone will comply.  There will be 
customers that can't get better than a /64 and will need to subnet.





Re: IPv6 addressing limitations (was national security)

2003-12-02 Thread Keith Moore

  Putting a crypto-based host identifier in the address is unnecessary,
  since there's really no need to include a strong host identifier in
  every packet sent to a host.  The locator alone is usually sufficient,
  and if that's not sufficient, the sender can generally encrypt the
  traffic with a secret known only to the intended destination.
 
 Putting a 64 bit crypto-based identifier in IPv6 addresses isn't 
 something that would be done because it's the only way to arrive at 
 certain functionality, but rather because it's a convenient way to do 
 it. The 64 bits are present in each packet anyway, and putting a crypto 
 identififer in each packet is much simpler than thinking very hard 
 about when one is required, and then find a good place for it.

well, you have to do that thinking anyway in order to get multihoming,
mobility, and renumbering to work right.





Re: IPv6 addressing limitations (was national security)

2003-12-02 Thread Iljitsch van Beijnum
On 2-dec-03, at 20:03, Keith Moore wrote:

RFC 3513 mandates that all unicast IPv6 addresses except the ones
starting with the bits 000 must have a 64-bit interface identifier in
the lower 64 bits.

This was shortsighted, just like having the notion of class built 
into
IPv4 addresses was shortsighted.  People are going to need to subnet
past /64 sooner rather than later, and subnetting past /64 is a LOT
better than NAT.  Fortunately  the mistake is easily rectified, so long
as software doesn't get into the habit  of expecting the lower 64 bits
of an address to be a unique interface identifier.
Right. Fortunately the implementations that I'm familiar with seem to 
have ignored this requirement at least to some degree as they seem to 
function well with non 64-bit subnet boundaries. However, there is also 
another requirement that gets in the way of using very small subnets: 
the well-known anycast addresses. Since the address with all zero bits 
in the subnet part is the mandatory all subnet routers anycast address 
this address is unusable (even though this anycast address isn't 
universally implemented), and another 128 are reserved, making the 
smallest possible subnet a /126 or /120 respectively.

This has some important advantages, most notably it
allows stateless autoconfiguration.

Providing an alternative to stateless autoconfiguration for subnets
past /64 might be a acceptable compromise.
DHCPv6 should work with non-/64 subnets as soon as it's integrated in 
the OSes.

Putting a 64-bit crypto-based host identifier in the bottom 64 bits of
IPv6 addresses shouldn't get in the way of regular IPv6 addressing
mechanisms and/or operation.

Putting a crypto-based host identifier in the address is unnecessary,
since there's really no need to include a strong host identifier in
every packet sent to a host.  The locator alone is usually sufficient,
and if that's not sufficient, the sender can generally encrypt the
traffic with a secret known only to the intended destination.
Putting a 64 bit crypto-based identifier in IPv6 addresses isn't 
something that would be done because it's the only way to arrive at 
certain functionality, but rather because it's a convenient way to do 
it. The 64 bits are present in each packet anyway, and putting a crypto 
identififer in each packet is much simpler than thinking very hard 
about when one is required, and then find a good place for it.




Re: IPv6 addressing limitations (was national security)

2003-12-02 Thread Masataka Ohta
Iljitsch;

Putting a 64-bit crypto-based host identifier in the bottom 64 bits of
IPv6 addresses shouldn't get in the way of regular IPv6 addressing
mechanisms and/or operation.

Putting a crypto-based host identifier in the address is unnecessary,
since there's really no need to include a strong host identifier in
every packet sent to a host.  The locator alone is usually sufficient,
and if that's not sufficient, the sender can generally encrypt the
traffic with a secret known only to the intended destination.

Putting a 64 bit crypto-based identifier in IPv6 addresses isn't 
something that would be done because it's the only way to arrive at 
certain functionality, but rather because it's a convenient way to do 
it.
Putting a 64 bit crypto-based identifier means people won't
type that long hexadecimal sequence.
That is, even if most people use DNS or something like that,
it is still inconvenient for DNS administrators. Note that
the value is psuedo random and completely different host
by host that copying some digit of other host does not work.
People relying on DNS do not notice even if a 64bit id from
DNS is different from the specified one. There is no one who
specifies the id.
So, there is no security nor convenience.

	Masataka Ohta