UPnP
简介
Universal Plug And Play 插即用,简称UPnP是来自UPnP™ Forum推广的一套网络协议。这个协议的目标是
它通过定义和发布基于开放,因特网通讯协议标准的UPnP设备控制协议来实现这个目标,UPnP体系允许PC间的点对点连接,网际互联和无线设备,它是一种基于TCP/IP, UDP和HTTP的分布式,开放体系。
UPnP使得任意两个设备在LAN(Local Area Network局域网)控制设备的管理下相互通信。它包含以下6个特性:
- 扩展性
- UI控制
- 传输介质和设备独立, UPnP技术可以应用在许多媒体上,包括电话线,电线(电力线通信PLC),以太网,红外通信技术(IrDA),无线电(Wi-Fi,蓝牙)和Firewire(1394),无需任务设备驱动,采用共同的协议
- 操作系统和程序语言独立。任何操作系统和程序语言均可以用于构建UPnP产品。UPnP并没有设定或限制于控制设备上的应用程序API。所以厂商可以自定义各种API
- 基于因特网技术
- 编程控制
UPnP的工作过程可以被划分成6步
一. Addressing
地址是整个UPnP系统工作的基础条件。每个设备都应该是DHCP(Dynamic Host Configuration Protocol 动态主机配置协议)的客户,当设备首次与网络建立连接后,利用DHCP服务,UPnP设备将按照Auto-IP的协议从169.254/169.16地址范围获取一个局域网内唯一的IP地址。当然设备还可以使用friendly name,这就需要域名解析服务(DNS)来转换name和IP。
二. Discovery
发现是UPnP工作第一步。UPnP的发现协议允许该设备向网络上的Control Points(CPs) 通知(advise)自己拥有的服务。同样,当一个CP被添加到网络后,UPnP发现协议允许该CP搜索网络上可用的设备。