SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
© John Day, 2013 1	

Rights Reserved	

The Pouzin Society	

.	

1	

Things They Never Taught You About 
Naming and Addressing
“Did I ever tell you about Mrs. McCave	

Who had 23 sons and she named them all Dave?	

Well she did and that was not a very smart thing to do	

Because now when she calls, “Yoo-hoo, come into the house, Dave!”	

All 23 of her sons come on the run	

“And now she wishes that she had named them . . .”	

there follows a wonderful list of Dr. Seuss names she wishes she’d	

named them and then concludes with this excellent advice.	

“But she didn’t do it and now it is too late.”	

- Dr. Seuss	

Too Many Daves	

John Day	

Jan 2013
© John Day, 2013 2	

Rights Reserved	

The Pouzin Society	

.	

2	

Going Back to Fundamentals	

•  Develop the concepts moving from more fundamental to
more specific.	

–  Fundamentals of Naming	

–  Naming in Computing Systems	

–  Naming for Communicating Processes	

–  Naming for IPC
© John Day, 2013 3	

Rights Reserved	

The Pouzin Society	

.	

3	

Names and Name Spaces	

•  A name space, NS, is a set {N} of names from which all names for a
given collection of objects are taken. A name from a given name space
may be bound to one and only one object at a time. 	

•  A name is a unique string, N, in some alphabet, A, that unambiguously
denotes some object or denotes a statement in some language, L. The
statements in L are constructed using the alphabet, A.	

•  A function, MNS, which defines the class of objects, M, that may be
named with elements of NS. This is referred to as the scope of the name
space (see below). This may refer to actual objects or the potential for objects to be
created.	

•  A function, FMNS, that defines the mapping of elements of NS to
elements of M. This function is one-to-one and onto and is called a
binding.
© John Day, 2013 4	

Rights Reserved	

The Pouzin Society	

.	

4	

Operations on Names	

•  Assignment, allocates a name in a name space, essentially marks it in
use. Deassignment, removes it from use. Assignment makes names
available to be bound. This allows certain portions of a name space to
be “reserved,” not available for binding.	

•  Binding, maps a name to an object. Once bound, any reference to the
name accesses the object. Unbinding breaks the binding. Once
unbound, any reference will not access any object.	

–  An object ceases to exist when the last name referring to it is unbound.	

•  Saltzer [1977] defines “resolve” as in “resolving a name” as “to locate
an object in a particular context, given its name.”
–  An object cannot be identified without locating it nor located without
identifying it.
© John Day, 2013 5	

Rights Reserved	

The Pouzin Society	

.	

5	

Types of Names	

•  Objects may be assigned more than one name. These are called
synonyms or aliases.	

–  Objects that may have more than one name, the names are unambiguous.	

–  Objects that must have only one name, the names are unique. 	

•  Names may also denote sets of names. Associated with the set is a
rule that determines which names are returned when the name of the
set is resolved. In networking,	

–  A rule that returned all members has been called multicast.	

–  A rule that returned one member has been called anycast.	

–  We will refer to all forms as whatevercast!	

•  Synonyms or names of sets may be taken from the same or different
name spaces.	

–  The name of an object is the name of a set of one element.
© John Day, 2013 6	

Rights Reserved	

The Pouzin Society	

.	

6	

Resolving Names	

•  There are 2.5 means to resolve names:	

–  Exhaustive Search	

–  The name provides hints to narrow the search.	

•  The “half” is indirection:	

–  The name or part of the name points to an object that points to a name.	

•  Hierarchy is the most common form of embedding hints in a name.	

–  Hierarchy imposes a topological structure on the name space, which
constrains the names that can be assigned to an object.	

–  There may be search rules for how to utilize the “hints.”	

•  Every thing up to this point is applicable to all naming in computing
systems.
© John Day, 2013 7	

Rights Reserved	

The Pouzin Society	

.	

7	

What about IPC?	

•  The IPC Model says that an IPC Process is simply an application
process dedicated to doing IPC. What does this tell us about that?	

–  There are three kinds of Application Entities:	

•  A Flow Allocator AE to manage the creation of flows,	

•  A Data Transfer AE to instantiate a flow, and 	

•  RIB Daemon AE to maintain shared state among the IPC Processes	

•  Managing IPC with the (N-1)-DIF/layer
© John Day, 2013 8	

Rights Reserved	

The Pouzin Society	

.	

8	

What is the “Application” of an IPC Process?	

•  What is the main work of an IPC Process? Management!	

–  Not, Data transfer.	

•  Managing the IPC within the Layer.	

–  Resource Allocation	

–  Maintaining a Resource Information Base	

–  Routing	

–  Security Management	

Relaying/Muxing	

PDU Protection	

Data	

Transfer	

Allocation	

Mngmt	

Update	

Daemon
© John Day, 2013 9	

Rights Reserved	

The Pouzin Society	

.	

9	

What about IPC Naming?	

•  An IPC Process has an Application Process Name, give it a synonym of
scope limited to the layer, and if structured to facilitate forwarding.	

•  Commonly called an address	

•  There are three local identifiers:	

–  A Flow Allocator AE Instance Identifier,	

•  Commonly called a port-id	

–  A Data Transfer AE Instance Identifier, and 	

•  Commonly called a connection-endpoint-identifier	

–  RIB Daemon AE to maintain shared state among the IPC Processes	

•  Traditionally routing update.	

•  This coupled with delta-t has major implications (later).	

Address	

CEP-ids	

Flows	

Port-ids	

bindings
© John Day, 2013 10	

Rights Reserved	

The Pouzin Society	

.	

10	

Names for IPC	

•  An Address is a synonym for the IPC Process, with scope restricted to
the layer and structured to facilitate forwarding within the layer/DIF.	

–  A port-id is the handle returned to the calling application to refer to this
instance of communication, unique within its AE.	

–  A connection-endpoint-id (CEP-id) identifies the shared state of one end
of a flow/connection, unique within its AE.	

•  A connection-id identifies flows between the same two IPC Processes,
formed by concatenating CEP-ids, unique within the pair	

•  Distributed Application Name is globally unambiguous name for the
set of all Application Processes in a Distributed Application, e.g. DIF.	

Port-ids	

CEP-ids	

Address	

IPC Process
© John Day, 2013 11	

Rights Reserved	

The Pouzin Society	

.	

11	

To Summarize	

•  All identifiers except address and connection-id are local to the IPC
Process.	

–  Scope of the address is the Layer.	

–  Scope of the connection-id is the participants in the connection.	

•  None has more scope than it needs.	

Common Term	

 Scope	

 Application Term	

Application Process Name	

 “Global” (unambiguous)	

 Application Process Name	

Address	

 Layer (unambiguous)	

 Synonym for IPC Process’
Application Process Name	

Port-id	

 Allocation AE (unique)	

 Allocation AE-Instance-
Identifier	

Connection-endpoint-identifier	

 Data Transfer AE (unique)	

 Data Transfer AE Instance-
Identifier	

Connection-id	

 Src/Dest Data Transfer AE
(unique)	

Concatentation of data-transfer-
AE-instance-identifiers	

DIF Management Updates	

 IPC Process (unambiguous)	

 AE-identifier
© John Day, 2013 12	

Rights Reserved	

The Pouzin Society	

