RFC 503 UNKNOWN TRANSPORT · NETWORKING · EARLY STANDARDS

Socket number list

How network programs find each other using socket numbers

On rfc-editor.org ↗
PUBLISHED
April 1973
AUTHORS
N. Neigus, J. Postel
STREAM
Legacy
BUILDS ON
RFC 433 — Socket number list
OBSOLETED BY
RFC 739 — Assigned numbers
SOCKET FIELD SIZE
40 bits
HOST FIELD
8 bits
SERVICE FIELD (AEN)
8 bits
STANDARD FUNCTIONS
Sockets 0-63
DOI
10.17487/RFC0503

RFC text

Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                          N. Neigus
Request for Comments: 503                                      J. Postel
NIC: 15747                                                 13 April 1973
References: 349, 433


                           Socket Number List

   This is a second pass at the specification of the socket numbers.
   More sockets have been made available for experimental functions,
   some new sockets have been assigned for network standard functions,
   host specific functions and experimental functions, and the list of
   available sockets for server hosts has been updated.

   Following are the current assignments for socket numbers used for
   public functions.  Note that a socket number is a 40 bit quantity,
   the first 8 bits being the host specification, the next 24 bits being
   site specific, and the last 8 bits being user specified -- these last
   8 bits are called the AEN [it stands for, cleverly enough, Another
   Eightbit Number].

   For the assignments here the value in the host field ranges across al
   hosts (unless otherwise specified), the value in the 24 bit field is
   zero, and the AEN is indicated here.

General Assignments:

   Sockets             Assignment

   0 - 63              Network Wide Standard Functions
   64 - 127            Host Specific Functions
   128 - 223           Reserved for Future Use
   224 - 255           Any Experimental Function

Particular Assignments:

   Socket              Assignment

     1                 Telnet
     3                 File Transfer
     5                 Remote Job Entry
     7                 Echo
     9                 Discard
    11                 Systat or who-is-on function
    13                 Date-Time function
    15                 Netstat or who-is-up function
    19                 Character Generator [e.g. TTYTST]

    65                 Speech Data Base @ 11-tx-2 (74)
    67
    69                 CPYNET
    71                 NETRJS [EBCDIC]
    73                 NETRJS [ASCII]
    75                 NETRJS [TTY]

   241                 NCP Measurement
   243                 Survey Measurement
   245                 LINK
   247                 RSEXEC
   249                 RSEXEC
   251                 RSEXEC

   The specifications for the assigned functions can be found in the
   documents listed here:

   Telnet                   NIC 7104
   File Transfer            NIC 7104
   Remote Job Entry         NIC 7104
   Echo                     RFC 347
   Discard                  RFC 348
   Character Generator      RFC 429
   Speech Data Base         SUR 37
   Datacomputer             [Murray @ CCA]
   NCP Measurement          RFC 388
   Survey Data              [Kampa @ NMC]
   LINK                     [Bressler @ BBN]
   RSEXEC                   [Thomas @ BBN]

   There are several hosts performing public services on sockets which
   conflict with the above scheme.  We hope we can resolve these
   conflicts with a minimum of disruption.

   The following is a tabulation of socket numbers together with the
   services offered.  This listing is presented as an aid to network
   users.  If you know of a socket function which has been left out or
   an entry which should be corrected or deleted please contact:

   Jon Postel
   3804 Boelter Hall
   Computer Science Department
   University of California
   Los Angeles, CA. 90024

   Phone: (213) 825-2368

   NIC Ident - JBP

         or

   Nancy J. Neigus
   Bolt Beranek and Newman
   50 Moulton Street
   Cambridge, Mass. 02138

   Phone: (617) 661-0100

   NIC Ident = NJN

   We will be pleased to include socket/function information for other
   than "official" sockets [e.g. Tip News].

   1   UCLA-NMC

       1      Telnet
       3      File Transfer
       241    NCP Measurement
       243    Survey Data

   2   SRI-ARC

       1      Telnet
       3      File Transfer
       7      Echo
       11     SYSTAT
       13     DATE-TIME
       69     CPYNET

   3   UCSB

       1      Telnet
       5      UCSB RJS [not ARPANET standard]
       7      Echo
       9      Discard

       1793, 1795, 1797, 1799, 1801, 2049 Graphics terminal sockets
       x'701', '703', '705', '707', '709', '801' o'3401', '3403',
       '3405', '3407', '3411', '4001'

       4   UTAH

           1      Telnet
           3      File Transfer
           5      Echo
           7      CPYNET
           9      SYSTAT
           13     DATE-TIME

       6   MIT-Multics

           1      Telnet
           3      File Transfer

       8   SDC-Adept

           1      Telnet

       9   Harvard

           1      Telnet
           3      File Transfer

       10  LL-67

           1      Telnet

       11  SAIL

           1      Telnet
           3      File Transfer

       13  CASE

           1      Telnet
           3      File Transfer
           7      Echo
           11     SYSTAT
           13     DATE-TIME
           69     CPYNET

       14  CMU

           1      Telnet
           3      File Transfer

       15  ILLIAC-TENEX

           1      Telnet
           3      File Transfer
           5      Echo
           7      CPYNET
           9      SYSTAT
           13     DATE-TIME

       16  NASA-AMES

           1      Telnet
           3      File Transfer
           5      Sorry Remote Job Entry
           7      Echo
           9      Discard
           241    NCP Measurement

       23  USC-44

           1      Telnet

       31  CCA-TENEX
           1      Telnet
           3      File Transfer
           7      Echo
           11     SYSTAT
           15     NETSTAT

       35  UCSD

           1      Telnet

       65  UCLA-CCN

           1      Telnet
           3      File Transfer
           7      Echo
           9      Discard
           71     NETRJS [EBCDIC]
           73     NETRJS [ASCII]
           75     NETRJS [TTY]

       66  SRI-AI

           1      Telnet
           3      File Transfer
           5      Echo
           7      CPYNET
           9      SYSTAT
           11     Sorry NETSAT

       69  BBN-TENEX (a)

           1      Telnet
           3      File Transfer
           7      Echo
           11     SYSTAT
           13     DATE-TIME
           15     NETSTAT
           17     Oneliners
           69     CPYNET
           247 = x'F7' = o'367' TIP RSEXEC Facility

       70  MIT-DMCG

           1      Telnet
           3      File Transfer
           7      Network Status
           9      Discard

       74  LL-TX-2

           1      Telnet

       78  CMU-alt

           1      Telnet
           3      File Transfer

       86  ISI-TENEX

           1      Telnet
           3      File Transfer
           7      Echo
           11     SYSTAT
           13     DATE-TIME
           69     CPYNET

       133 BBN-TENEXB

           1      Telnet
           3      File Transfer
           7      Echo
           11     SYSTAT
           13     DATE-TIME
           15     NETSTAT
           17     Oneliners
           69     CPYNET

       134 MIT-AI

           1      Telnet
           3      File Transfer

       198 MIT-Mathlab

           1      Telnet
           3      File Transfer

       User only hosts -- no server sockets

           5      NCC
           7      RAND
           12     ILI-ANTS
           19     NBS-ANTS
           32     PARC-MAXC (currently)
           138    LL-TSP
           197    BBN-1D

