Holy cow, when starting to write this series I in no way expected it to turn into a 12 part, 3 month process. I have covered so much, but there is so much more that could have been covered. It’s been a challenge to keep pulling back and remembering that this is just a primer. To recap what we’ve covered by post:

Part Description Part 1: Introduction Introduction to series content and objectives. Part 2: Defining Networking with OSI and TCP/IP Suite Defining networking background, terminology and models. Part 3: Application, Presentation and Session Layers Describes the tope 3 layers of the OSI model. Part 4: Transport Layer, TCP and UDP A dip into the world of connection-orientated vs connectionless protocols. Part 5.1: Network Layer – IP Addressing IP Addresses, what they are and how they are used. Part 5.2: Network Layer – DNS and DHCP Converting IP addresses to names we can […]

Our 7th and Final OSI Layer is the Physical Layer. Unless you are planning to work with or design specialist hardware there isn’t much interaction required with this layer from an administrative point of view. We’ll cover some of the basics here but not in-depth. This layer strays directly into the realms of science, more specifically physics and even more specially quantum physics. This is most definitely the geekiest post in this series.

Most modern computers store, process and transmit data in its simplest form, binary. It makes sense to encode data in the form of binary as even the most complex information can be broken down and represented as combinations of simple 0s and 1s. This simple representation maps very conveniently across to physical properties. The physical technologies we use today work on the premise of data being represented by one of two states, there or not there (on or […]

We were briefly introduced to devices called Network Switches in the last post in this series. A switch essentially acts as a central connection point in a star topology for many network nodes.It is similar to a Hub from a topological perspective but whereas a hub will take a frame in from one port and broadcast it out on all of the other ports, a switch has some built-in intelligence so it may forward the frame only to those ports which should receive the frame. I like to think of a switch very much like it’s similar namesake, the switchboard, from the public telephony world.

In this older world, you picked up your phone to call the operator. When the operator at the other end answered, you would tell her/him who you would like to call, […]

I will start this post with a foreword that at least one of the protocols in the title, CSMA/CD, is obsolete. I’m including it here as it’s very useful to understand why we no longer need it, due to the changes in layer 2 topologies that have evolved over time. A little history can illuminate why we are where we are.

CSMA (Carrier Sense Multiple Access) is a methodology that deals with multiple computing nodes access the same physical media, whether that be a piece of wire, optical fibre or even the air. It makes sense that there should be some rules around when each node can transmit/receive rather than a free-for-all where interference, possible corruption and inefficiency can occur. The media is being shared so access needs to be given through arbitration.

In previous posts we’ve covered logical addressing and moving IP packets of data across our network from source to destination. We’re now going to take a further shift towards the bits and bytes details of how that logical addressing and routing relates to the more tangible physical media that is used to transmit the data. This is where the Data Link Layer becomes applicable. “The Data Link Layer” is a bit of a mouthful, so this is often dropped and the OSI stack layer number is substituted, Layer 2. From this point forward I will use “Data Link Layer” and “Layer 2” as interchangeable terms which mean exactly the same thing.

The Data Link Layer breaks down into two sub-layers. Firstly, we have the upper sub-layer, called Logical Link Control (LLC) and beneath it we have the Media Access […]

Up until this point, all of the layers, addresses and other attributes we have discussed have conceptually existed inside either the source or destination node. We now need a mechanism for physically moving the data from point A and B. While it is possible and would provide a very simple solution to delivering data, having a single connection between each source and destination node isn’t feasible. This might be appropriate for a test system in a lab where we could use a cross-over cable to connect two computers together, but we would face insurmountable challenges if we tried to connect the billions of devices in the world together with one-to-one connections. We need to split down our global network into smaller interconnect pieces and it is at this point we introduce additional devices outside of the nodes that will […]

We have seen in the previous section that each node in a network requires an IP address and that four part address is considerably more human readable than the underlying binary bits that it represents. Unfortunately, our meagre human brain power still has trouble with recognising and differentiating between the addresses. For the same reason, we don’t have postal addresses like this: building 1, street 52, town 34843, city 2828, region 292, country 6, we need another method of identifying the addresses of our nodes. This is done with what’s called a Fully Qualified Domain Name (FQDN). A typical FQDN looks just like the one at the top of you browser: www.bltbytes.com. These names are very easy for us to understand, but the underlying network components can’t understand them. We need a system or method for translating IP addresses to FQDNs […]

The clue might be in the title, but the Network Layer is one of the more important layers in the network stack. So far we have defined high-level identities, application services and data formats. We have also established our protocols, chopped up data into smaller more manageable pieces and tagged them with a sequence number. It is at this point we need to start defining more details on where we will be sending the data and moving closer to establishing a unique address for both source and destination. We also need network components to be in place to allow us to transmit and route the data appropriately.

The two core concepts at work in this layer are addressing and routing.

The transport layer is responsible for providing reliable data transfer services to the upper layers of the OSI stack. It is at this stage that we start to consider actually sending the data. This layer also involves the segmentation/desegmentation of data into smaller chunks. It is very rare that a network will be configured to take a large payload from one source node to a destination node. This is why we will segment the overall data payload into smaller pieces. This is also the first place in the stack where we start to apply some addressing so the destination node understands which listening receiver the data is intended to reach. This address comes in the form of a port number. The destination node may be simultaneously listening for (or have the ability to connect to) different network services and the […]

I’ve decided to group the top three layers together into one post. This is because these are more related to the data to be transmitted across the network, rather than the underlying transport mechanisms themselves. These three layers deal with the semantics of the communication, such as who the data will be sent to, the format of the data and the etiquette to be adhered too between the communicating nodes.

Lego Pirate Ship

The Pirate Ship: As with most technical concepts, analogies can help us understand the underpinning processes which are happening as part of the communication. For this series, I’m going to use the following analogy: I work in an office in Manchester and I’d like to send a pirate ship made of Lego to a friend, Rich, who works in an office in […]