Socket number list
How network programs find each other using socket numbers
Neigus, N. and J. Postel, "Socket number list", RFC 503, DOI 10.17487/RFC0503, April 1973, <https://www.rfc-editor.org/info/rfc503>.
@misc{rfc503,
series = {Request for Comments},
number = 503,
howpublished = {RFC 503},
publisher = {RFC Editor},
doi = {10.17487/RFC0503},
url = {https://www.rfc-editor.org/info/rfc503},
author = {N. Neigus and J. Postel},
title = {{Socket number list}},
pagetotal = 8,
year = 1973,
month = apr,
} RFC text
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
§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.