<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hamidreza</title>
    <description>The latest articles on DEV Community by Hamidreza (@hamidrezaesh).</description>
    <link>https://dev.to/hamidrezaesh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4061345%2F623307e2-79da-4c37-aefe-7a9d064a1606.png</url>
      <title>DEV Community: Hamidreza</title>
      <link>https://dev.to/hamidrezaesh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hamidrezaesh"/>
    <language>en</language>
    <item>
      <title>Network Engineering Notes</title>
      <dc:creator>Hamidreza</dc:creator>
      <pubDate>Thu, 12 Nov 2026 09:55:57 +0000</pubDate>
      <link>https://dev.to/hamidrezaesh/network-engineering-notes-f4i</link>
      <guid>https://dev.to/hamidrezaesh/network-engineering-notes-f4i</guid>
      <description>&lt;p&gt;Welcome to my Network Engineering notes!&lt;/p&gt;

&lt;p&gt;In this series, we'll explore computer networking from the ground up, starting with the fundamentals of how the Internet works and gradually moving toward more advanced networking concepts, technologies, and protocols.&lt;/p&gt;

&lt;p&gt;Our topics and learning path are based on the &lt;a href="https://roadmap.sh/network-engineer" rel="noopener noreferrer"&gt;Network Engineer Roadmap&lt;/a&gt; by roadmap.sh, which we'll use as a general guide throughout this journey.&lt;/p&gt;

&lt;p&gt;The goal is to make networking concepts easier to understand through simple explanations, practical examples, and a step-by-step learning approach.&lt;/p&gt;

&lt;p&gt;At the end of series, All notes will publish to a github repository on my &lt;a href="https://github.com/hamidrezaesh" rel="noopener noreferrer"&gt;profile&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>networking</category>
      <category>notes</category>
    </item>
    <item>
      <title>Chapter 1 — How Does the Internet Work?</title>
      <dc:creator>Hamidreza</dc:creator>
      <pubDate>Thu, 12 Nov 2026 09:48:17 +0000</pubDate>
      <link>https://dev.to/hamidrezaesh/chapter-1-how-does-the-internet-work-3ce5</link>
      <guid>https://dev.to/hamidrezaesh/chapter-1-how-does-the-internet-work-3ce5</guid>
      <description>&lt;p&gt;Let's start with the basics of networking using an example.&lt;/p&gt;

&lt;h2&gt;
  
  
  A University Full of Data, with Limited USB Flash Drives
&lt;/h2&gt;

&lt;p&gt;Imagine two computers want to transfer a file. What's the solution?&lt;/p&gt;

&lt;p&gt;The first way is to plug a storage flash drive into one computer and transfer the file using it.&lt;/p&gt;

&lt;p&gt;What's the second way? We can connect those devices to each other using a cable and transfer data between them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F57lxhwt1edco9dok5q8a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F57lxhwt1edco9dok5q8a.png" alt="Internet schema 1" width="600" height="152"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now imagine a university with 10 computers that people work on. Assume someone wants to transfer a file from computer 1 to computer 2. What's the solution? Use a flash drive? Use a cable? It's not that hard.&lt;/p&gt;

&lt;p&gt;But how about transferring a file from computer 1 to the other 9 computers? Can we use a flash drive? That would be very difficult!&lt;/p&gt;

&lt;p&gt;The only way is to connect those computers using cables. We would need dozens of cables. That's even harder.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa6tklw5h9kos64btuzwd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa6tklw5h9kos64btuzwd.png" alt="Internet schema 2" width="600" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, what's the solution? We can connect all 10 computers to a device using cables. Roughly 10 cables are enough. That central device will handle all requests and transfer data. Now we can send that file to all 9 computers easily.&lt;/p&gt;

&lt;p&gt;So now we've made a network! (Which is called a LAN: Local Area Network.)&lt;/p&gt;

&lt;p&gt;The central device that connects computers to each other is called a &lt;strong&gt;switch&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Switch&lt;/strong&gt;: A networking device that connects multiple devices within a Local Area Network (LAN).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F10cs106txrmfm2fjdta2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F10cs106txrmfm2fjdta2.png" alt="Internet schema 3" width="600" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now imagine we want to send a 1 GB file from computer 1 to computer 10. Technically, we can't send 1 GB of data using a cable in one go. We have to split this file into small pieces of data. Those pieces are called &lt;strong&gt;packets&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Packet&lt;/strong&gt;: Data sent over the Internet is split into small pieces called packets. Each packet has part of the data and information about where it's going.&lt;/p&gt;

