A car is basically a LAN of fairly generic microcontrollers, they are fitted to the car then programmed in place to match their required function, the official odometer value will be stored in one of these microcontrollers picked at random for that particular car. The main function of the one that gets chosen could be anything, it could control seat position or electric windows for example. If this controller needs to be replaced then the new one will need to be programmed with the correct software then the old odometer value stored into it.<p>The diagnostic tools provided to official dealerships handle reading fault codes and reprogramming the microcontrollers fitted to the car. I think that OBD-II is about as good a compromise as you are going to get to allow aftermarket diagnostics.<p>In hindsight, it could have been better to have treated the car as a WAN, with every controller firewalled off from each other, particularly as the manufacturers have been talking for years about allowing access to the vehicle bus from outside so that cars can be linked together into a train and all changing speed at the same time. I don&#x27;t think you would choose to do this with CAN though and I don&#x27;t know of any proposals for newer network standards though it is a few years since I was a member of any of the ISO committees that worked on this.