System ports
The host server and RMI ports are per-root (that is, there is one for the whole system installation). These ports are primarily used by the GUI.
Fixed protocol ports are the port numbers that are configured in the thread configuration screens. These ports are used by external systems connecting to the system.
Ephemeral ports are allocated as sites/processes are run.
hcimonitord
This has a command port that is used by both the NetMonitor GUI and command line tools. It is used to communicate with the hcimonitord process to get statistics or control monitoring and alerting.
This is per-site.
There is one hcimonitord process for each site and each process has its command port.
The port number writes to %HCISITEDIR%/exec/hcimonitord/cmd_port.
hciengine
This process also has a command port that is used by command line tools. This port communicates with the hciengine process for controlling the message flow and threads.
This is per-process.
There can be many hciengine processes in each site and each one has its own command port.
The port number writes to %HCISITEDIR%/exec/processes/process_name/cmd_port.
Each protocol thread has an ICL port. This is per-thread.
This port is used for inter-process communication.
This can be made into a fixed port if the thread is configured as an inter-site destination.