IEN 188


















                     ISSUES IN INTERNETTING

                       PART 3:  ADDRESSING


                          Eric C. Rosen


                  Bolt Beranek and Newman Inc.


                            June 1981

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


                     ISSUES IN INTERNETTING

                       PART 3:  ADDRESSING


3.  Addressing


     This is the third in a series of  papers  that  discuss  the

issues  involved in the design of an internet.  The initial paper

was IEN 184, familiarity with which is presupposed.


     In this paper, we will deal  with  two  basic  issues.   The

first  has  to  do  with  the  Network  Access  Protocol.   It is

concerned with the sort of addressing information which a  source

Host  has  to  supply,  along  with  its data, to a source Switch

(gateway, in the Catenet context), in order to enable the  Switch

to  get  the  data delivered to the proper destination Host.  The

second issue has to do with the  question  of  how  the  Switches

(both  source  Switch  and  the  intermediate  Switches)  are  to

interpret and act upon the addressing information supplied by the

source  Host.   We  begin  by  stating  generally  the  sort   of

addressing  scheme  we  envision (which is by no means original),

and by comparing it to the  very  different  sort  of  addressing

currently  in  use  in the Catenet.  Next we will discuss some of

the issues and details that arise in considering how to make such

a scheme work reliably.  We will then show how this scheme  lends

itself  quite naturally to the solution of certain problems which

are very difficult to handle in the current Catenet architecture.

Although addressing and routing are rather intimately  bound  up,

                              - 1 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


we  will  avoid  routing  considerations  here whenever possible.

Routing in the internet will be the topic of a longer paper which

will be the next to appear in this series.


3.1  Logical Addressing / Flat Addressing


     For maximum  flexibility  and  robustness  of  operation,  a

source  Host should be able to simply "name" the destination Host

it wants to reach, where a "name" is just an arbitrary identifier

for a Host.  That is, the source Host should  not  need  to  know

anything about the physical location of the destination Host, NOT

EVEN  WHAT NETWORK IT IS ON.  In other words, the internet should

have logical addressing.  The advantages  of  logical  addressing

are  thoroughly  discussed  in IEN 183, and that discussion shall

not be repeated here.  IEN  183  presents  a  logical  addressing

scheme  which  was  designed  with the ARPANET in mind.  However,

since we  regard  the  internet  as  a  Network  Structure  whose

Switches  are  gateways and whose Hosts are generally multi-homed

to the gateways, most of the ideas presented in IEN  183  can  be

carried  over  directly to the internet environment.  The present

IEN will emphasize those aspects of the logical addressing scheme

which are specific to the internet environment, but the  proposed

scheme  is  basically  the  same as the one discussed in IEN 183.

Anyone with a real interest in these issues will want  to  become

familiar with that document.




                              - 2 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


     The  basic  idea of logical addressing is that a source Host

should name the destination Host, and  the  Switches  should  map

that  name  into a physical address that is meaningful within the

Network Structure of the Switches.  The mapping between names and

(physical) addresses will, in general, be  many-many.   That  is,

one  name  may refer indeterminately to several distinct physical

addresses,  either  because  some   one   physical   machine   is

multi-homed,  or  because the user does not care which of several

physical machines he reaches.  Similarly,  one  physical  machine

may  have  several names, which may either be synonyms, or may be

used for further multiplexing within the destination Host.  (This

may be particularly important when  a  Host  within  one  Network

Structure  is  really  a  Switch,  e.g., a port expander or local

network, within another.)


     Logical addressing tends to  result  in  a  flat  addressing

space,  rather than a hierarchical one.  This may seem surprising

in  the  context  of  the  internet,  since  an  internet  is   a

hierarchical  structure, and internet routing is almost certainly

going to be some  form  of  hierarchical  routing.   However,  it

simply  does  not  follow  that  the addressing space used in the

internet  Network  Access  Protocol  must   be   a   hierarchical

addressing  space.   In  fact,  since  the form of the addressing

space has an effect on the Network Access Protocol, and hence  on

Host-level  software,  whereas  the routing algorithm is a purely

internal  matter  to  the  Network  Structure,  proper   protocol

                              - 3 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


layering  would  seem  to require that the form of the addressing

and the form of the routing be independent.  We would like to  be

able  to  change  the  internal  routing algorithm of the Network

Structure  without  requiring  corresponding  changes   in   Host

software, i.e., without changing the form of the addressing.


     What  we  are  proposing  is  quite  different  from the way

addressing  is  done  in  the  current  Catenet  Network   Access

Protocol,  IP.  IP uses both physical addressing and hierarchical

addressing.  (Note that physical addressing within a hierarchical

Network  Structure  will   almost   certainly   be   hierarchical

addressing,   whereas  logical  addressing  allows  the  internal

structure of the Network Structure to be better hidden  from  the

users.  This is one of its main advantages.)  The first component

of the address is a network number, and the second component is a

physical address which is meaningful within that network.  In IEN

183,  we  discuss  a  number  of  reasons  for the superiority of

logical  over  physical  addressing.   Other  criticisms  of  the

Catenet's  current  addressing  scheme  have been voiced by other

authors.  For example, the way in which  hierarchical  addressing

is  incorporated  into Catenet addressing mechanisms has recently

come under criticism in IEN 177 by Danny Cohen, who  focuses  his

criticism  on  the  particular  case  of  the  ARPANET.  His main

criticism is that it does not allow enough  hierarchical  levels.

That  is, with the presence of local nets or port expanders which

appear to the ARPANET as Hosts, there is really another level  of

                              - 4 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


hierarchy  after  the  ARPANET.   He  suggests,  therefore,  that

ARPANET  addressing  (1822-level)  be  changed  to  provide  this

additional  hierarchical  level,  and that end-users (or at least

Host software modules) fill in this additional level.


     It is not obvious, though, that a single additional level of

