Part III: Agents & Services

UnetStack is organized around services and agents. A service is a contract — a well-defined set of messages and parameters for a particular capability, such as transmitting a datagram, routing it across the network, or measuring the range to another node. An agent is a software component that implements one or more services (and may use the services of other agents to do its job). Higher layers interact with a capability through its service contract, without caring which agent provides it, so any agent can be swapped for another that honors the same contract.

This part is organized as follows:

If you are new to UnetStack, read The default stack first to see what runs on a node and what each agent is for, then dip into the individual service chapters as you need the details.