&lt;p&gt;Okay, so we said we can send a file from computer X to computer Y using a cable and a switch. But how is the data sent? How does it arrive? What are the rules?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Protocol&lt;/strong&gt;: The rules that define how data should be sent, transported, and received.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We will talk about protocols in future chapters.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We said that if we want to transfer a file from computer 1 to computer 2, we use a switch. But how does the switch know which one is computer 2? There are 9 other computers that could be the destination.&lt;/p&gt;

&lt;p&gt;Let's go deeper into the concepts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IP Address&lt;/strong&gt;: An address that identifies a device on a network and helps data find its way to that device. Example: &lt;code&gt;192.168.1.2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So now let's make our example more focused.&lt;/p&gt;

&lt;p&gt;Imagine computer 1 (with IP: &lt;code&gt;192.168.1.1&lt;/code&gt;) wants to send a file to computer 2 (with IP: &lt;code&gt;192.168.1.2&lt;/code&gt;). It will tell the switch: "Please send this file to computer 2 with IP &lt;code&gt;192.168.1.2&lt;/code&gt;." Now it's clear.&lt;/p&gt;

&lt;p&gt;Okay, so our whole example was about a university. But what if we want to send data from computer 1 to computer 2 at another university with 10 computers?&lt;/p&gt;

&lt;p&gt;We can connect all 20 computers together using one switch. But what if we have 10 universities? Should we connect 100 computers to one switch? That's kind of difficult.&lt;/p&gt;

&lt;p&gt;Instead, we can connect the switches of each university together. Now we have to connect 10 devices together. But how? We would need lots of cables.&lt;/p&gt;

&lt;p&gt;What can we do? We can connect all those switches to a central device, which is called a &lt;strong&gt;router&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Router&lt;/strong&gt;: A networking device that connects different networks and forwards data packets between them, helping devices communicate with other networks.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Maybe you're thinking: Why don't we simply use one switch to connect those switches together? Why do we use another device called a router? You will learn more about the difference between a router and a switch in future chapters.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Let's end our chapter with a comprehensive example.&lt;/p&gt;

&lt;p&gt;Imagine we want to send a 1 GB file from computer 1 (with IP: &lt;code&gt;192.168.1.1&lt;/code&gt;) in LAN 1 to computer 2 (with IP: &lt;code&gt;192.168.1.2&lt;/code&gt;) in LAN 2.&lt;/p&gt;

&lt;p&gt;How do we do it?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Computer 1 first splits the file into several packets.&lt;/li&gt;
&lt;li&gt;It sends those packets to the switch and tells it: "Please send these packets to IP &lt;code&gt;192.168.1.2&lt;/code&gt; in LAN 2."&lt;/li&gt;
&lt;li&gt;The switch knows that the destination is not in its LAN, so it sends the packets to the router.&lt;/li&gt;
&lt;li&gt;The router sends those packets to the switch of LAN 2.&lt;/li&gt;
&lt;li&gt;The switch sends the packets to the destination device.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmdwol37tfno8ejuyhgcv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmdwol37tfno8ejuyhgcv.png" alt="Internet schema 5" width="600" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.cloudflare.com/en-gb/learning/network-layer/how-does-the-internet-work/" rel="noopener noreferrer"&gt;Cloudflare: How Does the Internet Work?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Learn_web_development/Howto/Web_mechanics/How_does_the_Internet_work" rel="noopener noreferrer"&gt;Mozilla: How Does the Internet Work?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geeksforgeeks.org/blogs/how-does-the-internet-work/" rel="noopener noreferrer"&gt;GeeksforGeeks: How Does the Internet Work?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>networking</category>
      <category>notes</category>
    </item>
    <item>
      <title>Networking Fundamentals for Developers: The Only Concepts You Need to Get Started</title>
      <dc:creator>Hamidreza</dc:creator>
      <pubDate>Tue, 04 Aug 2026 14:55:45 +0000</pubDate>
      <link>https://dev.to/hamidrezaesh/networking-fundamentals-for-developers-the-only-concepts-you-need-to-get-started-43dp</link>
      <guid>https://dev.to/hamidrezaesh/networking-fundamentals-for-developers-the-only-concepts-you-need-to-get-started-43dp</guid>
      <description>&lt;p&gt;Networking can feel overwhelming with many protocols, devices, and concepts to learn. This guide focuses on the networking fundamentals that are most useful for developers, Linux users, and beginners in cybersecurity. It covers the essential concepts needed to understand how devices communicate, how data travels across networks, and how common networking technologies work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Why Do We Need Networks?&lt;/li&gt;
