Comer suggests that there are really two different ways to think about network layering.
A good international standard should be flexible and extensible. In order to achieve this goal, it seems to be a good idea to separate a complex structure like a computer protocol in several modules. Each layer provides a certain kind of service to the next higher layer. This service is provided by communicating with the peer entity in same layer of the remote host using the service provided by the next lower layer. Some of the layer entities may be implemented in physical devices, some may be part of the operating system and some may be included in application programs.