RFC1179 defines a standard method by which print jobs can
be transferred using the TCP/IP protocol between hosts. The
standard was developed by simply detailing the way that a
version of the BSD lpd software
did its job.
From the RFC Introduction:
RFC 1179 describes a print server protocol widely used
on the Internet for communicating between line printer
daemons (both clients and servers). RFC1179 is for
informational purposes only, and does not specify an
Internet standard.
Having said this, the RFC then goes on to describe the
protocol used by a particular implementation of lpd. The problem was that the RFC did not
provide any way to put extensions to the operations into the
system, and failed to specify such interesting details as the
order in which print jobs and their components could be
transferred.
Comment by Patrick Powell <papowell@lprng.com> :
Since 1988, there have been a large number of print
spooling systems developed which claim RFC1179 conformance,
but which are mutually incompatible.
Rather than live with the limited capabilities of the
RFC1179 standard, LPRng has
extended them by adding capabilities to perform remote
control of print spoolers, encrypted and authenticated data
transfers, and other operations missing from the RFC1179
specification. However, great effort was made to be
backwards compatible with older and other lpd based systems.
LPRng was developed in order
to be able to both accept and provide interactions with
these systems. It does so by allowing various options to be
used to tune how print jobs would
be exchanged. Currently, LPRng
can be configured to send and receive print jobs between a
vast number of the existing spooling systems. It is
flexible enough to act as a gateway between non-compatible
systems, and has provisions to transform jobs from one
format to another in a dynamic manner.
For a detailed explanation about LPRng and RFC1179, see RFC1179 and LPRng.