Knowing the theory of how the seven layers interact and manipulate the data in theory is one thing, but how one implements this in the real-world with actual code is another.
I want to know how these layers are implemented in practice (PC as a example, because it uses all of the layers unlike a Router, etc.) - is every layer a separate process that has a standardized API (so there are many peices of software that work together) or is something like a network Driver for a specific HW/SW setup responsible for all of this using shared libraries and such? Or is it some other completely different approach?
The reason I'm asking this, is because I want to create my own network on the 868MHz band, and I want to use some existing code (for ex. a DataLink error correction and such code - because that is just way beyond my skill) but also write my own Network layer code to customize the way devices interact.