Subject: [rrg] Terminology: word-smithing

From: Tony Li <[email-masked]>
Date: Fri, 27 Mar 2009 22:23:14 -0700

Hi all,

For those of you that weren't able to join us today, the IAB has charged 
  us with defining some terminology to talk about routing.  While we had 
a long and spirited discussion today, we didn't get down to the task of 
crafting specific text and we decided to continue this on the list.

Here are some straw man snippets to kick off the discussion.  Note that 
I'm taking these from definitions already proposed in 
draft-irtf-rrg-recommendation-01.  Apologies if I'm missing some 
favorite subtlety.

locator     A locator is a name that has topological sensitivity and
	    must change if the point of attachment changes.

identifier  An identifier is the name of an endpoint.  It has no
	    topological sensitivity.  That is, the identifier will not
	    change, even if the endpoint changes its attachment within
	    the topology.  Identifiers may have other properties, such
             as the scope of their uniqueness (global or local) and the
	    probability of their uniqueness (absolute or statistical).

address	    An address is a name that is both a locator and an 	
	    identifier.

Comments?

Tony

---

From: Roland Dobbins <[email-masked]>
Date: Sat, 28 Mar 2009 14:41:30 +0800

> 	    must change if the point of attachment changes.

A locator is defined as a designator which has topological  
significance and provides reachability information for endpoints; the  
locator(s) associated with an endpoint change if/when the point(s) of  
attachment of an endpoint within the network topology changes.

> 	    probability of their uniqueness (absolute or statistical).

An identifier is the designator of an endpoint; identifiers have no  
topological significance, and do not change even if the endpoint  
changes its point(s) of attachment within the network topology.   
Identifiers may exhibit other properties such as global uniqueness,  
local uniqueness (for varying definitions of 'local'), absolute  
uniqueness, statistical probability of uniqueness, etc.

> address	    An address is a name that is both a locator and an 	

An address is a designator which conflates the properties of a locator  
with the properties of an identifier.

-----------------------------------------------------------------------
Roland Dobbins <[email-masked]> // +852.9133.2844 mobile

   Our dreams are still big; it's just the future that got small.

		   -- Jason Scott

---

From: Brian E Carpenter <[email-masked]>
Date: Sun, 29 Mar 2009 03:14:09 +1300

> address        An address is a name that is both a locator and an    

My subtleties:

1. An identifier can name various entities within the endpoint. It is
important to qualify the identifier accordingly. In the RRG context,
an identifier names the Sqglz entity within the endpoint.

2. The 'locatorness' and 'identifierness' of an address may vary
between scopes and over time.

As for the exact definition of a Sqglz, I'm not sure we resolved
that yesterday.

    Brian

---

From: Dino Farinacci <[email-masked]>
Date: Sat, 28 Mar 2009 10:11:52 -0700

These definitions are fine with me.

But people are going to ask where does a MAC address and a LISP EID  
fit into these definitions.

