| Communication protocol | |
| Purpose | Submitting print jobs to a remote printer |
|---|---|
| Introduction | 1983; 43 years ago (1983) |
| Based on | Berkeley printing system |
| Port(s) | 515 |
| RFC(s) | 1179 |
TheLine Printer Daemon protocol/Line Printer Remote protocol (orLPD,LPR) is a networkprinting protocol for submitting print jobs to a remote printer. The original implementation of LPD was in theBerkeley printing system in theBSDUNIX operating system; theLPRng project also supports that protocol. TheCommon Unix Printing System (or CUPS), which is more common on modernLinux distributions and also found onmacOS, supports LPD as well as theInternet Printing Protocol (IPP). Commercial solutions are available that also use Berkeley printing protocol components, where more robust functionality and performance is necessary than is available from LPR/LPD (or CUPS) alone (such as might be required in large corporate environments). The LPD Protocol Specification is documented in RFC 1179.[1]
A server for the LPD protocol listens for requests on TCP port 515.[1] A request begins with a byte containing the request code, followed by the arguments to the request, and is terminated by an ASCIILF character.
An LPD printer is identified by theIP address of the server machine and the queue name on that machine. Many different queue names may exist in one LPD server, with each queue having unique settings. Note that the LPD queue name is case sensitive. Some modern implementations of LPD on network printers might ignore the case or queue name altogether and send all jobs to the same printer. Others have the option to automatically create a new queue when a print job with a new queue name is received. This helps to simplify the setup of the LPD server.[2]
A printer that supports LPD/LPR is sometimes referred to as a "TCP/IP printer" (TCP/IP is used to establish connections between printers and clients on a network), although that term would be equally applicable to a printer that supports theInternet Printing Protocol.