The Internet Printing Protocol (IPP) is a standard network protocol for remote printing as well as managing print jobs, media size, resolution, and so forth in distributed environments.
The idea behind the IPP is to define a protocol for end users to print over the Internet, provide users with the same printing controls and concepts that they use to print locally or to LAN-attached printers. There are two main components to IPP:
- Web-based printer management which offers the ability to administer, to connect to, and to view printers by using a Web browser.
- Internet printing which allows you to use the printer’s URL to connect to a printer.
In IPP, print jobs are sent using Hypertext Transfer Protocol (HTTP), the same protocol used to connect to web pages. Unlike other printing protocols, IPP also supports access control, authentication, and encryption, making it a much more capable and secure printing solution than older ones.
As IPP transfers are made using HTTP v. 1.1, once a connection is made, multiple commands (files) can be sent over a single TCP connection. However, by using HTTP/1.1, IPP faces criticism for its protocol overloading. This allegedly makes for a more complex and bloated protocol and implementation than necessary — for example the venerable lp protocol was extended to cover the same functionality.
Anyway, the advantage of implementing IPP on top of HTTP is in the fact that the latter protocol is already well-tested on the Internet as a method to transfer files, which enables reuse of proven, well-tested and debugged client and server code.
It is a design goal of IPP to not invent new security features when existing protocols can be used. For example, the original RFC suggested authorization be done for example via HTTP’s Digest access authentication mechanism or via SSL3. Encryption is not done by IPP itself either, but it may be handled by SSL/TLS protocol layer.
Because the service is using HTTP or HTTPS, this is typically port 80 or port 443. As IPP supports HTTPS traffic, communication can be encrypted, depending on the user’s Internet browser settings. IPP printing via HTTPS is offered in Windows XP and Windows Server 2003. Windows Vista and Windows Server 2008 also support IPP printing over RPC in Medium-Low security zone. IPP uses the client/server model, where the client resides in a PC or workstation and the server is embedded in a printer device or resides in a separate print server machine. The process is as follows:
Read the rest of this entry »