发现概述
同样地,当一个控制点接入网络,发现协议允许其搜索网络中其感兴趣的设备。这些都通过发送发现消息来实现。发现消息包含了一些关于设备和服务的必要信息。
当一个新的控制点加入网络,允许多播一组发现消息来搜索感兴趣的设备,服务。设备监听到该消息,根据是否匹配消息决定是否返回响应。此外,控制点也允许向一个特定的IP地址的1900端口单播一个发现消息或者是以可选的SEARCHPORT.UPNP.ORG头域来决定的特定端口来搜索那个特定IP地址上的设备或服务。这个动作假定控制点事先知道这个IP地址上的设备是一个UPnP设备(正监听在一个合适的端口上)。控制点能够使用单播搜索一系列的应用。一个单播搜索可以快速确定一个具体的设备,并提供关于设备的发现信息(如UUID,URL)。所有的设备应该监听1900端口的单播搜索信息,或者由以可选的SEARCHPORT.UPNP.ORG头域来决定的特定端口。如果满足匹配消息,就发送响应信息。
一个控制点可以了解到设备的信息,通过设备发送的上线消息,或者通过设备对控制点搜索消息的响应。如果一个设备希望能了解到设备的更多信息,控制点应该使用发现消息中的一些信息来发送一个描述请求信息。
当一个设备从网络中退出时,它将多播一组发现消息来告知网络其设备已经不再可用。当一个设备的IP地址改变时,它将使用新的IP地址再次发布上线消息。多地址设备的情况有些复杂。
为限制网络拥挤,每一个多播消息的每个IP封包的TTL(time to live)默认为2,也可被设为其他值。