RFC 706 UNKNOWN SECURITY · NETWORK

On the junk mail problem

An early call to filter unwanted messages on the ARPANET.

On rfc-editor.org ↗
PUBLISHED
November 1975
AUTHORS
J. Postel
STREAM
Legacy
RFC DATE
November 1975
DOI
10.17487/RFC0706

RFC text

Original text · RFC Editor View on rfc-editor.org ↗
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
PROBLEMThe ARPANET Host/IMP interface protocol has no way for a Host to refuse incoming messages. A misbehaving Host could send many messages to another Host, wasting processor time and network bandwidth.
MECHANISMA Host could tell its IMP to refuse messages from specific source Hosts. The IMP would either filter locally or forward the refusal notice upstream to the source IMP for broader filtering.
EARLY SPAM DEFENSEAllowing selective message refusal would give Hosts a practical defense against misbehaving senders without requiring protocol changes at higher layers.

§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.