An effective approach to learning computer networking
What is the best way to master computer networking? This question is asked often in online forums and may be of interest to someone seeking to embark on a career as a network engineer. In this post, we will address the question by sharing our insight on the topic.
When someone starts a journey to learn or master computer networking it is usually for one of the following reasons:
- Enhance existing skills
- Gain new skills in order to make a career change
- Gain industry certifications for career progression
- Simply out of interest or curiosity
Our end-goal influences our approach to learning in a particular field of study — and the approach has a direct impact on how effectively we learn.
A common approach to learning - memorization
A common approach to learning anything is to attempt to memorize as much content as possible. (This is especially true when our end-goal is to pass industry certification exams.) While brute-force memorization may be effective for some topics, it falls short as an effective method in mastering most technical concepts. Part of the reason for its shortfall is that there is far too much to memorize, too many different application scenarios with too many subtle differences.
Furthermore, when faced with a large list of topics and vaguely important-sounding terms like subnetting, VLANs, trunking, OSPF, RIP, Tunnels, TCP, UDP, IPSEC etc., it is easy to feel discouraged by the prospect of having to memorize all there is to know about these topics.
Sometimes people give up their pursuit entirely because of the sheer volume of information that they believe they must memorize. Fortunately, there are other, less intensive and more effective approaches to mastering computer networking than brute-force memorization.
Characteristics of well-respected and successful network engineers
Spending time with a network engineer who navigates their way effortlessly through complex networks reveals an interesting aspect of their mastery and comprehension of the subject. Most often, such a person did not arrive where they are by memorizing everything they could about computer networking. Their proficiency was facilitated by the realization that there was more to computer networking than simply memorizing definitions and configuration commands.
In the next few paragraphs, we list out key aspects of our recommended approach to mastering computer networking.
Look for relationships between different concepts or components
Instead of memorizing details of all of the different concepts that need to be covered, look for relationships between a new concept that you are learning and a similar concept that you might have covered earlier. For example, suppose you are learning about Routing Tables, after having already covered MAC Address Tables. Instead of thinking about Routing Tables in isolation, compare Routing Tables to MAC Address Tables. What is similar between the two? What is different? What is similar between how a switch forwards data based on the Layer 2 Header and how a router forwards data based on the Layer 3 Header. What is different?
Every time you come across a new concept, try and relate it to previously covered concepts. Over time, a pattern will begin to emerge revealing how different concepts are linked together - to the point where you can start to develop an idea of how network protocols are designed. You will eventually get to a point where you may be able to predict how something works even if you haven't studied anything about it.
Consider things from a network device's perspective
Our normal tendency is to stop our thought process at "what must I do to make this network behave in a certain way". We figure out how we need to configure our devices, perform the configuration, but then if things don't work the way we expected, we might be at loss to explain why. Our proposition is to extend the thinking into "now that I have finished my configuration, what will this device do when it receives a data frame on a particular interface".
If we follow this thought process for every device in our network, identifying configuration errors becomes much easier and the entire troubleshooting process starts to feel more natural and effortless.
Ask (yourself) questions
Another characteristic that differentiates a good network engineer from an average one, is how much someone is willing to challenge themselves. In order to attain a good grasp of networking technologies, we must be willing to ask ourselves questions all the time. Questions like "what would happen if I changed this configuration item from x to y". Continue the process by making the change and verifying the results. Are the results what we expected? If not, why not?
Asking questions, testing and verifying the results of subtle configuration changes and maintaining a high level of curiosity benefits the learning process and leads to a deeper grasp pf the material being covered.
Practice, practice and more practice
This is fairly obvious, but the importance of practice cannot be over-stressed when it comes to learning computer networking. The experience gained from performing hands-on configuration and troubleshooting is invaluable and irreplaceable. It not only helps in solidifying what might otherwise be theoretical concepts, but is also a means of answering our own questions and broadening our grasp of networking concepts.
How we help
At Connected Dots Online we are developing a purpose-built online learning platform designed specifically to deliver effective content to master computer networking concepts. Here is how we can help you put into practice each of the points discussed above:
- Structured content - our content is structured in such a way that there is a natural progression from one concept to the next and a student is naturally able to see how different concepts relate to each other. Our aim is to encourage a student to "connect the dots" for themselves between all of the different concepts that exist within the field of computer networking.
- Visualization tool - our visualization tool allows a student to visualize data packets moving through a network.
- Troubleshooting output window - the visualization tool includes a troubleshooting output window that allows a student to look at events from a device's perspective. The output lists out events at each device along with the reason for any action taken by the device.
- Practice - our content includes unlimited hands-on practice questions, scenarios and exercises including device configuration and troubleshooting.
- Interaction - our interactive content includes thought-provoking questions that stimulates curiosity and broader thinking.