upnp是什么?

作者&投稿:主药 (若有异议请与网页底部的电邮联系)
开启UPnP有什么用?~

开启UPnP有实现智能控制的用处。
UPnP是因特网及LAN中使用的以TCP/IP协议为基础的技术。通过无线网络上网的用户都是处于内网,为了保证像BT这样的P2P软件正常工作,开启UPnP是必须的,而目前大多数无线路由器都具有此功能。
例如:当用户在公司用上UPnP,只要在家里安装摄像头,建立好与网络的连接。在办公室内,启用桌面电脑的WEBTV,连通网络后,可以即时看到家里的一举一动。
类似的应用有网络摄像机、硬盘录像机(DVR)、网络硬盘录像机(NVR)等

扩展资料:
大多数无线路由器的UPnP默认为关闭,用户可手动开启该功能,重启路由器后即可生效。
开启UPnP对缓冲区(Buffer)的使用没有进行检查和限制。外部的攻击者,可以通过这里取得整个系统的控制特权!由于UPnP功能必须使用计算机的端口来进行工作,取得控制权的攻击者,还有可能利用这些端口,达到攻击者的目的。
如果某个具备UPnP功能的计算机引导成功并连接到网络上,就会立刻向网络发出“广播”,向网络上的UPnP设备通知自己已经准备就绪,在程序设计这一级别上看,该广播内容就是一个M-SEARCH(消息)指示。
参考资料:百度百科-UPNP

6月9日 19:32 认识UPnP

问:我刚上宽带网,我听说如果运用好“UPNP”协议可以提高上网速度,请问“UPNP”协议是什么含义?具体如何应用?

答:UPNP的全称是Universal Plug and Play。UPnP规范基于TCP/IP协议和针对设备彼此间通讯而制订的新的Internet协议。事实上,UPNP的制定正是希望未来所有联入Internet中的设备能够不受网关阻碍的相互通信。比如用MSN Messager传输文件将更加快捷方便了
,那到底如何如何利用UPNP呢?

首先我们需要进入路由器的Web控制界面中打开路由器的UPNP功能。在浏览器中输入路由器的地址,进入路由器的管理页面之后,找到UPNP功能,并将其设置为Enable。

然后我们便可以进入Windows XP的设置。在Windows XP中,UPNP支持模块并不是默认安装的,因此我们需要按照以下步骤对其进行手动安装:

在“添加或删除程序”对话框中,点击“添加/删除Windows组件”。在“Windows组件向导”中,点击“网络服务”,点击“详细”,然后选择“通用即插即用”复选框。重新启动之后,Windows XP提示找到新硬件,进入网上邻居后你会发现路由器,说明UNNP功能就打开了。现今市场上几乎所有的宽带路由器都提供UPNP功能的支持,通过我们的合理配置,可以让我们在点对点文件传输等方面获得更好的体验和更快的速度。
统一即插即用英文是Universal Plug and Play,缩写为UPnP。要说计算机外设的即插即用(Plug and Play(缩写PnP)),大家可能很熟悉,但对统一即插即用,多数人会感到是一头雾水。由于windows xp加入对UPnP的支持,并且被查出存在很严重的安全问题,所以,一时间,使得UPnP名声大噪。巧的是,本人原来查阅过关于UPnP的技术白皮书,而且也较为详细地看了关于此次发现的安全缺陷的介绍。因此,趁着这个机会,将UPnP以及引起安全缺陷的详情披露出来。

一、 UPnP是用来干什么的?

网络发展到现在,已经可以使我们在网上冲浪、收发邮件、听到远方传送来的声音、搜索感兴趣的内容、下载软件、点播节目、即时聊天等等、等等……实现的功能好像已经不少,但,人的欲望无止境,享福人还想更享福,还有许多目标没有达到:例如,怎样才能使我们在网络上,像平时用遥控器那样,操作空调器、电风扇、厨房电器,或网络远端的电器设备呢?如何利用网络上的计算机资源,使这种“遥控”更具智能化?甚至,将一系列相关的控制写到一个脚本中,以便用户定制自己所喜爱的控制流程?……等等。实现诸如此类的效果,将是有巨大需求的应用技术。如果实现通过网络用UPnP控制家用设备,将给我们的生活带来很大的方便和很多新的体验。例如:

1.你在下班之前,或在回去的路上,就可以先打开家里的空调器和厨房设备,等进入家门,立刻就是一个温度宜人的环境――厨房里的饭也做好了。房间温度的高低和厨房内煮饭的过程,都是根据事先设计好的“脚本”程序进行的,绝对可靠。
2.你若是一位上档次的音乐发烧者,肯定对聆听音乐的环境要求很严:音箱位置高低、音量大小、灯光明暗、窗帘拉不拉上都有讲究。手动控制随好,毕竟不方便。你要使用上UPnP,一切都会为你代劳。还能将你习惯的音响音量、灯光亮度、音箱的高度等等,以你认为最佳的参数写到执行脚本中,以后可以都以此为准。如果你拥有自己的专门听音室,只要你打开听音室的门,上述的环境就会立刻设置好。曲终人散,只管放心离开好了,UPnP系统会自己关闭音响,熄灭电灯,拉上窗帘。
3.你人在办公室,心里却放不下家里的孩子。用上UPnP,只要在家里安装摄像头,建立好与网络的连接。在办公室内,启用桌面电脑的WEBTV,连通网络后,可以即时监视孩子在家里的一举一动。

凡此种种的方便和诱人之处还很多,不胜枚举。

其实,这已经不是科学幻想、也不是专家预言。目前用UPnP协议就可以实现这些操作!这正是windows xp系统急于加入UPnP的原因。正因为UPnP是一个协议,UPnP的使用可跨越各种操作系统平台,开发应用程序也没有开发语言的局限。可工作于各种形式的网络结构。且仅以现在的网络设施为基础,仅仅加上这个UPnP协议,既不用添加新的设施,也不用重新架设网络介质就可以投入使用!

