RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Table of Contents |
---|
The Home Network Administration Protocol (HNAP) is an HTTP-Simple Object Access Protocol (SOAP)-based protocol that can be implemented inside of network devices to allow advanced programmatic configuration and management by remote entities. By implementing HNAP, network equipment manufacturers can better identify their devices and provide improved, more cost effective support. Using HNAP, manufacturers can display custom, device-specific information and tasks in applications that use HNAP in device discovery and management.
HNAP was designed to be a simple, light weight protocol that is easy to implement inside of small cost-constrained hardware such as network routers, cameras and other small devices. Because the protocol is based on existing HTTP-SOAP standards, it is very flexible and easily extensible.
There are three high level benefits to vendors for implementing HNAP in a network device:
By implementing HNAP, a network device can accurately describe itself to applications that support HNAP and show detailed information about the device. A device can choose its type and subtype, define its iconic representation, and also expose properties such as model name, firmware version, and support contact information. This type of information is useful to consumers when managing their networks, and to support personnel when troubleshooting a problem.
By implementing HNAP, a network device can display custom tasks for the device. For example, when a device with HNAP support is selected in an application, tasks related to that device can be displayed. Custom tasks allow device vendors to differentiate their devices by exposing to consumers support for their advanced or exclusive features.
Perhaps the largest and most comprehensive benefit of implementing HNAP on a network device is its ability to be silently managed by other management products. The full programmable API suite allows devices’ network connections to be remotely managed and administered. For example, for a device such as a router, the programmable API can provide:
Protocol Design The HNAP protocol is based on the well known WC3 HTTP-SOAP standard defined in www.w3.org/TR/2003/REC-soap12-part1-20030624.
There are two distinct roles with any HNAP interaction – an HNAP server and an HNAP client. HNAP servers are typically implemented inside of networking devices to be managed. HNAP clients are usually software applications residing on PCs or other devices that can interact with an HNAP server in order to manage it, and ultimately, the device.
A typical client server interaction begins when a client has discovered an HNAP server on a network. It issues an HNAP discovery command in order to determine the capabilities of the device. A client then proceeds to make one or more HNAP requests to the server, which performs the desired action and returns the response.