For those people who are new to Networking. To get the foundation right, we need to visualize how everything works in networking world and understand the logic behind it.
Each and every networking protocol was designed to achieve a particular goal and it’s a outcome of great minds working together to derive a flawless working model. So don’t underestimate it. If we try to understand “why” a networking protocol was designed in a specific way, we would be able to understand pros and cons of it easily.
To make it simple, consider all the networking equipment are dump electronic devices just programmed to do some action( to set the expectation right).
Some of basic things i would say to my juniors when they start learning about networking are:
- Get the basics right. It’s like stacking playing cards on top of each other like a pyramid, if the base is not strong what ever you put on top of it will eventually collapse.
- Don’t assume anything, Networking devices such as routers/switches are not as intelligent as you think. (For e.g. Consider a PC is connected to a switch, PC does not have the intelligence to know to what device it is connected to, they just forward the data out blindly. In fact PC does not even care to what device they are connected to. Everyone is on their own in this networking world.
- Every field in the data was developed to solve a specific purpose. The developers did not simply create the data format or add a new field/rules, each field have a specific purpose to solve. Understand why each fields are present in L2 to L7 data header and thus it gives you a sense on why the protocol was designed in such a way.
- One has to understand how the data is processed when it’s received by the networking devices. what is the use of IEEE standards or what is the use of deriving a standard data format. And so what happens when the receiving device does not know the data format used by the sending device?.
- Understand the purpose of the networking protocol origin, why it was developed. Think like a developer or a designer, how would you write a code for the protocol if you were going to solve/cover a specific use case.
- And finally visualize the basic networking protocol or network communication which happens between the network devices and then try to add more complex networking protocol on top of it. It’s easy to connect the dots if you visualize properly.
If you are able to visualize how the networking device are communicating with each other, you will be able to understand how to incorporate the new complex networking protocol which runs on top of it and how the network infrastructure is built.