A printing protocol is a protocol for communication between client devices (computers, mobile phones, tablets, etc.) and printers (or print servers). It allows clients to submit one or more print jobs to the printer or print server, and perform tasks such as querying the status of a printer, obtaining the status of print jobs, or cancelling individual print jobs.
Dedicated protocols
editProtocols listed here are specific for printing.
- The Line Printer Daemon protocol/Line Printer Remote protocol (or LPD, LPR) is a network protocol for submitting print jobs to a remote printer. The original implementation of LPD was in the Berkeley printing system in the 2.10 BSD UNIX operating system in 1988; the LPRng project also supports that protocol. The LPD Protocol Specification is documented in RFC 1179.[1] LPD printing normally happens over port 515.
- AppSocket, also known as port 9100, RAW, JetDirect, or Windows TCPmon is a protocol that was developed by Tektronix.[2][3] It is considered as 'the simplest, fastest, and generally the most reliable network protocol used for printers' though 'it also offers no security and is often an attack vector with printers'.[3] AppSocket printing normally happens over port 9100.
- The Internet Printing Protocol (IPP) is an Internet protocol for communication between client devices (computers, mobile phones, tablets, etc.) and printers (or print servers). IPP can run locally or over the Internet. Unlike other printing protocols, IPP also supports access control, authentication, and encryption, making it a much more capable and secure printing mechanism than older ones. IPP printing normally happens over port 631. It is the default protocol in Android and iOS.
Generic protocols
editThese protocols put the printer as similar class to remote disks, scanners and multimedia devices. This is especially true for multi-function printers, that also produce image files (scans and faxes) and send them back through the network.
- Telnet is based on simply transferring data safely to/from TCP ports that are now being used for printing purposes. This approach is sometimes called raw TCP/IP, Stream, or direct sockets printing.
- Server Message Block (SMB) is an application-layer network protocol for file and printer sharing originally developed by IBM in the mid-80s. It is the default method used by Windows based computers to share files and printers.[4]
Wireless protocols
editWireless protocols is designed for wireless devices. This kind of protocol is based on one kind of printing protocols plus Zero-configuration networking (zeroconf) mechanisms. In this way, printers can be used by wireless devices seamlessly. Note that the printer itself is not necessary to be wireless.
- AirPrint is a feature in Apple Inc.'s macOS and iOS operating systems for printing via a wireless LAN (Wi-Fi),[5][6] either directly to AirPrint-compatible printers, or to non-compatible shared printers by way of a computer running Microsoft Windows, Linux,[7] or macOS.[6][8][9] AirPrint is based on mDNS (Bonjour, more specifically) and Internet Printing Protocol (IPP). It was originally intended for iOS devices and connected via a Wi-Fi network only, and thus required a Wi-Fi access point. However, with the introduction of AirPrint to the macOS desktop platform in 2012, Macs connected to the network via ethernet connection could also print using the AirPrint protocol—not just those connected via Wi-Fi.
- Mopria Alliance provides a protocol which is adopted by Android and available in Windows 10. It uses mDNS for service discovery and Internet Printing Protocol (IPP) for printing, just like AirPrint.
- Windows devices use Web Services for Devices (WSD) for service discovery and Line Printer Daemon protocol (LPR) or JetDirect (RAW) for printing. Windows 10 also supports Mopria Alliance's way.
Internet protocols
editThe computer and the printer should be located on the same local area network (LAN) when using all of the above protocols. Internet printing protocols is designed for Internet printing.
- Google Cloud Print (The service ended on December 31, 2020.)
See also
editReferences
edit- ^ RFC1179 Line Printer Daemon Protocol, August 1990, edited by L. McLaughlin III.
- ^ "AppSocket TCP/IP Protocol". LPRng Reference Manual. 26 Nov 2010. Retrieved 2017-09-06.
- ^ a b "Using Network Printers". cups.org. Retrieved 2017-09-06.
- ^ Common Internet File System, Microsoft TechNet Library
- ^ "Software update", iPad, UK: Apple
- ^ a b "AirPrint" (Press release). UK: Apple. September 15, 2010.
- ^ Finnie, Ryan (November 13, 2010). "AirPrint & Linux" (how-to). Retrieved November 2, 2013.
- ^ AirPrint: how to make it work for shared printers, TUAW, November 11, 2010
- ^ "Printing from iPad AirPrint via Cups" (how-to). CC: Rho. Archived from the original on January 16, 2013. Retrieved November 2, 2013.