Networking 101 : From Novice to Knowledgeable
Tags: networking, devops, codenewbie
Published: 2023-08-02 07:59:23

## What is Computer Networking?

Computer networking is like the internet's magic that lets computers talk and share stuff with each other. It's all about connecting devices, like computers, phones, and tablets, so they can share data, files, and even printers.

Do you know how we have addresses for our homes? Well, in networking, devices have their own unique addresses called IP addresses. This helps them find each other and send data back and forth. So, whether it's browsing the web, streaming videos, or sending messages, computer networking makes it all possible!

## History of Computer Networking?

Alright, let's take a journey back in time to explore the history of computer networking!

It all started in the 1960s when researchers and scientists were figuring out ways to connect computers together. Back then, computers were huge and expensive machines that filled entire rooms, and they couldn't really talk to each other.

In the late 1960s, the U.S. Department of Defense's Advanced Research Projects Agency (ARPA) came up with a crazy idea. They wanted to create a network that could link their computers across different locations. This led to the birth of ARPANET, which is considered the ancestor of the modern internet.

In 1969, the first successful message was sent over ARPANET from one computer to another. It was a simple "LOGIN" command, but that small moment marked the beginning of a massive revolution.

As the 1970s rolled in, more computers and research institutions joined the ARPANET party. They started figuring out how to make different types of computers communicate with each other. This challenge eventually led to the development of the Transmission Control Protocol (TCP) and Internet Protocol (IP), forming the foundation of the famous TCP/IP protocol suite.

The 1980s saw a significant expansion of networking, and the term "internet" started to gain popularity. But don't think it was like the internet we know today. It was mostly used in academic and military circles, and the World Wide Web hadn't been born yet.

The real game-changer came in the 1990s when the World Wide Web was introduced. Tim Berners-Lee, a brilliant mind, developed HTML (HyperText Markup Language) and HTTP (Hypertext Transfer Protocol) to create websites and browse information easily. Suddenly, the internet became user-friendly and accessible to everyone.

Today, computer networking is an integral part of our lives. We're connected like never before, with billions of devices linked together, from smartphones to smart fridges, all thanks to the remarkable history of computer networking!

## Network Topologies

Imagine a network topology as the way devices (like computers, printers, and phones) are connected together in a network. It's like deciding how to arrange your friends at a party or how you and your buddies hold hands in a circle.

**1. Star Topology:**

Imagine the star topology as a party with a central host and guests all around. In this setup, all the devices (guests) like computers, printers, and phones are connected to a central hub (host). When one device wants to talk to another, it sends the message through the hub, and the hub forwards it to the right destination. It's like everyone at the party chatting through the host.



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/59lqiiqbu3inwigo0076.png)

_Pros:_

- Easy to set up and manage, just like a friendly party organizer.

- If one guest misbehaves or leaves the party, it doesn't spoil the fun for everyone else.

- Good performance, as everyone has a direct line to the host for talking.

_Cons:_

- If the party host (hub) gets sick or goes on a break, the 
  whole party (network) might come to a halt.

- You need more cables because all guests are connected to the 
 host's place.

- Sometimes, if too many guests talk at once, it can get 
  crowded around the host.

**2. Bus Topology :**

Picture a long bus with passengers sitting in a row. In a bus topology, all devices are connected to a single cable (like the bus aisle). When one device sends a message, it travels along the cable, and every device gets to listen in. If the message is meant for a specific device, that device grabs it, just like a passenger picking up their luggage.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q2skqceeqjhdlda1buvt.png)

_Pros:_

- Simple and cost-effective, like taking a short bus ride.

- Less cable is needed since everyone shares the same bus.

- Easy to add more passengers (devices) by just making them sit on the bus.

_Cons :_

- If the bus cable gets cut or has a problem, the entire bus ride (network) stops.

- As more passengers (devices) hop on the bus, it can get crowded, and messages might collide.

- Finding where the cable problem happened is like looking for a needle in a haystack.

**3. Ring Topology:**

Visualize a group of friends holding hands in a circle and passing a message around. In a ring topology, each device is connected to two other devices, forming a closed loop. When a device wants to send a message, it passes it along the ring until it reaches the right friend (device).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wydo755veoej5ah1zk22.png)


_Pros:_

- Everyone in the circle gets to participate and pass on the message.

- It's balanced, as each device has an equal role in communication.

_Cons:_

- If one person in the circle lets go or the chain breaks, the message can't travel anymore.

- Adding or removing friends (devices) from the circle can be tricky.

- Sometimes, the message might go around the circle several times before reaching the right friend, causing delays.

**4. Tree Topology:**

The tree topology is like organizing a party with a family tree. The main host (central hub) is at the top, and cables (branches) extend out to connect to other hosts (devices) below. Each host can have more branches (sub-devices) connected to them, forming generations like in a family. Just as guests at the party pass messages from the main host to the other hosts through the branches, data travels from one device to another in the tree topology. It's efficient for managing larger networks but needs careful planning to ensure a reliable party (network) in case the main host is unavailable.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h9qtga6xcpt9g7a7qwah.png)

_Pros:_

- Think of the tree topology like a well-organized party. It's great for larger gatherings where people are grouped into different sections. This way, it's easier to manage who's where just like devices in a network.

- If you want to grow your party and invite more guests, the tree topology allows you to do that easily. You can add more sections and branches to accommodate more people (devices).

_Cons:_

- Now, imagine all the guests in your party getting together around one person to chat and have fun. If that person suddenly leaves or gets sick, the whole party mood might go down. That's the downside of a tree topology - if the central hub fails, the whole network might suffer.

**5. Mesh Topology:**