A MAC address and a LISP EID are both identifiers which also have  
topological significance within a scope. And they are more like  
identifiers, as defined below because when they move within that scope  
they *can* change (MAC addresses don't but LISP EIDs should). But they  
do have local scope topological significance as defined by locator  
below.

Dino

On Mar 27, 2009, at 10:23 PM, Tony Li wrote:

>
> Hi all,
>
> For those of you that weren't able to join us today, the IAB has  
> charged  us with defining some terminology to talk about routing.   
> While we had a long and spirited discussion today, we didn't get  
> down to the task of crafting specific text and we decided to  
> continue this on the list.
>
> Here are some straw man snippets to kick off the discussion.  Note  
> that I'm taking these from definitions already proposed in draft- 
> irtf-rrg-recommendation-01.  Apologies if I'm missing some favorite  
> subtlety.
>
>
> _______________________________________________
> rrg mailing list
> [email-masked]
> http://www.irtf.org/mailman/listinfo/rrg

---

From: Tony Li <[email-masked]>
Date: Sat, 28 Mar 2009 11:47:56 -0700

Dino Farinacci wrote:
> But people are going to ask where does a MAC address and a LISP EID fit 
> into these definitions.

AFAIK, our job was not to define LISP.  That's your job.  ;-)

> topological significance within a scope. 

As I think we discussed, possibly after you left, a MAC address was 
originally conceived of as a pure identifier.  It's L2 locator semantics 
were overloaded onto it when people conceived of bridging.  None of 
these make the MAC address into an L3 locator.

> And they are more like 
> do have local scope topological significance as defined by locator below.

As far as I can tell, a LISP EID is simply a higher layer address in a 
two level address hierarchy.  The RLOC the lower layer address.

Tony

---

From: Dino Farinacci <[email-masked]>
Date: Sat, 28 Mar 2009 13:55:49 -0700

> AFAIK, our job was not to define LISP.  That's your job.  ;-)

And we have done that.

But let me be clear about definition of the LISP EID. We did not  
define it to be a pure definition or tried to make it adhere to  
someone else's definition.

We first and foremost wanted to achieve the goal of no host changes  
and no subnet or readdressing changes in a newly converted LISP site.  
That was the dominant reason for it's definition.

> originally conceived of as a pure identifier.  It's L2 locator  
> semantics were overloaded onto it when people conceived of  
> bridging.  None of these make the MAC address into an L3 locator.

I realize that but after people mull over the RRG definitions, they  
will undoubly ask "so how does a MAC address fit into those  
definitions".

So the RRG has the choice to say, it does in form X or a combination  
of form X and Y which are defined by the research group. Or, the RRG  
says we don't have a definition of it.

So, to be practical, the RRG needs to decide if the definitions will  
be relevant to reality.

>> And they are more like identifiers, as defined below because when  
>> they move within that scope they *can* change (MAC addresses don't  
>> but LISP EIDs should). But they do have local scope topological  
>> significance as defined by locator below.
>
> As far as I can tell, a LISP EID is simply a higher layer address in  
> a two level address hierarchy.  The RLOC the lower layer address.

Yep.

Dino

---

From: Tony Li <[email-masked]>
Date: Sat, 28 Mar 2009 17:39:27 -0700

Dino Farinacci wrote:
> But let me be clear about definition of the LISP EID. We did not define 
> it to be a pure definition or tried to make it adhere to someone else's 
> definition.

Fair enough.  One then wonders why folks want to make it conform to some 
other standardized terminology or use your terminology to make sense of 
the rest of the world.

Maybe we're looking for a hammer so that we can deal with all of these 
different screws?  ;-)

> We first and foremost wanted to achieve the goal of no host changes and 
> no subnet or readdressing changes in a newly converted LISP site. That 
> was the dominant reason for it's definition.

And you're well within your rights to design whatever it is that you 
think is best, regardless of someone else's definitions.

>> semantics were overloaded onto it when people conceived of bridging.  
>> None of these make the MAC address into an L3 locator.
> 
> I realize that but after people mull over the RRG definitions, they will 
> undoubly ask "so how does a MAC address fit into those definitions".

Like I just said, it's an identifier that was overloaded into being an 
L2 locator.

> So the RRG has the choice to say, it does in form X or a combination of 
> form X and Y which are defined by the research group. Or, the RRG says 
> we don't have a definition of it.

I think I just gave you X and Y.

> So, to be practical, the RRG needs to decide if the definitions will be 
> relevant to reality.

I think that they are.  The fact that many folks seem to overload 
semantics doesn't make the semantics the unclean part, it is the 
overloading that should be the issue.  Further, even if we started with 
some arbitrary overloaded semantics, the next proposal over would have 
different overloaded semantics.

Again, we have to establish the basis vectors for the space, and it's 
best if they are orthogonal.  It does not matter if no one uses them in 
their pure form or not.

>> two level address hierarchy.  The RLOC the lower layer address.

Glad we agree.  Is there any dissent?  If not, then are we done re: LISP?

Tony

---

From: William Herrin <[email-masked]>
Date: Sat, 28 Mar 2009 21:00:20 -0400

>            must change if the point of attachment changes.

Hi Tony,

