IPP im TCP/IP-Protokollstapel
Anwendung IPP
HTTP
Transport TCP
Port 631
Internet IP (IPv4, IPv6)
Netz-Zugang Ethernet Token
Bus
Token
Ring
FDDI

Das Internet Printing Protocol (IPP) stellt Druckdienste über ein Netzwerk, wie z. B. das Internet oder ein lokales Netzwerk, zur Verfügung. Im Unterschied zu anderen Druckprotokollen beinhaltet IPP alle notwendigen Mechanismen wie Authentifizierung, Zugriffsberechtigungen, Verschlüsselung, Accounting, Statusrückmeldungen in einem einzigen routingfähigen Protokoll.

IPP basiert auf HTTP 1.1. Dadurch können alle Erweiterungen, die für HTTP vorgesehen sind, auch für IPP verwendet werden. Dazu gehört z. B. der Einsatz von TLS, um die Verbindung zu sichern. Nach dem Client-Server-System stellt ein Client, meist eine Anwendung, eine Anfrage an einen Druckserver, der nach Übertragung die Daten auf einem Drucker ausgibt.

Das Protokoll wurde erstmals 1999 in der Version 1.0 vorgestellt. Die Entwicklung des Protokolls wird durch die IPP Workgroup geführt, die eine Arbeitsgruppe der IEEE ist und PWG Normen verabschiedet. Diese Normen beschreiben zum Beispiel die Konformitätsanforderungen für Implementierungen der Protokollversionen 2.0 (2009), 2.1 und 2.2 (2015). Ziele sind dabei die Unterstützung für 3D-Druck, Scanner, Autokalibrierende Ausgaben und den Druck ganz ohne Treiber (IPP Everywhere™).

IPP wird unter anderem von Anwendungen wie CUPS verwendet. Darüber hinaus bietet Windows ab Windows 2000 eine integrierte aber unvollständige Unterstützung (zum Beispiel ohne Verschlüsselung und ohne Übermittlung von Benutzernamen für einige Aktionen, was zu Fehlern führt) für IPP in der Version 1.0.

IPP Everywhere Bearbeiten

Unter dem Marketing-Namen „IPP Everywhere™“ hat die Printer Working Group (PWG) der IEEE-ISTO (kurz für IEEE Industry Standards and Technology Organization) 2016 eine Spezifikation für das Drucken ohne Druckertreiber (englisch driverless printing) definiert, die auf IPP ab Version 2.0 aufbaut. Version 1.1 von IPP Everywhere wurde 2020 spezifiziert.[1] Vergleichbare Schnittstellen sind etwa AirPrint oder Wi-Fi Direct Print.

Zu den Voraussetzungen zählen die IPP Job and Printer Extensions sowie DNS-SD (was wiederum Multicast DNS voraussetzt) zum Auffinden des Druckers. Das Protokoll definiert eine Reihe von Attributen, die der Drucker dem Client meldet, damit dieser weiß, was der Drucker an Funktionen und Möglichkeiten bietet. So kann die Drucker-Software (in der Spezifikation als Client bezeichnet; beispielsweise CUPS, ein Druckertreiber im Betriebssystem oder ein Druckerserver) abfragen, ob der Drucker z. B. ein Farbdrucker ist, ob er Duplex bietet und welches Papierformat vorhanden ist. Alle IPP-Everywhere-konformen Drucker müssen das Datenformat (englisch document format) PWG Raster Format unterstützen. In Version 1.0 noch empfohlen, müssen seit Version 1.1 der IPP-Everywhere-Spezifikation Farbdrucker das JPEG File Interchange Format (JFIF) unterstützen und auch EXIF-Metadaten von z. B. Digitalkameras verarbeiten können. Die Unterstützung von PDF in Version 1.7 ist empfohlen. Die Formate werden in Form von MIME-Attributen zwischen Drucker und Client ausgetauscht.

Der Standard soll es unnötig machen, für jeden Drucker einen eigenen Treiber bereitstellen zu müssen, da es mit IPP Everywhere möglich ist, jeden konformen Drucker ohne zusätzlichen Gerätetreiber bzw. spezifischer PPD für z. B. CUPS verwenden zu können.

Weblinks Bearbeiten

RFCs

  • RFC 2567 – Design Goals for an Internet Printing Protocol. April 1999 (englisch).
  • RFC 2568 – Rationale for the Structure and Model and Protocol for the Internet Printing Protocol. April 1999 (englisch).
  • RFC 8010 – Internet Printing Protocol/1.1: Encoding and Transport. Januar 2017 (löst RFC 2910 ab, englisch).
  • RFC 8011 – Internet Printing Protocol/1.1: Model and Semantics. Januar 2017 (löst RFC 2911 ab, englisch).
  • RFC 2569 – Mapping between LPD and IPP Protocols. April 1999 (englisch).

Sonstige

Einzelnachweise Bearbeiten

  1. IPP Everywhere Specification v1.1. (PDF; 885 kB) The Printer Working Group, 15. Mai 2020, abgerufen am 5. April 2021 (englisch, Kandidat für Spezifikation 1.1, Status: bewilligt).