Протоколы сетевой печати — IPP, RAW, LPD
Протоколы сетевой печати — IPP, RAW, LPD
Обзор
| Протокол | Порт | RFC | Тип соединения |
|---|---|---|---|
| IPP | 631 | RFC 8011 | HTTP/HTTPS (двунаправленный) |
| RAW (JetDirect) | 9100 | — | TCP (однонаправленный поток) |
| LPD/LPR | 515 | RFC 1179 | TCP (устаревший) |
IPP (Internet Printing Protocol)
IPP построен поверх HTTP (порт 631) или HTTPS (IPPS, порт 443/631).
Возможности:
- двунаправленная коммуникация: принтер сообщает статус задания, уровень тонера и ошибки;
- аутентификация (Basic, Digest, Negotiate);
- шифрование через TLS;
- управление очередью: пауза, отмена, приоритет;
- поддержка IPP Everywhere — печать без установки драйверов.
IPP используется в macOS (CUPS), Android, Windows 10+.
RAW (JetDirect / порт 9100)
Простой TCP-поток: клиент открывает соединение на порт 9100 и передаёт PDL (PCL, PostScript, PDF).
Особенности:
- нет встроенной обратной связи о статусе;
- максимальная совместимость — поддерживают практически все принтеры;
- минимальные накладные расходы протокола;
- драйвер на стороне клиента формирует полный PDL.
LPD/LPR
Протокол 1980-х годов (RFC 1179). Используется в legacy-окружениях.
Особенности:
- порт 515, TCP;
- очередь задаётся именем (queue name);
- ограниченные возможности управления;
- не поддерживает шифрование.
Когда что использовать
| Ситуация | Рекомендуемый протокол |
|---|---|
| Современный принтер, нужен статус задания | IPP |
| Максимальная совместимость, legacy-устройство | RAW (9100) |
| Печать из UNIX/Linux без CUPS | LPD/LPR |
| Защищённая сеть, нужно шифрование | IPPS (IPP over TLS) |
Как Принтум использует эти протоколы
ПринтМенеджер принимает задания от клиентов через установленные порты. Для отправки задания на физическое устройство ПринтМенеджер использует RAW (порт 9100) или IPP в зависимости от конфигурации принтера.
TODO: уточнить — какой протокол используется по умолчанию при добавлении устройства в Принтум.