Druckprotokoll
# Druckprotokoll

Druckprotokolle sind Regelwerke zur Kommunikation, die Regeln, Syntax und Semantik der Kommunikation zwischen einem Rechner oder Druckerserver und einem Drucker definieren.

Es gibt sehr einfache Protokolle, bei denen nur die reinen Druckdaten übermittelt werden. Umfangreichere Protokolle umfassen optional auch Verschlüsselung, Benutzer-/Zugriffsrechte, Auftragspriorisierung, Auftragskostenerfassung, Auftragsrouting, Auftragszeitsteuerung, Fehlermeldungen und deren Behandlung sowie Abfragen von Status und Ausstattungsmerkmalen, sowie Steuerbefehle für zum Beispiel die Wahl des Papierschachtes, Hefter etc., oder auch Steuerbefehle für Voreinstellungen.

Alle Protokolle bestehen funktional aus 2 Teilen: Seiteninhalt und Steuerdaten und sind im OSI-Modell der Anwendungsschicht (7) zuzuordnen. Der Inhalt wird immer mit einer festgelegten Seitenbeschreibung PDL (PS, XPS, PDF, JPEG, TIFF …) übertragen und von Steuerungsanweisungen in einer Printer Command Language (PCL, PostScript) begleitet. Dies gilt allgemein sowohl für lokal angeschlossene Drucker als auch für Netzwerkdrucker, mit dem Unterschied, dass der Transportkanal statt auf einem USB-Stack die Schicht 4 im OSI-Modell: TCP oder UDP auf einem jeweils festgelegten TCP- oder UDP-Port.

Einige Hersteller haben bestehende Druckprotokolle proprietär erweitert oder mit anderen Kommunikationsprotokollen ergänzt, um bestimmte Funktionen abzubilden, zum Beispiel werden die Druckdaten per Port 9100 geliefert und die Statusabfragen mit dem Simple Network Management Protocol auf Port 161 gemacht. Auf Unix/Linux wurde anfänglich LPR eingesetzt, das heute praktisch verschwunden ist, da zu viele Funktionen fehlen. Heute wird hier das IPP in Form des Common Unix Printing System eingesetzt, das heute sehr umfänglich ist. Unter Windows wird meist mit Server-Message-Block-Freigaben gedruckt; dies sind allgemeinere Protokolle zur Bereitstellung beliebiger Netzwerkressourcen, die auch ein Druckprotokoll beinhalten. Im Server-based Computing werden Druckaufträge auch über die Sitzungsprotokolle RDP (Microsoft), ICA (Citrix) oder Red Hat RHEV SPICE an Drucker übertragen, die lokal an einem Arbeitsplatzrechner angeschlossen sind. Dies sind dann Integrationen von Druckprotokollen in die jeweiligen Sitzungsprotokolle.

Da die eigentliche Druckausgabe einen zeitlichen Engpass darstellt, werden Druckaufträge immer in einer Warteschlange zwischengespeichert. Diese Warteschlange bedient dann die eigentliche Ausgabe. Diese Warteschlange ist bei Netzwerkdruckern zwingend notwendig, da ein Drucker im Netz eine geteilte Ressource ist, die, anders als lokal angeschlossene Drucker, von mehreren Netzteilnehmern aus benutzt werden kann. Ohne Warteschlange und deren Management über das Druckprotokoll wäre der ausliefernde Client für die Druckdauer teilweise blockiert und der Drucker für alle anderen Teilnehmer nicht bereit.