&lt;li&gt;MAC Address&lt;/li&gt;
&lt;li&gt;Switch&lt;/li&gt;
&lt;li&gt;IP Address&lt;/li&gt;
&lt;li&gt;Static vs. DHCP&lt;/li&gt;
&lt;li&gt;Subnet&lt;/li&gt;
&lt;li&gt;Router&lt;/li&gt;
&lt;li&gt;Default Gateway&lt;/li&gt;
&lt;li&gt;DNS (Domain Name System)&lt;/li&gt;
&lt;li&gt;Recursive vs. Authoritative Server&lt;/li&gt;
&lt;li&gt;TCP vs. UDP&lt;/li&gt;
&lt;li&gt;Port&lt;/li&gt;
&lt;li&gt;ARP&lt;/li&gt;
&lt;li&gt;Tunneling&lt;/li&gt;
&lt;li&gt;OSI Model&lt;/li&gt;
&lt;li&gt;Network Protocols&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Network Fundamentals
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1. Why Do We Need Networks?
&lt;/h2&gt;

&lt;p&gt;A network allows devices to communicate and share data.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your PC accessing the Internet&lt;/li&gt;
&lt;li&gt;Two computers sharing files&lt;/li&gt;
&lt;li&gt;A phone connecting to a Wi-Fi router&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Devices can connect in different ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ethernet (LAN cable)&lt;/li&gt;
&lt;li&gt;Wi-Fi (Wireless)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  2. MAC Address
&lt;/h2&gt;

&lt;p&gt;Every network interface (Ethernet or Wi-Fi) has a unique MAC address assigned by the manufacturer.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;00:1A:2B:3C:4D:5E
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Think of it as a hardware serial number.&lt;/p&gt;

&lt;p&gt;When devices communicate inside the same local network, they use MAC addresses.&lt;/p&gt;

&lt;p&gt;Important:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MAC addresses normally don't change.&lt;/li&gt;
&lt;li&gt;They are only useful inside a local network (LAN).&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  3. Switch
&lt;/h2&gt;

&lt;p&gt;If we have two devices, they can connect directly to each other.&lt;/p&gt;

&lt;p&gt;But what about 200 devices? This is where a switch becomes useful.&lt;/p&gt;

&lt;p&gt;A switch is a device that connects multiple devices together.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PC1 ----------     Switch     ---------- PC3
PC2 ----------                 ---------- PC4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The switch remembers the MAC address of each connected device and forwards traffic only to the correct destination.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. IP Address
&lt;/h2&gt;

&lt;p&gt;MAC addresses work only inside local networks.&lt;/p&gt;

&lt;p&gt;But what about large networks or the Internet?&lt;/p&gt;

&lt;p&gt;This is where IP addresses are used.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;192.168.1.80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  5. Static vs. DHCP
&lt;/h2&gt;

&lt;p&gt;Every device needs an IP address.&lt;/p&gt;

&lt;p&gt;You can assign one manually. This is called a &lt;strong&gt;Static IP&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;But what about a large network? Assigning every IP address manually would be difficult.&lt;/p&gt;

&lt;p&gt;This is where DHCP comes in.&lt;/p&gt;

&lt;p&gt;A DHCP server automatically assigns IP addresses to devices.&lt;/p&gt;

&lt;p&gt;Flow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Client ----DHCPDISCOVER----&amp;gt; Server
Client &amp;lt;-----DHCPOFFER------ Server
Client -----DHCPREQUEST----&amp;gt; Server
Client &amp;lt;------DHCPACK------- Server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Steps
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Discovery
&lt;/h4&gt;

