New RPM 7 Beta is now available — try the new release →

Network Printer Protocols: TCP/IP Printing

What is a network printer?

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

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 advantagesTCP/IP advantages
Ease of setupIt’s hard to beat Bluetooth: select a printer from the Windows Print menu, and Windows does the work for youUsually faster to use an app and enter the information
Simplicity of useBluetooth supports printing from Windows applications, no thought is requiredOnce the network printer is set, typically you only need the right command and the right printer name
OptionsWindows printing does not have much varietyYou can theoretically send any file you might have access to
SpeedAcceptable for office useTargeted toward corporate use

TCP/IP Printing Protocols

ProtocolPort numberBidirectionalDocumentation
LPR/LPD515yesRFC 1179
JetDirect9100yesHewlett-Packard proprietary documents
Telnet9100noRFC 2217
IPDS5001yesIBM proprietary documents
IPP631yesRFC 8010 , 8011 , 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)

RPM includes an lpr utility, called clpr. From a command prompt, navigate to the RPM install folder, and type “clpr –help” for a listing of the program’s command line options.

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

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:

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.