我正在小型 LAN 上调试一些打印问题,虽然我相当确定我面临的问题与杯子本身无关,但我一直在修改 CUPS 和我的打印机 (Konica Minolta Bizhub C224E) 的打印协议和 C3350) 了解。
这让我想知道:是否只是知道您的打印机支持哪些协议,或者它们之间是否有任何层次结构?从我所做的广泛阅读中,我似乎能够推断出 LPD 相当古老,而 IPP(14) 是“新来的孩子”,但是这个新协议是否提供了真正的好处?
答案1
感谢@RuiFRibeiro,我在 AskUbuntu 网站上找到了一些资源,其中一个指向过时的 cups.org 常见问题解答,这使我找到了一个我之前错过的链接:https://www.cups.org/doc/network.html。本页列出了最重要的差异:
应用程序套接字协议
AppSocket 协议(有时也称为 JetDirect 协议,因为它起源于 HP JetDirect 网络接口)是用于打印机的最简单、最快且通常最可靠的网络协议。 AppSocket 打印通常发生在端口 9100 上并使用套接字 URI 方案:
socket://ip-address-or-hostname
互联网打印协议 (IPP)
IPP 是 CUPS 本身支持的唯一协议,并且大多数网络打印机和打印服务器都支持。 IPP 打印通常通过端口 631 进行,并使用 http (Windows)、ipp 和 ipps URI 方案:
http://ip-address-or-hostname:port-number/resource
ipp://ip-address-or-hostname:port-number/resource
ipps://ip-address-or-hostname:port-number/resource
行式打印机守护程序 (LPD) 协议
LPD是最初的网络打印协议,许多网络打印机都支持该协议。由于 LPD 协议的限制,如果打印机或服务器支持其他协议之一,我们不建议使用它。 LPD 打印通常发生在端口 515 上并使用 lpd URI 方案:
lpd://ip-address-or-hostname/queue
答案2
IPP 相对于 JetDirect/AppSocket 的主要优点如下:
AppSocket 是一种“即发即忘”协议。 IPP(S) 可以提供有关作业处理当前状态(当前正在打印哪一页)等非常详细的反向通道信息(例如有关过去、已完成或取消的作业的查询)。
AppSocket是一个非常简单的协议,因此在HP推出它之后每个人都可以对其进行逆向工程,尽管它从未成为官方标准;它也非常可靠和强大(它支持所有这些空的“功能”)——这就是为什么它被几乎所有网络打印机广泛使用和支持的原因。
IPP 的标准化是ISTO 打印机工作组 (PWG),这代表了全球几乎所有打印机制造商。 HP 本身甚至非常紧密地拥抱 IPP,其 350 多种最新打印机型号经过自我认证,与新的 IPP 保持一致。IPP 无处不在标准。
使用 IPP(S),您可以在安全方面拥有更好的选择:身份验证/授权、传输数据加密、访问控制等。
使用 IPP,您可以为打印作业选项指定一组名称和值。双面打印是其中之一'边=两侧长边'或者'...=双面短边',而以前,您可以有多达十种或更多的方法来指定双面打印输出(因为每个供应商都可以自由地使用自己的命名方案)。对于许多其他打印参数也是如此。
IPP(S) 允许您查询支持 IPP 的打印机(过去 10 年销售的超过 90% 的设备都可以使用 IPP - 因为空中打印只能因此而工作;其中超过一半也可以直接使用 PDF)关于其具体功能:它可以做颜色吗?它支持哪些纸张尺寸?它可以进行双面打印吗?可以装订、打孔、折叠吗?它支持哪些IPP版本?我可以向其发送哪种页面描述语言(PDL - PostScript、PDF、PCL、JPEG 等)?等等。 ...
随着 IPP 标准的最新发展,恰当地称为“IPP 无处不在”, 最后无人驾驶打印开始工作。 CUPS 可以做到!每当遇到 IPP Everywhere 打印机时,它不再需要管理员准备或预安装的任何驱动程序和/或设备特定 PPD:它知道它可以发送标准页面描述格式之一(JPEG、PWG-光栅、URF-光栅或 PDF(不需要生成专有驱动程序),它可以查询设备的特定功能,并自动创建反映这些功能的 PPD,因此即使不支持 IPP 的应用程序仍然可以打印传统方式(这些“遗留”应用程序尚不支持 IPP,而是用于查找 PPD——例如 LibreOffice 或 Firefox 等应用程序)。
IPP 是未来,而未来已经到来。 (AppSocket 已经成为过去,但还没有完全消失。大多数 IPP 打印机仍然使用 AppSocket...)