IETF-50 UPnP Update
The UPnP Forum, founded in June 1999, is an open community promoting universal plug and play technologies without membership fees. It comprises over 300 members, guided by a 20-member Steering Committee, with dedicated committees for marketing and technical issues. UPnP facilitates device control and eventing through XML-based Device Control Protocols (DCP). With ongoing development efforts, including IPv6 support and improved security measures, the forum continues to enhance residential networking and control across the Internet. More information can be found at upnp.org.
IETF-50 UPnP Update
E N D
Presentation Transcript
IETF-50 UPnP Update Prakash Iyer Intel Corporation prakash.iyer@intel.com
UPnP Forum Background • Created in June 1999 • Open to everyone! • No forum membership fees • Membership agreement required • Certification and logo program being put in place • Over 300 forum members • 4 Organizational Components • 20-member Steering Committee oversees all Forum activities • Marketing Committee oversees all marketing / PR activities • Technical Committee resolves common technical issues • Working Committees define Device Control Protocols (DCP) • 5 WCs and 19 core devices
UPnP Functional Components • Control Point • Initiates discovery and control of devices • E.g. Remote control, PC • Controlled Device • A device that has a Device Control Protocol (DCP) defined for it • DCP is essentially XML templates that describe device behavior and enable control and eventing on a device • E.g. Internet Gateway, printer, HVAC • Bridge • A device that can essentially proxy a legacy or non-UPnP device by offering a DCP service for that device
UPnP Addressing & Discovery • Addressing • Supports Auto IPv4 address configuration, DHCP, link-local IPv4 addresses • IPv6 in future • Discovery • Simple Service Discovery Protocol (SSDP) – HTTP-MU • Uses reserved local administrative scoped mcast address 239.255.255.250 port 1900 • Unsolicited advertisements: HTTP/NOTIFY with ssdp:alive • Device unavailable: HTTP/NOTIDY with ssdp:byebye • Device solicitation: HTTP/M-SEARCH with ssdp:discover • UPnP limits TTL to 4 to minimize network congestion
UPnP Description & Presentation • Description • XML templates defined by device-specific working groups a.k.a Device Control Protocols (DCP) • Covers operational and configuration aspects of a device • DCP hierarchy: Devices (containers) and services • Notion of ROOT device • Generically offers GET and SET actions and specifies eventing • Retrieved using HTTP GET • Presentation (Optional) • Web pages / text based UI
UPnP Control & Eventing • Control • XML-based actions, results and errors encoded in SOAP over HTTP over TCP • Uses HTTP/POST or HTTP/M-POST with MAN header for soap envelope • Responses within 30 seconds with HTTP/OK • Eventing • Based on Generic Event Notification Architecture (GENA) • HTTP/SUBSCRIBE with callback URL • HTTP/UNSUBSCRIBE • HTTP/NOTIFY to deliver an event • Events can be moderated • UPnP restricts GENA to HTTP/TCP
Usage Models • Focus for v1.0 is on residential networks • Discovery and control across the Internet likely for v2.0 • Needs more work in areas such as security & authorization, scaling discovery, persistent device naming and possibly IPv6 • Interim solutions possible: • Outside-in to a residential gateway that also acts as a control point / bridge for other UPnP devices • Outside-in to a gateway that relays requests to a device • Requires NAT and firewall configuration on gateway • Vendor proprietary end-to-end security
Related Architecture Drafts • draft_cai_ssdp_v1_03.txt • draft-box-http-soap-01.txt • Also a W3C technical report • draft-cohen-gena-client-01.txt • None of the above are active IETF drafts • Plus • Drafts in zeroconf working group • Other related standards in W3C • Forum Website is upnp.org • Several documents restricted to members only