The mesh topology is like throwing a grand party where everyone directly connects with everyone else. Imagine each guest at the party having a direct line to every other guest, like a web of connections.

In a mesh topology, every device (guest) is connected to every other device with its own cable (line of communication). So, when someone wants to share a message or data, it travels directly to the intended recipient, just like guests whispering secrets to each other without any intermediaries.

This setup ensures robust communication and redundancy, like how multiple paths exist to reach any guest in case some paths are blocked or unavailable. However, it can get a bit complicated and costly to manage in larger parties (networks) with many guests (devices). Nonetheless, it's excellent for ensuring seamless direct communication among all the guests (devices) in the mesh.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4b4o9kckvs0kd0nffxpy.jpg)

_Pros:_

- A mesh topology is like creating multiple direct connections between each guest at the party. It ensures strong communication, like everyone being able to talk to everyone else without any intermediaries.

- If you have lots of friends at the party, this setup offers a backup plan. If one route to talk to someone is blocked or not available, you can still find another path to reach them. It's like having secret passages at the party to make sure you can always find your buddies.

_Cons:_

- Imagine trying to set up lots of one-on-one conversations with everyone at the party. It can get pretty complicated, right? That's the challenge of a mesh topology - as the number of guests (devices) increases, it can become complex and expensive to manage all the direct connections.

- Also, when your party gets super big, keeping track of all the connections and making sure everything runs smoothly can be a bit tricky.


Each topology has its strengths and weaknesses, just like different ways of organizing a party or a group of friends. Choosing the right one depends on the needs and size of the network!

## Network Devices: Introducing essential networking devices like routers, switches, hubs, and modems.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x7wvt7p8hdf8o6y1w8zg.png)

Let's talk about the cool gadgets that make computer networks possible - networking devices!

1. _**Routers:**_ Think of routers as the traffic directors of the network world. They're like the GPS that helps data find its way from one device to another. When you send an email, browse the web, or stream a video, the router makes sure your data takes the best route to reach its destination. It connects different networks together, like joining highways, so data can travel between them smoothly.

2. _**Switches:**_ Switches are like traffic lights at intersections. When you send data within a local network (like at home or in the office), switches make sure it reaches the right device. They're super fast, deciding where the data needs to go and sending it only to the right device, not wasting any time or bandwidth. So, when you send a funny cat picture to your friend in the same room, switches are the ones that get it there in a flash!

3. _**Hubs:**_ Hubs are the old-school cousins of switches. They used to be popular, but now they're not seen as much. Hubs are like the loudspeakers in a party; when a device sends data, the hub broadcasts it to all devices connected to it. But, unlike switches, there's no intelligence in hubs, so they're not very efficient. Imagine everyone shouting at once in a room full of friends; it can get confusing, right? That's why switches took over - they make sure the right data goes to the right place.

4. _**Modems:**_ Modems are the gatekeepers of the internet. They connect your home network to the vast world of the internet. When you want to check your favourite website or watch funny videos, the modem translates the digital data from your devices into signals that can travel over the phone or cable lines. It's like a translator that helps your computer speak the internet's language.

These devices work together to form the backbone of computer networks, allowing us to do incredible things like sending messages, sharing files, and exploring the vast expanse of the internet. So, next time you send a message or stream a movie, remember the awesome network devices making it all possible!

## OSI Model and its 7 Layers

Imagine the OSI Model as a guidebook that helps different computer systems talk to each other. It's like a universal language that ensures smooth communication between devices, no matter what brand or type they are.

The OSI Model stands for "Open Systems Interconnection," and it's divided into seven layers, each with its specific role in the communication process. Picture it as a seven-story building, with each floor handling a particular task.




![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s94g8oyityesht3vajdn.jpg)

1. _**Physical Layer (The Ground Floor):**_

This is the foundation of the OSI Model, just like the ground floor of a building. It deals with physical connections, like cables and network cards. Its job is to send raw binary data over the network, 0s and 1s, without worrying about what the data means.

2. _**Data Link Layer (The Second Floor):**_

This floor is like the bridge between the physical layer and the layers above. Here, data is framed into packages, and each package gets a "house number" (a.k.a. MAC address) for easy delivery within the local network. It also handles error-checking to ensure that the data arrives accurately.

3._**Network Layer (The Third Floor) :**_

Imagine this floor as the traffic controller of the network. It uses logical addresses (IP addresses) to find the best route for data to travel across different networks. Just like a GPS, it figures out the fastest path to reach the destination device.

4. _**Transport Layer (The Fourth Floor):**_

On this floor, data is divided into smaller, manageable chunks, known as segments. It also ensures that all segments arrive safely and in the correct order at the destination. This way, even if some data gets lost or scrambled along the way, the transport layer can fix it and ensure a reliable connection.

5. _**Session Layer (The Fifth Floor):**_

The session layer is like a virtual assistant that sets up, maintains, and tears down communication sessions between applications on different devices. It keeps everything organized and ensures that both parties agree on how to communicate.

6. _**Presentation Layer (The Sixth Floor):**_

Here, data gets a makeover. It transforms the data into a format that applications can understand. Think of it as a translator that converts data into a language that the receiving application can read and interpret.

7. _**Application Layer (The Seventh Floor):**_

This is the top floor, where all the action happens. It's the layer that interacts directly with the user or the software application. This is where email, web browsers, file sharing, and other user-oriented programs reside. When you send an email or browse a website, the application layer handles everything.

So, there you have it - the OSI Model, a fantastic guidebook with seven floors, each playing a crucial role in making sure our devices communicate harmoniously and share information flawlessly across the vast world of computer networks!