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!

What you need to know about Vlan Segmentation?

Well, let’s first get down to the basics and define a few keywords here. A network is a group of connected devices that allows for the sharing of resources and information. Each device on the network is identified by what we call an Internet protocol (IP) address. All devices are connected to a single network, either physically or wirelessly connecting to a single device called a switch or wireless access point. The definition of all common devices connecting via a single medium is called a local area network (LAN).

With all devices connected to each other via cable or wireless, the question beckons, how do these devices communicate with each other?

Well, these connected devices send data between each other by addressing each other by their IP address. The sender’s and recipient’s IP address are both found in the data stream that flows between the sender and receiver. This information therefore allows the receiver to respond to the sender.

So by this oversimplified description of networking, we can take from this that the IP address is an important piece of the puzzle to allow devices to communicate on a single network.

Now, with that fun fact in your pocket, how does this bring us back on track to the topic at hand? Well, let’s hit you with another definition, shall we?

A vlan (pronounced V LAN), like a LAN is a “virtual” local area network which means that you no longer need a physical device acting as a connecting medium between all other networked devices per LAN. All that is different in this scenario, is that each virtual LAN is represented by what we call a vlan tag… a number value between 1 and 4096.

Now, there are more in-depth concepts to know about networking, like “IP subnetting” which we will not go through in this post although it is crucial to actually realizing vlan segmentation. Check out the CCENT courses on cbtnuggets by Jeremy Cioara for a detailed look at how to subnet like a boss. Here is a link to a few examples covering Jeremy’s method of subnetting.

The basics thou on subnetting is that you can calve out slices of a network subnet into smaller pieces to then make up multiple smaller subnets. This way you can save IP addresses and still keep devices protected from talking to each other by placing them into their own subnet or vlan. Each subnet makes up a vlan. Each vlan plays within its own IP address space. Devices in a single vlan can send broadcast messages to every device only within the boundaries of its own vlan.

Therefore an additional benefit to vlan segmentation is the reduction of broadcast packets on the Network. This is great for improving network performance.

So let’s get started with the shopping list shall we?

What makes a good planning session for vlan segmentation… here is your check list below:

> Define your starting subnet size. What is the network subnet that you will be breaking up into smaller networks?

> How many different networks do you need at the one site?

> How many devices do you need to cater for in each smaller network?

The Network block sizes starts from 2 and works its way up to 128 in an exponential to the power of two. E.g. 2, 4, 8, 16, 32, 64 & 128

In each network block size, you will need to reserve the first IP address for the Network identifier and the last IP address as the broadcast IP address therefore we can take the above increment examples and subtract 2 from it to get a true available count of IP addresses to use in your smaller subnets.

Illustration 1: Block Size Template

In the illustration above you can see that in each subnet block the next number from zero increases by the amount denoted by the block size, so if the subnet block is 4, you see increments of 4 until you reach the end denoted by the number 256.

> Now that you have defined how many networks you need and the size of your smaller networks, it’s time to line them up in descending counts. Let us explain this with a small scenario:

Scenario 1: You have a Network subnet of 192.168.0.0/24. This equates to 254 available IP Addresses to allocate to networked devices. You have to break this large subnet up into 5 smaller networks of different sizes to allocate for the different types of networked devices in your office. You have to cater for at least 80 client pc’s, about 20 printers and 9 wireless access points that offer 2 different Wi-Fi networks that would each need to cater for at least 25 clients.

So to summarize, I have 5 networks that I need to cater for in descending order from 80 desktop clients, 2 x 25 wireless clients, 20 x printers and lastly 9 wireless access points. When applying these numbers to the Block Size template, you must choose a block size that is larger than the amount of clients needing IP addresses for that network. Therefore I would need at least 1 x block 128, 3 x block 32 and 1 x block 16.

Always start your largest network from dot zero. Therefore the network range for the PC’s would be from 192.168.0.0 – 192.168.0.127. Remembering that the first IP and the last IP in a range should be reserved as network identifier and the broadcast IP, you then land up with the following definition for the first IP block:

Block Size 128 Subnet:  192.168.0.0/25 (Slash Notation Representation)

192.168.0.0:                      Network Identifier
192.168.0.1 – 126:          Available IP’s in Block Size 128 subnet
192.168.0.127:                 Broadcast IP

The easier way to write down a network subnet is by slash notation. The cheat sheet for slash notation for the different block sizes is below:

From the range of available IP’s you would need to select which IP in the range would be best suited as your default gateway for that Network block. A word of advice, would be to always either choose the first available IP address in the range or the last available IP in the range.

After sorting your required Network blocks in descending order and defining your Network identities, gateways and broadcast IP addresses, you would have, at this point defined your blueprint for vlan segmenting your Network.

Scenario 1: Vlan Segmentation Example Blueprint