.	

12	

Principles of Naming and Addressing: I	

•  Application names indicate what, not where.	

–  Hence, names are organized to put similar “whats” near each other.	

–  So what “whats” do we use?	

•  There is no single answer. Depends on the purpose and the importance of look
up performance generally in a distributed directory.	

–  The Scope of an Application Name Space is defined by the chain of
databases pointed to by the Directory Forwarding Table.	

•  Different Application Name Spaces may name the same objects.	

–  It is here that the concepts of query and name merge	

•  Some schemes will produce multiple results; some a unique result	

•  Given the move to greater granularity more schemes will be useful in keeping
them tractable and useful.	

–  The only requirement for IPC is that some collection of synonyms be
associated with an application process and their mapping to the directory
are made known.
© John Day, 2013 13	

Rights Reserved	

The Pouzin Society	

.	

13	

Principles of Naming and Addressing: II	

•  Addresses indicate where – Not quite	

–  Within a DIF, the “what” of interest is “forwarding.” Synonyms are
assigned to facilitate forwarding, call it a forwarding-id or f-id.	

–  If the DIF has a sufficiently large number of members (or maybe if it
doesn’t) to make F-ids more useful.	

•  They are structured to reflect which elements are near each other for some
concept of near. This is an address.	

•  This is an “address” in the sense of its normal usage, expressing “where”
without indicating “how to get there.”	

–  An address is an synonym for an IPC Process whose scope is the DIF and
structured to be useful within the layer.	

–  “where” is just one kind of “what”	

–  Application Names and Addresses are simply two different means for
locating an object in different contexts. In this case, the object is an IPC
Process.
© John Day, 2013 14	

Rights Reserved	

The Pouzin Society	

.	

14	

Principles of Naming and Addressing: III	

•  A F-id (or address) is only unambiguous within the scope of a layer.	

–  And no more, otherwise this leads to overloading the semantics of the
address and leads to problems	

–  MAC addresses are 3 times longer than they need to be.	

•  Routes are sequences of (node) addresses.	

–  Source routing is a “male thing,” not willing to stop and ask directions.	

•  The relation of node and point of attachment is relative and hence
irrelevant.	

•  A node address is an (N)-F-id; 	

•  A point of attachment address is an (N-1)-F-id. 	

–  A layer routes on its address. A node address routes this layer’s address,
the point of attachment address is the address of the node in the layer
below and is routed by the layer below, not by this layer.
© John Day, 2013 15	

Rights Reserved	

The Pouzin Society	

.	

15	

Principles of Naming and Addressing: IV	

•  Since the address is structured to facilitate its use within the layer, it must be
assigned by the layer.	

–  Only the layer knows how to make the synonym useful.	

•  Any addresses assigned by anyone else are not addresses.	

•  Names of systems are useful management functions, but not for forwarding.	

–  Names of Hosts are distinct and not related to addressing.	

•  An address should not be constructed by concatenating an identifier in this
layer with one from the lower layer, i.e. don’t embed MAC addresses in IP addresses.	

–  Why? This construction is called a pathname, hence it is route-dependent!	

–  Addresses in adjacent layers should be completely independent.	

–  Hierarchical address assignment within a layer organizes addresses in this layer, not
the layer below.	

–  Each layer is a level of indirection.
© John Day, 2013 16	

Rights Reserved	

The Pouzin Society	

.	

16	

Topology and Addressing	

John Day	

30 March 2004	

A topologist is someone who can’t tell	

a coffee cup from a doughnut	

-very old math joke
© John Day, 2013 17	

Rights Reserved	

The Pouzin Society	

.	

17	

Protocols and Addressing Plans	

•  Protocols merely carry addresses	

•  The Design of Addressing Spaces is independent of the design of the Protocol.	

–  The only constraint is the representation of the address must be compatible with the
syntax of the protocol, i.e it has to fit in the field.	

•  A Protocol can potentially carry an address from any plan	

•  The Interpretation of Addresses by a protocol is policy.
© John Day, 2013 18	

Rights Reserved	

The Pouzin Society	

.	

18	

Decoupling Address Spaces	

•  We also found that the Network (Node) Address space must be de-coupled from the
Point of Attachment Address spaces.	

•  The natural approach would be to form addresses hierarchically from the bottom by
concatenating the lower layer address with some local suffix or local identifier.	

–  This approach has been used often in Operating System IPC naming and in file system naming.	

–  This only works if there is a single path to the object named.	

–  This does not yield the necessary de-coupling. However, an algorithmic relation between the
two is still desirable (but not required).	

•  For example, any address space constructed by embedding MAC addresses potentially has problems.	

•  This decoupling is analogous to the decoupling of virtual address space from a physical
address space in Operating Systems.	

–  The virtual address space has greater scope, spans multiple physical address spaces, e.g. caches,
main memory, disk address space, etc. and multiple physical addresses may map to the same
virtual address (in this case at different times).
© John Day, 2013 19	

Rights Reserved	

The Pouzin Society	

.	

19	

“Node Addressing Does Not 
Solve our Addressing Problems”	

–  This claim is often made as a reason for not using Saltzer’s paper as the solution.	

•  The rationale is that if a node is multi-homed it will generally be to two different
providers and so routing can’t accommodate the vast difference.	

•  This statement presumes any one or multiple assumptions:	

–  Node addresses would have to be provider-based as current addresses are.	

•  This assumes that addresses are formed as above and there is no decoupling	

–  Provider based addresses are the only way to provide location-dependence.	

–  Peering between providers only occurs so early in routing that it would be impossible to re-
route.	

•  All of these can be true, but none of them has to be true.	

–  As someone once said, “If you don’t do it right, it won’t work.”	

•  In particular, this rationale does not consider as a possibility the de-coupling between the
node addresses and point of attachment addresses we have found to be necessary.
© John Day, 2013 20	

Rights Reserved	

The Pouzin Society	

.	

20	

The Solution Lies in figuring out what “Location
Dependent” means.	

•  Earlier we had a little fun with the fact that the ARPANet was developed by BBN in Boston.	

–  Addresses in Boston aren’t very helpful in finding your way. One has to know where things are.	

–  In cities like Chicago, you don’t. An ordered pair is sufficient to find anything. 	

•  Even Manhattan isn’t that regular.	

•  Grids are nice addressing plans for cities, but they aren’t very useful for networks.	

•  Virtual addresses in Operating Systems are often described as an abstraction of the physical
memory available to the computer.	

•  What is the abstraction that would give us a sense of location but be independent of the
route?	

–  We need something that is invariant with respect to changes in the graph.	

•  A Topology is a structure that can be invariant with respect to such changes.	

–  Perhaps addresses should be topologically dependent more than location dependent.	

–  That’s nice, but what does it mean?
© John Day, 2013 21	

Rights Reserved	

The Pouzin Society	

.	

21	

“In Networking, when we say “topology”
we don’t mean what mathematicians mean. 
Their definition doesn’t apply to networks.”	

–  Another statement often heard.	

•  The first part of this statement is true.	

–  In networking we are sloppy in our use of the term. 95% of the time one hears the word
“topology,” the speaker means “graph.”	

•  A topology is a mapping with particular properties, i.e. one to one and onto.	

–  Whenever one speaks of the structure of a single network, one is talking about the graph of the
network.	