addressing will do for all applications.  If we are sending  data

not  just to a local net, but to an internet of local nets, maybe

several additional levels of hierarchy are needed.  We  may  also

need  more  hierarchy  on  the  "front  end"  of  the address.  A

protocol which begins the internet address with a field which  is

supposed  to  identify the destination network (e.g., IP) assumes

that there is no need to establish a hierarchy among the networks

themselves.  (This is equivalent to assuming  that  all  Switches

can  "know about" all networks.)  As long as we have only a small

number of networks, it may be reasonable enough  to  assume  that

destination    network   addresses   need   not   themselves   be

hierarchical.  However, it is not difficult  to  imagine  a  very

large  internet  composed  of thousands of networks, where before

specifying a network, we must first specify,  say,  a  continent.

So  maybe  our  protocol  for  hierarchical  addressing  needs  a

"continent address" field before the network address  field.   It

begins  to  look  as  if  the  addressing  structure  needs to be

INFINITELY EXTENSIBLE in both directions.  In fact,  in  IEN  179

Cohen proposes a scheme which seems intended to provide this sort

of   infinite  extensibility.   That  seems  both  an  inevitable

                              - 5 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


consequence  of  hierarchical  addressing,  and  a  reductio   ad

absurdum of it.


     It  is  also  worth  noting that a given number of Hosts can

generally be addressed with  fewer  bits  in  a  flat  addressing

scheme  than in a hierarchical addressing scheme.  Given, say, 32

bits of addressing, flat addressing can  represent  2**32  Hosts.

However,  if  these  32  bits  are broken into four 8-bit fields,

hierarchically, fewer Hosts can be represented, since in general,

not every one of the four fields will actually take on  the  full

256  values.   Inevitably, one finds that at least one field must

take on 257 values, while at least one other turns out to have  a

smaller  number  of  values than expected.  This tends to lead to

the feeling that the address field needs "just one more level" of

hierarchy.  It also tends to lead to  the  use  of  funny  escape

values and multiplexing protocols so that different fields can be

divided up in different ways by different applications.  The same

problems  usually  reappear, however, in a few years, as the need

for "just one more level"  is  proclaimed  yet  again.   Yet  the

alternative  of making the address fields arbitrarily long, hence

infinitely  extensible,  is  rather  infeasible,   if   bandwidth

considerations are taken into account.


     The  need  for  infinite extensibility at the Host interface

can be avoided by using logical addressing (although this is only

one of its many advantages).  We can then identify a single  Host


                              - 6 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


by   using   a  single,  structure-less,  unique  name  which  is

meaningful at each level of internet  hierarchy.   That  is,  the

Switches  at  each  level  of  the  hierarchy  would  be  able to

recognize the name, and to map it into a physical address that is

meaningful at that level of hierarchy.  Neither the end-user  nor

the source Host would be responsible for determining the physical

addresses  at each level of a never-ending hierarchy.  Of course,

neither these arguments, nor those of IEN 183, can be regarded as

finally  settling  the  "flat  vs.   hierarchical"   issue.    In

networking,  no  one  issue can ever be settled in isolation, and

attempts to  do  so  result  only  in  endless  and  unproductive

arguments.   A network (or internet) is a whole whose performance

and functionality result from the combination of  its  protocols,

addressing  schemes,  routing  algorithm,  hardware  and software

architecture, etc.  Particular addressing  schemes  can  only  be

judged  when  it  is  seen  how they actually fit into particular

designs.  The  only  real  argument  in  favor  of  a  particular

addressing  scheme  is  that  it  fits  naturally  into a network

architecture  which  provides  the   needed   functionality   and

performance.   It  is hoped that the addressing scheme we propose

will be judged as part of the architecture we are  developing  in

this series of papers, rather than in isolation.








                              - 7 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


3.2  Model of Operation:  An Overview


     The  model  of  operation we are proposing is as follows.  A

source Host submits a packet to  a  source  Switch,  naming  (not

addressing)   the  destination  Host.   THE  SOURCE  SWITCH  THEN

TRANSLATES (OR MAPS) THAT NAME INTO  A  PHYSICAL  SWITCH  ADDRESS

WHICH  IS MEANINGFUL WITHIN ITS OWN NETWORK STRUCTURE;  THAT WILL

BE THE ADDRESS OF THE  DESTINATION  SWITCH  WITHIN  THAT  NETWORK

STRUCTURE.  The data is then routed through the Network Structure

to  the  destination  Switch  so  addressed.   The  name (logical

address) of the destination Host  is  also  carried  through  the

Network Structure along with the data and the physical address of

the destination Switch.  When the destination Switch receives the

data,  it  forwards  it to the destination Host over (one of) its

Pathway(s) to that Host.  If the Pathway is itself a  network  or

internet  configuration  with logical addressing, the name of the

destination Host is passed on via the  Pathway  Access  Protocol.

If logical addresses or names are not unique across all component

networks  of  an  internet, translation from the internet logical

address to the Pathway logical address would have to be  done  at

this  point.   If  the network or internet underlying the Pathway

does not even have logical addressing, the Host name will have to

be translated into a Pathway physical address by the  destination

Switch.





                              - 8 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


     Note  that,  at  any  particular  hierarchical  level (i.e.,

within  any  particular  Network  Structure),   the   ADDRESSABLE

ENTITIES  are  the  Switches  at that level (which are physically

addressed), and all the Hosts (which are logically addressed,  or

named).   Component  networks  of  the  internet  are  treated as

structure-less  Pathways,  AND  NEITHER  THE  COMPONENT  NETWORKS

THEMSELVES  NOR  THE  SWITCHES  OF  THE  COMPONENT  NETWORKS  ARE

INDEPENDENTLY ADDRESSABLE.  Furthermore, a name (logical address)

which adequately identifies the destination Host  is  present  at