All that’s left to do now is to configure your network as per your blueprint and switch on your network!

Network Troubleshooting, A deep dive!

When troubleshooting a network problem, you have only one objective. This is to understand how your network works! Without observing the normal behavior of your network and identifying what needs to happen, picking up what is broken, what is not the norm, what is not flowing in the wrong direction, will forever be a dream.

Speaking about dreams, let us fire up those imagination cells and paint a picture about a fictional network. This network, let’s say it is a basic network connecting 2 computers to a printer and to the Internet. These computers belong to two very different human beings. One concerned on sales and the other on production. Sales is always concerned on how much production can output and production is always concerned on what the sales projections look like. But the trick here is that the two humans refuse to collaborate and share information with each other unless it goes through email. That way they each know that the information shared is deliberate and not freely accessed.

Did I mention these two humans where brothers? Yup competitive at that, as well. Always trying to do better than the other. Yes, and you are the lucky one that they approach to setup their network.

Brace yourself…

Part 1: The Design Phase

Well, you think back to you Cisco ENT training days and confirm in your thoughts that all you really need here is the following equipment:

  • Internet connection
  • Router
  • Switch
  • Two computers
  • 1 printer

That’s it right? , hmmm…something is missing…the brothers think to themselves. They look down at their smartphones and BAMMM!! Stars!! Drum Rolls!! IDEA!! “What about WiFi? We want free WiFi”, they say. You begin to giggle but hold it back. They might get WiFi but they will also end up paying for it at the end of the day, you grin internally and agree, “yes, we can deliver WiFi as well”, deliberately forgetting the word free in your promise.

  • WiFi Access point

So, we have a network! Nope, we have endpoints! These endpoints need to still be connected to each other with network cable to truly represent a network. A Network, defined, is a group of connected devices that share common resources and information.

So how do we begin to connect these endpoints together to setup a network?

While the router is the bread winner in this design and provides the internet access, the switch is the real deal in keeping the communication channels open between each device connected to it. And the other devices, well they all access the internet and make use of the common resources like the printer. (See diagram 1 for a depiction of what a connected network would look like)

Diagram 1: A Basic Network Layout

Now that we can see how the devices physically connect to each other, this still does not tell us how they will know how to communicate to each other. Being able to physically and logically identify each connected device uniquely will greatly help our crusade in getting better communication flow between these connected devices.

We heat up the old stamping iron in our fireplace and we press hard on each device to physically mark them… (Insert evil laugh emoji) OK we don’t do the above.

Each device that is network capable is given a unique set of letters and numbers by its manufacturer called the MAC Address (Media Access Control Address). This is a 12 character address displayed either in 3 sets of 4 characters each or 6 sets of 2 characters each. E.g. C0-91-34-33-F0-80

Network packets that flow from one device to the next are populated with the details of where it’s coming from and where it’s going too. These details include the Source Mac Address and the Destination Mac Address. Each packet must contain the mac address of the destination device so that when the packet passes a device, that device knows where to the send the packet too next.

All switches maintain a Mac Address table. This table maps each port number with the mac address learned from that port on the switch. Therefore when Human 1’s laptop sends packets to the printer, the switch intercepts the packets from the port connected to laptop 1 and passes it on to the port connected to the printer. This is what we call “LAYER 2 switching”. This is the movement of network packets by simply relying on knowing each devices Mac address. Layer 2 networking is limited to devices being connected to a common switch or stack of switches because layer 2 networking is heavily dependent on a well maintained MAC Address Table.

Now that we have highlighted the need for MAC Addresses which is the physical address of a device, let us explore the logical address of a device. This is known as the IP address. An IP address is made up of 4 octets. We call it an octet because each octet when displayed in the computer language called binary, is made up of 8 digits represented by either a 0 or a 1. These groups of 8 binary digits when converted into a decimal number can fall anywhere between the number 1 and 255 inclusive.

E.g. 192.168.0.1 (Decimal)

11000000.10101000.00000000.00000001 (Binary)

This logical address remains static in a network packet while the mac address in a network packet changes after each device the packet passes through. This allows for network packets to travel far beyond the boundaries of a single switch or series of connected switches.

Remember we planted the seed earlier that a MAC address is learned by the port on a switch?

This process populates a MAC address table with the learned mapping. This is achieved by each device sending a “hello” packet to announce itself on the network. These “hello” packets help populate the switches MAC address tables so that the switch knows exactly which port each device is saying hello from.  The Magic truly happens when a device tries to send a network packet to another device but does not know the mac address of the device it needs to send it too. This is because devices are more commonly identified by their logical addresses than the physical addresses.

