索阅 100例 首 页| 资 讯| 下 载| 论 坛| 博 客| Webinar| 高 校| 专 刊| 会展| EETV| 百科| 问答| 电路图| 工程师手册| Datasheet

EEPW首页 > 百科 > UPnP协议

UPnP协议


贡献者:sdjntl    浏览:2883次    创建时间:2009-12-05

UPNP目录[隐藏]
基本概念
UPnP的经典应用
UPnP的实际应用
UPnP的设置
UPnP的安全性
UPnp协议的安全缺陷
UPNP设备


  UPnP
  
  英文名称:Universal Plug and Play
  中文译名:通用即插即用
  
[编辑本段]基本概念
  UPnP 是各种各样的智能设备、无线设备和个人电脑等实现遍布全球的对等网络连接(P2P)的结构。UPnP 的应用范围非常大,以致足够可以实现许多现成的、新的及令人兴奋的方案,包括家庭自动化、打印、图片处理、音频 / 视频娱乐、厨房设备、汽车网络和公共集会场所的类似网络。UPnP 是一种分布式的,开放的网络架构,它可以充分发挥 TCP/IP 和网络技术的功能,不但能对类似网络进行无缝连接,而且还能够控制网络设备及在它们之间传输信息。在 UPnP 架构中没有设备驱动程序,取而代之的是普通协议。UPnP 是独立的媒介。在任何操作系统中,利用任何编程语言都可以使用 UPnP 设备。
  UPnP 并不是周边设备即插即用模型的简单扩展。在设计上,它支持0设置、网络连接过程“不可见”和自动查找众多供应商提供的多如繁星的设备的类型。换言之,一个 UPnP 设备能够自动跟一个网络连接上、并自动获得一个 IP 地址、传送出自己的权能并获悉其它已经连接上的设备及其权能。最后,此设备能自动顺利地切断网络连接,并且不会引起意想不到的问题。
  UPnP 推动了因特网技术的发展,包括 IP、TCP、UDP、HTTP、SSDP 和 XML 等技术。在因特网上契约以有线应用协议为基础,而该协议是说明性的、利用 XML 进行表述和 HTTP 进行传输的。与此相同的是,UPnP 的明确设计目标就是提供这样的环境。再者,当成本、技术或经费等方面的因素阻止了在某种媒介里或接入其中的设备上运用 IP 时,UPnP 能够通过桥接的方式提供非 IP 协议的媒体通道。UPnP 不会为应用程序指定 API,因此供应商们就可以自己创建 API 来满足客户的需求。
  技术支持对UPnP的诠释
  以下是微软官方网站对UPnP的解释:
  问:什么是 UPnP?
  答:通用即插即用 (UPnP) 是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其是在家庭中。UPnP 以 Internet 标准和技术(例如 TCP/IP、HTTP 和 XML)为基础,使这样的设备彼此可自动连接和协同工作,从而使网络(尤其是家庭网络)对更多的人成为可能。
  问:UPnP 对消费者意味着什么?
  答:简单、更多选择和更新颖的体验。包含通用即插即用技术的网络产品只需实际连到网络上,即可开始正常工作。实际上,UPnP 可以和任何网络媒体技术(有线或无线)协同使用。举例来说,这包括:Category 5 以太网电缆、Wi-Fi 或 802.11B 无线网络、IEEE 1394("Firewire")、电话线网络或电源线网络。当这些设备与 PC 互连时,用户即可充分利用各种具有创新性的服务和应用程序。
  以下是BC官方网站对UPnP的解释:
  UPnP(Universal Plug and Play),通用即插即用,是一组协议的统称,不能简单理解为UPnP=“自动端口映射”。在BitComet下载中,UPnP包含了2层意思:
  1、对于一台内网电脑,BitComet的UPnP功能可以使网关或路由器的NAT模块做自动端口映射,将BitComet监听的端口从网关或路由器映射到内网电脑上。
  2、网关或路由器的网络防火墙模块开始对Internet上其他电脑开放这个端口。