•  The topology of a network must refer to a mapping between networks, in effect a
collection of graphs, or a property of a collection of graphs.	

•  Enough pedantics, what does this have to do with addressing?	

–  Topology can provide the abstraction we need to decouple the node address space from the
point of attachment address space.	

•  But the second part is false. Lets see why and how.
© John Day, 2013 22	

Rights Reserved	

The Pouzin Society	

.	

22	

Definition of a Topology	

•  First we need some definitions:	

–  A topology is defined as follows: Let X be a non-empty set and T a collection of subsets of X
such that:	

•  A1. X ∈ T
•  A2. Ø ∈ T
•  A3. If O1, O2, . . ., On ∈ T, then O1 ∩ O2 ∩ . . . ∩ On ∈ T
•  A4. If for each a ∈ I, Oa ∈ T, then ∪ α ∈ I Oa ∈ T.	

–  A homeomorphism is a continuous function, F: X -- Y, which is one-to-one and onto and
maps each point x ∈ X to a point y ∈ Y and F-1 exists and is continuous. This mapping
ensures that points “near” x are mapped to points “near” y.	

–  A topology is defined by those properties preserved by homeomorphism.
© John Day, 2013 23	

Rights Reserved	

The Pouzin Society	

.	

23	

Interpreting the Math	

•  That is probably about as clear as mud.	

•  Basically the definitions say that a topology maps two points “near” each other
in one space to two points “near” each other in the other space in a continuous
manner. Often likened in popular expositions to distorting a rubber sheet.	

–  Or distorting a doughnut into a coffee cup.
© John Day, 2013 24	

Rights Reserved	

The Pouzin Society	

.	

24	

Two Additional Useful Properties: Orientation	

•  An address space, A, may be said to have an orientation if and only if there exists a
relation R on A that is a partial ordering, which is defined to be reflexive, antisymmetric,
and transitive.	

–  There exists a relation R on a set A such that ∀ x, y, and z in A 	

•  x R x,	

•  if x R y and y R x, then x = y	

•  if x R y and y R z then, x R z.
–  An ordering on a set A is a correspondence Γ = (G, A, A)	

–  where A is the source and target of G and ∍ ∀ (x,y) ∈ G is an order relation on A. If R is an
order relation on A, it has a graph which is an ordering on A. Where the graph, G, is defined as
follows:	

–  G is said to be a graph if every element of G is an ordered pair, i.e. if the relation: 	