That soft-sells it a little. A locator specifies an entity's current
attachment within the network topology.

Types of locators include:

* Local Locator - a set of names and/or numbers which specifies the
point of attachment of a host, interface or service within the network
topology of the local administrative zone.

* Remote Locator - a set of names and/or numbers which specifies the
point of attachment of an administrative zone within the network
topology of the Internet.

Since I've tied these definitions to "administrative zones," I'd
better define that term too:

* Administrative zone -  a portion of the network in which a single
entity holds some combination of access, authority and ownership which
grants said entity full control over that portion of the network.

That's a little fuzzy, so let me clarify it with some examples:

1. The computers on Tony's network have static IP addresses and
connect to an ISP. Tony's network is a separate administrative zone
from the ISP's because the ISP has neither access to change Tony's
network settings nor ownership of Tony's equipment.

2. Brian's computer gets a dynamic IP address from his cable Internet
provider. Brian's computer is within the ISP's administrative zone
because the ISP has the access and authority to change Brian's IP
address at its discretion.

3. Tony's wife has has her own computer. It get's a DHCP address from
Tony's computer. Her computer is part of Tony's administrative zone.

4. Tony's wife has a static IP address and she forbids Tony from
touching her computer. Her computer is a separate administrative zone
from Tonys because Tony lacks access and authority to change her
computer's IP address.

5. XYZ corp has an email team, a web team and a network team which
operate independently under the CTO. XYZ corp is a single
administrative zone because XYZ corp owns the whole thing and the CTO
can compel changes to the network across all three teams at his
discretion.

6. XYZ corp outsources it's spam filtering to ABC corp. ABC corp is a
separate administrative zone from XYZ corp. Though XYZ's contract
presumably allows it to have ABC change it's network to match XYZ's,
no one at XYZ has the access, ownership or authority to directly
change ABC's network.

>            probability of their uniqueness (absolute or statistical).

Types of identifiers include:

* Host identifier - a name or number expected to be attached to a
specific computer for it's entire service life.

Example: "minax" is my web server.

* Globally unique host identifier - Same plus is unique within the
scope of the Internet.

Example: "minax.dirtside.com" is my web server.

* Service identifier - a set of names and/or numbers which designate a
service provided by a host or cluster of hosts. A service identifier
is expected to remain constant for as long as the service is offered
to the Internet and must be unique within the scope of the Internet.

Example: www.whitehouse.net protocol http on IPv4 TCP port 80

* Transport identifier - a set of names and/or numbers which designate
a particular transport connection or associated set of packets between
an initiator and a service. A transport identifier is expected to
remain constant for the duration of the connection and must be unique
within the scope of the two communicating endpoints.

Example: the combination of source and destination IP address plus
source and destination port is a TCP transport identifier.

* Session identifier - a set of names and/or numbers which associate a
single communications session which occurs over multiple invocations
of one or more transport protocols. A session identifier must be
unique within the scope of the associated user and service.

Example: a web login cookie.

To clarify some of the above, I think I should also define two new terms:

* Initiator - the computer which starts a communication session
between itself and a service on the internet. Computers on the
Internet don't just happen to bump into each other. One end or the
other initiates that communication.

Example: A PC with a web browser.

* Service - some presumably useful communication provided by an
Internet-connected computer upon receiving a request from an
initiator.

Example: The results of the various URLs under http://www.cnn.com/

The purpose of routing is, of course, to move packets from the
initiator to a computer providing the service and then back to the
initiator.

> address     An address is a name that is both a locator and an

An address is a number used by the networking protocols to implement
one or more types of locators and identifiers.

In deployed IPv4, the "IP address" is overloaded with the following semantics:
1. The remote locator
2. Part of the local locator (the MAC address also plays a role in the
local locator)
3. The host identifier
4. Possibly part of the service identifier. Depends on how the
application interacts with the DNS. For example, because of "DNS
pinning" the IPv4 address is bound to an http or https service
identifier for the duration of each web session, even if the session
is anonymous (not identified). On the other hand, if you telnet to a
hostname, then the IP address is not part of the service identifier
because the service name is translated to a host identifier after
which the service identifier plays no further role.
5. Part of the transport identifier (the other parts are the remote IP
address and the local and report protocol ports)

