Internet Printing Protocol

From Wikipedia, the free encyclopedia

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.

Like all IP-based protocols, IPP can be used locally or over the Internet to printers hundreds or thousands of miles away. Unlike other printing protocols, however, IPP also supports access control, authentication, and encryption, making it a much more capable and secure printing solution than older ones.

It faces criticism for its protocol overloading, because it is built on HTTP/1.1. 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.

The good side of building a printing protocol on top of HTTP is in the fact that the latter protocol is already massively tested on the Internet as a proven 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, original RFC suggested authorization may be done for example via HTTP's Digest access authentication mechanism or via SSL3. Encryption will not be done by IPP itself either, but it may be handled by SSL/TLS protocol layer.

The Internet Printing Protocol is used, among other places, in the Common Unix Printing System and Novell iPrint.

The Internet Printing Protocol was first drafted between Novell and Xerox with necessary support from the Internet Engineering Task Force (IETF). The idea behind the IPP is to define a protocol for end users' most common printing situations over the Internet.

The IPP accommodates these four functions:

  • Allow a user to find out about a printer's capabilities.
  • Allow a user to submit print jobs to a printer.
  • Allow a user to find out the status of a printer or a print job.
  • Allow a user to cancel a previously submitted job.

[edit] References

  • RFC 2910 Internet Printing Protocol/1.1: Encoding and Transport
  • RFC 2911 Internet Printing Protocol/1.1: Model and Semantics
  • RFC 2567 Design Goals for an Internet Printing Protocol
  • RFC 2568 Rationale for the Structure and Model and Protocol for the Internet Printing Protocol
  • RFC 2569 Mapping between LPD and IPP Protocols

[edit] See also

[edit] External links