Subject: RE: (ngtrans) I-D ACTION:draft-ietf-ngtrans-6to4-03.txt

From: Richard Draves <[email-masked]>
Date: Thu, 14 Oct 1999 10:39:05 -0700

> The sets of precedence in the updated algorithm I posted today
> to select source & destination addresses should take care of
> the buckets you suggest.
> Those precedence have default values that can be administratively
> changed.
> One can always define some new levels which could correspond
> to new buckets.
> 
> Is it not enough?

[I agree, we should be discussing this on ipng instead of ngtrans. I've
removed ngtrans, I don't like getting multiple messages...]

Alain, our initial two proposals were fairly similar. However in the end I
think we need to separate the concepts of buckets and the concepts of
precedence and use both.

First I have some confusion when I read your proposal. At some points you
use numerical inequalities eg prec(a) < prec(b). That's clear. At other
points you say "higher precedence". Does higher precedence mean lower
numerically or higher numerically? So maybe you'll have to correct my
interpretation of your proposed algorithm.

I'd like to give the administrator the ability to configure a solution to
the other problem that you raised in Tokyo - situations where
longest-matching-prefix does not do the right thing because of mismatches
with the topology, like where one's ISP is has two separate prefixes.

So suppose the administrator can say "give first preference to addresses in
my own site (prefix A/48), next to addresses from my ISP (prefixes A/16 and
B/16), next to all other global native addresses, next to 6to4, last to
v4-compatible".

That sounds like a useful capability for the administrator.
Suppose the administrator tries to do this with your algorithm.

Then a node with two source addresses, one from prefix A/48 and one 6to4,
initiates communication with another node with one destination address from
prefix B/16.

I believe that your algorithm will select the 6to4 source address instead of
the A/48 source address - clearly the wrong thing.

Another situation - the source addresses are the same (prefixes A/48 and
6to4), but there are two destination addresses (prefixes B/16 and 6to4). In
this situation your algorithm will select the 6to4 source & destination
addresses instead of the two native addresses.

The administrator really wants to have two buckets - one for native
addresses and one for 6to4/v4-compatible addresses. The first priority is to
have destination & source addresses from the same bucket.

But within the buckets the administrator might also want to have some
preferences, like saying use 6to4 before v4-compatible, or use addresses in
my ISP's prefixes before other native/global addresses. So the second
priority is to use addresses that have highest (lowest numerically)
precedence value.

Then third priority can be longest-matching-prefix, and a fourth priority
can be preserving DNS order.

Before I try to sketch out an algorithm that uses both buckets &
precedence... how does this sound so far?

Rich
--------------------------------------------------------------------
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: Alain Durand <[email-masked]>
Date: Fri, 15 Oct 1999 11:21:59 +0200

>interpretation of your proposed algorithm.

I need to clarify this in my text. Guess I need to submit an ID.
lowest precedence means in my text the lowest number.
Guess I have to reformulate this, I may have use an incorrect
english term. I fear you understand the opposite of what I meant.
My fault.
I will give two example of how it works.

>the A/48 source address - clearly the wrong thing.

I do not see why. With my algorithm, node A will have both an global, non 6to4
address within A/48 and a 6to4 one. node B will have only global, non 6to4 
addresses

My suggested algorithm will consider the pairs:
(A/48:prec=30, B/48:prec=30)
(A/6to4:prec=35, B/48:prec=30).
There is only one pair of common precedence, that is:
(A/48:prec=30, B/48:prec=30)
The lowest numerical value of precedence LP is 30.
The algorithm will then select the non 6to4 addresses as source address for A.

>addresses instead of the two native addresses.

Same thing, the algorithm will select global.
we consider the pairs:
(A/48:prec=30, B/48:prec=30)
(A/48:prec=30, B/6to4:prec=35)
(A/6to4:prec=35, B/48:prec=30)
(A/6to4:prec=35, B/6to4:prec=35)

the set of pairs of common precedence is
(A/48:prec=30, B/48:prec=30)
(A/6to4:prec=35, B/6to4:prec=35)

LP (lowest numerical  value of precedence) is 30, so we select the pair
(A/48:prec=30, B/48:prec=30)

If I redefine the definition of precedence, not for type of addresses,
but with a longest prefix match with predefine prefixes as you suggested,
what you define as buckets is maybe what I define as the set
of pairs of the same precedence

prec(FE80::/64) = 10
prec(FEC0::/64) = 20
prec(2000::/3) = 30
prec(2002::/16) = 35
prec(::/96) = 50

         - Alain.

         - Alain.