–  (∀ z) (z ∈ G = (z is an ordered pair) is true.
© John Day, 2013 25	

Rights Reserved	

The Pouzin Society	

.	

25	

Two Additional Useful Properties: Distance	

•  The topological structure of address spaces can be made more useful for
routing if the topology also has one or both additional properties:	

•  It is a metrizable topology, i.e there is a distance function, with the properties:	

–  d:x - y, where x,y ∈ X such that	

•  d(x,y) ≥ 0	

•  d(x,y) = 0 iff x = y	

•  d(x,y) = d(y,x)	

•  d(x,z) ≤ d(x,y) + d(y,z)	

•  Routing algorithms based on a topology with either of these properties will
improve its ability to make routing decisions without having to fully calculate
routes or without having to calculate them at all.	

Definitions used here are after Bourbaki, Nicolas. 1991. Elements of Mathematics: 	

General Topology. Springer-Verlag, Berlin. Originally published as Éléments de 	

Mathématique: Topologie générale 1971 or most any topology text.
© John Day, 2013 26	

Rights Reserved	

The Pouzin Society	

.	

26	

Topology of an Address Space	

•  If a topology is a mapping, then what are we mapping between?	

•  The topology formed by the mapping between the address space and elements
of a layer. This determines the topological structure of a layer.	

•  An address space has a topological structure. 	

–  This may be difficult to grasp at first. (it was for me.)	

–  For example, consider the Chicago example. Once it was determined to use a grid,
the addressing plan was fixed. From then on, the address of a new building could
be known long before it or even the street it was on was built. The addressing plan
determined what address was assigned based on where it was.	

–  Network address spaces should function in a similar way.	

•  Good theory, but show me.
© John Day, 2013 27	

Rights Reserved	

The Pouzin Society	

.	

27	

A Hierarchical Address Space	

•  There are undoubtedly many useful topologies and we expect researchers to explore the
properties of a variety of topological structures.	

•  Address spaces are point sets, Networks are finite graphs.	

–  Must have many more points in the address space than nodes in the graph to ensure that any
“where” can be distinguished.	

•  One that is fairly common and fulfills our requirement for abstraction is a hierarchical
address space:	

–  View the address space as a set of strings, which designate subsets and subsets of subsets.
Subsets also contain strings. 	

–  The strings are formed in the typical means of defining hierarchical names, e.g.	

•  domain-id ::= {fixed length string}	

•  address ::= host-id | domain-id*host-id	

–  Domains are mapped to specific Subnets according to an abstraction of the connectivity.
© John Day, 2013 28	

Rights Reserved	

The Pouzin Society	

.	

28	

Topological Structure between Layers	

•  There may also be a topological relation between the address space of the (N)-layer and
the spaces of the (N-1)-layers that cover it.	

–  The relation between some layers may be weaker than others.	

•  For example, between an application space and a lower layer may be a topology but generally would not
maintain a relation of distance or orientation.	

•  If we have an architecture of common layers then:	

•  From the point of view of the user of a layer, every destination appears to be directly connected.	

•  Now if we go just below the layer boundary, the connectivity now appears to be a collection of
interconnected layers or subnets.	

•  Form a topological mapping between the elements of the (N)-layer and the graph formed by the elements
of the (N-1)-layers that cover the (N)-layer.	

•  This will yield an addressing structure from which given two addresses one can tell simply by comparing
the addresses whether the two are near each other.	

–  For this topology, the only routes that must be stored are those local to a subnet and those that
are short-cuts.
© John Day, 2013 29	

Rights Reserved	

The Pouzin Society	

.	

29	

The Topology of the Address Space affects the
Nature of the Graph	

•  An effective address space reflects an abstraction of the desirable structure of the
network and the structure of the network will be expanded to fit the address space.	

•  Much the way the grid for land in the Midwest “coaxes” the roads to follow the grid. There are
exceptions, but not many.	

•  Does this mean that routing will work better if the network is built to reflect the
topology? 	

–  Yes, just like it easier to find an address in Chicago if the streets all “go through.”	

•  Isn’t that constraining?	

–  Yes and no. One is rewarded when the structure of the network and the structure of the address
space coincide. 	

•  There is some work, if on occasion they don’t. 	

•  If they don’t most of the time, then a wrong choice was made in the structure of the address space.
© John Day, 2013 30	

Rights Reserved	

The Pouzin Society	

.	

30	

Topology and Mobile Subnets	

•  Three classes of mobility	

–  Mobile wrt fixed subnet, e.g. traditional cellular	

–  Ad hoc networks with an external frame of reference, e.g. hosts with GPS.	

–  True ad hoc networks	

•  Many ad hoc networks are small enough that flat addressing is adequate.	

•  However, topological addresses will improve routing efficiency for even small nets..	

•  For traditional cellular-like networks, the mobile nodes are assigned addresses relative to
the topology of the fixed net.	

•  Ad hoc networks with an external frame of reference have a natural basis for a
topological structure.	

•  For true ad hoc networks, some objective function is required as a basis for measuring
“nearness,” e.g. signal strength, neighbors, delay, etc. From this various clustering
techniques can be used to derive a topology.	

–  A topic for research.
© John Day, 2013 31	

Rights Reserved	

The Pouzin Society	

.	

31	

Multicast and Anycast Identifiers	

•  A Multicast identifier is a name of a set that when referenced returns all members of the
set. The members of the set are addresses or multicast identifiers.	

•  An Anycast or generic identifier is the name of a set that when referenced returns a
single member of the set, usually based on some criteria that may depend on the
requestor, e.g. nearest. The members of the set are addresses or anycast identifiers.	

•  These multicast and anycast identifiers name sets. They are not addresses. They do not
and cannot indicate “where.” They must be considered names.	

•  Any topological properties that can be exploited are properties of the members of the
sets, not of the set itself.	

•  Sets of limited scope may imply some range of location, not clear how useful this is.	

•  Invite counterexamples!
© John Day, 2013 32	

Rights Reserved	

The Pouzin Society	

.	

32	

Topological Addresses in Multi-provider Networks I
Or How would this be used in the real world.	

•  Picture a symmetrically terraced valley. The deeper in the valley the greater
the bandwidth. 	

•  Terraces near the top of the valley represent corporate or regional networks. The valley
floor is inhabited by “tier one” providers.	

•  As an example:	

Tier 1	

Tier 2 or Tier 1 Regional	

Tier 3	

High-b/w Appl	

Lower b/w appl	

Global Addr Space	

Global Addr Space	

Provider or Corporate	

Address Space	

Provider Addr Space	

Provider Addr Space	

Perhaps more than one provider address space. Notice provider systems can’t see hosts or vice versa.
© John Day, 2013 33	

Rights Reserved	

The Pouzin Society	

.	

33	

Multiprovider Networks II	

•  Start with one or two end system layers with global provider independent but
topologically dependent addresses.	

•  The number of layers would depend on admin and bandwidth range considerations.	

•  Each provider defines its own address space for its “top” layer. This address space is
topological according to the demands of the provider.	

–  A regional provider might cover only a part of the global space, 	

–  not necessarily contiguous.	

–  A “tier 1” provider would reach most of the global space.	

–  The number of layers in a provider network will depend on its design goals and the bandwidth
range it supports.	

•  The Global Layers ride on top of the Provider Layers.	

–  The provider can make the topology between the global space and its top space as easy or
difficult to compute as desired. Providers would only see host’s routers belonging to its
provider.
© John Day, 2013 34	

Rights Reserved	

The Pouzin Society	

.	

34	

Multiprovider Networks (cont.)	

•  Corporate networks would look like Provider Networks, except:	

–  Hosts that do not to need global visibility would operate directly on top of the
Provider or Corporate Layers.	

•  In essence, NATless NAT.	

–  NATs are a non-sequitor in this model.	

–  Hosts could have both global and local visibility by having an extra layer. 	

•  Directory resolves address mapping to appropriate layer.	

•  However, this could represent a potential security threat, i.e. an application using
protocols in both.	

•  Similarly, provider management systems would operate on provider layers.	

–  Would be invisible to customers.
© John Day, 2013 35	

Rights Reserved	

The Pouzin Society	

.	

35	

Conclusions	

•  We have made considerable progress in understanding naming and addressing,
but there remains much to do.	

–  Other topologies should be explored.	

–  Developing addressing plans for specific networks and for common use.	

–  Developing routing algorithms that use topological addresses	

•  Interestingly current algorithms uses addresses only as labels, not as addresses.	

–  and more. . . .

Weitere ähnliche Inhalte

Was ist angesagt? (8)

RINA Introduction, part II
RINA Introduction, part IIRINA Introduction, part II
RINA Introduction, part II
 
RINA: Recursive Inter Network Architecture
RINA: Recursive Inter Network ArchitectureRINA: Recursive Inter Network Architecture
RINA: Recursive Inter Network Architecture
 
Dublin mngmt140120
Dublin mngmt140120Dublin mngmt140120
Dublin mngmt140120
 
RINA Tutorial @ IEEE Globecom 2014
RINA Tutorial @ IEEE Globecom 2014RINA Tutorial @ IEEE Globecom 2014
RINA Tutorial @ IEEE Globecom 2014
 
Pace it data-disposal_and_destruction_methods_bf_sw
Pace it data-disposal_and_destruction_methods_bf_swPace it data-disposal_and_destruction_methods_bf_sw
Pace it data-disposal_and_destruction_methods_bf_sw
 
Tutorial Jaringan komputer
Tutorial Jaringan komputerTutorial Jaringan komputer
Tutorial Jaringan komputer
 
Lecture 1 4
Lecture 1 4Lecture 1 4
Lecture 1 4
 
Master slide deck l av9 - abbreviated
Master slide deck   l av9 - abbreviatedMaster slide deck   l av9 - abbreviated
Master slide deck l av9 - abbreviated
 

Ähnlich wie 4 addressing theory130115

Chapter 5-Naming in distributed system.pptx
Chapter 5-Naming in distributed system.pptxChapter 5-Naming in distributed system.pptx
Chapter 5-Naming in distributed system.pptx
AschalewAyele2
 
Services and Kew's (names) data
Services and Kew's (names) dataServices and Kew's (names) data
Services and Kew's (names) data
nickyn
 
NAME __________________________________________IS 3003CLASS0.docx
NAME __________________________________________IS 3003CLASS0.docxNAME __________________________________________IS 3003CLASS0.docx
NAME __________________________________________IS 3003CLASS0.docx
rosemarybdodson23141
 

Ähnlich wie 4 addressing theory130115 (20)

5 mngmt idd130115jd
5 mngmt idd130115jd5 mngmt idd130115jd
5 mngmt idd130115jd
 
Naming in Distributed System
Naming in Distributed SystemNaming in Distributed System
Naming in Distributed System
 
A Framework for Dynamic Data Source Identification and Orchestration on the Web
A Framework for Dynamic Data Source Identification and Orchestration on the WebA Framework for Dynamic Data Source Identification and Orchestration on the Web
A Framework for Dynamic Data Source Identification and Orchestration on the Web
 
Chapter 5-Naming in distributed system.pptx
Chapter 5-Naming in distributed system.pptxChapter 5-Naming in distributed system.pptx
Chapter 5-Naming in distributed system.pptx
 
Database Lecture 3.pptx
Database Lecture 3.pptxDatabase Lecture 3.pptx
Database Lecture 3.pptx
 
Ooad
OoadOoad
Ooad
 
Ooad
OoadOoad
Ooad
 
Oos Short Q N
Oos Short Q NOos Short Q N
Oos Short Q N
 
Exploring the Semantic Web
Exploring the Semantic WebExploring the Semantic Web
Exploring the Semantic Web
 
Active directory
Active directoryActive directory
Active directory
 
Services and Kew's (names) data
Services and Kew's (names) dataServices and Kew's (names) data
Services and Kew's (names) data
 
Hadoop introduction
Hadoop introductionHadoop introduction
Hadoop introduction
 
3 addressingthe problem130123
3 addressingthe problem1301233 addressingthe problem130123
3 addressingthe problem130123
 
Hunt for Domain Controller : Active Directory Pentesting Session
Hunt for Domain Controller : ActiveDirectory Pentesting SessionHunt for Domain Controller : ActiveDirectory Pentesting Session
Hunt for Domain Controller : Active Directory Pentesting Session
 
Implementing Linked Data in Low-Resource Conditions
Implementing Linked Data in Low-Resource ConditionsImplementing Linked Data in Low-Resource Conditions
Implementing Linked Data in Low-Resource Conditions
 
Cognitive Ability Effects on Effort in Web Search & Navigation by Gwizdka
Cognitive Ability Effects on Effort in Web Search & Navigation by GwizdkaCognitive Ability Effects on Effort in Web Search & Navigation by Gwizdka
Cognitive Ability Effects on Effort in Web Search & Navigation by Gwizdka
 
A Survey on Approaches for Frequent Item Set Mining on Apache Hadoop
A Survey on Approaches for Frequent Item Set Mining on Apache HadoopA Survey on Approaches for Frequent Item Set Mining on Apache Hadoop
A Survey on Approaches for Frequent Item Set Mining on Apache Hadoop
 
Semantic web assignment1
Semantic web assignment1Semantic web assignment1
Semantic web assignment1
 
Processing Life Science Data at Scale - using Semantic Web Technologies
Processing Life Science Data at Scale - using Semantic Web TechnologiesProcessing Life Science Data at Scale - using Semantic Web Technologies
Processing Life Science Data at Scale - using Semantic Web Technologies
 
NAME __________________________________________IS 3003CLASS0.docx
NAME __________________________________________IS 3003CLASS0.docxNAME __________________________________________IS 3003CLASS0.docx
NAME __________________________________________IS 3003CLASS0.docx
 

Mehr von ARCFIRE ICT

Mehr von ARCFIRE ICT (20)

Multi-operator "IPC" VPN Slices: Applying RINA to Overlay Networking
Multi-operator "IPC" VPN Slices: Applying RINA to Overlay NetworkingMulti-operator "IPC" VPN Slices: Applying RINA to Overlay Networking
Multi-operator "IPC" VPN Slices: Applying RINA to Overlay Networking
 
Error and Flow Control Protocol (EFCP) Design and Implementation: A Data Tran...
Error and Flow Control Protocol (EFCP) Design and Implementation: A Data Tran...Error and Flow Control Protocol (EFCP) Design and Implementation: A Data Tran...
Error and Flow Control Protocol (EFCP) Design and Implementation: A Data Tran...
 
Large-scale Experimentation with Network Abstraction for Network Configuratio...
Large-scale Experimentation with Network Abstraction for Network Configuratio...Large-scale Experimentation with Network Abstraction for Network Configuratio...
Large-scale Experimentation with Network Abstraction for Network Configuratio...
 
Design Considerations for RINA Congestion Control over WiFi Links
Design Considerations for RINA Congestion Control over WiFi LinksDesign Considerations for RINA Congestion Control over WiFi Links
Design Considerations for RINA Congestion Control over WiFi Links
 
One of the Ways How to Make RIB Distributed
One of the Ways How to Make RIB DistributedOne of the Ways How to Make RIB Distributed
One of the Ways How to Make RIB Distributed
 
Unifying WiFi and VLANs with the RINA model
Unifying WiFi and VLANs with the RINA modelUnifying WiFi and VLANs with the RINA model
Unifying WiFi and VLANs with the RINA model
 
First Contact: Can Switching to RINA save the Internet?
First Contact: Can Switching to RINA save the Internet?First Contact: Can Switching to RINA save the Internet?
First Contact: Can Switching to RINA save the Internet?
 
Experimenting with Real Application-specific QoS Guarantees in a Large-scale ...
Experimenting with Real Application-specific QoS Guarantees in a Large-scale ...Experimenting with Real Application-specific QoS Guarantees in a Large-scale ...
Experimenting with Real Application-specific QoS Guarantees in a Large-scale ...
 
Exp3mq
Exp3mqExp3mq
Exp3mq
 
Pristine rina-tnc-2016
Pristine rina-tnc-2016Pristine rina-tnc-2016
Pristine rina-tnc-2016
 
Distributed mobility management and application discovery
Distributed mobility management and application discoveryDistributed mobility management and application discovery
Distributed mobility management and application discovery
 
Mobility mangement rina iwcnc
Mobility mangement rina   iwcncMobility mangement rina   iwcnc
Mobility mangement rina iwcnc
 
6 security130123
6 security1301236 security130123
6 security130123
 
Rumba CNERT presentation
Rumba CNERT presentationRumba CNERT presentation
Rumba CNERT presentation
 
5. Rumba presentation
5. Rumba presentation5. Rumba presentation
5. Rumba presentation
 
4. Clearwater on rina
4. Clearwater on rina4. Clearwater on rina
4. Clearwater on rina
 
3. RINA use cases, results, benefits
3. RINA use cases, results, benefits3. RINA use cases, results, benefits
3. RINA use cases, results, benefits
 
2. RINA overview - TF workshop
2. RINA overview - TF workshop2. RINA overview - TF workshop
2. RINA overview - TF workshop
 
1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop
 
RINA research results - NGP forum - SDN World Congress 2017
RINA research results - NGP forum - SDN World Congress 2017RINA research results - NGP forum - SDN World Congress 2017
RINA research results - NGP forum - SDN World Congress 2017
 

Kürzlich hochgeladen

VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
nirzagarg
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
nirzagarg
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
nirzagarg
 
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 

Kürzlich hochgeladen (20)

Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
 
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...
Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...
Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 

4 addressing theory130115

  • 1. © John Day, 2013 1 Rights Reserved The Pouzin Society . 1 Things They Never Taught You About Naming and Addressing “Did I ever tell you about Mrs. McCave Who had 23 sons and she named them all Dave? Well she did and that was not a very smart thing to do Because now when she calls, “Yoo-hoo, come into the house, Dave!” All 23 of her sons come on the run “And now she wishes that she had named them . . .” there follows a wonderful list of Dr. Seuss names she wishes she’d named them and then concludes with this excellent advice. “But she didn’t do it and now it is too late.” - Dr. Seuss Too Many Daves John Day Jan 2013
  • 2. © John Day, 2013 2 Rights Reserved The Pouzin Society . 2 Going Back to Fundamentals •  Develop the concepts moving from more fundamental to more specific. –  Fundamentals of Naming –  Naming in Computing Systems –  Naming for Communicating Processes –  Naming for IPC
  • 3. © John Day, 2013 3 Rights Reserved The Pouzin Society . 3 Names and Name Spaces •  A name space, NS, is a set {N} of names from which all names for a given collection of objects are taken. A name from a given name space may be bound to one and only one object at a time. •  A name is a unique string, N, in some alphabet, A, that unambiguously denotes some object or denotes a statement in some language, L. The statements in L are constructed using the alphabet, A. •  A function, MNS, which defines the class of objects, M, that may be named with elements of NS. This is referred to as the scope of the name space (see below). This may refer to actual objects or the potential for objects to be created. •  A function, FMNS, that defines the mapping of elements of NS to elements of M. This function is one-to-one and onto and is called a binding.
  • 4. © John Day, 2013 4 Rights Reserved The Pouzin Society . 4 Operations on Names •  Assignment, allocates a name in a name space, essentially marks it in use. Deassignment, removes it from use. Assignment makes names available to be bound. This allows certain portions of a name space to be “reserved,” not available for binding. •  Binding, maps a name to an object. Once bound, any reference to the name accesses the object. Unbinding breaks the binding. Once unbound, any reference will not access any object. –  An object ceases to exist when the last name referring to it is unbound. •  Saltzer [1977] defines “resolve” as in “resolving a name” as “to locate an object in a particular context, given its name.” –  An object cannot be identified without locating it nor located without identifying it.
  • 5. © John Day, 2013 5 Rights Reserved The Pouzin Society . 5 Types of Names •  Objects may be assigned more than one name. These are called synonyms or aliases. –  Objects that may have more than one name, the names are unambiguous. –  Objects that must have only one name, the names are unique. •  Names may also denote sets of names. Associated with the set is a rule that determines which names are returned when the name of the set is resolved. In networking, –  A rule that returned all members has been called multicast. –  A rule that returned one member has been called anycast. –  We will refer to all forms as whatevercast! •  Synonyms or names of sets may be taken from the same or different name spaces. –  The name of an object is the name of a set of one element.
  • 6. © John Day, 2013 6 Rights Reserved The Pouzin Society . 6 Resolving Names •  There are 2.5 means to resolve names: –  Exhaustive Search –  The name provides hints to narrow the search. •  The “half” is indirection: –  The name or part of the name points to an object that points to a name. •  Hierarchy is the most common form of embedding hints in a name. –  Hierarchy imposes a topological structure on the name space, which constrains the names that can be assigned to an object. –  There may be search rules for how to utilize the “hints.” •  Every thing up to this point is applicable to all naming in computing systems.
  • 7. © John Day, 2013 7 Rights Reserved The Pouzin Society . 7 What about IPC? •  The IPC Model says that an IPC Process is simply an application process dedicated to doing IPC. What does this tell us about that? –  There are three kinds of Application Entities: •  A Flow Allocator AE to manage the creation of flows, •  A Data Transfer AE to instantiate a flow, and •  RIB Daemon AE to maintain shared state among the IPC Processes •  Managing IPC with the (N-1)-DIF/layer
  • 8. © John Day, 2013 8 Rights Reserved The Pouzin Society . 8 What is the “Application” of an IPC Process? •  What is the main work of an IPC Process? Management! –  Not, Data transfer. •  Managing the IPC within the Layer. –  Resource Allocation –  Maintaining a Resource Information Base –  Routing –  Security Management Relaying/Muxing PDU Protection Data Transfer Allocation Mngmt Update Daemon
  • 9. © John Day, 2013 9 Rights Reserved The Pouzin Society . 9 What about IPC Naming? •  An IPC Process has an Application Process Name, give it a synonym of scope limited to the layer, and if structured to facilitate forwarding. •  Commonly called an address •  There are three local identifiers: –  A Flow Allocator AE Instance Identifier, •  Commonly called a port-id –  A Data Transfer AE Instance Identifier, and •  Commonly called a connection-endpoint-identifier –  RIB Daemon AE to maintain shared state among the IPC Processes •  Traditionally routing update. •  This coupled with delta-t has major implications (later). Address CEP-ids Flows Port-ids bindings
  • 10. © John Day, 2013 10 Rights Reserved The Pouzin Society . 10 Names for IPC •  An Address is a synonym for the IPC Process, with scope restricted to the layer and structured to facilitate forwarding within the layer/DIF. –  A port-id is the handle returned to the calling application to refer to this instance of communication, unique within its AE. –  A connection-endpoint-id (CEP-id) identifies the shared state of one end of a flow/connection, unique within its AE. •  A connection-id identifies flows between the same two IPC Processes, formed by concatenating CEP-ids, unique within the pair •  Distributed Application Name is globally unambiguous name for the set of all Application Processes in a Distributed Application, e.g. DIF. Port-ids CEP-ids Address IPC Process
  • 11. © John Day, 2013 11 Rights Reserved The Pouzin Society . 11 To Summarize •  All identifiers except address and connection-id are local to the IPC Process. –  Scope of the address is the Layer. –  Scope of the connection-id is the participants in the connection. •  None has more scope than it needs. Common Term Scope Application Term Application Process Name “Global” (unambiguous) Application Process Name Address Layer (unambiguous) Synonym for IPC Process’ Application Process Name Port-id Allocation AE (unique) Allocation AE-Instance- Identifier Connection-endpoint-identifier Data Transfer AE (unique) Data Transfer AE Instance- Identifier Connection-id Src/Dest Data Transfer AE (unique) Concatentation of data-transfer- AE-instance-identifiers DIF Management Updates IPC Process (unambiguous) AE-identifier
  • 12. © John Day, 2013 12 Rights Reserved The Pouzin Society . 12 Principles of Naming and Addressing: I •  Application names indicate what, not where. –  Hence, names are organized to put similar “whats” near each other. –  So what “whats” do we use? •  There is no single answer. Depends on the purpose and the importance of look up performance generally in a distributed directory. –  The Scope of an Application Name Space is defined by the chain of databases pointed to by the Directory Forwarding Table. •  Different Application Name Spaces may name the same objects. –  It is here that the concepts of query and name merge •  Some schemes will produce multiple results; some a unique result •  Given the move to greater granularity more schemes will be useful in keeping them tractable and useful. –  The only requirement for IPC is that some collection of synonyms be associated with an application process and their mapping to the directory are made known.
  • 13. © John Day, 2013 13 Rights Reserved The Pouzin Society . 13 Principles of Naming and Addressing: II •  Addresses indicate where – Not quite –  Within a DIF, the “what” of interest is “forwarding.” Synonyms are assigned to facilitate forwarding, call it a forwarding-id or f-id. –  If the DIF has a sufficiently large number of members (or maybe if it doesn’t) to make F-ids more useful. •  They are structured to reflect which elements are near each other for some concept of near. This is an address. •  This is an “address” in the sense of its normal usage, expressing “where” without indicating “how to get there.” –  An address is an synonym for an IPC Process whose scope is the DIF and structured to be useful within the layer. –  “where” is just one kind of “what” –  Application Names and Addresses are simply two different means for locating an object in different contexts. In this case, the object is an IPC Process.
  • 14. © John Day, 2013 14 Rights Reserved The Pouzin Society . 14 Principles of Naming and Addressing: III •  A F-id (or address) is only unambiguous within the scope of a layer. –  And no more, otherwise this leads to overloading the semantics of the address and leads to problems –  MAC addresses are 3 times longer than they need to be. •  Routes are sequences of (node) addresses. –  Source routing is a “male thing,” not willing to stop and ask directions. •  The relation of node and point of attachment is relative and hence irrelevant. •  A node address is an (N)-F-id; •  A point of attachment address is an (N-1)-F-id. –  A layer routes on its address. A node address routes this layer’s address, the point of attachment address is the address of the node in the layer below and is routed by the layer below, not by this layer.
  • 15. © John Day, 2013 15 Rights Reserved The Pouzin Society . 15 Principles of Naming and Addressing: IV •  Since the address is structured to facilitate its use within the layer, it must be assigned by the layer. –  Only the layer knows how to make the synonym useful. •  Any addresses assigned by anyone else are not addresses. •  Names of systems are useful management functions, but not for forwarding. –  Names of Hosts are distinct and not related to addressing. •  An address should not be constructed by concatenating an identifier in this layer with one from the lower layer, i.e. don’t embed MAC addresses in IP addresses. –  Why? This construction is called a pathname, hence it is route-dependent! –  Addresses in adjacent layers should be completely independent. –  Hierarchical address assignment within a layer organizes addresses in this layer, not the layer below. –  Each layer is a level of indirection.
  • 16. © John Day, 2013 16 Rights Reserved The Pouzin Society . 16 Topology and Addressing John Day 30 March 2004 A topologist is someone who can’t tell a coffee cup from a doughnut -very old math joke
  • 17. © John Day, 2013 17 Rights Reserved The Pouzin Society . 17 Protocols and Addressing Plans •  Protocols merely carry addresses •  The Design of Addressing Spaces is independent of the design of the Protocol. –  The only constraint is the representation of the address must be compatible with the syntax of the protocol, i.e it has to fit in the field. •  A Protocol can potentially carry an address from any plan •  The Interpretation of Addresses by a protocol is policy.
  • 18. © John Day, 2013 18 Rights Reserved The Pouzin Society . 18 Decoupling Address Spaces •  We also found that the Network (Node) Address space must be de-coupled from the Point of Attachment Address spaces. •  The natural approach would be to form addresses hierarchically from the bottom by concatenating the lower layer address with some local suffix or local identifier. –  This approach has been used often in Operating System IPC naming and in file system naming. –  This only works if there is a single path to the object named. –  This does not yield the necessary de-coupling. However, an algorithmic relation between the two is still desirable (but not required). •  For example, any address space constructed by embedding MAC addresses potentially has problems. •  This decoupling is analogous to the decoupling of virtual address space from a physical address space in Operating Systems. –  The virtual address space has greater scope, spans multiple physical address spaces, e.g. caches, main memory, disk address space, etc. and multiple physical addresses may map to the same virtual address (in this case at different times).
  • 19. © John Day, 2013 19 Rights Reserved The Pouzin Society . 19 “Node Addressing Does Not Solve our Addressing Problems” –  This claim is often made as a reason for not using Saltzer’s paper as the solution. •  The rationale is that if a node is multi-homed it will generally be to two different providers and so routing can’t accommodate the vast difference. •  This statement presumes any one or multiple assumptions: –  Node addresses would have to be provider-based as current addresses are. •  This assumes that addresses are formed as above and there is no decoupling –  Provider based addresses are the only way to provide location-dependence. –  Peering between providers only occurs so early in routing that it would be impossible to re- route. •  All of these can be true, but none of them has to be true. –  As someone once said, “If you don’t do it right, it won’t work.” •  In particular, this rationale does not consider as a possibility the de-coupling between the node addresses and point of attachment addresses we have found to be necessary.
  • 20. © John Day, 2013 20 Rights Reserved The Pouzin Society . 20 The Solution Lies in figuring out what “Location Dependent” means. •  Earlier we had a little fun with the fact that the ARPANet was developed by BBN in Boston. –  Addresses in Boston aren’t very helpful in finding your way. One has to know where things are. –  In cities like Chicago, you don’t. An ordered pair is sufficient to find anything. •  Even Manhattan isn’t that regular. •  Grids are nice addressing plans for cities, but they aren’t very useful for networks. •  Virtual addresses in Operating Systems are often described as an abstraction of the physical memory available to the computer. •  What is the abstraction that would give us a sense of location but be independent of the route? –  We need something that is invariant with respect to changes in the graph. •  A Topology is a structure that can be invariant with respect to such changes. –  Perhaps addresses should be topologically dependent more than location dependent. –  That’s nice, but what does it mean?
  • 21. © John Day, 2013 21 Rights Reserved The Pouzin Society . 21 “In Networking, when we say “topology” we don’t mean what mathematicians mean. Their definition doesn’t apply to networks.” –  Another statement often heard. •  The first part of this statement is true. –  In networking we are sloppy in our use of the term. 95% of the time one hears the word “topology,” the speaker means “graph.” •  A topology is a mapping with particular properties, i.e. one to one and onto. –  Whenever one speaks of the structure of a single network, one is talking about the graph of the network. •  The topology of a network must refer to a mapping between networks, in effect a collection of graphs, or a property of a collection of graphs. •  Enough pedantics, what does this have to do with addressing? –  Topology can provide the abstraction we need to decouple the node address space from the point of attachment address space. •  But the second part is false. Lets see why and how.
  • 22. © John Day, 2013 22 Rights Reserved The Pouzin Society . 22 Definition of a Topology •  First we need some definitions: –  A topology is defined as follows: Let X be a non-empty set and T a collection of subsets of X such that: •  A1. X ∈ T •  A2. Ø ∈ T •  A3. If O1, O2, . . ., On ∈ T, then O1 ∩ O2 ∩ . . . ∩ On ∈ T •  A4. If for each a ∈ I, Oa ∈ T, then ∪ α ∈ I Oa ∈ T. –  A homeomorphism is a continuous function, F: X -- Y, which is one-to-one and onto and maps each point x ∈ X to a point y ∈ Y and F-1 exists and is continuous. This mapping ensures that points “near” x are mapped to points “near” y. –  A topology is defined by those properties preserved by homeomorphism.
  • 23. © John Day, 2013 23 Rights Reserved The Pouzin Society . 23 Interpreting the Math •  That is probably about as clear as mud. •  Basically the definitions say that a topology maps two points “near” each other in one space to two points “near” each other in the other space in a continuous manner. Often likened in popular expositions to distorting a rubber sheet. –  Or distorting a doughnut into a coffee cup.
  • 24. © John Day, 2013 24 Rights Reserved The Pouzin Society . 24 Two Additional Useful Properties: Orientation •  An address space, A, may be said to have an orientation if and only if there exists a relation R on A that is a partial ordering, which is defined to be reflexive, antisymmetric, and transitive. –  There exists a relation R on a set A such that ∀ x, y, and z in A •  x R x, •  if x R y and y R x, then x = y •  if x R y and y R z then, x R z. –  An ordering on a set A is a correspondence Γ = (G, A, A) –  where A is the source and target of G and ∍ ∀ (x,y) ∈ G is an order relation on A. If R is an order relation on A, it has a graph which is an ordering on A. Where the graph, G, is defined as follows: –  G is said to be a graph if every element of G is an ordered pair, i.e. if the relation: –  (∀ z) (z ∈ G = (z is an ordered pair) is true.
  • 25. © John Day, 2013 25 Rights Reserved The Pouzin Society . 25 Two Additional Useful Properties: Distance •  The topological structure of address spaces can be made more useful for routing if the topology also has one or both additional properties: •  It is a metrizable topology, i.e there is a distance function, with the properties: –  d:x - y, where x,y ∈ X such that •  d(x,y) ≥ 0 •  d(x,y) = 0 iff x = y •  d(x,y) = d(y,x) •  d(x,z) ≤ d(x,y) + d(y,z) •  Routing algorithms based on a topology with either of these properties will improve its ability to make routing decisions without having to fully calculate routes or without having to calculate them at all. Definitions used here are after Bourbaki, Nicolas. 1991. Elements of Mathematics: General Topology. Springer-Verlag, Berlin. Originally published as Éléments de Mathématique: Topologie générale 1971 or most any topology text.
  • 26. © John Day, 2013 26 Rights Reserved The Pouzin Society . 26 Topology of an Address Space •  If a topology is a mapping, then what are we mapping between? •  The topology formed by the mapping between the address space and elements of a layer. This determines the topological structure of a layer. •  An address space has a topological structure. –  This may be difficult to grasp at first. (it was for me.) –  For example, consider the Chicago example. Once it was determined to use a grid, the addressing plan was fixed. From then on, the address of a new building could be known long before it or even the street it was on was built. The addressing plan determined what address was assigned based on where it was. –  Network address spaces should function in a similar way. •  Good theory, but show me.
  • 27. © John Day, 2013 27 Rights Reserved The Pouzin Society . 27 A Hierarchical Address Space •  There are undoubtedly many useful topologies and we expect researchers to explore the properties of a variety of topological structures. •  Address spaces are point sets, Networks are finite graphs. –  Must have many more points in the address space than nodes in the graph to ensure that any “where” can be distinguished. •  One that is fairly common and fulfills our requirement for abstraction is a hierarchical address space: –  View the address space as a set of strings, which designate subsets and subsets of subsets. Subsets also contain strings. –  The strings are formed in the typical means of defining hierarchical names, e.g. •  domain-id ::= {fixed length string} •  address ::= host-id | domain-id*host-id –  Domains are mapped to specific Subnets according to an abstraction of the connectivity.
  • 28. © John Day, 2013 28 Rights Reserved The Pouzin Society . 28 Topological Structure between Layers •  There may also be a topological relation between the address space of the (N)-layer and the spaces of the (N-1)-layers that cover it. –  The relation between some layers may be weaker than others. •  For example, between an application space and a lower layer may be a topology but generally would not maintain a relation of distance or orientation. •  If we have an architecture of common layers then: •  From the point of view of the user of a layer, every destination appears to be directly connected. •  Now if we go just below the layer boundary, the connectivity now appears to be a collection of interconnected layers or subnets. •  Form a topological mapping between the elements of the (N)-layer and the graph formed by the elements of the (N-1)-layers that cover the (N)-layer. •  This will yield an addressing structure from which given two addresses one can tell simply by comparing the addresses whether the two are near each other. –  For this topology, the only routes that must be stored are those local to a subnet and those that are short-cuts.
  • 29. © John Day, 2013 29 Rights Reserved The Pouzin Society . 29 The Topology of the Address Space affects the Nature of the Graph •  An effective address space reflects an abstraction of the desirable structure of the network and the structure of the network will be expanded to fit the address space. •  Much the way the grid for land in the Midwest “coaxes” the roads to follow the grid. There are exceptions, but not many. •  Does this mean that routing will work better if the network is built to reflect the topology? –  Yes, just like it easier to find an address in Chicago if the streets all “go through.” •  Isn’t that constraining? –  Yes and no. One is rewarded when the structure of the network and the structure of the address space coincide. •  There is some work, if on occasion they don’t. •  If they don’t most of the time, then a wrong choice was made in the structure of the address space.
  • 30. © John Day, 2013 30 Rights Reserved The Pouzin Society . 30 Topology and Mobile Subnets •  Three classes of mobility –  Mobile wrt fixed subnet, e.g. traditional cellular –  Ad hoc networks with an external frame of reference, e.g. hosts with GPS. –  True ad hoc networks •  Many ad hoc networks are small enough that flat addressing is adequate. •  However, topological addresses will improve routing efficiency for even small nets.. •  For traditional cellular-like networks, the mobile nodes are assigned addresses relative to the topology of the fixed net. •  Ad hoc networks with an external frame of reference have a natural basis for a topological structure. •  For true ad hoc networks, some objective function is required as a basis for measuring “nearness,” e.g. signal strength, neighbors, delay, etc. From this various clustering techniques can be used to derive a topology. –  A topic for research.
  • 31. © John Day, 2013 31 Rights Reserved The Pouzin Society . 31 Multicast and Anycast Identifiers •  A Multicast identifier is a name of a set that when referenced returns all members of the set. The members of the set are addresses or multicast identifiers. •  An Anycast or generic identifier is the name of a set that when referenced returns a single member of the set, usually based on some criteria that may depend on the requestor, e.g. nearest. The members of the set are addresses or anycast identifiers. •  These multicast and anycast identifiers name sets. They are not addresses. They do not and cannot indicate “where.” They must be considered names. •  Any topological properties that can be exploited are properties of the members of the sets, not of the set itself. •  Sets of limited scope may imply some range of location, not clear how useful this is. •  Invite counterexamples!
  • 32. © John Day, 2013 32 Rights Reserved The Pouzin Society . 32 Topological Addresses in Multi-provider Networks I Or How would this be used in the real world. •  Picture a symmetrically terraced valley. The deeper in the valley the greater the bandwidth. •  Terraces near the top of the valley represent corporate or regional networks. The valley floor is inhabited by “tier one” providers. •  As an example: Tier 1 Tier 2 or Tier 1 Regional Tier 3 High-b/w Appl Lower b/w appl Global Addr Space Global Addr Space Provider or Corporate Address Space Provider Addr Space Provider Addr Space Perhaps more than one provider address space. Notice provider systems can’t see hosts or vice versa.
  • 33. © John Day, 2013 33 Rights Reserved The Pouzin Society . 33 Multiprovider Networks II •  Start with one or two end system layers with global provider independent but topologically dependent addresses. •  The number of layers would depend on admin and bandwidth range considerations. •  Each provider defines its own address space for its “top” layer. This address space is topological according to the demands of the provider. –  A regional provider might cover only a part of the global space, –  not necessarily contiguous. –  A “tier 1” provider would reach most of the global space. –  The number of layers in a provider network will depend on its design goals and the bandwidth range it supports. •  The Global Layers ride on top of the Provider Layers. –  The provider can make the topology between the global space and its top space as easy or difficult to compute as desired. Providers would only see host’s routers belonging to its provider.
  • 34. © John Day, 2013 34 Rights Reserved The Pouzin Society . 34 Multiprovider Networks (cont.) •  Corporate networks would look like Provider Networks, except: –  Hosts that do not to need global visibility would operate directly on top of the Provider or Corporate Layers. •  In essence, NATless NAT. –  NATs are a non-sequitor in this model. –  Hosts could have both global and local visibility by having an extra layer. •  Directory resolves address mapping to appropriate layer. •  However, this could represent a potential security threat, i.e. an application using protocols in both. •  Similarly, provider management systems would operate on provider layers. –  Would be invisible to customers.
  • 35. © John Day, 2013 35 Rights Reserved The Pouzin Society . 35 Conclusions •  We have made considerable progress in understanding naming and addressing, but there remains much to do. –  Other topologies should be explored. –  Developing addressing plans for specific networks and for common use. –  Developing routing algorithms that use topological addresses •  Interestingly current algorithms uses addresses only as labels, not as addresses. –  and more. . . .