DEV Community

Rakshita Bhansali
Rakshita Bhansali

Posted on

Welcome to Day 1 of Learning in Public

A coder usually doesn’t write the README before finishing the project, so let’s skip the formal introduction for now and jump straight into what I learned today.

Let’s start with the basics of networking.

What is networking?
At its core, networking is simply the connection of multiple devices so they can communicate with each other.

But once everything is connected, how do we identify which device is which?

This is where IP addresses come in.
An IP address is like a home address for a device. It helps the network know exactly where to send data.

Now let’s understand this with a simple example.

Imagine you are building a website. Instead of putting everything on one system, you separate it into different parts:

  • Frontend (what users interact with)
  • Backend (logic and processing)
  • Database (data storage)

Each of these runs on a different machine, and each machine has its own IP address.

Now the question is: when a request comes in, how does the system know where to send it?

This is where port numbers come into play.

IP addresses identify the machine, but port numbers identify the specific service on that machine.

You can think of it like this:

  • IP address is like an apartment building
  • Port number is like a specific apartment inside that building

This allows traffic to be directed precisely to the correct service.

As your application grows, one server is no longer enough. A single server can become a point of failure, a security risk, and may not handle large amounts of traffic efficiently.

So we introduce multiple servers that can communicate with each other.

However, if servers are open to all traffic, that creates security risks.

This is where** firewalls **come in.

Firewalls act like security guards. They monitor incoming and outgoing traffic and decide what should be allowed and what should be blocked.

Most systems use private IP addresses internally for security. These private networks are not directly exposed to the internet.

But some parts of the system, especially the backend, still need internet access for things like payment gateways, APIs, or software updates.

So how do private systems communicate with the internet?

This is where NAT (Network Address Translation) comes in.

NAT acts as a bridge between private networks and the internet. It hides internal IP addresses and manages traffic going in and out of the network.

This allows systems to communicate externally without needing a public IP address for every machine, which reduces cost and complexity.

Today was about understanding the basics of how systems connect, communicate, and stay secure.

Next, I will explore how to scale these systems further using cloud technologies.

Top comments (0)