<?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>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;Understanding network fundamentals is an essential step for anyone interested in Linux, backend development, cybersecurity, or software engineering. These concepts provide the foundation for understanding how computers communicate and how modern systems work. However, networking is a vast field, and this guide only covers the basics. The best way to improve your knowledge is through continuous learning, exploring real-world examples, reading documentation, and experimenting with network tools.&lt;/p&gt;

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