Введение

Протокол связи для принтеров
Протокол интернет-печати (IPP) — это специализированный протокол связи для обмена данными между клиентскими устройствами (компьютерами, мобильными телефонами, планшетами и т. д.) и принтерами (или серверами печати). Он позволяет клиентам отправлять на сетевой принтер или сервер печати одно или несколько заданий на печать, а также выполнять такие задачи, как запрос статуса принтера, получение информации о статусе заданий на печать или отмена отдельных заданий. Как и все протоколы на базе IP, IPP может работать как локально, так и через Интернет. В отличие от других протоколов печати, IPP также поддерживает контроль доступа, аутентификацию и шифрование, что делает его значительно более функциональным и безопасным механизмом печати, чем устаревшие. IPP лежит в основе нескольких программ сертификации принтеров, включая AirPrint, IPP Everywhere и Mopria Alliance, и поддерживается более чем 98% принтеров, продаваемых в настоящее время.

История

IPP начал свою историю с предложения Novell о создании проекта протокола печати в интернете в 1996 году. Результатом стал проект, разработанный компаниями Novell и Xerox, под названием Lightweight Document Printing Application (LDPA), основанный на ECMA 140: Document Printing Application (DPA). Примерно в то же время компания Lexmark публично предложила протокол печати гипертекста (HTPP), а HP и Microsoft приступили к разработке новых сервисов печати для будущей Windows 2000. Каждая из компаний решила инициировать совместный проект протокола печати в интернете в рабочей группе Printer Working Group (PWG) и организовала сессию IPP (или BOF – Birds of a Feather) с директорами прикладных областей в Internet Engineering Task Force (IETF). Сессия BOF, прошедшая в декабре 1996 года, продемонстрировала достаточный интерес к разработке протокола печати, что привело к созданию рабочей группы IETF Internet Printing Protocol (ipp), завершившей свою работу в 2005 году. Разработка IPP продолжается в рабочей группе PWG Internet Printing Protocol, результатом чего стали публикации 23 кандидатов в стандарты, 1 нового и 3 обновленных RFC IETF, а также ряда документов о регистрации и передовых практиках, предоставляющих расширения для IPP и поддержку различных сервисов, включая 3D-печать, сканирование, факсимильную связь, облачные сервисы и общее управление системой и ресурсами. IPP/1.0 был опубликован в виде серии экспериментальных документов (RFC 2565, RFC 2566, RFC 2567, RFC 2568, RFC 2569 и RFC 2639) в 1999 году. За ним последовал IPP/1.1 в качестве проекта стандарта в 2000 году, с сопроводительной документацией в 2001, 2003 и 2015 годах (RFC 2910, RFC 2911, RFC 3196, RFC 3510, RFC 7472). IPP/1.1 был обновлен как предлагаемый стандарт в январе 2017 года (RFC 8010, RFC 8011) и затем принят в качестве Интернет-стандарта 92 (STD 92) в июне 2018 года. IPP 2.0 был опубликован как кандидат на стандарт PWG в 2009 году (PWG 5100.10 2009) и определил две новые версии IPP (2.0 для принтеров и 2.1 для серверов печати) с дополнительными требованиями к соответствию по сравнению с IPP 1.1. В 2011 году его заменил последующий кандидатский стандарт, определяющий дополнительную версию 2.2 для производственных принтеров (PWG 5100.12 2011). Эта спецификация была обновлена и утверждена как полноценный стандарт PWG (PWG 5100.12 2015) в 2015 году. IPP Everywhere был опубликован в 2013 году и предоставляет общую базовую линию для принтеров, поддерживающих так называемую "печать без драйверов" с клиентских устройств. Он основан на IPP и определяет дополнительные правила для обеспечения взаимодействия, такие как список форматов документов, которые должны поддерживать принтеры. Соответствующее руководство по самосертификации и набор инструментов были опубликованы в 2016 году, позволяя производителям принтеров и разработчикам серверов печати сертифицировать свои решения в соответствии с опубликованной спецификацией и быть включенными в список принтеров IPP Everywhere, поддерживаемый PWG.