UPnP是什么
UPnP是各种各样的智能设备、无线设备和个人电脑等实现遍布全球的对等网络连接(P2P)的结构。UPnP 是一种分布式的,开放的网络架构。UPnP 是独立的媒介。在任何操作系统中,利用任何编程语言都可以使用 UPnP 设备。
中文译名:通用即插即用
UPnP协议统一即插即用英文是Universal Plug and Play,缩写为UPnP。要说计算机外设的即插即用(Plug and Play(缩写PnP)),大家可能很熟悉,但对通用即插即用,多数人会感到是一头雾水。由于windows xp加入对UPnP的支持,并且被查出存在很严重的安全问题,所以,一时间,使得UPnP名声大噪。巧的是,本人原来查阅过关于UPnP的技术白皮书,而且也较为详细地看了关于此次发现的安全缺陷的介绍。因此,趁着这个机会,将UPnP以及引起安全缺陷的详情披露出来。
UPnP 的应用范围非常大,以致足够可以实现许多现成的、新的及令人兴奋的方案,包括家庭自动化、打印、图片处理、音频 / 视频娱乐、厨房设备、汽车网络和公共集会场所的类似网络。它可以充分发挥 TCP/IP 和网络技术的功能,不但能对类似网络进行无缝连接,而且还能够控制网络设备及在它们之间传输信息。在 UPnP 架构中没有设备驱动程序,取而代之的是普通协议。
UPnP 并不是周边设备即插即用模型的简单扩展。在设计上,它支持0设置、网络连接过程“不可见”和自动查找众多供应商提供的多如繁星的设备的类型。换言之,一个 UPnP 设备能够自动跟一个网络连接上、并自动获得一个 IP 地址、传送出自己的权能并获悉其它已经连接上的设备及其权能。最后,此设备能自动顺利地切断网络连接,并且不会引起意想不到的问题。
UPnP 推动了因特网技术的发展,包括 IP、TCP、UDP、HTTP、SSDP和 XML 等技术。在因特网上契约以有线应用协议为基础,而该协议是说明性的、利用 XML 进行表述和 HTTP 进行传输的。与此相同的是,UPnP 的明确设计目标就是提供这样的环境。再者,当成本、技术或经费等方面的因素阻止了在某种媒介里或接入其中的设备上运用 IP 时,UPnP 能够通过桥接的方式提供非 IP 协议的媒体通道。UPnP 不会为应用程序指定 API,因此供应商们就可以自己创建 API 来满足客户的需求。
经典应用
网络地址转换
在数量以百万计而且数目仍然在继续增长的家庭网络出现很久以前,Internet上的寻址系统就已经开发出来了。实际上,在Internet尚处于幼年的时候所开发的这个寻址系统到目前为止仍然能够正常工作真可以说是一个奇迹。
因为Internet地址资源正在迅速被耗尽,大多数的家庭网络都使用网络地址转换(NAT)技术建立了一个网关。NAT是Internet工程任务组(IETF)制订的一种标准,它允许私有网络中的多台PC或设备共享一个全球唯一的公共地址(所使用私有地址的范围为10.0.0.0/8、192.168.0.0/16和172.0.0.0/11)。作为对IP地址短缺的一种临时补救措施,NAT可以很好地完成很多工作--例如Windows XP的Internet连接共享就使用NAT,就像很多网关设备(例如DSL和线缆调制解调器)所做的一样。
但问题是:NAT希望所有的网络应用程序都以一种标准方式(即在数据包头中使用IP地址)进行通信,但是有些网络程序预计到NAT的存在。他们使用了NAT无法转换的嵌入式IP地址。
NAT 穿越技术
NAT穿越技术允许网络应用程序对它们是否位于一个具有UPnP能力的NAT设备之后进行检测。然后,这些程序将获得共享的全球可路由IP地址,并且配置端口映射以将来自NAT外部端口的数据包转发到应用程序使用的内部端口上--所有这一切都是自动完成的,用户无需手动映射端口或者进行其它工作。NAT穿越技术允许网络设备或者点对点应用程序通过动态开启和闭合与外部服务之间的通信端口穿过NAT网关与外界通信。
评论 (0)