UPnP协议具有下述特色:

1. 以网络为应用环境,不考虑“孤岛”中的计算机。
2. 以TCP/IP和整个Internet为基础。这样是“中立”的,不依附于任何操作系统或应用程序,不使用特定的API函数,不受程序设计语言的局限。可以无缝地接入传统网络。
3. 设备可以动态地进入网络中,随后获得IP地址,“学习” 或查找自己应当进行的操作和服务的信息;“感知”别的设备是否存在以及它们的作用和当前的状态 。所有这些,都应当是可自动完成的。
4. 每个设备都可读取属于自己的、特定的状态和参数;完成控制操作后应当发出“操作完成”的响应信号。如果失败,则应发出控制失败的信号。

二、UPnP协议的层:

UPnP协议的最终目的,是建立一个可用的设备模型, 因篇幅这里不对整个结构进行详细的分析,但你应当记住下面的主要特征:

1. UPnP是一个多层协议构成的框架体系,每一层都以相邻的下层为基础,同时又是相邻上层的基础。直至达到应用层为止。该图中的最下面是就是IP和TCP,共两层,负责设备的IP地址。
2. 三层是HTTP、HTTPU、HTTPMU,这一层,大家应当是熟悉的,属于传送协议层。传送的是内容都经过“封装”后,存放在特定的XML文件中的。对应的SSDP、GENA、SOAP指的是保存在XML文件中的数据格式。到这一层,已经解决了UPnP设备的IP地址和传送信息问题。
3. 第四层是UPnP设备体系定义,仅仅是一个抽象的、公用的设备模型。任何UPnP设备都必须使用这一层。
4. 第五层是UPnP论坛的各个专业委员会的设备定义层,在这个论坛中,不同电器设备由不同的专业委员会定义,例如:电视委员会只负责定义网络电视设备部分,空调器委员会只负责定义网络空调设备部分……,依此类推。所有的不同类型的设备都被定义成一个专门的架构或者模板,供建立设备的时候使用。可以推知,进入这一层,设备已经被指定了明确用途。当然,这些都必须遵守标准化的规范。从目前看,UPnP已经可以支持大部分的设备:从电脑、电脑外设,移动设备和家用消费类电子设备等等,无所不包,随着这个体系的普及,将可能有更多的厂家承认这一标准,最终,可能演化为公认的行业标准。
5. 最上层,也就是应用层,由UPnP设备制造厂商定义的部分。这一层的信息是由设备制造厂商来“填充” 的,这部分一般有设备厂商提供的、对设备控制和操作的底层代码,然后,就是名称序列号呀,厂商信息之类的东西。

三、协议内部的详细情况

仅仅有这样五层UPnP协议,也只不过有了一个共同遵守的框架,实际的UPnP系统究竟是如何构成的呢?

完整的UPnP服务系统由支持UPnP的网络和符合UPnP规范的设备共同构成的。

整个系统是由设备、服务、和控制指针三部分所构成。

设备:
这里是指符合UPnP规范的设备。一个UPnP设备可以看成一个包含服务并嵌套了常规设备的“容器” 。例如,一个UPnP的VCR(录像机)设备可以包含磁带传送服务、调谐服务和时钟服务。就是说,UPnP之下的设备不能仅仅理解为硬件意义上的设备,而应当包括服务功能。

不同种类的UPnP设备将关联不同的设置、服务和嵌入设备。如打印机和VCR属于不同用途的设备,服务就不可能定义成一样的。

服务:
设备执行用户请求的控制过程,可划分成一个个很小的阶段或单位,每个单位就称为一个服务。每一个服务,对外都表现为具体的行为和模式,而行为和模式又可以用状态和变量值进行描述。只要可以用数值描述,在计算机里面就容易处理了。例如,模仿一个时钟,它只有一个工作模式:这个模式就是模拟并显示当前的时间。而一个时钟的行为共有两种(也只有两种):

1. 设置时间(用来“即平时说的对表”).
2. 得到时间(用于显示时间)。

其它设备服务,也是用这样思路来描述和定义的,一个设备也可以被定义多个服务。不论是设备的定义信息和服务的描述信息,都保存在一个XML文件中,这个文件也是UPnP协议构成的一部分。当设备建立和使用服务的时候,XML文件可以与它们进行关联。

XML文件中还有一个很关键的“状态表”,状态表可进一步分为“服务状态表”和“事件状态表”。整个UPnP设备运行的全过程内,状态表贯穿始终,当设备状态改变的时候,例如发生参数变化或状态刷新的时候,立即就在“状态表”中反映出来。如控制服务器在接收到设置时间的行为请求时,就立即执行请求(对时操作),并给出响应,同时更新状态表中的有关数据。相应地,事件服务器负责向对此事件感兴趣的设备公布所发生的状态改变。例如,一个火灾事件发生后,事件服务器就向火灾报警器发布这个事件,导致报警器动作产生报警信号。控制指针:
在UPnP网络中,用户请求设备执行的控制是通过控制指针实现的,控制指针首先是一个有能力控制别的设备的控制者,还要具有在网络中 “发现”控制目标的能力。在发现(控制目标)之后,控制指针应当:

①取得设备的描述信息并得到所关联的服务列表。
②取得相关服务的描述。
③调用控制服务行为。
④确定服务的事件 “源”,不论何时,只要服务状态发生改变,事件服务器会立即向控制指针发送一个事件信息。

从上面说到的各种信息,都保存在XML文件中,不同用途的信息,格式不同。保证可以各取所需,不会混淆。

