As a result, ZigBee has found widespread applications in home and building automation and new energy management systems that not only offer new conveniences but promise to contribute to solving some of society's most pressing problems.
The ZigBee Alliance has recently introduced an important update to the ZigBee specification leveraging the experience gained from the millions of ZigBee nodes deployed by multiple vendors since the specification was first published in 2004.
The specification now includes two distinct Feature Sets "ZigBee" and "ZigBee PRO"that define key aspects of how a mesh network operates. The new ZigBee PRO Feature Set offers significant improvements in network scalability, resiliency, security, and ease-of-use, especially for larger, more complex networks.
The ZigBee Feature Set is essentially the same as the 2006 version ZigBee specification, with some new optional features adopted from the ZigBee PRO capabilities. Networks are generally built using one Feature Set or the other, though end devices implementing either Feature Set may operate in any ZigBee network.
It is worth noting that with this update of the specification, the focus of the ZigBee Alliance is shifting from further networking stack development toward expanding the higher-level Application Profiles, so users can be assured of continuing stability in the underlying standard.
The different ZigBee Feature Sets offer developers new choices for implementing robust wireless control networks, which are summarized in Table 1.
Click here for Table 1
Table 1: Comparison of ZigBee and ZigBee PRO feature sets.
Some ZigBee platform suppliers are providing only the ZigBee Feature Set, or may provide both in the future. Ember Corporation, a ZigBee supplier, has chosen to focus on the ZigBee PRO Feature Set only, available now in Ember's EmberZNet PRO software offering, since the benefits of the additional features are so strong. It is important that developers understand the new ZigBee PRO capabilities as they evaluate their ZigBee choices.
Improved scalability: Stochastic addressing and route aggregation
One of ZigBee's greatest virtues is scalability, allowing networks of thousands of nodes. While this capability is obviously important for large building automation and neighborhood utility metering networks, it has also proven important in home-oriented networks that may grow to 100 nodes or more.
ZigBee has emerged as the choice for advanced Home Automation networks in large part because proprietary wireless technologies aimed at the home have failed to deliver such scalability. The ZigBee PRO Feature Set significantly improves ZigBee's ability to scale through a number of new capabilities, including Stochastic Addressing and Route Aggregation.
Stochastic Addressing is a new method for assigning the addresses used by individual nodes for routing in the network. The original ZigBee scheme used a "cluster-tree" routing algorithm where a single ZigBee Coordinator node acts as the root of a network and address tree, and each node's address is assigned based on its position within the tree.
While having the node's location implicit in the address can allow relatively simple routing algorithms, this also limits the practical address space, leading to the possibility of address exhaustion down long branches of the tree structure. Also, changes to the tree topology may cause potentially disruptive re-addressing of significant portions of the network.
By contrast, Stochastic Addressing allows new nodes to randomly pick an address when they join the network. In the rare case of a collision (two nodes picking the same address), the network stack provides a address conflict resolution mechanism utilizing the unique IEEE MAC address assigned to each node.
Thus the entire 16-bit address space is available to all nodes, anywhere in the network, and the assignment is persistent even if RF conditions change (such as placement of new obstacles in a building or if a node moves). Another new ZigBee PRO scalability feature is the ability to aggregate routes in the network through the use of many-to-one routing and source routing techniques. In most wireless sensor networks, many or most nodes in the network need to communicate with one or more centralized nodes, such as a centralized home automation controller, a sensor data collection gateway, or a security trust center.
For illustration purposes, assume many devices are communicating to a centralized gateway. Each device issues a route discovery broadcast to find the gateway, and all the intervening nodes form a routing table entry for each device (see Figure 1).
Click here for Figure 1
Figure 1: In larger networks, many routes to a centralized mode may cause routing table overflows near the central node.
The nodes near the gateway will see many, many such requests, likely overflowing the relatively constrained routing tables available within the small RAMs typical of low-cost ZigBee silicon. Such overflows cause the devices to issue new route request broadcasts, causing continued routing table churn and additional network broadcast traffic.
ZigBee PRO mitigates this behavior through a "many-to-one" route discovery mechanism that allows each device seeking a route to the gateway (continuing the example above) to share the same route and associated routing table entry.
For traffic returning from the gateway to the devices, a source routing technique is used, where the gateway remembers the path used from the device to the gateway, and embeds that path in the returning packets enabling the intervening nodes to forward the packets without requiring a routing table entry (See Figure 2).
Click here for Figure 2
Figure 2: Through shared many-to-one routes and source routing, less routing table space is used.
These mechanisms dramatically improve the efficiency and stability of the routing tables and lower the amount of broadcast traffic in the network.
In ZigBee mesh networks, paths are chosen based on the quality of the individual RF links. Unfortunately, the link quality between any two nodes is often not symmetric (i.e. the link quality in one direction is the same as the other direction). This can cause suboptimal routes to be chosen through the mesh, resulting in lower network stability. ZigBee PRO provides an Asymmetric Link Handling capability that uses regular information exchanges between neighbors to enable the selection of the best symmetric links.
One of the advantages of 2.4GHz-based ZigBee networks is the choice of 16 different operating channels, compared with a single channel for some competing lower-frequency proprietary systems.
ZigBee PRO's Frequency Agility function (also optional with the ZigBee Feature Set) makes utilization of these channels easier. When a ZigBee network is initiated, the node forming the network scans for an available channel with the least existing traffic or noise.
Over time, if the busyness of the chosen channel increases or a new interference source emerges, the Frequency Agility function may be used by the application to scan for a better channel and seamlessly "move" the entire network to the new channel. This allows the network to adapt to changing environments over months or years.
ZigBee networks use the IEEE 802.15.4 PAN ID as their basic identifier, allowing different logical ZigBee networks even on the same channel. However, if two networks overlap with the same PAN ID (such as devices using the same defaults), confusion may result. ZigBee PRO provides automatic detection and resolution of conflicting PAN IDs, including application notification.
Improved security: New options for more secure communications
Since the beginning, ZigBee has included integrated security functions leveraging AES128 encryption for protecting network communications. ZigBee PRO now provides significant enhancements to the security choices available for secure wireless networks.
ZigBee PRO offers two different security modes: "Standard" security and "High" Security. Standard security extends and is functionally compatible with the "Residential" security mode offered by the ZigBee Feature Set and the 2006 ZigBee specification.
In this mode, all network communications can be encrypted using the AES128 algorithm using a single network-wide "network key". Devices in the network may have the network key pre-configured, individually commissioned, or distributed by a centralized trust center.
The ZigBee PRO Standard Security mode further provides for the additional encryption of application-level communications between node pairs through the use of individual "link keys". While this is also optional in the ZigBee Feature Set as well the earlier 2006 ZigBee specification, it is expected to be more widely deployed going forward.
This allows specific node-to-node application level data to be protected from other nodes in the network. This is important for the collection of potentially sensitive private data or the validation of potentially disruptive commands.
The security enhancements in ZigBee PRO are also important to providing secure basic network operation. For example, certain types of ZigBee nodes can "sleep" (power down for a period of time to conserve power use), and hence miss a "change network key" message from the security Trust Center.
When a sleeping device wakes up, it will try to communicate with the network using its old network key, and will be unable to participate in the network. ZigBee PRO provides the ability for the newly awoken node to use a specific link key to encrypt a message that validates itself with the Trust Center and gets the new network key in a similarly encrypted message.
Otherwise, the validation message and network key would need to be sent "in the clear", potentially compromising the security of the overall network. These same mechanisms can be used to wirelessly commission (i.e. configure for use) individual devices securely, never requiring important data to be transmitted without some level of encrypted protection.
The High Security mode provided in ZigBee PRO adds some further protections for device authentication and key management and distribution, including the use of the SKKE. This mode also provides some additional protections against security replay attacks.
The additional security capabilities inherent in ZigBee PRO are critical as ZigBee is used in increasingly important applications. The control of critical systems infrastructure, whether in a commercial building, utility grid, industrial plant, or a home security system must not be compromised.
One feature (also available optionally in the base ZigBee Feature Set), is Fragmentation. The IEEE 802.15.4 defines a maximum packet size of 128 bytes, which is optimum for short, efficient control and sensor data messaging. However, there may be times where an application desires to send a larger message.
ZigBee now provides a means for the stack to automatically fragment a larger message into smaller ZigBee packets and reassemble the message at the receiving node, relieving the application of this task.
Commissioning a ZigBee network (like any control network), refers to the task of configuring the individual control or sensor devices with the information they need to perform the desired function. This information may include: what network to join, what ZigBee Feature Set is in use, provision of security keys, and establishing command/control binding relationships (i.e. what lights a given switch turns on or off).
Commissioning typically takes place using a dedicated tool (laptop, PDA, etc.) or through a physical interface on the device (perhaps a simple button).
The updated ZigBee specification provides a new "Commissioning Cluster" that standardizes command sets for usual configuration parameters. ZigBee PRO, with its additional security capabilities, allows this commissioning to be performed in a secure manner.
When to use the ZigBee PRO Feature Set?
The additional capabilities provided by the ZigBee PRO Feature Set are useful in ZigBee networks of any size, but are especially useful in relatively large networks (30-50 nodes or more) that will especially benefit from the new scalability features. The use of security with sleeping devices should also drive the use of ZigBee PRO, as the new security functions allow devices to easily rejoin the network if a network key update is missed during sleep.
Developers should also consider the stack functions required by the relevant standard Application Profile for their design. The newly released Home Automation profile can be used with either the ZigBee or ZigBee PRO feature sets, however most applications will likely desire the scalability offered by ZigBee PRO.
Future Application Profiles may require or strongly desire the use of functions only available in the ZigBee PRO feature set, so developers in other application areas, such as advanced metering or building automation, should be watching these developments.
The ZigBee PRO Feature Set: More of a good thing
The ZigBee PRO Feature Set incorporates the learning of several years of ZigBee success. The improved scalability, resiliency, security, and ease-of-use of the ZigBee PRO Feature Set add to the foundation of a very capable, robust, and stable multi-vendor standard for even the most demanding wireless control networks.
About the author
Bob Gohn has over 20 years experience working in both semiconductor and networking equipment companies. Bob has held a number of marketing and engineering positions at companies including Freescale, C-Port, 3Com, Standard Microsystems Corporation, Raycom Systems, Netways, and Hazeltine.