Unpacking a complex computer network…

How do you begin to unpack a complicated network architecture?

When you are given a challenge to simplify a largely complex network and you have no idea where to begin, I would encourage you to pause for a bit and remind yourself of the core concepts of why a network exists. So, why does a network exist? The simplest answer to this crucial question, is that people need access to information. Now, access to information is limited to the type of method used to store information and more importantly where it is stored.

If information is stored electronically, then there are only a finite number of ways to access this information, meaning you have to make use of electronic devices to access this electronically available information. I know, I realise that I must be repeating myself in that previous sentence, but it was really meant to drive home the fact that if information is stored electronically on a device at remote part of the world that is different from your current location, then the expectation to simply walk up and grab that piece of information, is quite ridiculous isn’t it?

So, how do we achieve this almost insurmountable unachievable task of attaining that electronic information? Well, it’s not really unachievable really, if you can place yourself in a position that represents you in that digital world. Your devices, your phone, your tablet, your iPad, your laptop, your personal computer, all of which places or rather represents your actions in the digital world. Now that you have a starting point for you in the electronic / digital world, and we previously determined we have an end point in the electronic /digital world keeping hostage the information that you want, we need a means for you to get from Start to End, don’t we!

This my friends is the birth of the need for a network.

If it weren’t for us as human beings trying to reach a potential piece of digitized information that is not close to our proximity and not reachable to us outside of the digital world, there will be no need for the existence of a Network. Well, luckily for network enthusiasts such as myself and hopefully you as well, there is that need to access digitized information and therefore there is that need to have the existence of the Network.

Now, you must be thinking how does this mambo jumbo help you unpack a complex network?

What did we learn from above?

I noted that you need two elements, namely, a source and a destination to be able to create the concept of a networked requirement. If you can identify all your sources or rather (devices that require information) as well as all your destinations or rather (devices that store information), then you can start to map out all the source / destination relationships that need to be paired together to be able to create network requirement two source and destination endpoints (a device at the end of a network segment).  The reason we look for relationships between source and destination endpoints is because we are on an intrepid hunt to find the route a request would take from the source endpoint of a request all the way to its destination endpoint of where the request can be answered. All this hunting for relationships should in good faith reel in a treasure trove of information regarding all the possible routes between source and destination endpoints by now.

Once you have the routes between source and destination endpoints, you would then need to take a closer look at your source endpoint devices for a quick reveal of where your network boundaries need to be defined. I mean, after all we are attempting to explain how to unpack a complex network aren’t we?

Each source and destination endpoint is allocated what we call an internet protocol address (IP Address) which tells the world where to find it in relation to all other devices connected to the same network. By that same point I could also extend this to mean that different networks can be connected to each other as well via some of the same mediums that connect two or more devices. A network can be defined as a “subnet” which is a mathematical way to group a consecutive array of IP Addresses together that would represent a small / large network of connected devices.

So we have gone through two concepts which are: 1) a way to identify single devices on a network namely, IP addresses or subnets of devices and 2) relationships formed between devices that give up information of how to route from a source device to a destination device, namely, a defined route on a network.

IP Addresses, subnets and routes are stored and managed by a network device called a router. Dipping into a material that cannot be done justice by merely this blog post, a router is an Open Systems Interconnections (OSI) model’s definition of a  layer 3 device capable of passing network traffic by referencing a network packet’s IP address headers.

A router can therefore potentially store a routing table with all the known routes between source and destination networks. Having said this, the information that actually gets stored in a routing table is only the definition of a destination network subnet and where to send the traffic if traffic is intended for that subnet. It does not store source subnet information as the router always just tells you how to get to a destination and not where you came from.

A few simple notions here:

  • Define your source and destination subnets
  • Identify where your source network boundary starts and stops
  • Define all the routes for each destination subnet from the source network boundary
  • Identify on your router all the physical mediums used as to help you route to your destination subnets

This simple checklist should start to put your mind at ease once you start unpacking your complex computer network by racing through the four checkpoints above. Have fun!