那么,UPnP的完整工作过程是怎样的呢?

UPnP在控制指针和被控制设备之间提供通讯功能。而网络介质、TCP/IP协议、HTTP仅提供基本的连接和IP地址分配。整个工作过程需要处理六个方面的内容,即地址分配、发现设备、对设备的描述、设备控制、设备事件、设备表达。

地址问题:
地址是整个UPnP系统工作的基础条件,每个设备都应当是DHCP(Dynamic Host Configuration Protocol 动态主机配置协议)的客户。当设备首次与网络建立连接后,利用DHCP服务,使设备得到一个IP地址。这个IP地址可以是DHCP系统指定的,也可以是由设备选择的,当然,有能力自己选择IP地址的设备,必然是那些“聪明”的设备才行!这也就是所谓的“自动”IP地址。

如果遇到本地DHCP管理范围之外的IP地址请求,还需要解决“友好设备”

的地址分配问题,这个问题通常由域名服务器来解决。

发现设备:
可分成两种情况,一种是在有控制请求之后,在当前的网络中查找有无对应的可用设备;另一种情况是某一设备接入网络、取得IP地址之后,就开始向网络“广播”自己已经进入网络,即寻找控制请求。

设备的描述:
简单说,这是声明“自己”是什么样的设备,例如名称、制造厂商、序列号码等等。刚开始“发现”设备后,控制指针对这个设备的“了解”还很少,需要依据ULR找到该设备的描述文件,从这些文件中读取更多的描述信息。描述信息的范围很广,一般都是由设备的制造厂商提供的。主要的描述项目有:控制的模式名称和模式号码、设备序列号、制造厂商名称、厂商的WEB的ULR……等等。这些一般都存放在特定的XML文件中;设备控制:
控制指针找到设备描述之后,会从描述中“提炼”出要进行的操作并获悉所有的服务;对每个UPnP设备来说,这些描述必须是很确切、很详细的,描述中可能包含有命令或行为列表、服务响应信息、用到的参数等等。对于服务的每个行为,也伴有描述信息:主要是整个服务进行期间的变量、变量的数据类型、可用的取值范围和事件的特征。

要控制某个设备,控制指针必须先发送一个控制行为请求,要求设备开始服务,然后再按设备的ULR发送相应的控制消息,控制消息就是放置在XML文件中的那些SOAP格式的信息。最后,服务会返回响应信息,指出服务是成功或是失败。

设备事件:
在服务进行的整个时间内,只要变量值发生了变化或者模式的状态发生了改变,就产生了一个事件,系统将修改上述提到的事件列表的内容。随之,事件服务器把事件向整个网络进行广播。另一方面,控制指针也可以事先向事件服务器预约事件信息,保证将该控制指针感兴趣的事件及时准确地传送过来。

广播或预约事件,传送的都是事件消息,事件消息也放在XML文件中,使用的格式是GENA。

设备投入工作之前的准备―――初始化过程,也是一个事件,初始化需要的各种信息也是用事件消息传送的。包括的内容主要是:变量初始值,模式的初始状态等等。

设备表达:
只要得到了设备的ULR,就可以取得该设备表达页面的ULR,然后可以将此表达纳入用户的本地浏览器上。这部分还包括与用户对话的界面,以及与用户进行会话的处理。

整个UPnP系统,是在“中枢神经”的指挥下协同工作的。其大致情形如下:

凡是具备IP地址的的设备都必须直接使用网络的IP地址,但有些设备可能并不具备直接使用网络IP地址的能力,例如,电灯开关的控制就是这样,这是非IP设备;非IP设备通过网桥(UPnP Bridge)来与控制指针交换信息。

直接使用IP地址的有:控制指针(可在口袋电脑和远程设备上发出控制)、本地设备,例如VCR和时钟;以及网桥。非IP设备有所谓轻设备(如温度控制器)和非UPnP的设备(如电灯控制开关等)。上述介绍属于硬件方面,下面再说作为控制灵魂的软件:

在上面的叙述中,多次提到用XML文件存放需要的信息,因为无论是控制指针或设备服务,都需要很多信息,有读出的,有传出的,UPnP协议约定这些都存放在特定的文件XML中。用途不同的信息,在XML文件中的格式不同。所以,相关的XML文件是控制服务的灵魂。

四、关于UPnP隐藏的安全缺缺陷:

这次发现的安全缺陷共有两个,其中第一个缺陷是对缓冲区(Buffer)的使用没有进行检查和限制。外部的攻击者,可以通过这里取得整个系统的控制特权!由于UPnp功能必须使用计算机的端口来进行工作,取得控制权的攻击者,还有可能利用这些端口,达到攻击者的目的。这个缺陷导致的后果很严重,不论那个版本的windows 系统,只要运行UPnP,就都存在这个危险!但严格地说,这并不完全是UPnP技术本身的问题,更多的是程序设计的疏忽。

第二个缺陷就与UPnP的工作机理有关系了!

该缺陷存在于UPnP工作时的“设备发现”阶段。发现设备可以分为两种情况:如果某个具备UPnP功能的计算机引导成功并连接到网络上,就会立刻向网络发出“广播”,向网络上的UPnP设备通知自己已经准备就绪,在程序设计这一级别上看,该广播内容就是一个M-SEARCH(消息)指示。该广播将被“声音所及”范围之内的所有设备所“听到”。并向该计算机反馈自己的有关信息,以备随后进行控制之用。

相类似,如果某个设备刚刚连接到网络上,也会向网络发出“通知”,表示自己准备就绪,可以接受来自网络的控制,在程序设计这一级别上看,该通知就是一个NOTIFY(消息)指示。也将被“声音所及”范围之内的所有计算机接受。计算机将 “感知”该设备已经向自己“报到”。实际上,NOTIFY(消息)指示也不是单单发送给计算机听的,别的网络设备也可以听到。