Finally, we should define (or at least clarify) two additional terms:

* Route - The path from the current entity through the network
topology to the destination locator. Alternately: the next hop in said
path.

* Map - The association between an identifier and the current set of
locators at which the identifier is found.

Regards,
Bill Herrin

-- 
William D. Herrin ................ [email-masked]  [email-masked]
3005 Crane Dr. ...................... Web: <http://bill.herrin.us/>
Falls Church, VA 22042-3004

---

From: Tony Li <[email-masked]>
Date: Sat, 28 Mar 2009 18:05:14 -0700

> an identifier names the Sqglz entity within the endpoint.

Agreed, this is in keeping with Noel's comment about separating 
characteristics from objects.

> between scopes and over time.

Agreed.

> As for the exact definition of a Sqglz, I'm not sure we resolved

Correct.  Moreover, I don't think that we're required to resolve that 
for the sake of the terminology discussion.

Tony

---

From: Tony Li <[email-masked]>
Date: Sat, 28 Mar 2009 20:08:13 -0700

Hi Roland,

Roland Dobbins wrote:
> A locator is defined as a designator which has topological significance 
> and provides reachability information for endpoints; the locator(s) 
> associated with an endpoint change if/when the point(s) of attachment of 
> an endpoint within the network topology changes.

Hmmm....  I have to take issue with the reachability information.  It is 
the presence of a locator (or its abstraction -- the prefix) in a 
particular protocol that conveys reachability, not the locator itself.

> topological significance, and do not change even if the endpoint changes 
> its point(s) of attachment within the network topology.  Identifiers may 
> exhibit other properties such as global uniqueness, local uniqueness 
> (for varying definitions of 'local'), absolute uniqueness, statistical 
> probability of uniqueness, etc.

Thanks, I like the wording here and have merged it.

Tony

---

From: Tony Li <[email-masked]>
Date: Sat, 28 Mar 2009 20:36:24 -0700

Hi Bill,

Welcome back to the discussion.

> attachment within the network topology.

I'm missing the distinction.

> topology of the Internet.

Yup, as others have noted, locators can have scope.  I don't think we 
need to get into the variations and definitions of scope.  Again, 
different proposals may have different requirements.

> 4. Tony's wife ... forbids Tony from touching her computer. 

How did you guess?  ;-) ;-) ;-)

> specific computer for it's entire service life.

This goes towards adding the objects that Noel mentioned.

> Finally, we should define (or at least clarify) two additional terms:

AFAIK, the request from the IAB is to define the three terms locator, 
identifier and address, so I'm trying to confine myself to those.

Tony

---

From: Scott Brim <[email-masked]>
Date: Mon, 30 Mar 2009 07:18:59 -0400

I see everyone has had a productive weekend.

First, about the definitions ...

Excerpts from Tony Li on Sat, Mar 28, 2009 08:44:11PM -0700:
>
> Hi all,
>
> Here's where we are after one round of comments.
>
> Tony
>
>
> locator  A locator is a name that has topological sensitivity
>          and must
> 	   change

"must change" is too strong, because small changes may not require a
locator to change.  The essential issue is that use of a locator is
topology-dependent, so perhaps the text could say "may have to change"
or "cannot be expected not to change".  Even better would be a whole
sentence explaining the point.

>          if the point of attachment changes.  By convention,
> 	   a locator refers to layer 3 by default.  It is also
> 	   possible to have locators at other layers.  Locators may
> 	   have other properties, such as their scope (local or global
> 	   (default)) and their lifetime (ephemeral or permanent
> 	   (default)).
>
> identifier An identifier is the name of an object; identifiers have no
> 	   topological sensitivity, and do not change, even if the
> 	   object changes its point(s) of attachment within the
> 	   network topology.  Identifiers may have other properties,
> 	   such as the scope of their uniqueness (local or global
> 	   (default)), the probability of their uniqueness
> 	   (statistical or absolute (default)), and their lifetime
> 	   (ephemeral or permanent (default)).

