Subject: [rrg] definitions - alternate view

From: William Herrin <[email-masked]>
Date: Sat, 4 Apr 2009 11:20:55 -0400

Briefly:

Identifier: Any element in the ongoing communication between a user
and a network service he uses which is statically bound to the
function of correlating the communication's data packets with the
communication as a whole.

Address: Any element in a network packet used to calculate the
packet's next hop. An address might or might not be used to construct
an identifier as well.

Locator: An address which is not used to construct an identifier. A
locator is only used to calculate the packet's next hop.

Identifier

Definition: Any element in the ongoing communication between a user
and and a network service he uses which is statically bound to the
function of correlating the communication's data packets with the
communication as a whole.

Notes: The RRG observes that an identifier must remain unique within
the scope of its use and must persist unchanged over the duration of
its use. If not unique, packets may be correlated with the wrong
communication. If changed, the user or his computer may not determine
the new identifier in a timely manner.

Examples:

* The Web URL that the person uses to access cnn.com every day going
back years and years, would prevent the user from tuning in to CNN and
would cause all of his news-scraper programs to fail.

* The DNS host name used by the Web URL which if changed would force
the URL to change.

* The user's login name at the New York Times, used to track the
user's activity and build a usage profile which if changed would cause
the NYT to lose its prior knowledge about the individual.

* The session cookie used to correlate multiple http accesses with a
particular user login which if changed would require the user to log
in and re-identify himself again.

* The TCP transport ID composed of two IP addresses and two port
numbers, used to correlate individual IP packets with the TCP
connection which if changed would cause the TCP connection to time out
and fail.

* The IP address which if changed would force the transport ID to change.

* The IP address contained within the Web URL which if changed would
force the URL to change.

* The IP address statically locked by the web browser to the DNS
hostname in the Web URL via "DNS Pinning," which if changed would
require the URL to change or the browser to restart in order to negate
the DNS Pinning.

* The MAC address in an IPv6 packet used to construct the IP address
which if changed would force the TCP transport ID to change.

Address

Definition: Any element in a network packet used to calculate the
packet's next hop. An address might or might not be used to construct
an identifier as well.

Examples:

* The IP address used both for packet forwarding and as a component of
the TCP transport ID.

Locator

Definition: An address which is not used to construct an identifier. A
locator is only used to calculate the packet's next hop.

Notes: The RRG observes that when a host or network attaches to the
Internet and adopts the use of locators and addresses already
contained by the system to which it attached, this new attachment
induces no additional routing state on the Internet. However, when the
attaching network requires locators or addresses not already contained
by the system to which it attached, knowledge about that attachment
must be propagated throughout the routing system.

Examples:

* The MAC address in an IPv4 ethernet packet used to switch packets
from one switch port to another within a LAN.

* The MPLS label used to route packets to the correct exit router within an AS.

Regards,
Bill Herrin

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

---

From: "Joel M. Halpern" <[email-masked]>
Date: Sat, 04 Apr 2009 11:45:10 -0400

That is a very specific kind of identifier.  It sounds to me like the 
definition of session identifier.
Scott and I have been known to discuss whether that is the only 
identifier the protocol needs.  But it is certainly not the only 
identifier that the architecture needs to be able to discuss.

Yours,
Joel

---

From: William Herrin <[email-masked]>
Date: Sat, 4 Apr 2009 18:25:11 -0400

> definition of session identifier.

Joel,

Either I didn't describe it well enough or you read it too narrowly.

It's any element at all that's incorporated into that correlation
process with a static binding. It's the session ID that incorporates
multiple transports into a session but its also the transport ID that
incorporates the packets into each transport as well as the components
(srcip, dstip, srcport, dstport) from which the transport ID is
constructed. Not only that, it's the login that correlates multiple
sessions into an account.  If it's statically incorporated into that
correlation process in any way then it's an ID.

In the most general sense, an identity correlates a set of smaller
entities into the single larger entity which contains them.

If you think that's wrong, poke a hole in it. Give me one
counter-example of an identifier which does not function as a
correlator. If I can't either explain how it's used as a correlator or
explain why it's not an identifier then I'll have to find a new
theory.

Regards,
Bill Herrin

---

From: Scott Brim <[email-masked]>
Date: Thu, 09 Apr 2009 19:43:08 -0400

> communication as a whole.

We use identifiers for

  - discovery
  - authentication
  - session control
  - referral

3/4 of these are outside of an "ongoing communication".

> packet's next hop. An address might or might not be used to construct

There are many elements in a packet that are used to calculate the
next-hop.  You really don't want to try to generalize "address" to cover
everything including SIP options and (as others have said) MPLS labels.

> locator is only used to calculate the packet's next hop.

(1) There's no way "locator" is going to be a negative definition.  (2)
See other discussion about why Packet Forwarding is a separation issue
from Point Of Attachment Naming (what locators are for).

Scott

---

From: William Herrin <[email-masked]>
Date: Thu, 9 Apr 2009 20:08:14 -0400

> 3/4 of these are outside of an "ongoing communication".

Hi Scott,

If you take the plain-english meanings of the two words (instead of
implicitly adding "session" to the end) you'll find that it stretches
to cover all four cases.

If I chat with you today, and I chat with you tomorrow, and I chat
with you again next week, that's an ongoing communication. I discover
your current location, possibly by going somewhere I know you
frequent, asking "Have you seen Scott?" and being referred to someone
else who might know. We confirm each others' identity by sight and
begin a chat session tied together by the audio characteristics of our
respective voices.

Nevertheless, I relent. "Identifier," as we've used it here on the
group, has at least two rather distinct meanings that deserve to be
treated separately. We do ourselves a disservice by trying to either
combine them or exorcise one or the other.

Referent - these are your discovery and referral elements. They're
used in the process of connecting the user to the resource he seeks.

Correlator - your session and authentication elements. They're used to
collect the packets and connections and sessions into a larger scope.

We've been calling both of these things identifiers but they don't
really have much in common.

Regards,
Bill Herrin