&lt;p&gt;The client sends a &lt;strong&gt;DHCPDISCOVER&lt;/strong&gt; message to find DHCP servers.&lt;/p&gt;

&lt;p&gt;It's like asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Is there a DHCP server available?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Offer
&lt;/h4&gt;

&lt;p&gt;The DHCP server receives the DHCPDISCOVER message and offers an available IP address.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; A device may receive the same IP address it had previously. DHCP does not always assign a different address.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Request
&lt;/h4&gt;

&lt;p&gt;The client requests the offered IP address.&lt;/p&gt;

&lt;p&gt;It's like saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Can I use this IP address?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Acknowledgement
&lt;/h4&gt;

&lt;p&gt;The DHCP server receives the request and sends a &lt;strong&gt;DHCPACK&lt;/strong&gt; message.&lt;/p&gt;

&lt;p&gt;This includes information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lease duration&lt;/li&gt;
&lt;li&gt;Subnet mask&lt;/li&gt;
&lt;li&gt;Default gateway&lt;/li&gt;
&lt;li&gt;DNS servers&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  6. Subnet
&lt;/h2&gt;

&lt;p&gt;A subnet divides a large network into smaller networks.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;192.168.1.0/24
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This means the following addresses are in the same subnet:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;192.168.1.1
192.168.1.2
...
192.168.1.254
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  7. Router
&lt;/h2&gt;

&lt;p&gt;Devices in the same local network can communicate directly.&lt;/p&gt;

&lt;p&gt;But what about communication with devices outside the local network?&lt;/p&gt;

&lt;p&gt;This is where routers are used.&lt;/p&gt;

&lt;p&gt;A router is like a switch, but instead of connecting devices, it connects networks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A switch connects devices within the same network.&lt;/li&gt;
&lt;li&gt;A router connects different networks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you open YouTube:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your PC sends packets to the router.&lt;/li&gt;
&lt;li&gt;The router decides where to forward them.&lt;/li&gt;
&lt;li&gt;Eventually, they reach Google's servers.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Routers make these decisions using routing tables.&lt;/p&gt;




&lt;h2&gt;
  
  
  8. Default Gateway
&lt;/h2&gt;

&lt;p&gt;A computer can communicate directly only with devices in the same local network.&lt;/p&gt;

&lt;p&gt;If it needs to communicate with another network (such as the Internet), it sends the packet to its &lt;strong&gt;Default Gateway&lt;/strong&gt;, which is usually the router.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PC&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I want to reach 8.8.8.8."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;PC&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"That IP isn't in my local subnet."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;PC&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I'll send the packet to my Default Gateway."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Router&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I know where to forward it."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  9. DNS (Domain Name System)
&lt;/h2&gt;

&lt;p&gt;Imagine you want to call Jane Doe.&lt;/p&gt;

&lt;p&gt;You don't memorize her phone number. Instead, you look it up in your contacts.&lt;/p&gt;

&lt;p&gt;DNS works the same way.&lt;/p&gt;

&lt;p&gt;When you type &lt;code&gt;youtube.com&lt;/code&gt;, your browser doesn't know its IP address.&lt;/p&gt;

&lt;p&gt;It asks a &lt;strong&gt;recursive DNS server&lt;/strong&gt;, which finds the IP address and returns it.&lt;/p&gt;

&lt;p&gt;Your browser then connects to that IP address.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; A recursive DNS server accepts client requests and looks up the IP address of a domain.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  10. Recursive vs. Authoritative Server
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Recursive Server:&lt;/strong&gt; The seeker. It searches the Internet to find the IP address requested by your device.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Authoritative Server:&lt;/strong&gt; The source. It stores the official DNS records for a domain.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Main Difference
&lt;/h3&gt;

&lt;p&gt;The recursive server asks the questions.&lt;/p&gt;

&lt;p&gt;The authoritative server provides the answers.&lt;/p&gt;




&lt;h2&gt;
  
  
  11. TCP vs. UDP
&lt;/h2&gt;

