Overview#Constrained Nodes is defined in RFC 7228 as a node where some of the characteristics that are otherwise pretty much taken for granted for Internet nodes at the time of writing are not attainable, often due to cost constraints and/or physical constraints on characteristics such as size, weight, and available power and energy.
The tight limits on power, memory, and processing resources lead to hard upper bounds on state, code space, and processing cycles, making optimization of energy and network bandwidth usage a dominating consideration in all design requirements. Also, some layer-2 services such as full connectivity and broadcast/multicast may be lacking.
There are multiple facets to the constraints on nodes, often applying in combination, for example:
- constraints on the maximum code complexity (ROM/Flash),
- constraints on the size of state and buffers (RAM),
- constraints on the amount of computation feasible in a period of time ("processing power"),
- constraints on the available power
- constraints on user interface and accessibility in deployment (ability to set keys, update software, etc.). (Input-constrained device)