就是在上述的一播一听之间,出现了问题!

如果某个黑客向某个用户系统发送一个NOTIFY(消息)指示,该用户系统就会收到这个NOTIFY(消息)指示并在其指示下,连接到一个特定服务器上,接着向相应的服务器请求下载服务―――下载将要执行的服务内容。服务器当然会响应这个请求。UPnP服务系统将解释这个设备的描述部分,请求发送更多的文件,服务器又需要响应这些请求。这样,就构成一个“请求――响应”的循环,大量占用系统资源,造成UPnP系统服务速度变慢甚至停止。所以,这个缺陷将导致“拒绝服务”攻击称为可能!

结束语

UpnP正在向我们一步步走近,现在已经是足声可闻了。不久的将来,必然对我们的工作和生活产生巨大影响。也蕴含着无限商机。尽管现在存在问题,也难保以后就不会再出现新的问题,但这既然体现了人的需求意向,就会有巨大的生命力,暂时的挫折不会使得它停下前进的脚步!

认识UPnP
miaomiaoxinyun 发表于 2006-1-7 9:39:00

问:我刚上宽带网,我听说如果运用好“UPNP”协议可以提高上网速度,请问“UPNP”协议是什么含义?具体如何应用?

答:UPNP的全称是Universal Plug and Play。UPnP规范基于TCP/IP协议和针对设备彼此间通讯而制订的新的Internet协议。事实上,UPNP的制定正是希望未来所有联入Internet中的设备能够不受网关阻碍的相互通信。比如用MSN Messager传输文件将更加快捷方便了
,那到底如何如何利用UPNP呢?

首先我们需要进入路由器的Web控制界面中打开路由器的UPNP功能。在浏览器中输入路由器的地址,进入路由器的管理页面之后,找到UPNP功能,并将其设置为Enable。

然后我们便可以进入Windows XP的设置。在Windows XP中,UPNP支持模块并不是默认安装的,因此我们需要按照以下步骤对其进行手动安装:

在“添加或删除程序”对话框中,点击“添加/删除Windows组件”。在“Windows组件向导”中,点击“网络服务”,点击“详细”,然后选择“通用即插即用”复选框。重新启动之后,Windows XP提示找到新硬件,进入网上邻居后你会发现路由器,说明UNNP功能就打开了。现今市场上几乎所有的宽带路由器都提供UPNP功能的支持,通过我们的合理配置,可以让我们在点对点文件传输等方面获得更好的体验和更快的速度。(GSF)
统一即插即用英文是Universal Plug and Play,缩写为UPnP。要说计算机外设的即插即用(Plug and Play(缩写PnP)),大家可能很熟悉,但对统一即插即用,多数人会感到是一头雾水。由于windows xp加入对UPnP的支持,并且被查出存在很严重的安全问题,所以,一时间,使得UPnP名声大噪。巧的是,本人原来查阅过关于UPnP的技术白皮书,而且也较为详细地看了关于此次发现的安全缺陷的介绍。因此,趁着这个机会,将UPnP以及引起安全缺陷的详情披露出来。

一、 UPnP是用来干什么的?

网络发展到现在,已经可以使我们在网上冲浪、收发邮件、听到远方传送来的声音、搜索感兴趣的内容、下载软件、点播节目、即时聊天等等、等等……实现的功能好像已经不少,但,人的欲望无止境,享福人还想更享福,还有许多目标没有达到:例如,怎样才能使我们在网络上,像平时用遥控器那样,操作空调器、电风扇、厨房电器,或网络远端的电器设备呢?如何利用网络上的计算机资源,使这种“遥控”更具智能化?甚至,将一系列相关的控制写到一个脚本中,以便用户定制自己所喜爱的控制流程?……等等。实现诸如此类的效果,将是有巨大需求的应用技术。如果实现通过网络用UPnP控制家用设备,将给我们的生活带来很大的方便和很多新的体验。例如:

1.你在下班之前,或在回去的路上,就可以先打开家里的空调器和厨房设备,等进入家门,立刻就是一个温度宜人的环境――厨房里的饭也做好了。房间温度的高低和厨房内煮饭的过程,都是根据事先设计好的“脚本”程序进行的,绝对可靠。
2.你若是一位上档次的音乐发烧者,肯定对聆听音乐的环境要求很严:音箱位置高低、音量大小、灯光明暗、窗帘拉不拉上都有讲究。手动控制随好,毕竟不方便。你要使用上UPnP,一切都会为你代劳。还能将你习惯的音响音量、灯光亮度、音箱的高度等等,以你认为最佳的参数写到执行脚本中,以后可以都以此为准。如果你拥有自己的专门听音室,只要你打开听音室的门,上述的环境就会立刻设置好。曲终人散,只管放心离开好了,UPnP系统会自己关闭音响,熄灭电灯,拉上窗帘。
3.你人在办公室,心里却放不下家里的孩子。用上UPnP,只要在家里安装摄像头,建立好与网络的连接。在办公室内,启用桌面电脑的WEBTV,连通网络后,可以即时监视孩子在家里的一举一动。

凡此种种的方便和诱人之处还很多,不胜枚举。

其实,这已经不是科学幻想、也不是专家预言。目前用UPnP协议就可以实现这些操作!这正是windows xp系统急于加入UPnP的原因。正因为UPnP是一个协议,UPnP的使用可跨越各种操作系统平台,开发应用程序也没有开发语言的局限。可工作于各种形式的网络结构。且仅以现在的网络设施为基础,仅仅加上这个UPnP协议,既不用添加新的设施,也不用重新架设网络介质就可以投入使用!

UPnP协议具有下述特色:

1. 以网络为应用环境,不考虑“孤岛”中的计算机。
2. 以TCP/IP和整个Internet为基础。这样是“中立”的,不依附于任何操作系统或应用程序,不使用特定的API函数,不受程序设计语言的局限。可以无缝地接入传统网络。
3. 设备可以动态地进入网络中,随后获得IP地址,“学习” 或查找自己应当进行的操作和服务的信息;“感知”别的设备是否存在以及它们的作用和当前的状态 。所有这些,都应当是可自动完成的。
4. 每个设备都可读取属于自己的、特定的状态和参数;完成控制操作后应当发出“操作完成”的响应信号。如果失败,则应发出控制失败的信号。

二、UPnP协议的层:

UPnP协议的最终目的,是建立一个可用的设备模型, 因篇幅这里不对整个结构进行详细的分析,但你应当记住下面的主要特征:

1. UPnP是一个多层协议构成的框架体系,每一层都以相邻的下层为基础,同时又是相邻上层的基础。直至达到应用层为止。该图中的最下面是就是IP和TCP,共两层,负责设备的IP地址。
2. 三层是HTTP、HTTPU、HTTPMU,这一层,大家应当是熟悉的,属于传送协议层。传送的是内容都经过“封装”后,存放在特定的XML文件中的。对应的SSDP、GENA、SOAP指的是保存在XML文件中的数据格式。到这一层,已经解决了UPnP设备的IP地址和传送信息问题。
3. 第四层是UPnP设备体系定义,仅仅是一个抽象的、公用的设备模型。任何UPnP设备都必须使用这一层。
4. 第五层是UPnP论坛的各个专业委员会的设备定义层,在这个论坛中,不同电器设备由不同的专业委员会定义,例如:电视委员会只负责定义网络电视设备部分,空调器委员会只负责定义网络空调设备部分……,依此类推。所有的不同类型的设备都被定义成一个专门的架构或者模板,供建立设备的时候使用。可以推知,进入这一层,设备已经被指定了明确用途。当然,这些都必须遵守标准化的规范。从目前看,UPnP已经可以支持大部分的设备:从电脑、电脑外设,移动设备和家用消费类电子设备等等,无所不包,随着这个体系的普及,将可能有更多的厂家承认这一标准,最终,可能演化为公认的行业标准。
5. 最上层,也就是应用层,由UPnP设备制造厂商定义的部分。这一层的信息是由设备制造厂商来“填充” 的,这部分一般有设备厂商提供的、对设备控制和操作的底层代码,然后,就是名称序列号呀,厂商信息之类的东西。
三、协议内部的详细情况

仅仅有这样五层UPnP协议,也只不过有了一个共同遵守的框架,实际的UPnP系统究竟是如何构成的呢?

完整的UPnP服务系统由支持UPnP的网络和符合UPnP规范的设备共同构成的。

整个系统是由设备、服务、和控制指针三部分所构成。

设备:
这里是指符合UPnP规范的设备。一个UPnP设备可以看成一个包含服务并嵌套了常规设备的“容器” 。例如,一个UPnP的VCR(录像机)设备可以包含磁带传送服务、调谐服务和时钟服务。就是说,UPnP之下的设备不能仅仅理解为硬件意义上的设备,而应当包括服务功能。

不同种类的UPnP设备将关联不同的设置、服务和嵌入设备。如打印机和VCR属于不同用途的设备,服务就不可能定义成一样的。

服务:
设备执行用户请求的控制过程,可划分成一个个很小的阶段或单位,每个单位就称为一个服务。每一个服务,对外都表现为具体的行为和模式,而行为和模式又可以用状态和变量值进行描述。只要可以用数值描述,在计算机里面就容易处理了。例如,模仿一个时钟,它只有一个工作模式:这个模式就是模拟并显示当前的时间。而一个时钟的行为共有两种(也只有两种):

1. 设置时间(用来“即平时说的对表”).
2. 得到时间(用于显示时间)。

其它设备服务,也是用这样思路来描述和定义的,一个设备也可以被定义多个服务。不论是设备的定义信息和服务的描述信息,都保存在一个XML文件中,这个文件也是UPnP协议构成的一部分。当设备建立和使用服务的时候,XML文件可以与它们进行关联。

XML文件中还有一个很关键的“状态表”,状态表可进一步分为“服务状态表”和“事件状态表”。整个UPnP设备运行的全过程内,状态表贯穿始终,当设备状态改变的时候,例如发生参数变化或状态刷新的时候,立即就在“状态表”中反映出来。如控制服务器在接收到设置时间的行为请求时,就立即执行请求(对时操作),并给出响应,同时更新状态表中的有关数据。相应地,事件服务器负责向对此事件感兴趣的设备公布所发生的状态改变。例如,一个火灾事件发生后,事件服务器就向火灾报警器发布这个事件,导致报警器动作产生报警信号。
控制指针:
在UPnP网络中,用户请求设备执行的控制是通过控制指针实现的,控制指针首先是一个有能力控制别的设备的控制者,还要具有在网络中 “发现”控制目标的能力。在发现(控制目标)之后,控制指针应当:

①取得设备的描述信息并得到所关联的服务列表。
②取得相关服务的描述。
③调用控制服务行为。
④确定服务的事件 “源”,不论何时,只要服务状态发生改变,事件服务器会立即向控制指针发送一个事件信息。

从上面说到的各种信息,都保存在XML文件中,不同用途的信息,格式不同。保证可以各取所需,不会混淆。

那么,UPnP的完整工作过程是怎样的呢?

UPnP在控制指针和被控制设备之间提供通讯功能。而网络介质、TCP/IP协议、HTTP仅提供基本的连接和IP地址分配。整个工作过程需要处理六个方面的内容,即地址分配、发现设备、对设备的描述、设备控制、设备事件、设备表达。

地址问题:
地址是整个UPnP系统工作的基础条件,每个设备都应当是DHCP(Dynamic Host Configuration Protocol 动态主机配置协议)的客户。当设备首次与网络建立连接后,利用DHCP服务,使设备得到一个IP地址。这个IP地址可以是DHCP系统指定的,也可以是由设备选择的,当然,有能力自己选择IP地址的设备,必然是那些“聪明”的设备才行!这也就是所谓的“自动”IP地址。

如果遇到本地DHCP管理范围之外的IP地址请求,还需要解决“友好设备”

的地址分配问题,这个问题通常由域名服务器来解决。

发现设备:
可分成两种情况,一种是在有控制请求之后,在当前的网络中查找有无对应的可用设备;另一种情况是某一设备接入网络、取得IP地址之后,就开始向网络“广播”自己已经进入网络,即寻找控制请求。

设备的描述:
简单说,这是声明“自己”是什么样的设备,例如名称、制造厂商、序列号码等等。刚开始“发现”设备后,控制指针对这个设备的“了解”还很少,需要依据ULR找到该设备的描述文件,从这些文件中读取更多的描述信息。描述信息的范围很广,一般都是由设备的制造厂商提供的。主要的描述项目有:控制的模式名称和模式号码、设备序列号、制造厂商名称、厂商的WEB的ULR……等等。这些一般都存放在特定的XML文件中;
设备控制:
控制指针找到设备描述之后,会从描述中“提炼”出要进行的操作并获悉所有的服务;对每个UPnP设备来说,这些描述必须是很确切、很详细的,描述中可能包含有命令或行为列表、服务响应信息、用到的参数等等。对于服务的每个行为,也伴有描述信息:主要是整个服务进行期间的变量、变量的数据类型、可用的取值范围和事件的特征。

要控制某个设备,控制指针必须先发送一个控制行为请求,要求设备开始服务,然后再按设备的ULR发送相应的控制消息,控制消息就是放置在XML文件中的那些SOAP格式的信息。最后,服务会返回响应信息,指出服务是成功或是失败。

设备事件:
在服务进行的整个时间内,只要变量值发生了变化或者模式的状态发生了改变,就产生了一个事件,系统将修改上述提到的事件列表的内容。随之,事件服务器把事件向整个网络进行广播。另一方面,控制指针也可以事先向事件服务器预约事件信息,保证将该控制指针感兴趣的事件及时准确地传送过来。

广播或预约事件,传送的都是事件消息,事件消息也放在XML文件中,使用的格式是GENA。

设备投入工作之前的准备―――初始化过程,也是一个事件,初始化需要的各种信息也是用事件消息传送的。包括的内容主要是:变量初始值,模式的初始状态等等。

设备表达:
只要得到了设备的ULR,就可以取得该设备表达页面的ULR,然后可以将此表达纳入用户的本地浏览器上。这部分还包括与用户对话的界面,以及与用户进行会话的处理。

整个UPnP系统,是在“中枢神经”的指挥下协同工作的。其大致情形如下:

凡是具备IP地址的的设备都必须直接使用网络的IP地址,但有些设备可能并不具备直接使用网络IP地址的能力,例如,电灯开关的控制就是这样,这是非IP设备;非IP设备通过网桥(UPnP Bridge)来与控制指针交换信息。

直接使用IP地址的有:控制指针(可在口袋电脑和远程设备上发出控制)、本地设备,例如VCR和时钟;以及网桥。非IP设备有所谓轻设备(如温度控制器)和非UPnP的设备(如电灯控制开关等)。
上述介绍属于硬件方面,下面再说作为控制灵魂的软件:在上面的叙述中,多次提到用XML文件存放需要的信息,因为无论是控制指针或设备服务,都需要很多信息,有读出的,有传出的,UPnP协议约定这些都存放在特定的文件XML中。用途不同的信息,在XML文件中的格式不同。所以,相关的XML文件是控制服务的灵魂。

四、关于UPnP隐藏的安全缺缺陷:

这次发现的安全缺陷共有两个,其中第一个缺陷是对缓冲区(Buffer)的使用没有进行检查和限制。外部的攻击者,可以通过这里取得整个系统的控制特权!由于UPnp功能必须使用计算机的端口来进行工作,取得控制权的攻击者,还有可能利用这些端口,达到攻击者的目的。这个缺陷导致的后果很严重,不论那个版本的windows 系统,只要运行UPnP,就都存在这个危险!但严格地说,这并不完全是UPnP技术本身的问题,更多的是程序设计的疏忽。

第二个缺陷就与UPnP的工作机理有关系了!

该缺陷存在于UPnP工作时的“设备发现”阶段。发现设备可以分为两种情况:如果某个具备UPnP功能的计算机引导成功并连接到网络上,就会立刻向网络发出“广播”,向网络上的UPnP设备通知自己已经准备就绪,在程序设计这一级别上看,该广播内容就是一个M-SEARCH(消息)指示。该广播将被“声音所及”范围之内的所有设备所“听到”。并向该计算机反馈自己的有关信息,以备随后进行控制之用。

相类似,如果某个设备刚刚连接到网络上,也会向网络发出“通知”,表示自己准备就绪,可以接受来自网络的控制,在程序设计这一级别上看,该通知就是一个NOTIFY(消息)指示。也将被“声音所及”范围之内的所有计算机接受。计算机将 “感知”该设备已经向自己“报到”。实际上,NOTIFY(消息)指示也不是单单发送给计算机听的,别的网络设备也可以听到。

就是在上述的一播一听之间,出现了问题!