&lt;p&gt;TCP and UDP are transport layer protocols.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;TCP:&lt;/strong&gt; Reliable and ordered. It establishes a connection using a &lt;a href="https://www.geeksforgeeks.org/computer-networks/tcp-3-way-handshake-process/" rel="noopener noreferrer"&gt;three-way handshake&lt;/a&gt; before sending data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;UDP:&lt;/strong&gt; Faster, but does not guarantee delivery or ordering.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Usage
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;TCP&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File downloads&lt;/li&gt;
&lt;li&gt;Web browsing&lt;/li&gt;
&lt;li&gt;Text messaging&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;UDP&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Live streaming&lt;/li&gt;
&lt;li&gt;Online games&lt;/li&gt;
&lt;li&gt;Voice and video calls&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A simple rule:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;TCP&lt;/strong&gt; when reliability is more important.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;UDP&lt;/strong&gt; when speed and low latency are more important.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  12. Port
&lt;/h2&gt;

&lt;p&gt;Imagine you enter a cinema.&lt;/p&gt;

&lt;p&gt;If you want to buy a ticket, you go to the ticket counter—not the movie theater or the restroom.&lt;/p&gt;

&lt;p&gt;Ports work similarly.&lt;/p&gt;

&lt;p&gt;They tell incoming network traffic which service or application should receive it.&lt;/p&gt;

&lt;p&gt;Common ports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;80 → HTTP&lt;/li&gt;
&lt;li&gt;443 → HTTPS&lt;/li&gt;
&lt;li&gt;22 → SSH&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  13. One Important Question
&lt;/h2&gt;

&lt;p&gt;Switches use MAC addresses, but applications communicate using IP addresses.&lt;/p&gt;

&lt;p&gt;So how does a switch know where to send packets?&lt;/p&gt;

&lt;p&gt;The answer is &lt;strong&gt;ARP&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Flow
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;PC1 (192.168.1.1)&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I want to send a packet to 192.168.1.2, but I don't know its MAC address."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;PC1 sends an ARP Request as an Ethernet broadcast.&lt;/p&gt;

&lt;p&gt;Destination MAC:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;FF:FF:FF:FF:FF:FF
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;The switch forwards the broadcast to every device on the LAN.&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;All devices receive:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Who has 192.168.1.2?&lt;br&gt;
Tell 192.168.1.1."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;PC2 replies:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"That's me!&lt;br&gt;
My MAC address is BB:BB:BB:BB:BB:BB."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;PC1 stores the MAC address in its ARP cache.&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Now PC1 can send Ethernet frames directly to PC2.&lt;/p&gt;




&lt;h2&gt;
  
  
  14. ARP
&lt;/h2&gt;

&lt;p&gt;ARP (Address Resolution Protocol) maps IP addresses to MAC addresses.&lt;/p&gt;

&lt;p&gt;Imagine you want to send data to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;192.168.1.20
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your PC knows the IP address, but Ethernet uses MAC addresses.&lt;/p&gt;

&lt;p&gt;So how do we find the MAC address?&lt;/p&gt;

&lt;p&gt;That's ARP's job.&lt;/p&gt;

&lt;p&gt;Flow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Need to reach
192.168.1.20

↓

ARP Request
"Who has 192.168.1.20?"

↓

Target replies

↓

MAC learned

↓

Normal communication begins
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Security Note:&lt;/strong&gt; ARP has no built-in authentication. Any device can claim to own an IP address, making ARP spoofing (ARP poisoning) possible.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  15. Tunneling
&lt;/h2&gt;

&lt;p&gt;Tunneling is the process of encapsulating one packet inside another so it can travel across a different network.&lt;/p&gt;




&lt;h2&gt;
  
  
  16. OSI Model (Open Systems Interconnection)
&lt;/h2&gt;

&lt;p&gt;The OSI model describes seven layers that computers use to communicate over a network.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 7 — Application
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;(User interaction, protocols, and application services)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This layer interacts directly with applications such as web browsers and email clients.&lt;/p&gt;

&lt;p&gt;Protocols include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTP&lt;/li&gt;
&lt;li&gt;HTTPS&lt;/li&gt;
&lt;li&gt;FTP&lt;/li&gt;
&lt;li&gt;SMTP&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Layer 6 — Presentation
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;(Encryption, compression, translation)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This layer translates, encrypts, and compresses data so that the application layer can understand it.&lt;/p&gt;




&lt;h3&gt;
  
  
  Layer 5 — Session
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;(Managing communication sessions)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This layer establishes, maintains, and closes communication sessions between devices.&lt;/p&gt;




