Why do it at the high level if the protocol supports it? Especially in an automotive system where you don't need to worry about rogue configurations as much.
I meant why not leverage fragmentation at the routing+transport protocol layer if configs can be controlled to support it and not drop fragmented packets.
What advantage is there doing it at the application layer?
I'm aware that all the layers can be messed with by rogue malicious actors.
Though IIRC CAN doesn't really have a transport or routing layer; the ARB IDs are baked into the physical protocol, which is very cool, but it's fundamentally a bus architecture, and I'm not sure how it would apply to current thread.