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

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

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值