&lt;h3&gt;
  
  
  Layer 4 — Transport
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;(Segmentation, transport, reassembly)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Responsible for end-to-end communication.&lt;/p&gt;

&lt;p&gt;It breaks data into segments before transmission and reassembles them at the destination.&lt;/p&gt;

&lt;p&gt;Protocols:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TCP&lt;/li&gt;
&lt;li&gt;UDP&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Layer 3 — Network
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;(Routing and packet forwarding)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Responsible for moving packets between different networks.&lt;/p&gt;

&lt;p&gt;Protocols:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IPv4&lt;/li&gt;
&lt;li&gt;IPv6&lt;/li&gt;
&lt;li&gt;ICMP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Devices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Routers&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Layer 2 — Data Link
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;(MAC addressing and local communication)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Responsible for communication within the same LAN.&lt;/p&gt;

&lt;p&gt;Protocols:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ethernet&lt;/li&gt;
&lt;li&gt;Wi-Fi&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Devices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Switches&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Layer 1 — Physical
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;(Bits on the wire)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The lowest layer.&lt;/p&gt;

&lt;p&gt;It transmits raw bits using electrical, optical, or radio signals.&lt;/p&gt;

&lt;p&gt;Devices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cables&lt;/li&gt;
&lt;li&gt;Repeaters&lt;/li&gt;
&lt;li&gt;Hubs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn more about OSI Model. &lt;a href="https://www.cloudflare.com/learning/ddos/glossary/open-systems-interconnection-model-osi/" rel="noopener noreferrer"&gt;What is the OSI Model&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  17. Network Protocols
&lt;/h2&gt;

&lt;p&gt;A network protocol is a set of rules that defines how data is transmitted, received, and interpreted between devices.&lt;/p&gt;

&lt;h3&gt;
  
  
  HTTP (HyperText Transfer Protocol)
&lt;/h3&gt;

&lt;p&gt;HTTP allows clients and servers to exchange resources such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;Images&lt;/li&gt;
&lt;li&gt;Videos&lt;/li&gt;
&lt;li&gt;JSON
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;      ----Request----&amp;gt;

Client                Server

      &amp;lt;---Response----
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  HTTPS (HyperText Transfer Protocol Secure)
&lt;/h3&gt;

&lt;p&gt;HTTPS is HTTP with encryption.&lt;/p&gt;

&lt;p&gt;It is used by websites that require secure communication, such as login pages, banking websites, and chat applications.&lt;/p&gt;




&lt;h3&gt;
  
  
  WebSocket
&lt;/h3&gt;

&lt;p&gt;Unlike HTTP, which follows a request/response model, WebSocket provides a persistent, real-time connection.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Client ----Connection---- Server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Best suited for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Online games&lt;/li&gt;
&lt;li&gt;Chat applications&lt;/li&gt;
&lt;li&gt;Live dashboards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Downside:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If the connection is lost, reconnecting is generally more complex than making a new HTTP request.&lt;/p&gt;




&lt;h3&gt;
  
  
  TCP (Transmission Control Protocol)
&lt;/h3&gt;

&lt;p&gt;TCP ensures reliable, ordered delivery of data across the Internet.&lt;/p&gt;

&lt;p&gt;Best suited for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web browsing&lt;/li&gt;
&lt;li&gt;File transfers&lt;/li&gt;
&lt;li&gt;Email&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  UDP (User Datagram Protocol)
&lt;/h3&gt;

&lt;p&gt;UDP sends packets without establishing a connection or guaranteeing delivery.&lt;/p&gt;

&lt;p&gt;Best suited for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Live streaming&lt;/li&gt;
&lt;li&gt;Voice calls&lt;/li&gt;
&lt;li&gt;Online gaming&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  FTP (File Transfer Protocol)
&lt;/h3&gt;

&lt;p&gt;FTP is used to transfer files between a client and a server.&lt;/p&gt;

&lt;p&gt;It uses separate connections for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Control commands&lt;/li&gt;
&lt;li&gt;Data transfer&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Computer Networking is a vast topic. This guide helps you understand basic concepts. but if you want to become a network engineer, you need to search and read articles, watch courses and more.&lt;/p&gt;

</description>
      <category>networking</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