each  level  of the hierarchy.  Of course, a particular name only

needs to be unique at a single level of the  internet  hierarchy,

within  a  particular Network Structure.  The names can change as

we travel up and down the hierarchy of  Network  Structures  that

make up the internet.



3.3  Some Issues in Address Translation


     In  order  to  do  the  sort  of translation from logical to

physical address that we have been discussing above, the Switches

must have translation tables.  Many of the issues involved in the

design of a robust translation table mechanism are  discussed  in

IEN  183,  and  much of that discussion applies without change to

the internet.  We will confine our discussion here, therefore, to

issues which are not considered in that note, or which  are  more

specific to the internet environment.



                              - 9 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


     The  main  problem  with  the  model  of  operation  we have

proposed  is  a  very  mundane  one,  but  unfortunately  a  very

important  one.   If  there  may  be  thousands  of  Hosts  on an

internet, each one with an unlimited number of  different  names,

and  if  a  source  Switch  must  be  able to map any name to the

address of a destination Switch, then each Switch  will  have  to

have  a  very  large  table  of  names  to drive this translation

function.  By itself, this is not much of a problem.  To be sure,

in the past,  it  has  been  considered  important  to  keep  the

gateways as small as possible.  It now seems to be more generally

accepted  that  the  current  Catenet gateways provide inadequate

performance, and that  building  a  robust  operational  internet

system  requires  us  to  build Switches that are large enough to

handle the required functionality at a reasonably high  level  of

performance.   We would expect Switches built in the future to be

much larger than the current gateways are.  However,  it  is  one

thing to require large tables, and quite another thing to require

tables  which  may grow without bound.  Since the number of Hosts

on the internet may grow without bound, it does not seem feasible

to require the Switches to have tables with one or  more  entries

for each and every Host in the internet.


     If we cannot fit the complete set of translation tables into

each  Switch,  a natural alternative is to turn the tables into a

DISTRIBUTED DATA BASE, with each Switch having only a  subset  of

the  complete  set  of tables.  For each Switch, there would be a

                             - 10 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


subset of logical addresses  for  which  the  Switch  would  have

complete   physical   addressing   information.    These  logical

addresses would fall into one of two classes:


     1) Those logical addresses which refer to  Hosts  which  are

        homed  (in  some  Network  Structure)  directly  to  that

        Switch.


     2) Those logical addresses  which  refer  to  distant  Hosts

        which  are in FREQUENT communication with the Hosts which

        are directly homed to that Switch.


The logical addresses in these two classes are the ones for which

the   Switch   will   be   most   often   called   upon   to   do

logical-to-physical address translation, and for best efficiency,

the  information needed to do the translation ought to be present

in the Switches.  For other logical  addresses,  which  are  less

often  seen,  all  that is needed is for the Switch to know where

the address translation information can  be  found.   Then  if  a

packet  with an infrequently-seen logical address is encountered,

it can be forwarded to a place where the  proper  information  is

known  to  reside,  or  else  the  packet  can  be held while the

information is obtained.  (We may want to have a scheme which  is

a  hybrid  of  these two alternatives.  For example, packets with

logical addresses that are not contained in the  resident  tables

can be forwarded to a place with more addressing information, and

this  can  in  turn cause the needed addressing information to be

                             - 11 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


sent back to the source Switch, so that additional  packets  with

the  same  address  can be handled directly by the source Switch.

That is, the source Switch might maintain,  in  addition  to  its

permanently  resident tables, a cache of the most recently needed

addressing information.)


     It is important to note that the two classes  defined  above

may  vary  dynamically,  and we may want a procedure for altering

the members of those classes in some  specific  Switch  depending

upon the traffic that the Switch is actually seeing in real time.


     Unfortunately,  any  such  scheme  would seem to require the

inclusion of at least one additional level of  hierarchy  in  the

addressing  structure, since when a Switch sees a logical address

for which it does not have complete information, it must be  able

to  determine  how  to get that complete information.  The scheme

would be self-defeating if it meant that we had to have  a  table

of  all the logical addresses, with an indication for each one of

which other Switch has the complete information.  Rather, we need

to be able to group the logical addresses into "areas", of  which

there will be a bounded number.  Then each Switch will be able to

keep a table indicating which other Switches contain the complete

translation information for each area.  This table of areas would

then  be  the only part of the complete set of translation tables

that had to be resident at ALL Switches.  While this is much more

feasible than requiring each Switch to keep  a  table  containing


                             - 12 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


all  the  logical  addresses,  it does means that the destination

address provided by the source  Host  must  include  not  only  a

destination  Host  identifier,  but  also an "area code" for that

logical address.


     If we are going to organize the  logical  addresses  of  all

internet  Hosts  into a relatively small set of "areas", we would

like to find some means of organization which is fairly  optimal.

Unfortunately, there are a number of fairly subtle considerations

which   make  this  quite  tricky  to  do.   Certain  intuitively

attractive ways of organizing the internet into these areas  will

result  in  various  sorts  of  significant  and  quite  annoying

sub-optimalities.  Suppose, for example,  we  treated  "area"  as

meaning  "home network", much as in the present Catenet IP (where

network number is  part  of  the  address  that  the  Hosts  must

specify.) Then we would require all and only the ARPANET gateways

to contain the logical-to-physical addressing information for the

ARPANET  Hosts,  all  and only the SATNET gateways to contain the

tables for the logical addresses of the SATNET Hosts,  etc.   The

user,  in  addressing  a particular Host, would not only name it,

but also name its "home network", and  the  source  Switch  would

choose  some Switch which interfaces directly to the home network

of the destination Host from  which  to  obtain  the  translation

information.   This  method of organization, however, has several

unsatisfactory consequences.  One problem is that if any Host  is

on  two  "home networks", we want the Switches, not the Hosts, to

                             - 13 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


