CAN bus and ISO 15765-2 transport layer

I am at basically the same point as you, but attempting to be compatible with commercial CAN devices. The common options seem to be DeviceNet (closed, expensive) and CANopen (open, free, not as widely used).

Anyway if you get a copy of the CANopen specification, it contains protocol descriptions for shifting bulk data using multiple frames. It (the multi-packet transfer) is a pretty simple protocol in the grand scheme of things. If you didn't want to implement all of CANopen, you could well just steal that little bit.