Network Printer Protocols: TCP/IP Printing

What is a network printer?

For this article, I'll define a network printer as:

  • software which uses TCP/IP and one or more of the protoc9ols mentioned below
  • computer hardware, including file storage, to hold print jobs before they are spooled to an output device or process

With this definition, I can include both:

  1. standalone software products like ours, since we implement the protocols and use Windows resources
  2. print servers embedded in a printer. Surely a print protocol is not encoded in firmware in a printer, but rather with the printer's operating system with the manufacturer's feature set.

We'll confine our discussion to TCP/IP network protocols. Bluetooth is a somewhat more intimate conversation that needs the right software drivers installed on your computer before you can print.

Bluetooth vs TCP/IP

  Bluetooth advantages TCP/IP advantages
East of setup It's hard to beat Bluetooth: select a printer from the Windows Print menu, and Windows does the work for you Usually faster to use an app and enter the information
Simplicity of use Bluetooth supports printing from Windows applications, no thought is required Once the network printer is set, typically you only need the right command and the right printer name
Options Windows printing does not have much variety You can theoretically send any file you might have access to
Speed Acceptable for office use Targeted toward corporate use

TCP/IP Printing Protocols

Protocol Port number Bidirectional Documentation
LPR/LPD 515 yes RFC 1179
JetDirect 9100 yes Hewlett-Packard proprietary documents
Telnet 9100 no RFC 2217
IPDS 5001 yes IBM proprietary documents
IPP 631 yes RFC 80108011, 3382, 3995, 3996 and 7472

You can find the RFC documents by searching for "IETF RFC #" and filling in the number. The IETF is the Internet Engineering Task Force which has long been in charge of setting Internet standards of many kinds.

LPR/LPD

RPM remote print manager software solution example
RPM Remote Print Manager® Software

LPR/LPD Protocol is the printing method commonly used in TCP/IP networks. It is in use on university and business campuses where UNIX printing, AS/400 printing, and mainframe printing systems have been in place for a while; the new operating systems now support both mainframe and TCP/IP and LPD. Thus, it is a computer-to-computer printing method rather than PC-to-PC.

The LPR/LPD protocol consisted of two parts, LPR and LPD. 

Line Printer Request (LPR)

INTELLIscribe lpr client ip printing software example
Broadcast Printing & Fail-over Printing

LPR is an acronym for Line Printer Request; this is the part that submits the print request. LPR is the client part of the protocol. People are sometimes confused when referring to a mainframe as the "client" platform. Any system submitting print requests via an "LPR client" program is a client.;

Line Printer Daemon (LPD)

LPD stands for Line Printer Daemon; this is the piece that receives and processes the request. A "daemon" is a server or agent. Our RPM software is a print server.

JetDirect Protocol

The HP JetDirect printing® protocol is one of the most widely used for network printers. HP JetDirect supports bidirectional communication as Queue status, Job status, and Page status.

Telnet protocol

Telnet is a straightforward method based on transferring data safely between TCP ports used for printing purposes. This approach is sometimes called raw TCP/IP, Stream, or direct sockets printing.

And to continue the list of aliases, telnet printing is also called "direct IP printing" and "reverse telnet".

IPDS

IPDS print server solution example
IPDS Print Server for Windows

IPDS stands for "Intelligent Print Data Stream". This protocol or methodology was developed by IBM to provide high-end printing on intelligent printers.

Internet Printing Protocol

Internet Printing Protocol (IPP) is an Internet protocol that allows universal solutions to users trying to print documents from the Internet. The protocol allows the user to:

  • Find out about a printer's capabilities.
  • Submit print jobs to a printer.
  • Find out the status of a printer or a print job.
  • Cancel a previously submitted print job.

Print Server

print server ip

A hardware print server is a device that is connected to the network and has one or more serial, USB, or parallel ports. Some print servers also have buffer memory, which allows them to queue print data faster than the printer can handle.

A software print server like RPM is naturally going to offer quite a bit more functionality than connecting several ways. 

Print Client

A print client seamlessly sends documents to printers and print servers anywhere in the world using the TCP/IP Internet protocol.