[编辑本段]UPnP的经典应用
  网络地址转换
  在数量以百万计而且数目仍然在继续增长的家庭网络出现很久以前,Internet上的寻址系统就已经开发出来了。实际上,在Internet尚处于幼年的时候所开发的这个寻址系统到目前为止仍然能够正常工作真可以说是一个奇迹。
  因为Internet地址资源正在迅速被耗尽,大多数的家庭网络都使用网络地址转换(NAT)技术建立了一个网关。NAT是Internet工程任务组(IETF)制订的一种标准,它允许私有网络中的多台PC或设备共享一个全球唯一的公共地址(所使用私有地址的范围为10.0.x.x、192.168.x.x和172.x.x.x)。作为对IP地址短缺的一种临时补救措施,NAT可以很好地完成很多工作--例如Windows XP的Internet连接共享就使用NAT,就像很多网关设备(例如DSL和线缆调制解调器)所做的一样。
  但问题是:NAT希望所有的网络应用程序都以一种标准方式(即在数据包头中使用IP地址)进行通信,但是有些网络程序预计到NAT的存在。他们使用了NAT无法转换的嵌入式IP地址。
  NAT 穿越技术
  NAT穿越技术允许网络应用程序对它们是否位于一个具有UPnP能力的NAT设备之后进行检测。然后,这些程序将获得共享的全球可路由IP地址,并且配置端口映射以将来自NAT外部端口的数据包转发到应用程序使用的内部端口上--所有这一切都是自动完成的,用户无需手动映射端口或者进行其它工作。NAT穿越技术允许网络设备或者点对点应用程序通过动态开启和闭合与外部服务之间的通信端口穿过NAT网关与外界通信。
[编辑本段]UPnP的实际应用
  网络发展到现在,我们已经实现的有很多,但还有许多目标没有达到。例如在网络上,像平时用遥控器那样,操作家用电器或网络远端的电器设备等等。实现诸如此类的效果,将是有巨大需求的应用技术。如果实现通过网络用UPnP控制家用设备,将给我们的生活带来很大的方便和很多新的体验。所以windows系统也加入了UPnP协议,因为UPnP是一个协议,UPnP的使用可跨越各种操作系统平台,开发应用程序也没有开发语言的局限。可工作于各种形式的网络结构。且仅以现在的网络设施为基础,仅仅加上这个UPnP协议,既不用添加新的设施,也不用重新架设网络介质就可以投入使用!
  仅现在而言,UPnP已经可以实现好多看似科学幻想的操作了,只是这些操作还未普及而已。
  1.在下班之前,或在回去的路上,就可以先打开家里的空调器和厨房设备,等进入家门,立刻就是一个温度宜人的环境――厨房里的饭也做好了。房间温度的高低和厨房内煮饭的过程,都是根据事先设计好的“脚本”程序进行的,绝对可靠。
  2.使用上UPnP,将根据用户习惯调整音响音量、灯光亮度、音箱的高度等等,以你认为最佳的参数写到执行脚本中,以后可以都以此为准。
  3.当用户在公司用上UPnP,只要在家里安装摄像头,建立好与网络的连接。在办公室内,启用桌面电脑的WEBTV,连通网络后,可以即时看到家里的一举一动。
[编辑本段]UPnP的设置
  如何设置UPnP支持
  UPNP的英文全称是Universal Plug and Play,即通用即插即用协议,是为了实现电脑与智能的电器设备对等网络连接的体系结构。而内网地址与网络地址的转换就是基于此协议的,因此只要我们的路由器支持upnp,并且我们使用支持此协议的xp操作系统,那么我们就可以借此提高点对点传输速度。
  进入路由器的设置界面,如果你的路由器支持upnp的话那么在转发规则选项卡下就会看到upnp设置选项(不同路由器可能会有不同),在此选项中,我们选择启用upnp,然后我们重启一下路由器。这样我们就完成了路由器的设置。
  启用UPnP用户界面
  在某些情况下,Windows XP可以发现UPnP设备,并且提供它自己的用户界面控制这些设备。一个很好的例子便是"网络连接"文件夹中UPnP住宅网关设备的用户界面(UI)。市场上流行的Linksys BEFSR41W无线路由器在安装完毕后,会自动显示在"网络连接"文件夹中,因为Windows XP已经内置了一个相关的应用程序。
  除此之外,你可以使用以下步骤安装可选的UI组件。该UI组件会在系统发现新的设备后显示一个"气球"通知,并且在"网上邻居"文件夹中为每个设备防止一个图标。为了启用UPnP UI,请按照以下步骤操作:
  1.点击"开始",点击"控制面板",然后点击"添加或删除程序"。
  2.在"添加或删除程序"对话框中,点击"添加/删除Windows组件"。
  3.在"Windows组件向导"中,点击"网络服务",点击"详细",然后选择"通用即插即用"复选框。
  4.点击"确定",然后点击"Windows组件向导"对话框中的"下一步"。您可能需要提供您的Windows XP安装CD。
  UPnP映射失败的原因
  1.系统服务中禁止了SSDP服务(用于寻找upnp设备)
  2.开启了XP下的SP1的ICF(网络连接防火墙)。(XP的ICF与UPnP设备发现有冲突,SP2修复了这个问题,但是仍然需要在防火墙设置中允许例外:UPnP 框架。)
  3.路由器不支持UPnP,请向制造商询问。
  等等。