choose which "destination network" to use.  This is necessary  if

we  want  the  routing  algorithm to be able to choose the "best"

path to some destination Host, and is  really  the  only  way  of

ensuring  that packets can be delivered to a Host over some path,

if one of the Host's home networks is down but the other  is  up.

(This  is  jumping  ahead  a  bit, since a full discussion of the

"partitioned net" problem will not appear until section 3.4.  The

point, though, is that the choice of "home network" to  use  when

sending  traffic  to  a  particular destination Host is a ROUTING

PROBLEM, NOT AN ADDRESSING PROBLEM.  Therefore  it  ought  to  be

totally  in  the  province of the Switches, which are responsible

for routing, and not at all in the province of the  Hosts,  which

must participate in the addressing, but not the routing.)


     Another  problem arises as follows.  Suppose we have adopted

the scheme of sending packets for a certain area to a  Switch  in

that   area,   depending   on  that  Switch  to  do  the  further

logical-to-physical translation.  It is possible that  when  this

further  translation  is  done, we will find that the route which

the packet travels from that Switch takes  it  back  through  the

source   Switch.    This   could   mean   a   very   lengthy  and

delay-producing "detour" for  the  packet.   It  might  at  first

appear  that  this  is  not very likely.  If a packet is going to

some ARPANET Host, and  we  send  it  to  some  Switch  which  is

directly  connected to the ARPANET, surely we have sent it closer

to its final destination, not further away.  Unfortunately,  that

                             - 14 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


just  is  not  necessarily true.  Network partition or congestion

may force a packet for an ARPANET Host to travel from an  ARPANET

gateway to a gateway (or series of gateways) outside the ARPANET,

back around (through a potentially long route) to another ARPANET

gateway.   (Consider  the  partitioned  net  and  the  expressway

problems.)  In such cases, the Network Structure may  already  be

in  a  condition of stress which is likely to result in below par

performance.  We do not want to make things even worse by  adding

any  further  unnecessary  but  lengthy  detours  just because we

cannot keep all the addressing information at the source  Switch.


     One  way  of  helping to avoid these sorts of problems is to

separate the notion of "area" from  any  physical  meaning.   The

purpose  of  adding  the notion of area to the logical addressing

scheme is just to enable us to distribute the data base needed to

do logical-to-physical address translation.  There is  no  reason

to  suppose  that  the  addressing  information  needed  for some

particular Host ought to be contained only in Switches  that  are

"near"  that  Host.   That  would  be  a  mistake.   Rather,  the

addressing information ought to be somewhere which is "near"  the

SOURCE  Host,  not  somewhere which is near the destination Host.

This maximizes the chances that the necessary address translation

will be done as soon as possible  after  the  packet  enters  the

Network Structure.  The sooner we do the address translation, the

more  information we have which we can make use of to improve the

routing of the  packet,  and  the  less  likely  any  unnecessary

detours will be.
                             - 15 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


     One  might  think  that at least Hosts which are on the same

home network should be grouped into the  same  area.   This  will

work  until  the  first  time a Host is moved from one network to

another.  Since the area codes are given by the  individual  Host

or  user as part of the address in the Network Access Protocol of

the internet, changing a Host's area code would involve  changing

Host-level   software   or  tables,  which  has  to  be  avoided.

(Avoiding  the  need  to  make  such  changes  when  Hosts   move

physically   is  one  of  the  main  reasons  for  using  logical

addressing.)  So we really have to think  of  "areas"  as  random

collections of Hosts.


     What we are proposing is a truly distributed logical address

translation  table,  rather  than  a  scheme  where  each  Switch

maintains only local information.  To make  this  more  concrete,

consider  how  this  might  be  done  in  the  Catenet.   All the

information about logical addresses which refer to Hosts  on  the

ARPANET would be contained not only in all the gateways which are

directly  connected  to  the  ARPANET,  but  also  in  a  set  of

additional gateways which  are  uniformly  scattered  around  the

internet.  Then, although the addressing information would not be

in  every potential source Switch, it would be somewhere close to

every potential source Switch, and  packets  would  not  have  to

travel  a  long  distance only to find out that they are going in

the wrong direction.



                             - 16 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


3.4  Model of Operation:  More Detail


     Let's assume that a source Host has given  a  message  to  a

source  Switch,  with  a  logical  address  and  an  "area  code"

indicating the destination Host.  If the source Switch  does  not

have  the complete address translation information in its tables,

it will look in its table of area codes.   The  given  area  code

will  be associated in the latter table with some set of Switches

(within the same Network Structure).  The sequence of  operations

that we envisage is the following:


     1) The source Switch picks one of these Switches, and  sends

        the message to it.  There must be enough protocol between

        these  two  Switches so that the chosen Switch knows that

        it is not the  final  destination  Switch,  but  only  an

        intermediate  Switch, and that it is expected to complete

        the address translation and then to forward  the  message

        further.


     2) The chosen Switch must be able to recognize  the  logical

        address  of  the  destination Host, and associate it with

        one or more possible destination Switches.   The  message

        will be forwarded to one of these Switches.  Furthermore,

        the addressing information can be sent back to the source

        Switch  where  it  can  be  held  in  a cache in case the

        message is followed by a flood of additional messages for

        the same logical address.

                             - 17 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


     In the case where the source Switch  does  contain  complete

address  translation  information  for  the  destination  logical

address, that logical address will be associated with some set of

potential destination Switches.  The source  Switch  will  choose

one, and send the message directly to it.


     Logical-to-physical  address  translation  should be done by

only one Switch; either the source Switch or the Switch chosen by

the source Switch on the basis of the area  code.   There  is  no

need to allow intermediate Switches to do any logical-to-physical

address  translation.   (There  is  only  one  exception to this,

namely the case where a message arrives at an intermediate Switch

only to discover that the destination Switch chosen by the source

Switch is no longer accessible.  In this case, re-translation  is

the alternative to dropping the message entirely.)  Remember that

