Internet Printing Protocol
Internet Printing Protocol (IPP) — это сетевой протокол прикладного уровня, предназначенный для удалённой печати документов и управления принтерами через IP-сети (в том числе через интернет). IPP позволяет клиентским устройствам (компьютерам, смартфонам, планшетам) отправлять задания на печать, запрашивать статус принтера и состояние очереди печати, а также управлять настройками печатного устройства. Протокол основан на модели клиент-сервер и использует HTTP (Hypertext Transfer Protocol) в качестве транспорта, что делает его совместимым с веб-инфраструктурой и облегчает интеграцию с корпоративными и облачными системами. IPP стандартизирован Международной организацией по стандартизации (ISO) и Инженерным советом интернета (IETF) в серии документов RFC (Request for Comments).
История
Разработка IPP началась в середине 1990-х годов как ответ на потребность в едином, независимом от производителя протоколе для сетевой печати. До появления IPP доминировали проприетарные решения (например, протоколы от Hewlett-Packard, Xerox, Novell) и устаревшие стандарты вроде LPR/LPD (Line Printer Remote/Line Printer Daemon), которые имели ограничения по безопасности, масштабируемости и функциональности.
Первая версия протокола была опубликована IETF в 1999 году в виде RFC 2565 (IPP/1.0: Model and Semantics) и RFC 2566 (IPP/1.0: Encoding and Transport). В 2000 году вышла уточнённая версия 1.1 (RFC 2910 и RFC 2911), которая стала основой для большинства современных реализаций. В 2009 году был принят стандарт IPP 2.0 (RFC 3380, RFC 3381 и другие), расширивший возможности управления принтерами и поддержку цветных и многофункциональных устройств.
В 2010-е годы протокол активно развивался в рамках рабочей группы IETF PWG (Printer Working Group). Были добавлены расширения для поддержки безопасной печати (IPP over TLS), печати через облачные сервисы (IPP Everywhere) и мобильных устройств (Apple AirPrint, Google Cloud Print — использовали IPP в качестве основы). С 2015 года IPP Everywhere стал обязательным стандартом для многих производителей принтеров, особенно в сегменте устройств для малого и среднего бизнеса.
Архитектура и принцип работы
IPP работает по модели «запрос-ответ» поверх HTTP (обычно порт 631). Клиент (например, драйвер принтера или операционная система) отправляет HTTP-запрос с телом, закодированным в формате IPP (бинарный протокол на основе пар «атрибут-значение»). Сервер (принтер или сервер печати) обрабатывает запрос и возвращает HTTP-ответ с результатами.
Основные операции IPP включают:
- Print-Job — отправка задания на печать с документом.
- Validate-Job — проверка возможности выполнения задания без фактической печати.
- Cancel-Job — отмена задания.
- Get-Printer-Attributes — получение информации о принтере (статус, поддерживаемые форматы, наличие бумаги).
- Get-Jobs — получение списка заданий в очереди.
- Pause-Printer / Resume-Printer — приостановка и возобновление работы принтера.
Каждое задание и принтер имеют уникальный идентификатор (Job-ID и Printer-ID). Атрибуты заданий включают параметры печати: формат бумаги (A4, Letter), ориентацию (портрет/ландшафт), количество копий, двустороннюю печать, цветовой режим, разрешение (dpi) и другие.
Классификация и версии
Протокол IPP имеет несколько версий и расширений:
- IPP/1.0 и IPP/1.1 — базовые версии, поддерживающие основные операции печати и управления.
- IPP 2.0 — расширенная версия с поддержкой многофункциональных устройств (МФУ), сканирования и копирования.
- IPP Everywhere — стандарт для печати без драйверов, позволяющий клиентам автоматически определять возможности принтера и печатать документы в форматах PDF, JPEG, PWG Raster. Обязателен для сертификации многими производителями с 2015 года.
- IPP over TLS (IPPS) — защищённая версия, использующая шифрование TLS (Transport Layer Security) для передачи данных.
- IPP Authentication — расширение для аутентификации пользователей (например, через механизмы HTTP Basic или Digest).
Применение
IPP широко используется в корпоративных и домашних сетях, а также в облачных сервисах печати. Основные области применения:
- Сетевая печать в офисах — IPP позволяет централизованно управлять принтерами, устанавливать квоты на печать, вести журнал заданий.
- Облачная печать — сервисы вроде Google Cloud Print (закрыт в 2020 году) и Apple AirPrint используют IPP для взаимодействия с принтерами через интернет.
- Печать с мобильных устройств — iOS и macOS поддерживают AirPrint (основан на IPP), Android имеет встроенную поддержку IPP через Mopria Print Service.
- Печать в Linux и Unix — система CUPS (Common Unix Printing System) использует IPP в качестве основного протокола для взаимодействия с принтерами.
- Промышленная и специализированная печать — IPP применяется в медицинских, банковских и торговых устройствах (терминалы, этикеточные принтеры).
Преимущества и недостатки
Преимущества
- Стандартизация — единый протокол, поддерживаемый большинством производителей принтеров и операционных систем.
- Безопасность — поддержка шифрования (TLS) и аутентификации.
- Гибкость — возможность печати через интернет, поддержка различных форматов документов и настроек.
- Управление — возможность удалённого мониторинга и администрирования принтеров.
- Независимость от платформы — работает на Windows, macOS, Linux, Android, iOS.
Недостатки
- Сложность настройки — для корректной работы требуется правильная конфигурация сети (порты, брандмауэры) и поддержка IPP на стороне принтера.
- Зависимость от HTTP — протокол наследует некоторые ограничения HTTP (например, размер запроса может быть ограничен).
- Не все принтеры поддерживают — старые устройства или бюджетные модели могут не иметь встроенной поддержки IPP.
- Проблемы с совместимостью — некоторые реализации IPP от разных производителей могут иметь расхождения в интерпретации атрибутов.
Поддержка в операционных системах
- Windows — начиная с Windows 2000, встроенная поддержка IPP через службу печати. Для настройки используется мастер добавления принтера по URL (например,
http://printer-ip:631/ipp`). - macOS — с версии 10.2 (Jaguar) поддерживает IPP, а с 10.6 (Snow Leopard) — AirPrint. CUPS является системой печати по умолчанию.
- Linux — CUPS (Common Unix Printing System) использует IPP как основной протокол. Большинство дистрибутивов (Ubuntu, Fedora, Debian) включают CUPS по умолчанию.
- Android — поддержка IPP через Mopria Print Service (устанавливается отдельно или встроена в прошивку).
- iOS — AirPrint (основан на IPP) поддерживается на всех устройствах с iOS 4.2 и новее.
Интересные факты
- Порт 631, используемый IPP, выбран в честь даты 6/31 (31 июня не существует), что является отсылкой к шуточному празднику «День IPP».
- IPP Everywhere позволяет печатать без установки драйверов — клиент получает список поддерживаемых форматов и разрешений от принтера и конвертирует документ на лету.
- Протокол поддерживает печать на нескольких принтерах одновременно (Multipoint Printing) и создание виртуальных очередей.
- В России IPP используется в государственных и муниципальных учреждениях в рамках программ импортозамещения, где применяются принтеры на базе Linux-совместимых систем (например, Astra Linux с CUPS).
Критика
Основная критика IPP связана с его сложностью и избыточностью для простых задач. Некоторые администраторы отмечают, что настройка IPP в корпоративной сети требует квалификации, а отладка проблем с совместимостью может быть затруднительна из-за различий в реализации у разных вендоров. Также высказывались опасения по поводу безопасности: ранние версии IPP не поддерживали шифрование, что делало возможным перехват заданий печати. Однако современные версии (IPPS) решают эту проблему.
Источники
- RFC 2910: Internet Printing Protocol/1.1: Encoding and Transport (IETF, 2000)
- RFC 2911: Internet Printing Protocol/1.1: Model and Semantics (IETF, 2000)
- RFC 3380: Internet Printing Protocol (IPP): Job and Printer Set Operations (IETF, 2002)
- RFC 8011: Internet Printing Protocol (IPP): Job and Printer Set Operations (IETF, 2017)
- PWG 5100.14: IPP Everywhere (Printer Working Group, 2015)
- CUPS Documentation: CUPS and IPP (Apple Inc., 2023)
- ISO/IEC 10175-1: Information technology — Text and office systems — Document Printing Application (DPA) — Part 1: Abstract service definition and procedures (ISO, 1996)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →