UPNP协议(超详细)–客户端之一简介

  • Post author:
  • Post category:其他


UPNP

(UPNP是一个交互的大过程,端口映射(实现前三步)只是应用它实现的一个小例子)

简介

组成:

服务:路由… 客户:端口映射软件(只实现前三步)、摄像机…

工作流程:

0寻址-1发现-2描述-3控制-4触发-5展示

1.描述一:简要介绍下UPnP的工作流程:设备加入网络后通过设备寻址就可自动获得IP地址,通过设备发现,控制点就可知道网络上存在哪些设备,通过设备描述控制点就可知道设备详细信息以及设备提供哪些服务,通过设备控制控制点可以使用设备的服务,通过设备事件设备就可以将其状态变化及时告诉给感兴趣的控制点,通过设备表达控制点可以用浏览器察看设备状态和控制设备。通过上述的六个方面,UPnP设备可以做到在“零配置”的前提下提供了联网设备之间的自动发现、自动声明、“直接”信息交换和互操作等功能,真正实现“设备即插即用”。

2.描述二:(设备1(控制点)指代客户端、设备2(设备主机)指代服务端)

第0步是设备寻址

设备2寻址、

设备1寻址(各自获得一个IP地址)

第1步是发现设备(三种查找方式:1.通过设备类型或服务类型同步搜索设备

2.以其独特的设备名称设备搜索(UDN)3.异步搜索—–都是SSDP查找)

设备2寻址后,就开始向网络“广播”自己已经进入网络,即寻找控制请求,向所有控制点宣告服务

设备1寻址后,在有控制请求之后,设备1在当前的网络中查找有无感兴趣的设备2

第2步是设备描述

设备1 发现设备2获得一个URL,下载对应的XML文件(文件包括设备2的具体信息)。

第3步是设备控制(端口映射)

设备1 通过第2步获得的控制URL,通过向其发送控制消息(同样用XML描述)来实现某些功能

设备2 收到设备1发来的控制消息,返回相应消息,指出失败或者成功

第4步设备事件

第5步设备表达

3.描述三:

1、 首先控制点和设备都先获取IP地址后才能进行下一步的工作;

2、 控制点首先要寻找整个网络上的UPnP设备,同时网络上的设备也要宣告自身的存在;

3、 控制点要取得设备的描述,包括这些设备提供什么样的服务;

4、 控制点发出动作信息给设备;

5、 控制点监听设备的状态,当状态改变时作出相应的处理动作;

原理:

UPnP (通用即插即用Universal Plug and Play)是各种各样的智能设备、无线设备和个人电脑等实现遍布全球的对等网络连接(P2P)的结构.

端口映射(分为动态和静态)就是将外网主机的IP地址的一个端口映射到内网中一台机器,提供相应的服务。当网络中用户访问该IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。

例子:你家在A小区一号楼(外网IP),你的朋友来找你,找到小区门口,不知道你住在几层,然后问保安,保安查到你的名字(内网IP)然后告诉你在几楼几号,所以你的朋友很轻松的找到了你的家,在这个过程中,保安通过业主的名字查到业主的门牌号这就是一种映射关

动态端口映射:内网中的一台电脑要访问百度(某一网站),会向NAT网关发送数据包,包头中包括对方网站IP、端口和本机IP、端口,NAT网关会把本机IP(内网)、端口替换成自己的公网IP(外网IP)、一个未使用的端口(外网端口),并且会记下这个映射关系,为以后转发数据包使用。然后再把数据发给百度,百度收到数据后做出反应,发送数据到NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯.当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用。

静态端口映射: 就是在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个IP和端口,不管有没有连接,这个映射关系都会一直存在。就可以让公网主动访问内网的一个电脑.

功能:

自动端口映射,方便外部使用(比如摄像机(控制点),upnp连上,路由器外网IP的一个端口映射到摄像机所拥有的IP上,需要时直接用外接设备连上这个端口操作控制点)

工具:

1.Wareshark(抓包分析)

2.小米路由器

3.迅雷软件(配置中心开启upnp)(用来测试查看)

资料:

百度《Internet Gateway Device (IGD) V 1.0》

(里面有好几本,主要看《UPnP_IGD_WANIPConnection 1.0.pdf》,留着指令调用)


http://www.h3c.com.cn/MiniSite/Technology_Circle/Net_Reptile/The_Five/Home/Catalog/201206/747039_97665_0.htm



版权声明:本文为qq_33053671原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。