many  Hosts will be multi-homed (in the internet, virtually every

Host is multi-homed, since most networks will have at  least  two

internet  gateways  connected  to  them),  so  that there will in

general  be  more  than  one  possible  destination  Switch.   By

prohibiting re-translation at intermediate Switches, we avoid the

problems  of  looping  that might arise if different intermediate

Switches make different choices of  destination  Switch.   As  we

shall  see,  this also simplifies our approach to the partitioned

net problem, and at any rate, there  is  no  great  advantage  to

allowing intermediate Switch translation (cf. IEN 183).



                             - 18 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


     We  suggested  above  that  if  a  source  Switch  does  not

recognize a particular logical address, and  hence  must  send  a

message  to  another Switch (as determined by the area code), the

latter Switch should send the addressing information back to  the

source  Switch,  to  be  kept temporarily in a cache.  We have to

emphasize "temporarily." The source Switch should  time  out  the

addressing  information  which  it  keeps  in the cache, and then

discard it.  If it later receives from any of  its  source  Hosts

any subsequent messages for the same destination logical address,

it will have to reobtain the information.  The reason for this is

that  it  will  be  necessary,  from  time to time, to change the

translation tables.  It is not that hard to develop  an  updating

procedure which ensures consistent updating of all Switches where

the information about a logical address normally resides.  But it

might  be  more  difficult  to  develop a procedure which ensures

consistent updating of all the temporary (cached) copies of  that

information.   Timing  out the temporary copies of the addressing

information  will  prevent  out-of-date  information  from  being

preserved  in  inappropriate  places.   (Though  the  use  of  an

out-of-date translation is not so terrible, since it would elicit

a DNA message, rather than causing mis-delivery of data.  See IEN

183 for details.   In  this  sense,  out-of-date  information  is

self-correcting.)


     When  either a destination Host name (logical address) or an

area code maps into several  Switches,  the  source  Switch  must

                             - 19 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


apply  some  criterion  to  choose  one from among them, since in

general we will want to send only one copy of the message to  its

destination.   (Though there may indeed be cases in which we want

to send a copy  of  the  message  to  each  possible  destination

Switch, in order to increase the reliability of the system, or to

be  sure  that we get the message to its destination Host as fast

as possible.)  There are several possible criteria that we  might

consider using:


     a) We might always choose the "closest" Switch, according to

        some particular distance metric (which might or might not

        be   the   same  distance  metric  used  by  the  routing

        algorithm).


     b) The list of potential destination Switches might  have  a

        "built-in" ordering, so that the first one is always used

        unless it is down, in which case the second one is always

        used,  unless  it is down, in which case the third one is

        used, etc.


     c) If the set of  potential  destination  Switches  has  the

        right  sort  of topological distribution, we might try to

        round-robin  them  in  order  to  achieve  some  sort  of

        load-splitting.


     d) If we can obtain  some  information  about  the  relative

        loadings  of  the  various Switches, we can try to choose


                             - 20 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


        the one with the smallest load (to try to  avoid  causing

        congestion  within the destination Switches), or we might

        try to trade off the increase in load that we will  cause

        at  the  destination  Switch with the distance we have to

        travel to get there.


     e) Certain possible destination Switches  might  be  favored

        for  certain  classes  of  traffic  (as determined by the

        "type  of  service"   field,   or   by   access   control

        considerations).   That  is, certain destination Switches

        might be favored for  interactive  traffic,  and  certain

        others  (with more capacity?) for bulk traffic.  Or there

        might be administrative access control restrictions which

        prohibit certain classes of traffic from  being  sent  to

        certain  Switches.   (This may be particularly applicable

        in an internet context where different Switches are under

        the  control  of  different   administrations.    It   is

        possible, though, to imagine applications of this sort of

        access  control  even  in a single-administration Network

        Structure.   For  example,  we  might  want  to  prohibit

        military traffic from entering certain Switches, in order

        to  preserve  capacity for important university traffic.)


     f) It is possible to combine some  of  the  above  criteria,

        e.g.,  choose  the  closest (i.e., shortest delay) Switch

        for interactive traffic and the most lightly  loaded  one

        for bulk traffic.
                             - 21 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


Remember that in the internet case, all the Hosts on some network

are  considered  to be homed to all the gateways on that network,

so that in general most Hosts will be multi-homed, and the way we

select the destination Switch could have a significant effect  on

internet performance.


     Of  course,  a  destination  Switch might itself have two or

more Pathways to a  particular  destination  Host.   Perhaps  the

Switch  is  a  gateway  on  two networks, and the Host is also on

those two networks.  Or perhaps the Switch  is  multi-homed  onto

the  network  of  the  Host.   In  such  cases,  a further choice

remains -- the destination Switch must choose  which  of  several

possible  Pathways  to  the  destination  Host  it should use for

sending  some  particular  packet.   Each  (destination)  Switch,

therefore, will have to have a second logical-to-physical address

translation  table,  which  it  accesses  in  order to choose the

proper Pathway to a destination Host.   This  second  translation

table,   however,  contains  information  which  is  only  useful

locally.  In addition to containing information needed to map the

logical address onto one of the Switch's access  lines,  it  must

also  contain  any  information  needed  in  order to specify the

address of the destination Host in the Pathway  Access  Protocol.

In  some  cases,  the  logical  address  of the Host in its "home

network" may be the same as its logical address in the  internet,

in  which  case  no additional information is needed.  If this is

not the case, or if the "home  network"  does  not  have  logical

                             - 22 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


addressing, the local translation tables must contain information

for  mapping  the internet logical address to an address (logical

or physical) which is meaningful  in  the  "home  network."   The

issues  of  choosing  one  from  among a set of possible Pathways

according to some criteria are basically the  same  as  those  we

