インターネット印刷プロトコル( IPP )は、クライアント デバイス (コンピューター、携帯電話、タブレットなど) とプリンター (またはプリント サーバー) の間で使用される特殊な通信プロトコルです。このプロトコルを使用すると、クライアントは 1 つ以上の印刷ジョブをネットワーク接続プリンターまたはプリント サーバーに送信し、プリンターの状態の照会、印刷ジョブの状態の取得、個々の印刷ジョブのキャンセルなどのタスクを実行できます。
すべてのIPベースのプロトコルと同様に、 IPP はローカルまたはインターネット経由で実行できます。他の印刷プロトコルとは異なり、 IPP はアクセス制御、認証、暗号化もサポートしているため、従来のものよりもはるかに高性能で安全な印刷メカニズムとなっています。
IPPは、 AirPrint、IPP Everywhere、[1]、Mopria Allianceなど、いくつかのプリンターロゴ認証プログラムの基礎となっており、現在販売されているプリンターの98%以上でサポートされています。[2]
歴史
IPP は、1996 年にNovellがインターネット印刷プロトコルプロジェクトを作成するための提案として始まりました。その結果、Novell とXeroxによって作成されたドラフトは、ECMA-140: Document Printing Application (DPA) から派生した Lightweight Document Printing Application (LDPA) と呼ばれました。ほぼ同じ時期に、IBM はHyperText Printing Protocol (HTPP)と呼ばれるものを公に提案し、HPとMicrosoft の両社はWindows 2000の元となる新しい印刷サービスに取り組み始めました。各社は、プリンター ワーキング グループ(PWG) で共通のインターネット印刷プロトコル プロジェクトを開始することを選択し、インターネット技術タスク フォース(IETF)のアプリケーション領域ディレクターとIPP の同類 (BOF)セッションについて交渉しました。1996 年 12 月の BOF セッション[要出典]では、印刷プロトコルの開発に対する十分な関心が示され、IETF インターネット印刷プロトコル (ipp) [3]ワーキング グループが設立され、2005 年に終了しました。
IPP に関する作業は、PWG インターネット印刷プロトコル ワークグループで継続されており、23 の候補標準、1 つの新規 IETF RFC と 3 つの更新された IETF RFC、および IPP の拡張機能と、3D 印刷、スキャン、ファクシミリ、クラウドベースのサービス、全体的なシステムとリソースの管理を含むさまざまなサービスのサポートを提供するいくつかの登録およびベスト プラクティス ドキュメントが公開されています。
IPP/1.0は、1999年に一連の実験文書(RFC 2565、[4] RFC 2566、[5] RFC 2567、[6] RFC 2568、[7] RFC 2569、[8]およびRFC 2639 [9])として公開されました。
IPP/1.1は2000年に草案標準として公開され、2001年、2003年、2015年にサポート文書が公開されました(RFC 2910、[10] RFC 2911、[11] RFC 3196、[12] RFC 3510 [13] RFC 7472 [14])。IPP/1.1は2017年1月に提案標準として更新され(RFC 8010、[15] RFC 8011、[16] )、2018年6月にインターネット標準92(STD 92、 [17] )として採用されました。
IPP 2.0は2009年にPWG候補標準として公開され(PWG 5100.10-2009、[18])、IPP 1.1を超える追加の適合要件を備えた2つの新しいIPPバージョン(プリンター用の2.0とプリントサーバー用の2.1)を定義しました。その後の候補標準は2011年にこれを置き換え、プロダクションプリンター用の追加の2.2バージョンを定義しました(PWG 5100.12-2011、[19])。この仕様は2015年に更新され、完全なPWG標準(PWG 5100.12-2015、[20])として承認されました。
IPP Everywhere は 2013 年に公開され、クライアント デバイスからのいわゆる「ドライバーレス」印刷をサポートするプリンターの共通ベースラインを提供します。これは IPP に基づいて構築され、プリンターがサポートする必要のあるドキュメント形式のリストなど、相互運用性に関する追加のルールを指定します。対応する自己認証マニュアルとツール スイートが 2016 年に公開され、プリンター メーカーとプリント サーバーの実装者は、公開された仕様に対してソリューションを認証し、PWG が管理する IPP Everywhere プリンター ページにリストされるようになりました。
実装
IPP はハイパーテキスト転送プロトコル(HTTP) を使用して実装され、HTTP ストリーミングとセキュリティ機能をすべて継承します。たとえば、認証はHTTP のダイジェスト アクセス認証メカニズム、GSSAPI、またはその他の HTTP 認証方法を介して行うことができます。暗号化は、 HTTPSで使用される従来の常時オン モード、または HTTP への HTTP アップグレード拡張 (RFC 2817 [21] ) を使用して、 TLSプロトコル層を使用して提供されます。公開鍵証明書は、 TLS での認証に使用できます。ストリーミングは、HTTP チャンクを使用してサポートされます。印刷するドキュメントは通常、データ ストリームとして送信されます。
IPP は、印刷するドキュメントのさまざまな形式に対応します。PWGは、この目的のためにPWGラスターと呼ばれる画像フォーマットを定義しました。他のフォーマットには、出力先のプリンタの機能に応じてPDFやJPEGなどがあります。 [22]
IPP は従来のクライアント サーバー モデルを使用し、クライアントはIPP プリンタへの HTTP POST 要求でMIMEメディア タイプ「application/ipp」を使用して IPP 要求メッセージを送信します。IPP 要求メッセージは、カスタム バイナリ エンコーディングを使用したキーと値のペアで構成され、その後に「属性の終了」タグと要求に必要なドキュメント データ (印刷するドキュメントなど) が続きます。IPP 応答は、HTTP POST 応答でクライアントに返送されますが、この場合も「application/ipp」MIME メディア タイプが使用されます。
IPP を使用すると、クライアントは次のことが可能になります。
- プリンタの機能(サポートされている文字セット、メディアタイプ、ドキュメント形式など)を照会する
- 印刷ジョブをプリンターに送信する
- プリンタの状態を問い合わせる
- 1 つ以上の印刷ジョブのステータスを照会する
- 以前に送信したジョブをキャンセルする
IPP は、ポート 631 を既知のポートとしてTCP を使用します。
インターネット印刷プロトコルを使用する製品には、MicrosoftのUniversal Print、[23] CUPS(Apple macOSおよび多くのBSDおよびLinuxディストリビューションの一部であり、IPPのほとんどのバージョンのリファレンス実装である[24])、Novell iPrint、およびMS Windows 2000以降のMicrosoft Windowsバージョンがあります。[25] Windows XPおよびWindows Server 2003は、 HTTPS経由のIPP印刷を提供します。Windows Vista、Windows 7、[26] Windows Server 2008および2008 R2も、 「中低」セキュリティゾーンで RPC経由のIPP印刷をサポートしています。
参照
参考文献
- ^ 「IPP Everywhere」 。 2019年4月2日閲覧。
- ^ Michael Sweet、Apple Inc. (2018 年 5 月 15 日)。「CUPS 全体会議、合同 PWG/Open Printing 会議、カリフォルニア州サニーベール」(PDF)。プリンター ワーキング グループ。2019 年4 月 2 日閲覧。
- ^ 「IPP」、ワーキンググループ、IETF。
- ^インターネット 印刷プロトコル/1.0: エンコードとトランスポート。doi : 10.17487/ RFC2565。RFC 2565 。
- ^インターネット 印刷プロトコル/1.0: モデルとセマンティクス。doi : 10.17487/ RFC2566。RFC 2566 。
- ^ インターネット印刷プロトコルの設計目標。doi : 10.17487 / RFC2567。RFC 2567 。
- ^ インターネット印刷プロトコルのモデルとプロトコルの構造の根拠。doi : 10.17487 / RFC2568。RFC 2568 。
- ^ LPD プロトコルと IPP プロトコル間のマッピング。doi : 10.17487 / RFC2569。RFC 2569 。
- ^ インターネット印刷プロトコル/1.0: 実装者ガイド。doi : 10.17487 / RFC2639。RFC 2639 。
- ^インターネット 印刷プロトコル/1.1: エンコードとトランスポート。doi : 10.17487/ RFC2910。RFC 2910 。
- ^インターネット 印刷プロトコル/1.1: モデルとセマンティクス。doi : 10.17487/ RFC2911。RFC 2911 。
- ^ インターネット印刷プロトコル/1.1: 実装者ガイド。doi : 10.17487 / RFC3196。RFC 3196 。
- ^ インターネット印刷プロトコル/1.1: IPP URL スキーム。doi : 10.17487 / RFC3510。RFC 3510 。
- ^ HTTPSトランスポート バインディングを介したインターネット印刷プロトコル (IPP) と 'ipps' URI スキーム。doi : 10.17487/ RFC7472。RFC 7472 。
- ^ RFC 8010.doi : 10.17487 /RFC8010。
- ^インターネット 印刷プロトコル/1.1: モデルとセマンティクス。doi : 10.17487/ RFC8011。RFC 8011 。
- ^ インターネット印刷プロトコル/1.1。STD 92。
- ^ PWG 5100.10-2009 (PDF)、PWG。
- ^ PWG 5100.12-2011 (PDF)、PWG。
- ^ PWG 5100.12-2015 (PDF)、PWG。
- ^ HTTP/1.1 内での TLS へのアップグレード、IETF、RFC 2817
- ^ 「CUPSDriverlessPrinting」。Debian Wiki。2021年10月31日時点のオリジナルよりアーカイブ。2021年12月13日閲覧。
- ^ 「Microsoft のユニバーサル プリント」 。Microsoft。2023年 5 月 18 日閲覧。
- ^ 「インターネット印刷プロトコル」。プリンターワーキンググループ。2010年1月12日時点のオリジナルよりアーカイブ。2013年11月20日閲覧。公開された標準にはリファレンス実装に関する言及はありませんが、2009 年 9 月 1 日から 2010 年 1 月 12 日までの時点からこのページに「CUPS ソフトウェア (IPP リファレンス実装)」という用語が登場しています。
- ^ 「IPP 印刷の効果的な使用」。Microsoft。2003 年 4 月 8 日。2009 年 9 月 6 日閲覧。
- ^ 「インターネット印刷クライアント (IPP) は Windows 7 Starter Edition では利用できません」。Microsoft。2010 年 11 月 17 日。2012 年 10 月 2日閲覧。
さらに読む
- 標準
- インターネット印刷プロトコル/1.1。2018 年 6 月。STD 92。
- インターネット印刷プロトコル/1.1: エンコードとトランスポート。2017 年 1 月。doi : 10.17487/ RFC8010。RFC 8010 。
- インターネット印刷プロトコル/1.1: モデルとセマンティクス。2017 年 1 月。doi : 10.17487/ RFC8011。RFC 8011 。
- PWG 5100.12-2015: IPP バージョン 2.0、2.1、および 2.2 (PDF)、PWG、2015 年 10 月。
- 情報文書
- インターネット印刷プロトコルの設計目標。1999 年 4 月。doi : 10.17487/ RFC2567。RFC 2567 。
- インターネット印刷プロトコルの構造とモデルおよびプロトコルの根拠。1999 年 4 月。doi : 10.17487/ RFC2568。RFC 2568 。
- LPD プロトコルと IPP プロトコル間のマッピング。1999 年 4 月。doi : 10.17487/ RFC2569。RFC 2569 。
外部リンク
- PWG IPP ワークグループ、PWG。
- 「概要」、Netware iPrint、Novell。
- Technet | MS Windows、Microsoft の IPP。
- CUPS ソフトウェア、Apple。
- 「OpenPrinting」、ワークグループ、Linux Foundation、2011-11-20 にオリジナルからアーカイブ、2011-11-24 に取得。
