PulseAudio Under the Hood (2017)
It shows three clients (employing three different APIs), one local PulseAudio server, two remote PulseAudio servers (connected via “native” and RTP protocols), one remote RTP receiver, ALSA backend, and a set of modules required to serve this setup. PulseAudio server supports a variety of network protocols to communicate with clients, remote servers, and third-party software. Each tunnel connects a single pair of a local device and remote stream:
Each tunnel acts as a regular PulseAudio client and connects to a remote PulseAudio server via the “native” protocol over TCP.
Source: gavv.github.io