I am currently digging into ZigBee and the following question came to me:
Each ZigBee device has a 16 Bit short address, which means I can connect up to 2^16=65536 different devices (minus a few reserved addresses of course). Now each devices can bind up to 2^8 = 256 different services (since a few "ports" are also reserved, the maximum is actually 240 here). I was wondering, if these 8 bits are added to the 16 Bit short address, which means the actual address has 24 Bits or if these 8 bits are taken from the short address, which means, that the short address would effectively only have 8 Bits, which again would mean I could "only" connect 256 devices?
I am a little bit confused now, especially since most paper/articles about ZigBee use the term "node", which I assume means something like service, but not necessarily a new (different) device.
Any clarification?^^
In Zigbee the "node address" is the physical device (the radio). Each physical device can contain up to 240 "logical" devices (endpoints). Endpoints consist of clusters, which provide device behavior. When you create a bindings, you are tell one "logical" device how to communicate with another "logical" device.
So technically you can have roughly 15 million (2^16 * 240) "logical" devices on a network. In practice, Zigbee networks that reach the 1000s of node ranges tend to hit technical limitations, but this comes down to the placements of the physical devices relative to each other.
TL;DR - Think of the Node address as the IP address, and the Endpoint as the Port value. You can have multiple "applications" running at a single physical address on different ports.