UDS Communication Model ======================= UDS communication follows the `Client–Server model `_. .. _knowledge-base-client: Client ------ The client role in UDS communication is typically performed by a **Diagnostic Tester** (also called a *diagnostic tool*). It initiates communication by sending :ref:`request messages ` and then receives one or more :ref:`diagnostic responses ` from :ref:`servers `. In some cases, a request may be forwarded by a Gateway ECU to another ECU. When this happens, the Gateway ECU temporarily assumes the role of a client within that subnetwork. Performance and Error Handling `````````````````````````````` Time parameters defined by :ref:`ISO standards ` on the client side: - :ref:`P2Client ` - :ref:`P2*Client ` - :ref:`P3Client_Phys ` - :ref:`P3Client_Func ` - :ref:`P6Client ` - :ref:`P6*Client ` .. _knowledge-base-server: Server ------ The server role in UDS communication is always performed by `Electronic Control Units (ECUs) `_. A server receives :ref:`diagnostic requests ` and provides the corresponding :ref:`diagnostic responses `. Performance and Error Handling `````````````````````````````` Time parameters defined by :ref:`ISO standards ` on the server side: - :ref:`P2Server ` - :ref:`P2*Server ` - :ref:`P4Server `