RFC 730 UNKNOWN ADDRESSING · ROUTING

Extensible field addressing

Breaking network addresses into fields that can grow independently

On rfc-editor.org ↗
PUBLISHED
May 1977
AUTHORS
J. Postel
STREAM
Legacy
FIELD HIERARCHY
Network / IMP / Host / Message-ID
FIELD SEPARATOR
Forward slash (/)
OLD HOST FIELD
2 bits
NEW HOST FIELD
8 bits
DOI
10.17487/RFC0730

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
RFC 730                                                        20 May 77
Extensible Field Addressing



Network Working Group                                         Jon Postel
Request for Comments: 730                                        USC-ISI
NIC: 40400                                                   20 May 1977

                      Extensible Field Addressing



Introduction

This memo discusses the need for and advantages of the expression of
addresses in a network environment as a set of fields.  The suggestion
is that as the network grows the address can be extended by three
techniques: adding fields on the left, adding fields on the right, and
increasing the size of individual fields.  Carl Sunshine has described
this type of addressing in a paper on source routing [1].

Motivation

Change in the Host-IMP Interface

The revised Host-IMP interface provides for a larger address space for
hosts and IMPs [2].  The old inteface allowed for a 2 bit host field and
a 6 bit IMP field.  The new interface allows a 8 bit host field and a 16
bit IMP field.  In using the old interface it was common practice to
treat the two fields as a single eight bit quantity.  When it was
necessary to refer to a host by number a decimal number was often used.
For example host 1 on IMP 1 was called host 65. Doug Wells has pointed
out some of problems associated with attempting to continue such useage
as the new interface comes into use [3].  If a per field notation had
been used no problems would arise.

Some examples of old and new host numbers are:

  Host Name       Host IMP old #   new #
  --------------------------------------
  SRI-ARC            0   2     2       2
  UCLA-CCN           1   1    65   65537
  ISIA               1  22    86   65558
  ARPA-TIP           2  28   156  131100
  BBNA               3   5   197  196613

Multinetwork Systems

The prospect of interconnections of networks to form a complex
multinetwork system poses additional addressing problems.  The new
Host-IMP interface specification has reserved fields in the leader to

Extensible Field Addressing



carry network addresses  [2].  There is experimental work in progress on
interconnecting networks [4, 5, 6]. We should be prepared for these
extensions to the address space.

The addressing scheme should be expandable to increase in scope when
interconnections are made between complex systems.

Multiprocessor Hosts

There may be configurations of hardware that could be interfaced to a
network as a single host that in fact contain multiple processors.
Tasks could be associated with processors such that it is desirable to
dispatch network messages associated with certain sockets or message-ids
to certain processors.  For example it might be desirable to service all
Telnet use from one processor and all FTP use from a different
processor.

The addressing scheme should be expandable to explicitly address the
fine structure within a host when that is desirable.

Some examples where such fine structure addressing would have been
useful in the ARPANET are:

  At ISI, we have the capability of emulating computers using the PRIM
  system [7].  For many applications it is desirable to add the emulated
  host to the network.  Since the emulation is carried out under control
  of a program operating under Tenex, we have a host within a host.
  Extensible addressing of hosts would provide the necessary handle.

  SCRL once had a PDP-11 connected by VDH to an IMP at UCSB.  It became
  necessary to add a second PDP-11 to the network.  The two PDP-11s were
  already physically connected and it would have been a simple matter to
  have the first serve as a multiplexor for both.  However, because of
  the limitations in the network addressing structure, there was no way
  to identify the two hosts to other sites on the network.  A new IMP
  had to be installed!

  In many other cases, it is desirable to have two hosts share the same
  front end to the network.  With the current limitation, one IMP port
  must be consumed for each host.

Extensible Field Addressing



Proposal

The necessary solution to the problem posed by the change in the
Host-IMP inteface is to always represent the address by fields.  This
solution provides for a natural growth into an internetwork environment,
and allows explicit addressing of the fine structure within a host if
that is desirable.

The fields should be written in a natural way, and i believe that means
that the most general field should come first with additional fields
specifying more and more details of the address.  In the current case
this would lead to the following fields:

Network / IMP / Host / Message-Identifier

A problem with simple field addressing is the desire to specify only the
fields that are necessary given the local context.  A program
interpreting the address is then unsure what the first field represents.
Some clues are needed in the address specification for correct parsing
to be possible.  Dave Crocker has described a syntax for a similar
problem in network access of data [8].

Specific Sugestion

Specifically i suggest that we adopt a field based extensible address
scheme where each field is separated from its neighbors by a delimiter
character and each field has a name.  When an address is specified the
name of the most general field must also be indicated.

  Definitions:

    <address> ::= <field-name> ":" <fields>

    <field-name> ::= "NET" | "IMP" | "HOST" | "MESSAGE-ID"

    <fields> ::= <field> | <field> "/" <fields>

    <field> ::= a decimal number

  Examples:

    NET:1/3/5/7  names message-id 7 at host 5 on imp 3 in network 1.

    HOST:6  names host 6 on whatever imp this message originates on.

Extensible Field Addressing



One might ask:  What is all the fuss about, isn't this a non-problem?,
The answer is:  Almost.  There are very few places where any real
difficulties arise, but we have to change the way we think about host
addresses.  The places where there is a problem are typically little
used, except one.  The place where humans will see a difficulty is in
the TIP "open" command [9], and to a lesser extent the user Telnet and
user FTP "connect" commands.  Other places are in the MAIL netaddress
field, the FTP "sock" command [10], the Telnet reconnection option [11],
and in the NIC maintained list of official host names [12].