如果某个黑客向某个用户系统发送一个NOTIFY(消息)指示,该用户系统就会收到这个NOTIFY(消息)指示并在其指示下,连接到一个特定服务器上,接着向相应的服务器请求下载服务―――下载将要执行的服务内容。服务器当然会响应这个请求。UPnP服务系统将解释这个设备的描述部分,请求发送更多的文件,服务器又需要响应这些请求。这样,就构成一个“请求――响应”的循环,大量占用系统资源,造成UPnP系统服务速度变慢甚至停止。所以,这个缺陷将导致“拒绝服务”攻击称为可能!

结束语

UpnP正在向我们一步步走近,现在已经是足声可闻了。不久的将来,必然对我们的工作和生活产生巨大影响。也蕴含着无限商机。尽管现在存在问题,也难保以后就不会再出现新的问题,但这既然体现了人的需求意向,就会有巨大的生命力,暂时的挫折不会使得它停下前进的脚步!

传送协议:
主要用HTTP 、HTTPU和HTTPMU:

HTTP:
这是大名鼎鼎的东西,不用多说,但就UPnP系统来说,HTTP及其派生协议都属于核心部分。

HTTPU和HTTPMU:
这些都是从HTTP协议中派生定义出来的。主要用于传送SSDP格式的设备消息。

SSDP:
是一个“简单服务发现协议” ,即英文“Simple Service Discovery Protocol的缩写” , 该协议定义了如何在网络上发现网络服务的方法。SSDP也规定了存放在XML文件中的信息格式。SSDP信息的传送是依靠HTTPU和HTTPMU进行的。不论是控制指针,或是UPnP设备,工作中都必然用到SSDP,设备接入网络之后,要利用它向网络广播自己的存在(广播的信息中还有设备位置的描述),以便尽快与对应的控制指针建立联系;控制指针则利用SSDP来搜索自己将要控制的设备在哪里?并且可以排除已经存在的设备和控制指针――只为新近的或尚未“联络”上的双方服务。

控制指针利用SSDP的方式是经由HTTPU发出搜索请求,这种请求可以很详细,能具体到需要什么样的设备以及何种服务。例如:请求对特定的VCR机进行设置时钟的服务。

设备利用SSDP的方式是“收听”来自网络端口的消息,从中发现与自己匹配的信息,一旦找到与自己匹配的信息,经由HTTPMU来发送一个响应信息到控制指针。

GENA:
这是事件消息采用格式,是所谓“普通时间通知体系Generic Event Notification Architecture”的缩写。关于事件消息,在上面已经有介绍。

SOAP:
即简单对象访问协议,实际就是通过该协议传递控制消息并返回设备对消息的响应结果。它利用XML和HTTP进行远程调用。使用防火墙或别的网络安全措施不会影响SOAP的使用。

每个UPnP控制请求都可作为一个SOAP控制消息,控制消息中还包含有控制行为描述和所用到的参数。

晕死,楼上的至于的嘛?
1.UPnP是通用即插即用(Universal Plug and Play)的英文缩写,简单的说就是可以让处在不同的两个内网用户直接相连,日常最主要的应用就是p2p技术中(BT,电骡等)。
2.不知道楼主说的打开upnp功能是说在路由器端打开还是在电脑端打开,目前的路由器都支持upnp功能,且默认都是打开的,所以楼主不用担心路由器这边的问题了,在pc端打开的方法请楼主参照我另外一个回答:http://zhidao.baidu.com/question/22737102.html
3.另外值得注意的是:如果楼主是在局域网内,那有必要打开upnp功能,如果楼主不在局域网内,那就根本不存在upnp这个概念了


pnp缩写代表什么
pnp全称Plug-and-Play,译文为即插即用 一、含义 PNP意思是系统自动侦测周边设备和板卡并自动安装设备驱动程序,做到插上就能用,无须人工干预,是Windows自带的一项技术。所谓即插即用是指将符合PNP标准的PC插卡等外围设备安装到电脑时,操作系统自动设定系统结构的技术。当用户安装新的硬件时,不必再设置...

PNP管的工作原理是什么?
PNP是一种双极型晶体管,由三个不同掺杂的半导体层组成,其中两个为p型半导体,中间的层为n型半导体,整体呈现出p-n-p的结构。PNP晶体管的工作原理图如下所示:PNP晶体管工作原理图当外接电源Vcc的正极连接到P区时,P区会变成正电荷区,中间的N区会成为负电荷区。此时,如果在基极和发射极之间加上...

npn和pnp什么意思
npn和pnp的区别 NPN和PNP是两种不同类型的半导体器件,它们的主要区别在于电流流向和电压。NPN(Negative Positive Negative)是指电流从发射极流入,经过基极和集电极流出。这种类型的晶体管通常用于放大电路和开关电路中。在NPN晶体管中,发射极的电位最低,集电极的电位最高,因此电压是从发射极到基极再到...

什么叫NPN和PNP管?
PNP型三极管,是由2块P型半导体中间夹着1块N型半导体所组成的三极管,所以称为PNP型三极管。也可以描述成,电流从发射极E流入的三极管。2、PN结元件方向不同 2个PN结的方向不一致,PNP是共阴极,即两个PN结的N结相连做为基极。NPN则相反,NPN两个P结分别做集电极和发射极,电路图里标示为箭头朝内的...

nPn PnP 是什么意思
npn型三极管,是由2块n型半导体中间夹着1块p型半导体所组成的三极管,称为npn型三极管。我国生产的锗三极管多为PNP型,硅三极管多为NPN型,它们的结构原理是相同的。在电路符号上PNP型管发射极箭头向里,NPN型管发射极箭头向外,表示电流方向。2.npn和pnp的区别--三极管 2个PN结的方向不一致。PNP是...