have  been  discussing from the perspective of the source Switch,

however.


     An interesting little issue: suppose that traffic for Host H

can be sent to either Switch A or B, but that the route to Switch

B contains Switch A as an intermediate Switch.   Does  this  mean

that  the traffic should always be sent to A, rather than B?  Not

necessarily.  Perhaps A has plenty  of  bandwidth  available  for

forwarding traffic to other Switches, but only a little available

for  sending  traffic  directly  to  a Host.  Or the Pathway from

Switch A to Host H may itself have such a long delay that  it  is

quicker  to  send  the  traffic  through  A  to B and then on B's

Pathway to H.  While  it may turn out to  be  very  difficult  to

take  account of such factors, we ought not to rule them out by a

priori considerations, and we ought not to  design  a  system  in

which such factors cannot be considered.


     A  variant on this issue can arise as follows.  Suppose Host

H1 wants to send some data to Host H2, and H1 puts this data into

the internet by submitting it to source Switch  S.   Now  S  will

look  in  its  address  translation  table  to  find the possible


                             - 23 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


destination Switches for H2.  Let's suppose that  there  are  two

such  possible  destination  Switches, one of which is D, and the

other of which is S itself.  That is, S has a choice  of  sending

the  data  directly  to  H2  (over a Pathway with no intermediate

Switches), or of sending it to D, so D can transmit  it  directly

to  H2.   Nothing  in  the proposed scheme constrains S to choose

itself as the destination Switch.  If we want, we can have S make

the choice of  destination  Switch  without  taking  any  special

cognizance  of  the fact that it itself is a possible destination

Switch.  Or we might even require that S not choose itself as the

destination Switch.  That is, when a gateway on the ARPANET,  for

example,  gets  some  data from an ARPANET Host which is destined

for another ARPANET Host, maybe we  want  the  data  to  be  sent

through  another  gateway, rather than just sending it right back

into the ARPANET.  This possibility might be crucial  to  solving

the "expressway" problem.  While we are not at present making any

proposals for allowing the internet to be used as an "expressway"

between  two  Hosts  on  a common, but very slow, network, we are

trying to ensure that nothing in our proposed  addressing  scheme

will  make  this impossible.  This is a very important difference

between our proposed scheme and the scheme presently  implemented

in  the  Catenet, where a source Switch which is also a potential

destination Switch is highly constrained to pick  itself  as  the

actual  destination  Switch.   Of course, for this to work, there

must be enough protocol so that a Switch which receives some data


                             - 24 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


can know whether it is getting it directly from a source Host, or

whether it is getting it from another Switch.


     When we say that a particular Host name maps onto a  set  of

possible  Switches, what we are really saying is that each member

of that set of Switches has a Pathway to the Host.  Remember  the

definition  of  "Pathway"  --  a  Pathway  in Network Structure N

between two Switches of Network Structure N or between  a  Switch

and  a  Host  of  Network  Structure  N  is a communications path

between the two entities which does not contain any  Switches  of

Network Structure N.  The logical-to-physical address translation

tables  will  not  map  a  Host  name  to  a  particular  set  of

destination Switches unless each of those Switches has a  Pathway

to  that Host.  But we must remember that at any particular time,

one or more of these Pathways may be down.  Before we  apply  the

above  criteria  (or  others)  to the set of possible destination

Switches in order to choose  a  particular  one,  we  must  first

eliminate  from  the  set  any  Switches  whose  Pathway  to  the

destination Host is down.   This  is  a  non-trivial  task  which

breaks down naturally into two sub-tasks.  First, the destination

Switch  must  be  able  to  determine which of the Hosts that are

normally homed to  it  is  reachable  at  some  particular  time.

Second,  this  information must be fed back to the source Switch.

Each of these sub-tasks raises a number of interesting issues.





                             - 25 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


     In IEN 187, we discussed the importance of having a  Pathway

up/down  protocol  run between each Host and each Switch to which

it is homed, so that a source Host can know which source Switches

it has a currently operational Pathway to.  Now we see the  other

side  of  the  coin  --  each  destination Switch must be able to

determine which Hosts it currently has an operational Pathway to.

Many of the considerations discussed in IEN 187 apply  here  too,

and need not be mentioned again.  Basically, the Switch will have

to  run  a low-level up/down protocol which relies on the network

which underlies the Pathway to tell it whether a particular  Host

is reachable (e.g., the ARPANET returns an 1822 DEAD Reply to any

ARPANET source Host which attempts to send a non-datagram message

to  an  unreachable  destination  Host), and the Switch will also

have to run a higher-level up/down protocol  whereby  it  queries

the Host and infers that the Host is unreachable if no replies to

the queries are received.  Of course, if some Pathway consists of

a  simple  datagram-oriented network that provides no feedback to

the source, then a higher-level protocol will  have  to  be  used

alone.


     Assuming  that  the  Switches  have  some way of determining

whether their Pathways to particular Hosts  are  operational,  we

have   the   following   subsidiary   issue   --   should   these

determinations be made on a regular basis,  for  all  Hosts  that

might be reachable, or should they be made on an exception basis,

with the information obtained only as needed?  Let's consider the

                             - 26 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


analogous  operation in the ARPANET.  In the ARPANET, the up/down

status of each Host is maintained continuously, as  a  matter  of

course,   by   the  IMP  to  which  that  Host  is  homed.   This

information, however, is not generally maintained at other  IMPs.

If  a packet for a dead Host (on a live IMP) is submitted to some

source IMP, the packet will always be  sent  to  the  destination

IMP,  which will (unless the packet is a datagram) return an 1822

DEAD reply.  The source IMP receives the DEAD reply,  signals  it

to  the  source Host, and then discards the information.  IMPs do

not maintain status  information  about  remote  Hosts,  but  the

information  is  available  to  them as they need it (i.e., on an

exception basis).  On the other hand, each IMP  always  maintains

