I want to learn about computer networks from the bottom up. I don't really understand the nuances of networking layers, with books mentioning that layers provide services to layers above them, but the interface between layers is not part of the network architecture (Network Architecture is defined as layers + protocols). What is the difference between service and interface? What exactly is a network layer? I can't find clear explanations for these questions anywhere. (I have been reading Computer Networks by A. S. Tanenbaum)
Since I'm trying to learn networking from the bottom up, I'm trying to unlearn and relearn, i.e., I'm moving forward thinking that all that I know about the subject might be incorrect. Here's what I have understood so far:
- Each node in a communication network must do activities (I am not using the term 'software' here because the activities performed at each node can be implemented via digital logic in hardware)
- These activities are often organized into layers, where the activities in layer N+1 can only use the services the activities provide in layer N. This organization is helpful in keeping us sane, and everything managable
- A Network Model is a well defined specification of these layers in a network - the activities they perform and the services that are needed to be provided by a layer.
- A protocol is a way for activities on different nodes, but at the same layer to communicate. Layer N needn't know what protocol layer N-1 uses to communicate.
Is my understanding correct?
I have read that the Network Architecture specifies the layers and protocols used, but not the interfaces between layers. I think that the 'layer specification' will contain the services that are required to be provided at a layer. Isn't this the same as the interface between two layers? The Network Architecture contains the layer specification which contains the service specification, but does not contain interface specification. How?
Can I get a copy of the specification of the services provided per each layer? Is this something concrete or something hand wavy (E.g. "It depends on the situation" type)
I have read that the IP protocol of layer 3 requires ARP, ICMP, etc. protocols of layer 2. I thought that layer N is not concerned with actual protocols of layer N-1, but only the services provided.
Where is the flaw in my understanding?