On the junk mail problem
An early call to filter unwanted messages on the ARPANET.
Postel, J., "On the junk mail problem", RFC 706, DOI 10.17487/RFC0706, November 1975, <https://www.rfc-editor.org/info/rfc706>.
@misc{rfc706,
series = {Request for Comments},
number = 706,
howpublished = {RFC 706},
publisher = {RFC Editor},
doi = {10.17487/RFC0706},
url = {https://www.rfc-editor.org/info/rfc706},
author = {J. Postel},
title = {{On the junk mail problem}},
pagetotal = 1,
year = 1975,
month = nov,
} RFC text
Network Working Group Jon Postel (SRI-ARC)
Request for Comments: 706 Nov 1975
NIC #33861
On the Junk Mail Problem
In the ARPA Network Host/IMP interface protocol there is no
mechanism for the Host to selectively refuse messages. This means
that a Host which desires to receive some particular messages must
read all messages addressed to it. Such a Host could be sent many
messages by a malfunctioning Host. This would constitute a denial of
service to the normal users of this Host. Both the local users and
the network communication could suffer. The services denied are the
processor time consumed in examining the undesired messages and
rejecting them, and the loss of network thruput or increased delay
due to the unnecessary busyness of the network.
It would be useful for a Host to be able to decline messages from
sources it believes are misbehaving or are simply annoying. If the
Host/IMP interface protocol allowed the Host to say to the IMP
"refuse messages from Host X", the IMPs could discard the unwanted
messages at their earliest opportunity returning a "refused" notice
to the offending Host.
How the IMPs might do this is an open issue -- here are two
possibilities:
The destination IMP would keep a list (per local Host) of sources
to refuse (this has the disadvantage of keeping the network
busy).
The destination IMP on receiving the "refuse messages from Host
X" message forwards the message to the source IMP (the IMP local
to Host X). That IMP keeps a list (per local Host) of
destinations that are refusing messages from this source Host.
This restriction on messages might be removed by a destination Host
either by sending a "accept messages from Host X" message to the
IMP, or by resetting its Host/IMP interface.
A Host might make use of such a facility by measuring, per source,
the number of undesired messages per unit time, if this measure
exceeds a threshold then the Host could issue the "refuse messages
from Host X" message to the IMP.
AI ELI5
On this page
§1The Junk Mail Problem
The ARPANET Host/IMP interface protocol provides no mechanism for a Host to selectively refuse messages. If a Host wants to receive any particular messages, it must read and examine all messages sent to it. This design opens the door to denial of service: a malfunctioning Host could bombard another Host with messages, consuming processor time and network bandwidth.
On the early ARPANET, if a computer got flooded with unwanted messages, there was no way to tell the network to stop delivering them.
§2Selective Message Refusal
Postel proposes adding a capability to the Host/IMP interface so that a Host can tell its IMP: "refuse messages from Host X". The IMP would then discard unwanted messages at the earliest opportunity and return a refusal notice to the offending Host.
Two implementation approaches are sketched. In the first, the destination IMP maintains a per-Host list of refused sources and filters locally. In the second, the destination IMP forwards the refusal notice upstream to the source IMP, which maintains per-Host lists of refused destinations, spreading the filtering load.
A Host could measure incoming message rates per source and, if a threshold is exceeded, issue a refusal command to its IMP. The refusal could be revoked later by an accept command or by resetting the Host/IMP interface.
A computer should be able to tell its IMP: "Do not let messages from Host X through." The IMP could filter them away or tell that Host to stop.
§3Benefit
This mechanism would protect Hosts from wasteful message floods without requiring changes to application protocols or Host operating systems. The filtering happens at the network edge, where it can be most efficient.
This solves the problem at the network level, before the messages waste the recipient's computer power.