Windows 2000 LPR LPD Legacy Print Services
Microsoft Windows 2000 manages legacy network printer shares through its "Print Services for Unix" component, which implements the industry-standard Line Printer Remote (LPR) and Line Printer Daemon (LPD) protocols defined in RFC 1179. This article explains how Windows 2000 facilitates bidirectional cross-platform printing by deploying the LPR client to send print jobs to external network hosts and using the LPD service to accept incoming print jobs from legacy systems, routing them seamlessly through the native Windows 2000 Print Spooler.
The Role of LPR and LPD in Windows 2000
The LPR/LPD architecture in Windows 2000 consists of two distinct components designed to bridge the gap between Windows environments and legacy or UNIX-based systems:
- Line Printer Remote (LPR): Operates as a print client. It allows a Windows 2000 workstation or server to send print requests across a TCP/IP network to a remote printer or print server hosting an LPD service.
- Line Printer Daemon (LPD): Operates as a print
server service (
LPDSVC). It listens for inbound print requests from external LPR clients, processes the data, and hands the job over to the local Windows 2000 print spooler.
Installing Print Services for Unix
By default, Windows 2000 does not enable LPR/LPD support. Administrators must manually add the service:
- Open Control Panel and navigate to Add/Remove Programs.
- Click Add/Remove Windows Components.
- Select Other Network File and Print Services and click Details.
- Check Print Services for Unix, confirm the selection, and provide the Windows 2000 installation media if prompted.
Installing this component automatically registers the LPD service in the Services management console and adds the LPR Port option to the standard printer port creation wizard.
Managing Outbound Legacy Printing (LPR)
When Windows 2000 sends jobs to legacy hardware or UNIX servers, it utilizes the Standard TCP/IP Port Monitor or the legacy LPR Port monitor:
- Port Creation: An administrator adds a printer via the Add Printer Wizard, chooses to create a new port, and selects Standard TCP/IP Port or LPR Port.
- Addressing and Queue Definition: The administrator enters the target device's IP address or fully qualified domain name (FQDN), along with the exact, case-sensitive queue name defined on the remote LPD host.
- Byte Counting: Windows 2000 allows enabling "LPR Byte Counting." Because RFC 1179 requires the client to declare the file size before transmitting the print data, enabling byte counting forces Windows to parse the entire print file beforehand, preventing print failures on strict legacy systems.
Once configured, users print to this device normally using native Windows applications. The local Windows spooler formats the data and transmits it over TCP port 515 to the destination.
Managing Inbound Legacy Printing (LPD)
To allow legacy devices—such as mainframes, UNIX terminals, or older
non-Windows systems—to output to a Windows 2000-managed printer, the
operating system uses the LPDSVC service:
- Port Listening: The LPD service continuously monitors incoming network traffic on TCP port 515.
- Share Identification: Inbound LPR requests must specify a target queue name. Windows 2000 matches this queue name to the printer's shared name.
- Spooler Handoff: Once an incoming job is received,
the LPD service passes the raw print stream directly to the local Print
Spooler service (
spoolsv.exe). - Driver Processing: If the incoming stream is raw text or PostScript, the spooler relies on the installed printer driver to properly interpret and send the commands to the physical printer.
Technical and Operational Considerations
- Source Port Restrictions: Traditional RFC 1179 compliance restricts LPR client traffic to source TCP ports 721 through 731. Under high print volumes, Windows 2000 can exhaust these reserved ports. Microsoft addressed this in Windows 2000 by enabling the Standard TCP/IP Port monitor to use arbitrary high-number source ports (ports above 1024) by default, avoiding port exhaustion.
- Security Limitations: The LPR/LPD protocol lacks built-in authentication and encryption mechanisms. In Windows 2000, print data sent via LPD is transmitted in cleartext, and access control is restricted primarily to network-level permissions, IP filtering, or standard Windows printer share permissions.
- Queue Sensitivity: UNIX-based LPD servers are strictly case-sensitive. Queue names configured in Windows 2000 must precisely match the case used on the remote hosting daemon, or the server will drop the job without a detailed error message.