USB device communication is based on "pipes" (logical channels). Pipes are connections from the host controller to a logical entity on the device named an endpoint. The term "endpoint" is occasionally used to incorrectly refer to the pipe. A USB device can have up to 32 active pipes, 16 into the host controller and 16 out of the controller.