"do not change"?  Identifiers may and will change at any time, but the
point is that they NEED not change in response to a change of attachment
point.

So bringing these mods together,

  An identifier is the name of an object; identifiers have no opological
  sensitivity and need not change even if the object changes its
  point(s) of attachment within the network topology, and it may change
  at any time, independent of attachment point changes.  Identifiers may
  have other properties, such as the scope of their uniqueness (local or
  global (default)), the probability of their uniqueness (statistical or
  absolute (default)), and their lifetime (ephemeral or permanent
  (default)).

> address  An address is a name that is both an interface locator and
>          an endpoint identifier.

That depends on what "is" is.  A bit field is just a bit field, etc.  I
suggest:

  An address is a name that is used both as a locator and as an
  identifier.

Then on to some responses to comments leading up to these ...

> topological significance within a scope. 

Forwarding can use anything it wants, and just because forwarding uses
something does not mean that thing is a locator.

Based on the definitions above I don't believe LISP EIDs are ever used
as identifiers (and that's the real test of whether one "is" an
identifier").  That is, a LISP EID is never used as a name of a packet
consumer/generator which never needs to change if its attachment point
changes.  Just because a locator is not usable for forwarding in some
scope does not mean it is used as an identifier.  In the core a LISP EID
is not used at all, it is payload.  During mapping, it is included in
the question "how do I get to this thing", and the function that is
asking that question is a forwarding function.

A MAC address does not NEED to change with topology changes.  And
again, just because it is used by forwarding doesn't make it a
locator.  Forwarding can use anything it wants, including SIP source
info.

> bridging.  None of  these make the MAC address into an L3 locator.

Forwarding can use anything it wants.

> two level address hierarchy.  The RLOC the lower layer address.

I wouldn't even say hierarchy.  It's an address with just as much
global uniqueness as any other address.  The only difference is
where it is advertised by routing.  In fact it's just as routable as
any other address, it just isn't routED -- as demonstrated by the fact
that I could, theoretically, take any prefix currently routed on the
Internet and LISPify it.

> So, to be practical, the RRG needs to decide if the definitions will

- An identifier does not need to change with attachment point changes

- An identifier MAY change at any time, independent of attachment
  point changes.  (and they do)

Excerpts from Tony Li on Sat, Mar 28, 2009 05:58:53PM -0700:
>>     > Identifiers may have other properties, such as the scope of their
>>     > uniqueness (global or local) and the probability of their uniqueness
>>     > (absolute or statistical).
>>
>> One 'word': "triple-barrel"! Actually, there's another important property,
>> which is the _lifetime_ of name. Presumably one property of an
>> 'identificator' is that it should be permanent?
>
> Ok, but we already know that some people, for the sake of privacy, want  
> to have temporary identifiers.

Also, some identifiers such as session identifiers are temporary by
nature.

> an identifier names the Sqglz entity within the endpoint.

Right.

> between scopes and over time.

In my ideal world locatorness and identifierness are not properties of
the thing, but rather properties of the functions using them.  The
things themselves do not change (well, their values may change), just
how they are used.  An address is just a thing, while its locatorness
comes from being used as a locator, and its identifierness comes from
being used as an identifier.

> As for the exact definition of a Sqglz, I'm not sure we resolved

No but we're getting there.  Joel may write a draft, and I'll be glad
to help.

> topology of the Internet.

I would hold off on these.  As was mentioned in the face-to-face
meeting, every locator applies to a prefix, but in some cases the prefix
is a /32 or /128.  The locator definition as it stands now is general
enough to cover all of these cases.  If you want to define them now, why
call them "local" and "remote" when the real attributes are whether they
apply to a single endpoint or a group?

> initiator to a computer providing the service and then back to the

That's the purpose of forwarding.  Routing is to determine paths that
forwarding can use.

> one or more types of locators and identifiers.

Not bad but what does it mean to "implement" a thing?  See what I
suggested above:

  An address is a name that is used both as a locator and as an
  identifier.

Scott