LPR【Line Printer Daemon Protocol】LPD
LPRとは?

起源は、大型コンピュータやワークステーションを複数の利用者が共有していた時代にさかのぼる。当時はネットワーク経由でプリンタを共同利用する必要があり、印刷要求を順番に管理する仕組みが求められた。
LPRはその要求に応える形で整備されたプロトコルである。名称に含まれる「ラインプリンタ」は、かつて主流だった1行ずつ印字する装置を指すが、その後、レーザープリンタやインクジェットプリンタなど印字方式を問わず様々なプリンタで利用されるようになった。
通信にはTCPの515番ポートを使用する。印刷を依頼するLPRクライアントは、印刷データ本体に加え、利用者名、印刷部数、出力先といった制御情報をサーバへ送信する。データを受け取る側の常駐プログラムである「LPD」(Line Printer Daemon)は、データを一時保存領域(スプール)に蓄え、順番にプリンタへ渡す。この仕組みにより、複数の利用者が同時に印刷を要求しても混在することなく処理でき、送信側のコンピュータは印刷完了を待たずに別の作業を続けられる。
仕様が公開され、単純で対応プログラムの開発が容易だったことから、異なるメーカーの製品やオペレーティングシステム(OS)が混在する環境でも利用できる共通プロトコルとして普及した。LinuxなどのUNIX系OSに留まらず、WindowsやmacOSでも標準機能として組み込まれており、LPDサーバ機能を内蔵したネットワークプリンタも多い。
一方、設計が古いため、通信の暗号化や認証の仕組みを標準では備えていない。プリンタの状態をリアルタイムに把握する機能も乏しく、トナー残量や用紙切れといった情報の双方向通信には対応していない。現在の企業ネットワークでは、ファイアウォールやVPNと組み合わせて運用されることが多く、双方向通信や高度な管理機能を持つ「IPP」(Internet Printing Protocol)など別の方式への移行も進んでいる。