User:Ferdilouw/Remote printing

A mainframe printer used to have a few printers, and users could decide where to print and had to walk to the printer, or wait for delivery of the print job by computer staff. Then came the PC with it's local printer to provide a whole new level of service. As PC's became part of the network, remote printing became a option again, but very soon it was the PC user sitting at the PC, working on a remote mainframe/server and asking for a remote print job back at his own PC.

Various methods and protocols were designed to deliver remote printing. With the advent of the internet the options grew again by an order of magnitude.

TPC: The Phone Company
The Phone Company's Remote Printing Service was a clever early (1993) method utilizing fax machines at printers. Wherever in the world you were, you could ask for a print job to be sent to a fax machine near you. It was supported by volunteers and fax servers adding advertisement pages to your jobs, giving the public a free service.  RFC 1530 RFC 1529 RFC 1528

LPD/LPR
Unix standard RFC http://tools.ietf.org/html/rfc1179

LPD (Line Printer Daemon) is a protocol developed in the Unix world but became the standard for sending print jobs over general networks.

LPD is the server program to receive print jobs from an LPR client program running on another host. In most cases, the LPR client runs on a Unix or mainframe server.

An LPD printer is identified by the IP address of the PC (or network printer or server) and the queue name. 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 queue name and send all jobs to the same printer. InetLPD has 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 InetLPD server. Some companies have a tradition of calling the queue name “lpt1” or “LPT1”. InetLPD server will display the queue name used by the remote even when it is not defined locally. An option will also automatically create a new queue for undefined names.

LPD always listens on TCP port 515.

Hardware network printers Twisting of specs: names not case sensitive LPD is a very old and well-established standard to use across many different platforms. the “LPR” printing method that will send the print data to an LPD print server at another IP address. Some LPD printers are very specific with case sensitive queue names, which must correspond exactly at both the client (LPR) and the server (LPD). So take care when you type the LPD queue names.

IP or Socket printing
It was very easy and logic to make an IP connection to another machine's port or socket, and then send print data over the connection. On the receiving (or listening) side, the data is piped directly to a printer. No standard - an adhock implemention. InetPrintServer implements a de facto printing protocol also known as “socket printing” and “IP printing”. Due to the simplicity of this protocol, it has been implemented in various operating systems. Many Unix and IBM print spoolers offer a socket print option. Each socket print server is identified by the IP address of the PC where it runs and the TCP port on which it listens for new print jobs.

By default InetPrintServer will listen on port 10. Other popular choices are 11 and 2049. To run more than one socket print server on the same PC, you’ll need to start multiple copies of InetPrintServer listing on different ports.

Internet Printing Protocol (IPP)
Internet Printing Protocol (IPP) was a total redesign of LPD/LPR and IP printing. It is formalized in various RFC's. Example: CUPS

Terminals back printing
Some terminals had a physical port at the back where a printer could be plugged in. Special commands are used to send data to the printer rather than the screen from the remote mainframe/server.

LAN shared and network printers
Initially Microsoft and Novell allowed printers connected to PCs to be shared with other users on the LAN. Hardware manufacturers took it a step further by including all the requires hardware and software in their large printers. Such a network printer is usually connected to the LAN via ethernet, and available to all authorized users.

Netbios hacking
Remote access opens security risks. RJE RPC Some vulnerabilities or just poor security policies in the MS netbios facilities have enabled hackers to print unauthorized from anywhere on the internet to innocent user's printers.

Firewalls is the first step to protect remote printers from abuse. Some print servers include their own firewalls.

Ackn
Some information used here was obtained from the documentation supplied with Winet, a package containing a number of print applications to interface legacy systems with modern print requirements.