IP - Local Area Network Addressing Issues



                                 IEN - 212








                              Robert Gurwitz
                               Robert Hinden





                       Bolt Beranek and Newman Inc.
                              10 Moulton St.
                      Cambridge, Massachusetts 02238








                              September 1982








                               prepared for
                 Defense Advanced Research Projects Agency
                 Information Processing Techniques Office
                           1400 Wilson Boulevard
                         Arlington, Virginia 22209










     IP-Local Area Net Addressing                       September 1982
     IEN-212



                             Table of Contents




     1   Introduction.......................................... 1

     2   IP to Local Network Address Mapping................... 2

     3   Broadcast Addressing.................................. 7

     Appendix A - Revised Information Reply Message............ 9

     References............................................... 11

































                                    -i-






     IP-Local Area Net Addressing                       September 1982
     IEN-212



     1  Introduction


          This note discusses several issues in Internet Protocol (IP)

     addressing  in  local  area  networks, such as Ethernet [1]. Such

     networks typically have addressing characteristics  and  features

     that  are different from earlier network implementations, such as

     the ARPANET.  Specifically, we describe approaches  for  handling

     IP  to  local network address mapping and broadcast.  The methods

     described below are meant to integrate these  features  of  local

     networks  into  the  DARPA internet within the spirit of IP, in a

     general  manner  that  is  not  tied  to  a  particular   network

     implementation.   The  goal  here  is  to  minimize  the need for

     changes to IP, by  adopting  conventions  and  methods  that  use

     existing mechanisms.


          Of course, the approaches described  here  are  not  unique.

     Other  methods have been described which are similar in spirit to

     that presented here.  The purpose of this note  is  to  stimulate

     discussion  of  these  issues,  with  the  goal  of arriving at a

     consensus on how to  resolve  these  and  possibly  other  issues

     relating to the use of local area networks in the internet.








                                    -1-





     IP-Local Area Net Addressing                       September 1982
     IEN-212



     2  IP to Local Network Address Mapping


          Ethernet differs from other networks in the internet in that

     it  uses  local  addresses  which  are  larger  (48 bits) than IP

     addresses (32 bits).  With other networks  having  smaller  local

     address  formats,  the  mapping  from local network address to IP

     address  is  simple:  embed  the  entire  local  address  in  the

     appropriate  class  of  IP  address.  For example, in the ARPANET

     which has 24-bit addresses, the mapping to a class A IP  address,

     which has 24-bits of local host address, is direct:


                    Host A on IMP B -> 10.A.B(hi).B(lo)


     where 10 is the class A network number for the ARPANET, the  host

     portion  of  the  local  address  is  an 8-bit value, and the IMP

     portion is a 16-bit value whose high order  8  bits  are  usually

     zero.   Note that mapping a 24-bit ARPANET address to a non-class

     A address, would require some  other  approach,  like  truncation

     (say,  dropping  the  high order 8 bits of the IMP part) or table

     lookup.


          A similar, but  more  severe,  problem  occurs  with  48-bit

     Ethernet  addresses.  In this case, there may be no simple direct

     mapping (like truncation) to the 32-bit  IP  address,  since  the




                                    -2-





     IP-Local Area Net Addressing                       September 1982
     IEN-212



     address  of  an individual Ethernet controller is a unique 48-bit

     value  assigned  by  the  manufacturer  that  could   conceivably

     conflict with other addresses on the local network if a subset of

     the 48-bits is used to  form  the  local  host  part  of  the  IP

     address.


          To solve this potential conflict, we choose a  mapping  that

     depends  on  table  lookup.   Each  host  on the local network is

     assigned an IP address with a unique local  host  part  for  that

     network.   The  IP module in that host "knows" its own IP address

     and uses it to send and receive IP datagrams.  Other hosts on the

     local network (including gateways), maintain tables which map the

     IP addresses of the other  hosts  to  their  corresponding  local

     addresses.


          This table  may  be  "hardwired"  into  the  IP  modules  or

     initialized  when  the  host  comes  up.  A better implementation

     would be to maintain the table as  a  cache,  whose  entries  are

     updated dynamically while the host is active.  To do this, we can

     make use of a feature supported  by  many  local  area  networks,

     "broadcast  addressing".   This  feature  allows  messages  to be

     received by all hosts on the local network, by sending them to  a

     specially designated broadcast address (in Ethernet the broadcast




                                    -3-





     IP-Local Area Net Addressing                       September 1982
     IEN-212



     address is "all ones").   To  map  a  given  IP  address  to  its

     corresponding  local  address,  the IP address is used to look up

     the local address in the mapping table.  If the mapping is found,

     the   local   address  is  used  in  the  local  network  header.

     Otherwise, if no mapping is found in the table:

     1)   Send the datagram which was not in the mapping table to  the
          local  broadcast  address  (see figure 1).  All hosts on the
          network including the correct  one  (the  one  specified  by
          destination  IP  address  in  the datagram) will receive the
          datagram.

                             ---------------------
                             | local src addr -A |
                             +--------------------
                             | broadcast address |
                             ---------------------
                             | IP src addr - A   |
                             ---------------------
                             | IP dst addr - B   |
                             ---------------------
                             | Datagram needing  |
                             |     mapping       |
                             ---------------------

                       Figure 1 . Broadcast Datagram



     2)   The host on the network that recognizes its  IP  address  in
          the  datagram  and notices that the datagram was received on
          the local network bradcast address sends an ICMP information
          reply  message  to the host that broadcast the request, with
          its local address filled in and its local network address in
          the data portion of the message (see figure 2).  ** It  also
     _______________
     **  Currently,  there  is  no  data  area  defined  in  the  ICMP
     Information Reply message.  We propose to add one for the purpose
     described in the document.  Appendix A  contains  the  format  of
     ICMP Information Reply message with the data area.



                                    -4-





     IP-Local Area Net Addressing                       September 1982
     IEN-212



          accepts this broadcast datagram since  it  contains  its  IP
          address as the destination.

                             ---------------------
                             | local src addr -B |
                             +--------------------
                             | local dst addr -A |
                             ---------------------
                             | IP src addr - B   |
                             ---------------------
                             | IP dst addr - A   |
                             ---------------------
                             | ICMP information  |
                             |      reply        |
                             ---------------------

                      Figure 2 . Mapping Reply Format



     3)   When an ICMP information reply is received, an entry is made
          in  the  mapping table, using the local address found in the
          data portion of the message.


     Finally, there must be some way of invalidating table entries, to

     handle cases like a host on the local network changing addresses:

          Whenever a host on the local net comes up, it broadcasts  an
          ICMP  information reply with its source IP and local network
          addresses (figure 3). Other hosts on  the  network  can  use
          this information to update their tables.


     This message contains the notion of an  "IP  broadcast  address".

     This  is  simply  a  means  of mapping an IP address to the local

     network broadcast address. It has the effect that any  IP  module

     on   a  particular  network  should  accept  datagrams  with  the

     broadcast address as the IP destination. The IP broadcast address



                                    -5-





     IP-Local Area Net Addressing                       September 1982
     IEN-212




                             ---------------------
                             | local src address |
                             +--------------------
                             | broadcast address |
                             ---------------------
                             | IP src address    |
                             ---------------------
                             | IP broadcast addr |
                             ---------------------
                             | ICMP information  |
                             |      reply        |
                             ---------------------

                 Figure 3 . Mapping Initialization Format


     is discussed further below.  Note that the use  of  this  message

     also  lowers the chances of hosts not having the mapping in their

     table, and reduces the number of broadcast mapping requests.


          This approach has several  advantages.   1)  It  is  general

     enough  to  work  on  all  local  networks that support broadcast

     addressing.  2) It fits into IP without any major changes such as

     increasing  the  size  of  the  addresses.  3) Hosts which do not

     implement this approach will still get all of their datagrams (at

     the  cost  of  high  overhead  for all others on the net).  4) It

     allows hosts on the local  network  to  assign  their  own  local

     portion  of  their  IP addresses and the mapping between their IP

     address and their local network address.






                                    -6-





     IP-Local Area Net Addressing                       September 1982
     IEN-212



          On the negative  side,  it  can  potentially  cause  adverse

     network  and  host  performance  when  many  hosts on the net are

     coming up, because  of  the  use  of  broadcast  packets.   Also,

     performance  can  be degraded by hosts which do not implement the

     scheme fully, causing more broadcast packets to be sent. However,

     we  expect  the  use  of  broadcast  mapping requests to be a low

     frequency occurance.




     3  Broadcast Addressing


          The scheme described above  introduced  the  concept  of  IP

     broadcast address.  We believe this is a generally useful notion,

     since it allows IP hosts  to  take  advantage  of  an  additional

     addressing  capability supported by some local area networks.  We

     propose to define the IP broadcast address to be the  IP  address

     in  each  class  with  all  its  local  host part bits on. (E.G.,

     A.255.255.255 for class A, A.B.255.255 for class B, and A.B.C.255

     for  class  C.)  In each case, the address would map to the local

     network broadcast address if broadcast addressing was  supported.

     On messages coming from other networks, the mapping would be done

     in  the  gateway.   If  a  network  did  not  support   broadcast

     addressing,  an  ICMP  destination  unreachable  message would be




                                    -7-





     IP-Local Area Net Addressing                       September 1982
     IEN-212



     returned.  The only "cost" of this mechanism is that it  reserves

     one IP address from each class.












































                                    -8-





     IP-Local Area Net Addressing                       September 1982
     IEN-212



     Appendix A - Revised Information Reply Message


         0                   1                   2                   3
         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |     Type      |      Code     |          Checksum             |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |           Identifier          |        Sequence Number        |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |     Data   .....
        +-+-+-+-+-+-

     IP Fields:

     Addresses

          The address of the source in a information  request  message
          will  be  the  destination of the information reply message.
          To  form  a  information  reply  message,  the  source   and
          destination  addresses  are  simply  reversed, the type code
          changed to 16, and the checksum recomputed.

     ICMP Fields:

     Type

          15 for information request message;
          16 for information reply message.

     Code

          0 for normal information request/reply
          1 for information reply with local network address  in  data
          portion.

     Checksum

          The checksum is the 16-bit ones's complement  of  the  one's
          complement  sum  of  the ICMP message starting with the ICMP
          Type.  For computing the checksum, the checksum field should
          be zero.  This checksum may be replaced in the future.

     Identifier



                                    -9-





     IP-Local Area Net Addressing                       September 1982
     IEN-212



          If code = 0, an identifier to aid in  matching  request  and
          replies, may be zero.

     Sequence Number

          If code = 0, a sequence number to aid  in  matching  request
          and replies, may be zero.

     Description

          Code 0:
               Code 0 may be received from a gateway or a host.

               This message may be sent with the source network in the
               IP  header  source  and destination address fields zero
               (which means "this" network).  The replying  IP  module
               should   send   the  reply  with  the  addresses  fully
               specified.  This message is a way for a  host  to  find
               out the number of the network it is on.

               The identifier and sequence number may be used  by  the
               echo  sender  to  aid  in matching the replies with the
               requests.  For example, the identifier  might  be  used
               like  a  port  in TCP or UDP to identify a session, and
               the  sequence  number  might  be  incremented  on  each
               request  sent.   The  destination  returns  these  same
               values in the reply.

          Code 1:

               This message (Information Reply  only)  is  used  by  a
               local area network host to inform another host what its
               local network address in relation to  its  IP  address.
               The  hosts  local  network  address is sent in the data
               portion of the message.












                                   -10-





     IP-Local Area Net Addressing                       September 1982
     IEN-212



     References

     [1]  "The Ethernet, A Local Area Network:  Data  Link  Layer  and
          Physical   Layer   Specifications",   Version  1.0,  Digital
          Equipment Corp., Intel, Xerox, Sept. 30, 1980.










































                                   -11-