npn型的输入是什么? pnp型呢?
NPN型输入(输出):是指负电压输出的是低电平0,有信号触发时,信号输出线out和0v线连接,相当于输出低电平。PNP型输入(输出):是指正电压,输出是高电平1,有信号触发时,信号输出线out和电源线VCC连接,相当于输出高电平的电源线。接近开关常用的是三根线,中间一根是输出线,所以看中间是N还是P...

生产pnp是什么意思?
pnp是一种电子元件的封装形式,全称为“Positive-negative-Positive”,意为正极-负极-正极。pnp元件由一个p型半导体夹在两个n型半导体之间构成,具有较高的放大和开关能力,被广泛应用于功率控制和放大电路中。生产pnp就是指生产这种pnp型的电子元件。由于pnp具有高功率和高频率等优点,因此在各种电路中...

光电开关pnp和npn有什么区别
PNP和NPN有什么区别 1、晶体三极管是由形成二个PN结的三部分半导体组成的,其组成形式有PNP型及NPN型。pnp型三极管,是由2块P型半导体中间夹着1块N型半导体所组成的三极管,称为PNP型三极管。npn型三极管,是由2块n型半导体中间夹着1块p型半导体所组成的三极管,称为npn型三极管。我国生产的锗三极管多...

NPN和PNP分别代表什么?NPN是低电平时导通还是高电平时导通?三个极又...
NPN和PNP代表晶体管的类型 晶体管分为三个区域:发射区E,基区B和集电区C.对应的三个极就是发射极,基极和集电极 如果e和c是n型的而b是p型的 那这个管子就是npn管, 反之则是pnp管.(n型就是在本征半导体中掺入V族元素,电子是多子;p型就是掺入III族元素,空穴是多子)npn管高电平导通,pnp管...

NPN和PNP的区别是什么?
PNP与NPN三极管的区别2个PN结的方向不一致。PNP是共阴极,即两个PN结的N结相连做为基极,另两个P结分别做集电极和发射极;电路图里标示为箭头朝内的三极管。NPN则相反。先要搞清楚PNP、NPN 表示的意思是什么。P表示正、N表示负。PNP表示平时为高电位,信号到来时信号为负。NPN表示平时为低电位,信号...

甘孜藏族自治州13257232069: UPNP - 搜狗百科
伍桑尿路: UPNP是指通用即插即用技术. upnp的作用: 1、通用即插即用 (UPnP) 是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其是在家庭中; 2、UPnP 以 Internet 标准和技术(例如 TCP/IP、HTTP 和 XML)为基础,使这样的设备彼此可自动连接和协同工作; 3、对于一台内网电脑,UPnP功能可以使网关或路由器的NAT模块做自动端口映射,将内网电脑监听的端口从网关或路由器映射到内网电脑上.

甘孜藏族自治州13257232069: upnp是什么 -
伍桑尿路: UPnP 是各种各样的智能设备、无线设备和个人电脑等实现遍布全球的对等网络连接(P2P)的结构.UPnP 是一种分布式的,开放的网络架构.UPnP 是独立的媒介.在任何操作系统中,利用任何编程语言都可以使用 UPnP 设备.UPnP协议...

甘孜藏族自治州13257232069: 什么是upnp? -
伍桑尿路: 统一即插即用英文是Universal Plug and Play,缩写为UPnP.要说计算机外设的即插即用(Plug and Play(缩写PnP)),大家可能很熟悉,但对统一即插即用,多数人会感到是一头雾水.由于windows xp加入对UPnP的支持,并且被查出存在...

甘孜藏族自治州13257232069: 网络的UPnP是什么意思啊 -
伍桑尿路: 解释一、 准确地说,UPnP(Universal Plug and Play,通用即插即用)自动端口映射是适合内网,但不仅限于内网.内网的特点就是无法对外打开监听端口,因此会损失所有外部发起的连接.比如ADSL用路由器、Windows网络共享等等.常用的...

甘孜藏族自治州13257232069: upnp是什么?
伍桑尿路: 问:什么是 UPnP? 答:通用即插即用 (UPnP) 是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其是在家庭中.UPnP 以 Internet 标准和技术(例如 TCP/IP、HTTP 和 XML)为基础,使这样的设备彼此可自动连...

甘孜藏族自治州13257232069: 求问 电脑发现一个新的upnp设备 是什么东西 -
伍桑尿路: 电脑提示发现新的upnp设备,说明你的计算机检测到了一个新的支持UPnP协议的设备.这个设备可能是智能路由器(共享上网时用到),智能手机或智能家电.UPnP是一种跨平台的通信协议,可以方便连接家中的智能手机、笔记本电脑、路由器、甚至是智能冰箱、智能微波炉和一些电视等智能设备.如果不想看到这个提示,可以鼠标右键点击“我的电脑”,选择管理,再点击打开“服务和应用程序”,选择“服务”,将右边窗口中的SSDP Discovery Service服务禁用.

甘孜藏族自治州13257232069: upnp 是什么
伍桑尿路: 通用即插即用 (UPnP) 是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其是在家庭中.UPnP 以 Internet 标准和技术(例如 TCP/IP、HTTP 和 XML)为基础,使这样的设备彼此可自动连接和协同工作,从而使网络(尤其是家庭网络)对更多的人成为可能.

甘孜藏族自治州13257232069: Upnp是干什么用的? -
伍桑尿路: UPnP(Universal Plug and Play),通用即插即用,是一组协议的统称(具体情况请参考微软文档:UPnP NAT Traversal 常见问题),不能简单理解为UPnP=“自动端口映射”.在BitComet下载中,UPnP包含了2层意思: 1.对于一台内网电脑,...

甘孜藏族自治州13257232069: upnp是什么 -
伍桑尿路: 中文意思是:统一即插即用用英文是Universal Plug and Play,缩写为UPnP.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网