80 likes | 215 Views
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
E N D
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