Say for example, that laptop 1 with IP address 192.168.0.10 wants to send a print job to the printer with IP address 192.168.0.15, the laptop formulates the packet details with the source MAC address of Laptop 1, the Source IP address of laptop 1, the destination IP address of the Printer but a wildcard destination mac address. In order words it gets in front of the stage with a Mic in Hand and the speakers facing the crowd and asks the question, “Who is IP Address 192.168.0.15?”

When the printer hears this question it responds to laptop 1 with its own MAC address. Thereby allowing Laptop 1 to replace the wildcard destination mac address with the true mac address of the printer. This wildcard mac address is always initially the mac address of the devices default gateway.

So now that we semi understand how packets flow from one device to the next just by having the information in it of the source and destination IP Address and Mac Address. We can make the assumption that we can finally get to the internet, right? Well that’s assuming that accessing the internet is obtainable just by knowing the IP address of where you want to browse too, right? Hmmm… something about this story doesn’t sit quite right yet. If I recall, accessing the internet involves knowing the name or series of names of the website you want to browse too. This entails managing or maintaining some sort of list that knows the IP Address of every single name there is for a website out there.

Luckily for us, the IT folks out there have provided this list for us in the form of a Domain Name Service or in short DNS. This service is publicly accessible to use as a cheat sheet if you will to allow your device to determine the IP address of a website you are browsing.

The Recap:

Switches allow for more than one network capable device to connect to each other locally in a common space.  DNS allows those devices to break loose from the confines of that common space and allow the devices to reach out and touch the World Wide Web.

A part 2 to this story coming to you soon, showing you how freedom is obtained by cutting loose those network cables.

“Why is the network important?”

The story begins by explaining the purpose of a network. The textbook explanation of what is a network goes a little something like what follows: A network is a group of connected devices that share common resources and information. I would say that the textbook said it best and will not make a second attempt at that explanation…

Now the act of sharing is to move items of relevance from one object in space to another. If a network allows for the sharing of resources and information, we stretch that understanding to mean that object A (for argument sake, your pc/laptop) needs to share the word document with your printer. Now! How this happens will blow your mind away…

Object A users the OSI Reference model to translate what you see on your word document into bits, and transmits these bits via electrical signals across a conductive material such as copper which connects object A to object B. The electrical signals can also be converted into radio waves before being transmitted out of object A. These radio waves broadcast the signals out to any device that is listening. The signal is intended for a specific device but the message is sent to any device that can listen for radio waves… The intended device will be able to rebuild the signal it receives into something that can be legible to the human eye.

The same electrical signals can also be converted into light pulses which then transmit through glass tubing from one connected device to another. This medium is called a fibre connection. Light being faster than movement of current through conductive material allows us the use of even greater speeds on our networks.

So you get the picture when two devices are connected to each other via either conductive material, radio waves or fibre, and yes, that is the simplest form of a network where two devices are able to share information with each other.

But there are more than 2 people that make use of technological devices in this great world of ours. We therefore need to expand this idea of a network to be able to connect more than two devices. We achieve this by making use of multiport devices such as hubs and switches.

A hub or a switch helps create a Local Area Network (LAN) which allows many devices to connect to one central device that is then used to pass information in the form of electrical signals from one connected device to the next. The Hub can be explained by the following analogy.

It is a hot summer’s day, there are crowds of people standing around in an open field. There is a rather large stage in the middle of the field. In the centre of the stage, there is a tall, shiny, new mic stand. Along the side of the stage, there are multiple sets of towering speakers facing all directions outwards towards where the crowds are located. You take to the stage and approach the Mic, you speak the words, “Welcome to the 2016 Olympic games”. Every single person in the crowd, roars into excitement from hearing those opening words that you just delivered from the stage.

Now to bring this analogy back home to what is a hub and how it works…

The same way that every single person in the crowd was able to listen for, and hear the message being broadcasted from the centre stage is similar to how the hub is able to transmit signals from one device to every other device connected to the hub on the LAN. When a hub receives electrical signals from a specific port on the hub, it re-generates that signal and broadcasts the same signal out to every other port on the hub. In essence every single device connected to the hub gets the same message.

The switch on the other hand works more like a mail man delivering mail to your post box. The mail man needs to know your physical address before it is able to deliver the mail to your post box. Similarly, the switch needs to know what is connected to each of its ports before it can pass an electrical signal through a specific port. The switch does behave like a hub every time it is powered on because it sends a broadcast message to all connected devices asking for the physical address of the device so that it can map the address back to a port on the switch. The physical address of a device is called the Machine Access Control address (MAC Address). The MAC address is stored in the memory of the switch once the switch learns the MAC address from the connected device.

So let us try and answer the question of, what is a network, again. The textbook meaning is still the following: A group of connected devices that share common resources and information. Breaking this down into its components looks a little something like what follows:

A group of connected devices: well, how are they all connected? One could say that it’s the copper cable that connects the devices. Yes, that will be true but that is just the physical connection. If there are more than two devices that are in this connected state, we add to the story that the network is the cable plus the device that all the cables connect into, which can either be a hub or a switch. Yes, I know some of you might argue that this is still a physical connection adding more physical devices to the story like a hub or switch. I would counter-argue at this point thou, that the switch or hub do add a logical element to the physical connection… So from breaking this down a bit, we now understand that the network is all the bits in between each device that is connected to each other. The micro freeways of the 21st century so to say, getting info bits from one device to the next.

And, why is a network important? Well, without connecting devices to each other via the network we will not be able to share common resources like office printers and fileservers and we will also have to physically approach and access each device independently to be able to view the information stored on that device.

The network makes sharing common resources and accessing information across multiple devices that much more achievable. This is why it is so important that it exists!

When someone says “it’s a network problem”, the right response is…

To Network Engineers out there, those four simple words evolve into the worst statement ever. My email is not emailing, it’s a network problem; the internet is slow, it’s a network problem; the actors/actresses are not sexy enough in this movie, it’s a network problem…

When is it ever not a network problem??? It’s seems like it’s the easiest area to blame all problems on, right?…probably because it’s this space filled with questions, raised eyebrows and higher grade terminology used deliberately to confuse the weak and befuddle the brave…

Well, I hope to, in this journey you are about to take with me, de-mystify the world of networks for you…at least I hope to try…

What is a network?

A network in the simplest of terms is a group of connected thingymajiggy’s (well known as electronic devices) that share common resources and information. The electronic device can be a laptop, a pc, a printer, a mobile phone, a television, and yes even your fridge. If you haven’t already realised it, you are using the biggest network in the world right now, reading this piece…yes we all love it and call it affectionately “The Internet” / “the world wide web”/ “The Net”.

To hone in the understanding of networks, let us take a smaller look at networking and break this down a bit further.

Let us paint the scenario, shall we…

It’s assignment season…You are armed with your sturdy laptop and you have just finished typing your final year assignment. You click “save”. The little hour glass icon dances around for a bit and bam…just like that, your hard earned effort is loaded into the matrix. But wait, you realise that your lecturer is pretty old school and likes things printed…(i know what you’re thinking, does he recycle? I DON’T KNOW!), either way, you need to print your assignment before its too late to submit. Your printer is connected via cable to your home router (the little box in your house with a couple of cables connected to it and flashing lights). Your laptop is connected to the Home Wifi . Holding breath, dramatic pause…The moment… The assignment needs to get from your laptop to the printer. You click the “print” button….and you slowly turn your gaze onto the printer….and then….silence….that awkward moment when you may very well have a network problem…eeek!

Let us take a break from the scenario to explain the purpose of why networks exist. Computers were invented to capture information, process information and store information. Networks were then invented to share information between the various computers that stored this information. Getting information from one computer/device to another was and still is the sole purpose for the existence of networks till this very day. Information is converted into, what the tech industry calls binary, which is then turned into electrical signals that travel on various types of media like copper cables, fibre cables and no cables (wireless) from one device to the next.

In order to achieve this objective, each device needs to know of the existence of the next device. This is achieved by each device telling every device about its physical address (also known as the MAC or media access control address). The MAC address is essential for information to flow from device to device in a local area network (LAN). When we move beyond the local area network we start getting into the topic of logical addresses also famously known as the IP Address (Internet Protocol Address).

A Local Area Network can be defined as a group of electronic devices connected to the same wired network device or same wireless network name. These network devices have evolved over the years to become more and more intelligent in the way it moves information from one device to another… But that’s another topic for another day…

So when someone says it’s a network problem, I always, this is important, start to grin ever so slightly and respond with the following kind questions:

  1. What is the objective that you are trying to achieve here?
  2. What in your opinion is not happening correctly?

These very simple questions will often at a 99.9 % success rate always arm the Network Engineer with two very valuable pieces of information, namely:

  1. The Source device and
  2. The Destination device

It’s all very easy from there, if you are the actual network administrator for the network in question. Although, If you don’t already administer the network where the problem occurs, and in most scenarios, this is the case, you may need to follow up those questions with a few more questions, like (Oh, by the way this is when that family member comes to you with their technology problem because they think you know the answer):

  1. Is the device you are trying to connect too switched on?
  2. Are both the source and destination devices connected to the network?
  3. Can you see the lights flashing on the network device?
  4. What are the IP addresses of the source and destination devices?

There is one important point to take away from this story, which is, there is a very urgent need to separate facts from assumptions and then vitally important to build your understanding of the situation from only the facts of the story. With a keen eye on Networking basics and a clear understanding of the “network problem”, solving it becomes a walk in the park.

I will cover a few network troubleshooting techniques in my next post…stay connected…