[编辑本段]UPnP的安全性
  由于UPnP技术的简单性和坚持开放标准,UPnP技术已经得到了众多设备厂商的采纳。Windows XP率先实现了对UPnP技术的支持,但是,它现在还存在一些安全漏洞,攻击者可以使用这些漏洞减慢您的PC的运行速度,或者,在极少数的情况下,攻击者可以对他在您的系统中的权限进行提升。但是,如果你在Windows XP中安装了防火墙,这些问题都将不成其为问题。实际上,Windows XP自身就附带了一个Internet连接防火墙,默认情况下,该防火墙安装在您的Internet连接上,因此能够保护您免遭Internet攻击者的攻击。UPnP中的这个安全性漏洞已经得到了修补。Microsoft 安全性公告MS01-059对该问题进行了讨论,并且提供了与此有关的更多资源链接,你可以通过这些链接查看知识库文章了解更多信息,或者下载相应的安全补丁。
[编辑本段]UPnp协议的安全缺陷
  第一个缺陷是对缓冲区(Buffer)的使用没有进行检查和限制。外部的攻击者,可以通过这里取得整个系统的控制特权!由于UPnp功能必须使用计算机的端口来进行工作,取得控制权的攻击者,还有可能利用这些端口,达到攻击者的目的。这个缺陷导致的后果很严重,不论那个版本的windows 系统,只要运行UPnP,就都存在这个危险!但严格地说,这并不完全是UPnP技术本身的问题,更多的是程序设计的疏忽。
  第二个缺陷就与UPnP的工作机理有关系了。该缺陷存在于UPnP工作时的“设备发现”阶段。发现设备可以分为两种情况:如果某个具备UPnP功能的计算机引导成功并连接到网络上,就会立刻向网络发出“广播”,向网络上的UPnP设备通知自己已经准备就绪,在程序设计这一级别上看,该广播内容就是一个M-SEARCH(消息)指示。该广播将被“声音所及”范围之内的所有设备所“听到”。并向该计算机反馈自己的有关信息,以备随后进行控制之用。
  相类似,如果某个设备刚刚连接到网络上,也会向网络发出“通知”,表示自己准备就绪,可以接受来自网络的控制,在程序设计这一级别上看,该通知就是一个NOTIFY(消息)指示。也将被“声音所及”范围之内的所有计算机接受。计算机将 “感知”该设备已经向自己“报到”。实际上,NOTIFY(消息)指示也不是单单发送给计算机听的,别的网络设备也可以听到。就是在上述的一播一听之间,出现了问题!
  如果某个黑客向某个用户系统发送一个NOTIFY(消息)指示,该用户系统就会收到这个NOTIFY(消息)指示并在其指示下,连接到一个特定服务器上,接着向相应的服务器请求下载服务―――下载将要执行的服务内容。服务器当然会响应这个请求。UPnP服务系统将解释这个设备的描述部分,请求发送更多的文件,服务器又需要响应这些请求。这样,就构成一个“请求――响应”的循环,大量占用系统资源,造成UPnP系统服务速度变慢甚至停止。所以,这个缺陷将导致“拒绝服务”攻击成为可能!
[编辑本段]UPNP设备
  UPNP是通用即插即用设备的缩写。
  UPnP技术对即插即用进行了扩展,它简化了家庭或企业中智能设备的联网过程。在结合了UPnP技术的设备以物理形式连接到网络中之后,它们可以通过网络自动彼此连接在一起,而且连接过程无需用户的参与和使用中央服务器。
  UPnP规范基于TCP/IP协议和针对设备彼此间通讯而制订的其它Internet协议。这就是它之所以被称作"通用"的原因所在--UPnP技术不依赖于特定的设备驱动程序,而是使用标准的协议。UPnP设备可以自动配置网络地址,宣布它们在某个网络子网的存在,以及互相交换对设备和服务的描述。基于Windows XP的计算机可以充当一个UPnP控制点,通过程序界面对设备进行发现和控制。
  如果与以前的即插即用相比,这种技术似乎并不具有什么革命性的意义。在操作系统中增加即插即用技术使得在单个计算机上安装、配置和添加外设的工作变得更容易了。但是UPnP为家庭用户或者小型办公环境中的非专业用户所带来的是一道更加美味的"大餐",他们可以利用UPnP玩多人游戏,进行实时通信(Internet电话,电话会议)以及使用类似Windows XP的远程协助这样的其它技术。到目前为止,仅有配备了完整IT团队的几个大公司能够轻松做到这些(虽然,我怀疑多人游戏和能够上网冲浪的电冰箱是否会是他们强调的重点)。



如果您认为本词条还有待完善,需要补充新内容或修改错误内容,请编辑词条     查看历史版本

开放分类
协议    通信    

参考资料

贡献者
sdjntl    


本词条在以下词条中被提及:

关于本词条的评论共:(0条)
匿名不能发帖!请先 [ 登陆 ]