Die Kommunikation zwischen dem oder den Steuergerät(en) des Fahrzeugs (Server) und dem angeschlossenen Tester (Client) erfolgt als Frage- und Antwortspiel. Frage und Antwort bestehen aus Datenpacketen mit Header-Bytes, Daten-Bytes und abschließendem Checksummen-Byte. Die eigentlichen Daten können 1 bis 7 und 63 oder 255 Byte umfassen, abhängig vom verwendeten Standard. Der Datenbus wurde vorrangig für die Kommunikation zwischen verschiedenen Steuergeräten (Knoten, Nodes) im Fahrzeug entwickelt, um die Verkabelung zwischen diesen Knoten (Motor-Kontroller, Getriebe-Kontroller, ABS-Kontroller, Komfort-Kontroller usw. usw.) kostengünstig gestalten zu können. Der evtl. angeschlossene Tester ist nur ein weiterer Knoten. Die Header-Bytes (1 bis 4 Bytes je nach Standard, bei CAN 11 oder 29 Bit) können u.a. bitcodierde Informationen über die Adressierung (Ziel und Quelle), Adressierungsart (funktional oder physisch), Länge der folgenden Datenbytes und Priorität des Datenpackets enthalten. Bei ISO9141 erfolgt die Adressierung bereits während der Initialisierung. Speziell für Tester entwickelte Chips wie die ELM-Chips übernehmen die Aufgabe, die Header und Checksumme zu interpretieren oder zu erzeugen, so daß sich der Programmierer eines Diagnose-Programms nur um das Datenfeld zu kümmern braucht. Auch die Initialisierung übernehmen diese Chips ebenso selbsttätig wie die Verwendung der richtigen Baudrate.