Schichten der CAN-Software und CAN-Hardware
Die einzelnen Aufgaben der CAN-Kommunikation erfolgen entsprechend dem IOS/OSI-Referenzmodell in „Schichten“ (Layer).
Bitübertragungsschicht (Physical Layer): Diese Schicht beschreibt die physikalischen Eigenschaften, wie z. B. Signalpegel, Übertragungsgeschwindigkeit, Abtastzeitpunkt, Stecker, Kabel, usw. Sie ist partiell im CAN-Controller und im CAN-Transceiver realisiert.
Übertragungsschicht (Data Link Layer): Dies ist das eigentliche CAN-Protokoll mit seinem Nachrichtenformaten (Datentelegramme, Remote-Request-Telegramm, Fehlertelegramm und Überlasttelegramm) sowie dem Fehlerverhalten (englisch: „fault confinement“).
Die höheren Protokolle: Die darüber liegenden Schichten sind in der Regel nicht einzeln ausgewiesen und werden normalerweise in Software auf dem Hostcontroller implementiert. In einigen Branchen sind diese höheren Protokolle standardisiert (z. B. CANopen, DeviceNet, SAE J1939). Die Automobilindustrie hat ein Transportprotokoll in ISO 15675 international genormt, mit dem man lange Nachrichten mit mehr als 8 Byte auf der Senderseite segmentieren und auf der Empfängerseite wieder zusammenbauen kann.