complete,   accurate,   and   up-to-date  information  about  the

reachability of each other IMP.  Whenever any IMP  goes  down  or

comes  up,  this information is broadcast to all other IMPs in an

extremely quick and reliable manner.  If a source  Host  attempts

to send a packet to a Host on an unreachable IMP, no data is sent

across  the network at all; the source IMP already knows that the

destination IMP cannot be reached,  and  tells  the  source  Host

immediately.


     Why don't IMPs maintain regular status information about all

ARPANET Hosts?  It's not as if this is against the law, and under

certain  conditions, it might be advantageous to do so.  However,

the more entities  about  which  regular  status  information  is

maintained, the more bandwidth (trunk and CPU) and memory must be

                             - 27 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


devoted   to   handling  the  information.   With  a  potentially

unbounded number of Hosts being able to connect to  the  ARPANET,

it  does  not  seem feasible for all IMPs to maintain this status

information for every Host.   Fortunately,  it  just  is  not  as

important  to  maintain status information for Hosts as it is for

IMPs.  Status information about the IMPs is necessary in order to

do routing, so failure to  maintain  this  information  regularly

would  degrade  the  routing capability, with a consequent global

degradation in network service.  Since Hosts, on the other  hand,

are not used for storing-and-forwarding packets, routing does not

have  to  be so aware of Host status, and global degradations due

to incorrect assumptions about Host status are less likely.


     If we can't expect ARPANET IMPs to maintain  regular  status

information  for  each  Host,  we certainly can't expect internet

gateways to maintain regular  status  information  for  each  and

every  Host  in  the  internet.   In  fact,  in the internet, the

situation is even worse.  In  the  ARPANET,  each  IMP  at  least

maintains regular status information about the few Hosts to which

it is directly connected.  This is simple enough to do, since the

number of Hosts on an IMP is bounded (barring the introduction of

local  nets or port expanders) and there are machine instructions

to detect the state of the Ready Line.  However,  we  can  hardly

expect a gateway to maintain regular status information about all

the  Hosts  on  all the networks to which the gateway is directly

connected.   So  we  will  suppose  that   in   general,   status

                             - 28 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


information  about  the  Hosts  which  are  homed to a particular

Switch will be obtained by that Switch on an exception basis,  as

needed.  Of course, saying that this will be true in general does

not  mean  that  it must be universally true.  If there are a few

Hosts somewhere that are major servers with many  many  important

users  scattered  around the internet, there is no reason why the

Switches to which those servers are homed cannot maintain regular

status information about those few Hosts.  If the number of  such

special  Hosts  is  kept  small,  this would not be prohibitively

expensive, and if these Hosts really do handle a large portion of

the internet traffic,  this  might  be  an  important  efficiency

savings.


     If  a source Switch knows that a particular destination Host

logical address can be mapped to any of a number  of  destination

Switches,  then,  as we have pointed out, it must be able to tell

when, due to some sort  of  failure  or  network  partition,  the

destination Host is (temporarily) unreachable via some particular

Switch.   It  must  have  that information in order to be able to

avoid choosing a destination Switch whose Pathway to the Host  is

non-operational.   If  we  agree  that the Pathway up/down status

between  a  particular  destination  Switch  and   a   particular

destination  Host  which  is  ordinarily  homed to it can only be

obtained, on an  exception  basis,  by  that  destination  Switch

itself,  it  follows  that  this  information  can  also  only be

obtained by the source Switch on an exception  basis.   That  is,

                             - 29 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


the  only  way  for a source Switch to find out that a particular

Host  can  temporarily  not  be  reached  through  a   particular

destination  Switch  is  to  send a message for that Host to that

Switch.  The destination Switch must then determine that  it  has

no  operational  Pathway  to  that  Host, and it must send back a

control message to the source Switch informing it of  this  fact.

