📜  通用即插即用 (UPnP)

📅  最后修改于: 2022-05-13 01:57:01.504000             🧑  作者: Mango

通用即插即用 (UPnP)

通用即插即用 (UPnP)是一种网络协议或一组网络协议,它使个人计算机、WiFi、移动设备、打印机等设备能够相互发现并建立连接以共享服务和数据以及娱乐目的。 UPnP 旨在用于住宅网络。UPnP 可以被视为即插即用的扩展,它使用户能够将设备直接连接到计算机,而无需对设备或计算机进行任何手动配置。

UPnP 允许在打印机、个人计算机、移动设备等家用电器之间直接联网。它使用已建立的标准行业协议,如 TCP/IP、XML、简单对象访问协议 (SOAP)、UDP、DHCP(动态主机配置协议)、DNS(域名系统)。 UPnP技术最初是由各厂商发起的UPnP论坛推动的。

在职的:
UPnP 假设设备与 Internet 协议 (IP) 寻址兼容,以便使用基于其构建的协议,如超文本传输协议 (HTTP)、可扩展标记语言 (XML)、传输控制协议 (TCP)、用户数据报协议 (UDP) )。它使用这些协议来通告设备的存在和数据传输。它使用 UDP 上的端口 1900。

  • 寻址:
    1. UPnP 使用 IP 寻址。因此,当它启动时,它充当动态主机配置协议 (DHCP) 客户端,为自己分配 IP 并搜索 DHCP 服务器。
    2. 如果未找到 DHCP 服务器,则设备会使用称为 AutoIP 的过程为自己分配一个 IP,该过程会为其本地网络分配一个唯一的 IP。
    3. 如果在 DHCP 事务期间,设备通过域名服务器 (DNS) 获取域名,则它使用该域名,否则它使用它的 IP。

  • 简单服务发现协议 (SSDP):
    SSDP 是 UPnP 设备用来发现彼此的协议。
    1. 当设备被添加到网络时,它允许设备通过发送 SSDP 活动消息来向网络上的其他设备通告其服务。
    2. SSDP 还允许设备被动地监听来自网络上其他设备的 SSDP 活动消息。
    3. 当两个设备相互发现时,会交换发现消息,其中包含设备类型及其服务等基本信息。

  • 设备说明:
    当设备发现彼此时,为了让设备了解彼此的更多信息,它们会以 XML 格式交换信息。这些消息包含制造商名称、型号名称、制造商网站、设备提供的服务、要传递给设备以获取服务的参数或参数等信息。

  • 服务电话:
    控制点在获取到设备及其服务信息后,可以向厂商提供的URL调用服务,这个调用很像编程函数调用。这是通过称为简单对象访问协议 (SOAP) 的协议完成的,该协议传递 XML 消息。

  • 通用事件通知架构 (GENA):
    GENA 是 UPnP 中用于事件通知的架构。服务使用它来响应服务调用。控制点可以订阅设备的事件通知,每个设备都有一组模型变量,当它们发生变化时,控制点会得到通知。这些消息也以 XML 格式发送。

  • 介绍:
    设备可能包含用于演示的制造商网站 URL,控制点可以使用它来检索信息,也可以由用户用于在 Web 浏览器上自定义设备设置。


UPnP 的优点:

  1. 它可用于 NAT 穿越或防火墙穿孔。
  2. 它允许真正的即插即用兼容性。
  3. 它得到了微软和英特尔等各种大型供应商和公司的支持,这使其成为行业标准。
  4. 它是家庭设备和网络的理想架构。

UPnP的缺点:

  1. 控制点不需要任何身份验证,因此您计算机上的任何程序都可以请求转发 UPnP 端口
  2. UPnP 没有官方实现,因此每个路由器都有自己的实现,许多实现都有错误或为恶意软件提供了开放通道
  3. 您网络上的任何恶意程序都可以使用 UPnP,就像合法程序使用它一样。