2.1. Constrained Nodes
2.1. Constrained Nodes
The term "constrained node" is best defined by contrasting the characteristics of a constrained node with certain widely held expectations on more familiar Internet nodes:
Constrained Node: 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.
While this is not a rigorous definition, it is grounded in the state of the art and clearly sets apart constrained nodes from server systems, desktop or laptop computers, powerful mobile devices such as smartphones, etc. There may be many design considerations that lead to these constraints, including cost, size, weight, and other scaling factors.
(An alternative term, when the properties as a network node are not in focus, is "constrained device".)
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, and
-
constraints on user interface and accessibility in deployment (ability to set keys, update software, etc.).
Section 3 defines a small number of interesting classes ("class-N" for N = 0, 1, 2) of constrained nodes focusing on relevant combinations of the first two constraints. With respect to available power, [RFC6606] distinguishes "power-affluent" nodes (mains-powered or regularly recharged) from "power-constrained nodes" (battery-powered or energy-harvesting).
The use of constrained nodes in networks often also leads to constraints on the networks themselves. However, there may also be constraints on networks that are largely independent of those of the nodes. We therefore distinguish "constrained networks" from "constrained-node networks".