(In  IEN  183,  we  christened these messages "DNA messages", for

"Destination Not Accessible.) The source Switch will  store  this

information  in its address translation tables, so that from then

on it does not choose a destination Switch whose Pathway  to  the

Host  is  down.   (Of course, in addition to sending this control

information back to the source Switch, the  putative  destination

Switch  should also try to forward the message it received to one

of the other Switches to which the destination Host is homed.)


     This should  work  well,  unless  the  Pathway  between  the

original  destination  Switch and the destination Host comes back

up.  We must develop some way of informing the source Switch that

that destination Switch is now once again usable as a destination

Switch for that Host.  A simple and robust way to handle this  is

as  follows.   When a source Switch is informed, according to the

mechanism  of  the  previous   paragraph,   that   a   particular

destination  Switch  cannot  reach  a particular destination Host

(without  forwarding  traffic  through  additional   intermediate

Switches),  it  marks  (in  its  address translation tables) that

Switch as UNUSABLE as a destination for that Host.  However, this

                             - 30 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


information is reset periodically, say, every  few  minutes.   In

effect,  this  approach  would  cause  a  source  Switch which is

handling  traffic  for  that  destination  Host  to   query   the

destination  Switch  periodically  to see if it has become usable

again.  Note that no special control message is  needed  for  the

querying.   The querying is done simply by sending data addressed

to the destination  Host  to  the  destination  Switch.   If  the

destination  Switch is still unusable, no data is lost, since the

data can be readdressed by the destination  Switch  and  sent  to

some  other  destination  Switch  which  does have an operational

Pathway to that destination  Host.   Note  also  that  with  this

scheme,  not all source Switches will be in agreement as to which

destination Switches can be used to reach which destination Hosts

at some particular time.  But this is not much of a  problem,  as

long as address translation is done only once, and not re-done at

each intermediate Switch.  Further, any source Switch which tries

to  use  the  wrong  destination  Switch  will be told, via a DNA

message, to use another one.


     Lest there be any misunderstanding, we should emphasize that

we are not proposing this as a general mechanism for  determining

which Hosts are homed to which Switches.  That information is not

to  be obtained dynamically at all, but rather is to be installed

in the translation tables at each Switch by the  Network  Control

Center  (or  whatever equivalent of the Network Control Center we

devise for  the  internet.)   This  mechanism  is  only  used  to

                             - 31 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


determine  that  a  Pathway  which ORDINARILY exists between some

Switch and some Host is TEMPORARILY out of operation.


     If a destination Host happens to be  unreachable  from  EACH

potential  destination  Switch  (which will happen if the Host is

down), this procedure will eventually result in the source Switch

marking all potential destination Switches unusable.   Once  this

happens,  the  source  Switch should discard any data it receives

which is destined for that destination Host,  and  should  return

some  sort  of  negative  acknowledgment to the source Host.  The

source Host can then try again, every few minutes, to  send  more

data  to  the  destination Host.  Since the information marking a

destination Switch as  unusable  (for  a  particular  destination

Host) is reset every few minutes, the source Host will be able to

establish  communication  with the destination Host soon after it

becomes  reachable  again.    Strictly   speaking,   a   negative

acknowledgment  from  the  source Switch is not required, and the

current IP  makes  no  provision  for  such  a  thing.   Yet  the

information  contained  in the negative acknowledgment might well

help  the  source  Host  to  choose  a  suitable   retransmission

interval.   If  a destination Host is unreachable, it makes sense

for a TCP to retransmit more infrequently than if the TCP has  no

information   at   all   about   why   it   is  not  getting  any

acknowledgments  from   the   destination   Host.    Also,   this

information  would  be  useful  to  the  end-user (if the various

protocol layers in his Host succeed in passing it back  to  him.)

                             - 32 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


A  user  who is not getting any response from the system may want

to take a different action if he knows his destination cannot  be

reached  than if he thinks that the network (or internet) is just

slow.


     This procedure, which is basically the same as  the  one  we

recommended  (in  IEN  183)  for  use  with  logically  addressed

multi-homed Hosts on the ARPANET, should resolve the  partitioned

net  problem.   Our approach is not dissimilar to one proposed by

Sunshine and Postel in IEN 135.  To quote them:

     A simpler solution to the partitioning problem  follows  the
     spirit of querying a database when things go wrong.  Suppose
     there  were  another  database  listing networks and all the
     gateways attached to each net (whether up  or  down).   This
     database would change slowly only as new equipment was added
     to  the  internet system.  Further suppose that the gateways
     and  internet  routing  are  totally  unaware   of   network
     partitions,  except  that  gateways to partitioned nets find
     out when they cannot reach some Host on their own  net.   In
     this  case,  the  gateway  would  return  a Host Unreachable
     (through me) advisory message to  the  source.   The  source
     could  then  query  the global database to get a list of all
     gateways to the  destination  net,  and  construct  explicit
     source routes to the destination going through each of these
     gateways, trying each one in turn until it succeeded.


     Note, however, that our proposal does not require any source

routing, because it is Switches (i.e., gateways) themselves which

are  the addressable entities in our scheme, rather than networks

(though the authors quoted above were considering how  to  handle

the  problem  in the current Catenet environment, rather than how

to design a new environment).  The database they propose  can  be

identified  with the translation tables we have spoken of.  Also,


                             - 33 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


our proposal handles the situation where a Pathway that was  down

becomes usable again, a case they don't seem to mention.


     It   is   sometimes  claimed  that  hierarchical  addressing

requires less table space than flat addressing, since there is no

need to have an entry in a translation table  for  each  address.

We  can  see now that this is not true.  If we wish to be able to

handle multi-homing, and in particular to handle the "partitioned

net" problem, we need to maintain table space for the Hosts  with

which  we are in communication.  This is true no matter what kind

of addressing scheme we adopt.


     Let's look now at how our scheme would handle the problem of

mobile Hosts, i.e., Hosts which move from one network to another.

We distinguish the case of "rapidly mobile" Hosts from  the  case

of  "slowly  mobile"  Hosts.  A Host is slowly mobile if its move

from one net to another can be made  with  enough  lead  time  to

allow  manual  intervention  to  update  the  logical-to-physical

address translation tables.  This case is handled simply  by  the

presence  of  the  logical  addressing.   When  the Host moves to

another network, it can still be addressed by the same name,  but

the translation tables are changed so that the logical address is

now  mapped  to  a  different set of Switches.  This creates some

work for the internet administration and control center,  but  is

completely  transparent  to  higher  level  protocols,  since the

logical address does not change.  On the other hand, we  consider


                             - 34 -

IEN 188                              Bolt Beranek and Newman Inc.
                                                    Eric C. Rosen


a  Host  to be rapidly mobile if it moves from one net to another

too quickly or too frequently to allow the procedure of modifying

the address translation tables to be feasible.  If we can know in

advance that there is some limited set of networks to which  that

Host  might  connect, we can map the logical address of that Host

onto the set of all  gateways  which  connect  to  any  of  those

networks.   Our  procedure for choosing one gateway to use as the

destination gateway might be as follows.  Try the  first  gateway

on the list.  If a DNA message is received, try the second, etc.,

etc.   Once  a source gateway begins sending traffic for a mobile

Host to  a  particular  destination  gateway,  it  should  always

continue to use that gateway, until it receives a DNA message, in

which  case  it should try the next one.  You will note that this

procedure is very similar to that used for non-mobile Hosts.   In

fact,   it  might  be  entirely  identical.   The  only  possible

difference is that we might want to be  much  more  reluctant  to

switch  from  one  destination  gateway to another in the case of

mobile Hosts than in the  case  of  non-mobile  Hosts,  since  we

expect that a mobile Host will not generally be reachable through

all of the potential destination gateways at every time.












                             - 35 -

-------