Conclusion

The suggestion is that we adopt field based extensible addressing to
provide for growth in three ways:

(1)  growth of the number of hosts and IMPs by allowing these fields to
grow in size independently of each other;

(2)  growth in scope by the addition of fields on the left to provide
for multinetwork systems;

(3)  growth in fine structure by addition of fields on the right for the
implementation of hosts as mininetworks.

Extensible Field Addressing



References

[1]     Sunshine, C. "Source Routing and Computer Networks," Computer
        Communication Review, Vol. 7, Number 1, ACM Special Interest
        Group on Communications (SIGCOMM), January 1977.  Also
        circulated as INWG General Note number 133.

[2]     BBN, "The Interconnection of a Host and an IMP," Report 1822,
        Bolt Beranek and Newman, Revised January 1976.

[3]     Wells, D., "Impact of New IMP Leaders on Higher-level
        Protocols," ARPA Network Message
        [MIT-Multics]1.2.BBBJGbHZPXdDjl, MIT, 19 May 1977.

[4]     Beeler, et.al. "Gateway Design for a Computer Network
        Interconnection," PRTN 156, February 1976.

[5]     Cerf, V., Y. Dalal, and C. Sunshine. "Specification of an
        Internet Transmission Control Program," INWG General 72, RFC
        675, Revised December 1974.

[6]     Cerf, V. "Specification of TCP version 2," March 1977.

[7]     Britt, B. et.al. "PRIM System: Overview," ISI/RR-77-58,
        Information Sciences Institute, University of Southern
        California, March 1977.

[8]     Crocker, D., "Network Standard Data Specification Syntax," RFC
        645, Network Information Center Catalog Number 30899, 27 June
        1974.

[9]     Malman, J., "User's Guide to the Terminal IMP," Report 2138,
        Bolt Beranek and Newman, Network Information Center Catalog
        Number 10916, Revised March 1976.

[10]    Neigus, N., "File Transfer Protocol," RFC 542, Network
        Information Center Catalog Number 17759, 12 August 1973.
        Contained in "ARPANET Protocol Handbook," Network Information
        Center Catalog Number 7104, Revised 1 April 1976.

[11]    Thomas, R., "Telnet Reconnection Option," Network Information
        Center Catalog Number 15391, August 1973. Contained in "ARPANET
        Protocol Handbook," Network Information Center Catalog Number
        7104, Revised 1 April 1976.

[12]    [Offfice-1]<NETINFO>HOSTS.TXT

AI ELI5

On this page
PROBLEMNetwork addressing grew rigid as networks expanded. The host-IMP interface changed from 2-bit host and 6-bit IMP fields to 8-bit and 16-bit, breaking applications that treated them as a single 8-bit number. Multi-network systems and multi-processor hosts needed more address hierarchy.
MECHANISMInstead of treating network addresses as single numbers, represent them as named fields (Network/IMP/Host/Message-ID) separated by delimiters. Each field can grow independently, and new fields can be added on either end.
WHY IT MATTERSApplications can extend addressing for multinetwork interconnection (adding network fields on the left) and fine-grain host structure (adding fields on the right) without breaking existing assumptions.

§1The Addressing Problem

RFC 730 proposes breaking network addresses into named fields instead of treating them as single numbers. This solves three problems: host-IMP interface changes that grew individual fields, the need for wider addresses in multinetwork systems, and the desire to address subcomponents within a single host.

By using a field-based notation like NET:1/3/5/7 or HOST:6, applications become independent of how many bits each field consumes, leaving room for growth on either side of the hierarchy.

Instead of calling a host by one number, give it an address with parts like a street address: you can add more parts or make parts bigger without confusing everyone.

§2Why This Matters

The ARPANET's original host-IMP interface used 2 bits for host and 6 bits for IMP. When this grew to 8 bits and 16 bits, old software that treated it as a single 8-bit number broke. Host 65 in the old scheme became 65537 in the new one, making it impossible for applications to read old configurations.

Interconnecting separate networks requires new address hierarchy at the top. Multiprocessor hosts need fine-grained addressing within a single network attachment point. Field-based addressing handles all three by letting fields grow, be added on the left for new scope, or be added on the right for fine structure.

When your city grows and you need a bigger postal code, a field-based address adapts. Without it, every application has to be rewritten.

§3The Field-Based Scheme

Each address starts with a field name that indicates the scope: NET for network-scoped addresses, IMP for IMP-scoped, HOST for the local IMP, or MESSAGE-ID for message routing. Fields are decimal numbers separated by slashes.

The benefit is clear: NET:1/3/5/7 says "go to network 1, then IMP 3, then host 5, then message ID 7." An application can also say HOST:6 to mean "host 6 on my current IMP," letting the receiver fill in context without needing to parse a full path.

A field-based address starts by saying the most general thing (network or host), then adds more specific details separated by slashes, letting each part describe what level you're talking about.

§4Where It Counts

The RFC notes that field notation will matter most where humans type addresses: TIP "open" commands, Telnet and FTP "connect" commands, the MAIL address field, and official host name lists. In most places where addressing is buried in protocol machinery, it will not surface.

The scheme does require a small shift in how software works: instead of assuming a fixed bit layout, it must parse named fields. This is tractable and makes the system resilient to future growth.

This matters mostly when a person types an address, like connecting to a remote computer. In the background, software can adapt to bigger address fields automatically.

§5References