AI ELI5

On this page
PROBLEMNetwork programs needed a standardized way to identify which service they wanted to connect to on a remote host.
MECHANISMSocket numbers were assigned by function: 0-63 for network-wide standard functions, 64-127 for host-specific services, and 128-255 for future or experimental use.
ROUTING TO NETWORK SERVICESThe socket system became foundational to early network protocols; servers listened on well-known sockets and clients connected to them via the ICP (Initial Connection Procedure).

§1Socket Numbers on the ARPANET

RFC 503 is the second published list of socket numbers for the ARPANET. It expands on RFC 433, adding more experimental sockets and updating assignments for host-specific and standard functions.

A socket number is a 40-bit quantity: 8 bits name the host, 24 bits are site-specific (usually zero), and the last 8 bits—called the AEN (Another Eightbit Number)—identify the service. For standard assignments, the host field ranges across all hosts, the 24-bit field is zero, and only the AEN is given.

A socket number is like a mailing address on the network. First 8 bits: which computer. Next 24 bits: usually just zeros. Last 8 bits: which service you want.

§2Socket Classes

Sockets fall into four ranges. Sockets 0–63 are network-wide standard functions: Telnet (socket 1), File Transfer (socket 3), Remote Job Entry (socket 5), Echo (socket 7), and others. Sockets 64–127 are host-specific, like NETRJS variants at UCLA-CCN on sockets 71, 73, and 75. Sockets 128–223 are reserved for future use. Sockets 224–255 are open for experimental functions.

The RFC lists assignments for each host that offers services, showing which sockets each site uses for Telnet, File Transfer, Echo, CPYNET, and other functions. Some hosts like UCSB offer graphics terminal sockets with custom numbers.

Socket numbers are sorted into groups: public services (everyone uses these numbers), local variations (each site can add its own), reserved for later, and anything-goes experimental.

§3Assignment and Conflicts

Jon Postel and Nancy Neigus managed socket assignments. The RFC notes that some existing hosts use sockets that conflict with the standard scheme, and the authors hope to resolve these conflicts with minimal disruption. The RFC invites network users to report missing or incorrect assignments.

The RFC was itself replaced by RFC 739, which continued the tradition of periodic socket number lists as the network grew and services evolved.

A couple of people at the top kept the list of who uses which number. If you found a mistake or added a new service, you'd tell them and they'd update the list.

§4References