<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Computer Science Hub]]></title><description><![CDATA[Computer Science Hub]]></description><link>https://arumparithi.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Fri, 23 Oct 2026 17:26:54 GMT</lastBuildDate><atom:link href="https://arumparithi.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[TCP and UDP]]></title><description><![CDATA[Have you ever thought about what happens behind the scenes when you click on a website? In this article, we'll explore what really happens behind the…]]></description><link>https://arumparithi.hashnode.dev/tcp-and-udp</link><guid isPermaLink="true">https://arumparithi.hashnode.dev/tcp-and-udp</guid><dc:creator><![CDATA[Arumparithi B]]></dc:creator><pubDate>Mon, 06 Jul 2026 14:53:59 GMT</pubDate><content:encoded><![CDATA[<p>Have you ever thought about what happens behind the scenes when you click on a website?</p>
<p>In this article, we'll explore what really happens behind the scenes when you open a website—how your browser communicates reliably with the server, and how it is protected from loss during transmission.</p>
<h1>Transport Layer of the OSI model</h1>
<p><em>This section is just for reference and hence can be ignored if you already know.</em></p>
<p>The OSI (Open Systems Interconnection) model is a theoretical/conceptual framework created by International Organization for Standardization (ISO) that defines how different computers from different networks should communicate with each other. It consists of seven layers :</p>
<ol>
<li><p>Physical Layer - defines physical media such as Ethernet cables</p>
</li>
<li><p>Data Link Layer - defines how data is transmitted within a network</p>
</li>
<li><p>Network Layer - defines how data is addressed and routed over different networks (Internet)</p>
</li>
<li><p>Transport Layer - defines how data is transmitted between two end devices</p>
</li>
<li><p>Session Layer - defines how a session is created, maintained and terminated</p>
</li>
<li><p>Presentation Layer - defines how the data is formatted (encryption and decryption)</p>
</li>
<li><p>Application Layer - defines how the data is presented to the user</p>
</li>
</ol>
<p>The two most commonly used transport layer protocols are TCP and UDP :</p>
<ul>
<li><p>Transmission Control Protocol (TCP)</p>
</li>
<li><p>User Datagram Protocol (UDP)</p>
</li>
</ul>
<h1>Transmission Control Protocol</h1>
<p>We can simply say it is a reliable connection, but slower than UDP.</p>
<p>In networking, the <strong>transmission</strong> means the flow of data between one point to another. In a broader way, TCP treats data as a stream of bytes. Therefore, data is broken down into chunks called segments, and the transfer of segments(data) is sequential.</p>
<p>The internet is inherently chaotic - data may get lost, arrive out of order. To <strong>control</strong> and ensure the flow of data, the Transmission Control Protocol (TCP) was established and published as RFC 793 in September 1981.</p>
<p><strong>Definition:</strong> Transmission Control Protocol is a connection-oriented, reliable transport layer protocol that ensures the ordered, complete and error-free delivery of a stream of data segments between applications running on host devices communicating via an IP network.</p>
<p><em>(Note: Here, the phrase 'error-free' means</em> that TCP can detect errors and retransmit lost or corrupted data to ensure reliable delivery.)</p>
<p><strong>Simple Definition:</strong> Transmission Control Protocol is a connection-oriented protocol that guarantees reliable data delivery.</p>
<p>Therefore, TCP can transfer data only if a connection is established, i.e., both sender and receiver/listener agree to share data.</p>
<p><strong>Analogy :</strong></p>
<p>Sender : You</p>
<p>Receiver : Your friend</p>
<p>Message : Pen</p>
<p>TCP : Suppose you (sender) want to send your pen (message) to your friend (receiver) in the classroom. If you want to safely (reliably) send it. You need to walk through him and give it with <strong>your hand</strong>. Also it takes time to walk through your friend and give it to him.</p>
<p>Note that even if you send it through your neighbour friend, he also needs to receive and give it with his hand for the safety of your pen.</p>
<p>How TCP ensures complete, ordered and error-free delivery?</p>
<p>It uses two main mechanisms to do so:</p>
<ul>
<li><p>Three-way handshake</p>
</li>
<li><p>Number sequence</p>
</li>
</ul>
<h3>Number Sequence</h3>
<p>In TCP, the actual data is divided into segments and transferred sequentially. To ensure the correct order of the sequence (since there is a chance that the delivery is out of order) and no segment (data) is lost, TCP maintains a randomly generated sequence number.</p>
<p>Let's assume two devices (say, browser and server) want to communicate with each other. The client (browser) needs to send a message to the server, requesting the HTML page stored on the server. And the server responds back by sending the HTML page (which is a message) to the browser.</p>
<p>As said earlier, these messages are divided into smaller units called segments. And for simplicity, assume that each segment carries 4 bytes of data.</p>
<ol>
<li><p>Initially, the browser generates a random sequence number (say, 4000).</p>
</li>
<li><p>The first segment is sent along with this sequence number to the server.</p>
</li>
<li><p>The server receives it and sees the sequence number. Then the server sends an acknowledgement message with an acknowledgement number of 4004, indicating that it has successfully received bytes up to 4003 and expects byte 4004 next.<br />(<em>since we assumed 4 bytes, the next byte will be 4000 + 4 = 4004 and hence the acknowledgement number)</em></p>
</li>
<li><p>After all segments from the browser are sent and acknowledged by the server, the server can see the full message requesting the HTML page. So it's time to send messages from the server to the browser.</p>
</li>
<li><p>Now the server generates its own random number (say, 6000) and starts to send the segments of the HTML page as before sent by the browser.</p>
</li>
</ol>
<p>Therefore, by tracking these sequence numbers, TCP can check whether the data is lost or not (i.e., if a segment is lost, TCP retransmits the missing segment) and can maintain the correct order of the packets (i.e., even if the data arrives out of order, TCP can re-order them correctly using the sequence number).</p>
<p><em><strong>Note:</strong></em></p>
<ol>
<li><p><em>Sequence numbers in TCP represent byte positions, not segment numbers. If a segment carries 4 bytes and starts with sequence number 4000, the next segment starts with sequence number 4004.</em></p>
</li>
<li><p><em>During ACK packet, no actual data is sent i.e., only acknowledgement message is sent (e.g., I have received your message). Therefore, no change occurs in the sequence number.</em></p>
</li>
</ol>
<img src="https://cdn.hashnode.com/uploads/covers/6a21b06e09761aac24939fd4/7d34ebb4-e132-4011-b408-3c4d37219fb3.png" alt="" style="display:block;margin:0 auto" />

<h3>Three-way Handshake</h3>
<p>Before sending the actual message, to establish a firm connection between two devices, the browser and the server make a three-way handshake.</p>
<ol>
<li><p><code>SYN</code>: First, the client (or browser) sends a TCP segment with the SYN flag to the server. (SYN stands for Synchronise)<br />i.e., Browser says, "Hey, I want to connect with you"</p>
</li>
<li><p><code>SYN-ACK</code>: After receiving the SYN packet, the server replies by sending a TCP segment with both the SYN and ACK flags to the browser. (ACK stands for Acknowledgement).<br />i.e., Server says, "OK, I accept your request and am ready to share data".</p>
</li>
<li><p><code>ACK</code>: By receiving that SYN-ACK packet, the browser can confirm that the server is active and ready to share data. Then the browser sends final acknowledgement message called ACK packet to the server.<br />i.e., Browser says, "OK, fine ".</p>
<p>Then the connection is established.</p>
</li>
</ol>
<p><strong>Note:</strong> The SYN packet consumes one byte in the sequence number, illustrated in the next section.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a21b06e09761aac24939fd4/8c09bfdf-e36c-47f0-a774-c899f96451fd.png" alt="" style="display:block;margin:0 auto" />

<p><em><strong>Note:</strong></em> <em>For the sake of simplicity, I referred to them as SYN packets and ACK packets. However, SYN and ACK are actually flags (control bits) present in the TCP header. A TCP segment can have multiple flags at the same time. I have listed the commonly used TCP flags in the further reading section.</em></p>
<h3>Overview of TCP</h3>
<p>In the previous section, I have illustrated the mechanism separately. Now, let's see the complete overview of TCP step by step, by assuming the same scenario explained in the earlier section.</p>
<ol>
<li><p>First, the browser generates its Initial Sequence Number (ISN), say 4000.<br />Then, it sends a TCP segment with SYN flag to the server along with its ISN.(i.e., the sent message has the SYN packet and its sequence number 4000.)<br /><code>SYN</code> - Client: "Hey Server, I want to connect with you, this is my ISN number 4000"<br /><em>Note: No actual data is sent to the browser(i.e., actual data is not carried inside the segment)</em></p>
</li>
<li><p>When the server receives the message, it generates its own Initial Sequence Number(ISN), say 6000 and responds to the browser by sending the message which contains SYN flag of sequence number 6000 and ACK flag of acknowledgement number 4001.<br /><code>SYN-ACK</code> - Server: "I accept your connection, this is my ISN number 6000, I have received your SYN with sequence number 4000, and my ACK number is 4001, so I expect byte 4001 next ".<br /><em>(Here, since SYN packet consumes one byte, the next byte is 4000 + 1 = 4001 and hence the ACK number).</em></p>
</li>
<li><p>When the browser receives the message from the server, it confirms that the server is ready to share data.<br />Then the browser sends final acknowledgement segment with ACK flag of acknowledgement number 6001 to the server.<br /><code>ACK</code> - Browser: "OK, fine, I have received your sequence number 6000 and acknowledgement number 4001, and I expect byte 6001 next from you".<br /><em>(Here also, since SYN packet consumes one byte, the next byte is 6000 + 1 = 6001 and hence the ACK number)</em><br />After this, the connection is successfully established and note that the actual data transfer happens from now on.</p>
</li>
<li><p>Now, the first segment of actual data from the browser with the sequence number 4001 is sent to the server.</p>
</li>
<li><p>The server receives the message and responds with the acknowledgement number 4005 (as we assumed the segment contains 4 bytes of data).</p>
</li>
<li><p>When all segments of data that are needed to be sent to the server are transferred, the server can see the full message requesting for the HTML page.</p>
</li>
<li><p>Now, the server starts to send its segments from sequence number 6001.</p>
</li>
<li><p>After all messages are exchanged, the connection is no longer needed. To close the connection securely, the browser will send a segment with FIN flag, which indicates closing of the connection.</p>
</li>
<li><p>The server receives the message and responds with the FIN-ACK flag message. Just like SYN, FIN also consumes one byte of data.</p>
</li>
<li><p>Finally, the browser sends its final acknowledgement message with ACK flag and leaves the connection. After receiving that message, the server closes the connection.</p>
</li>
</ol>
<img src="https://cdn.hashnode.com/uploads/covers/6a21b06e09761aac24939fd4/e3e0616a-7f5d-444c-a88a-0e0012da8d03.png" alt="" style="display:block;margin:0 auto" />

<h3>Advantages</h3>
<ul>
<li><p>Reliable data delivery (3-way handshake)</p>
</li>
<li><p>Ensures data arrives in the correct order (sequence number)</p>
</li>
<li><p>Detects lost data and retransmits it</p>
</li>
</ul>
<h3>Uses</h3>
<ul>
<li><p>Web browsing - HTTP/HTTPS</p>
</li>
<li><p>File Transfer - FTP (File Transfer Protocol)</p>
</li>
<li><p>Email - SMTP (Simple Mail Transfer Protocol)</p>
</li>
<li><p>Remote login - SSH, Telnet</p>
</li>
</ul>
<h1>User Datagram Protocol</h1>
<p><strong>Definition:</strong> User Datagram Protocol is a connectionless, transport layer protocol that enables the transmission of independent data units called datagrams between applications running on host devices communicating via an IP network, without guaranteeing reliable, ordered, or error-free delivery.</p>
<p>Since it does not establish a connection, perform acknowledgements, or retransmissions, it is much faster than TCP. That is, it prioritises speed over reliability.</p>
<p><strong>Simple Definition:</strong> UDP is a connectionless protocol used to transfer data quickly between two devices without establishing a connection or guaranteeing reliability.</p>
<p><strong>Analogy :</strong></p>
<p>Sender : You</p>
<p>Receiver : Your friend</p>
<p>Message : Pen</p>
<p>UDP : Suppose you (sender) want to send your pen (message) to your friend (receiver) in the classroom. If you want to quickly send it. You will simply <strong>throw</strong> your pen to him. Hence it is not guaranteed that your friend will correctly catch it, otherwise your pen fell into the ground.</p>
<h2>Overview of UDP</h2>
<p><strong>What is Datagram?</strong></p>
<p>To know why it is named as datagram, we have to go back nearly two centuries, especially to the late 1830s.</p>
<p>Actually, the word datagram is the combination of two words: data + telegram</p>
<p>It's not the telegram that we use nowadays, and this is the reason we have to go back to the 1830s.</p>
<p><strong>Telegraph</strong></p>
<p>The telegraph is the first electronic data communication system to send and receive text messages over long distances using electrical signals through cables/wires.</p>
<p>Imagine that in ancient times, there were no mobile phones, laptops, or the internet as we use them nowadays. Then how did people communicate over long distances?</p>
<p>After the invention of the telegraph, they made a communication office called a telegraph office for each area. If a person in one location wants to send a message to his friend in another location. He needs to go to the telegraph office and give the message written on paper to the officer. The officer sends the message using Morse code (the code which is used to send through the telegraph via electrical signal) through the telegraph network to the nearest telegraph office, where his friend resides. The officer at the destination office receives the message and writes it on a paper. This paper is called telegram, which is then passed to his friend in person by the postman.</p>
<p>Why is this name (telegram) used? - Because it is not guaranteed that the message will be received by the destination office. Due to some natural disaster or a malfunction that often occurs, the electrical cable can break.</p>
<p>Likewise, in UDP, it is not guaranteed that the message is successfully received at the destination device. And here the message is the digital data, they combine the words: data + telegram as datagram.</p>
<p>Now, why is the word 'user' present in UDP? - The word user in UDP simply refers to the users of the transport layer (i.e., applications such as a web browser, video calling app, or online game) that use this protocol.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a21b06e09761aac24939fd4/fb147c64-57b8-45b6-b129-7afc24862f18.png" alt="" style="display:block;margin:0 auto" />

<h3>Advantages</h3>
<ul>
<li><p>Faster than TCP</p>
</li>
<li><p>No connection and other mechanism overhead</p>
</li>
<li><p>Low latency (i.e., low waiting time)</p>
</li>
</ul>
<h3>Uses</h3>
<ul>
<li><p>Online gaming - faster updates are preferred</p>
</li>
<li><p>Live Video streaming- low latency is preferred</p>
</li>
<li><p>Video conferencing(like Google Meet, Zoom) - priorities real-time communication</p>
</li>
<li><p>Voice Over IP (VoIP calling) - loss of milliseconds of audio is unnoticeable, as we can still understand the conversation.</p>
</li>
<li><p>DNS(Domain Name System) - queries are small and benefit from quick responses.</p>
</li>
<li><p>DHCP - (quickly assigns IP addresses to devices)</p>
</li>
</ul>
<h1>Further Reading</h1>
<h3>TCP flags</h3>
<img src="https://cdn.hashnode.com/uploads/covers/6a21b06e09761aac24939fd4/59a4d918-9e9c-4a5a-b3af-6c90569cc605.png" alt="" style="display:block;margin:0 auto" />

<h3>Operating System - The heart of the Computer</h3>
<p>Have you ever wondered who actually establishes TCP connections, generates sequence numbers, keeps track of acknowledgements, retransmits lost data, and performs all the complex networking tasks?</p>
<p>The answer is <strong>the Operating System</strong>. It sits between applications and the computer hardware, providing various services such as process management, memory management, file systems, and networking.</p>
<p>The operating system executes code in two modes:</p>
<ul>
<li><p><strong>Kernel mode</strong> – Privileged mode where the operating system performs tasks requiring full access to hardware and system resources. The TCP/IP networking stack runs in this mode.</p>
</li>
<li><p><strong>User mode</strong> – Restricted mode where applications such as web browsers, games, and media players run.</p>
</li>
</ul>
<p>Applications cannot directly communicate with hardware. Whenever an application needs to send or receive data, it invokes a system call, causing the CPU to temporarily switch from user mode to kernel mode. The kernel then performs the requested networking operations before returning control to the application.</p>
<p>Although TCP and UDP are both implemented inside the kernel, TCP requires considerably more kernel processing. It maintains connections, tracks sequence and acknowledgement numbers, retransmits lost segments, performs flow control, and implements congestion control. UDP, on the other hand, performs only the basic tasks needed to transmit datagrams, making it much simpler and faster.</p>
<h1>Summary</h1>
<p>TCP - reliability over speed (Can't afford data loss)</p>
<p>UDP - speed over reliability (Can't afford to wait)</p>
<p>The data in TCP is called segment.</p>
<p>The data in UDP is called datagram.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a21b06e09761aac24939fd4/76dd1781-bfa4-4bd7-bdc5-697bc2d11f03.png" alt="" style="display:block;margin:0 auto" />

<h1>Glossary</h1>
<ul>
<li><p>browser - an application that displays the web(html) content in visual format</p>
</li>
<li><p>server - a computer that provides services such as listening for incoming requests, responding with resources(web pages)</p>
</li>
<li><p>hypertext - the text that contains electronic links to other text or media that the user can immediately access</p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[IP Address and MAC Address]]></title><description><![CDATA[Hello everyone, In this article, I would like to share my understanding of IP and MAC addresses using simple explanations and an analogy based on my…]]></description><link>https://arumparithi.hashnode.dev/ip-address-and-mac-address</link><guid isPermaLink="true">https://arumparithi.hashnode.dev/ip-address-and-mac-address</guid><dc:creator><![CDATA[Arumparithi B]]></dc:creator><pubDate>Fri, 05 Jun 2026 16:53:06 GMT</pubDate><content:encoded><![CDATA[<p>Hello everyone,</p>
<p>In this article, I would like to share my understanding of IP and MAC addresses using simple explanations and an analogy based on my university register number. I hope this article helps you build an intuitive understanding of how these two addresses work together to enable communication between devices. Let's start.</p>
<h1>What is MAC address?</h1>
<p>MAC address - stands for Media Access Control address</p>
<p>In networking, <strong>Media</strong> refers to physical medium in which digital signals can travel. It includes, for example</p>
<ul>
<li><p>Ethernet cable</p>
</li>
<li><p>Optical/Fiber cable</p>
</li>
<li><p>Radio waves</p>
</li>
</ul>
<p>In a local network, multiple devices such as PCs are interconnected. To <strong>Access</strong> and <strong>Control</strong> a particular device, we need <strong>MAC address.</strong></p>
<p><strong>Definition :</strong> MAC address is a unique, 48-bit (6 byte) hexadecimal identifier (e.g. - <code>AA : BB : CC : DD : EE : FF</code>) assigned permanently to a Network Interface by the manufacturer used to uniquely identify a device in a local network.</p>
<p><strong>Simple Definition :</strong> MAC address is a unique number used to identify a device in a network.</p>
<p><strong>Note :</strong> Although it is intended to be permanent, modern operating systems can temporarily use randomized MAC addresses for privacy.</p>
<h3>Overview :</h3>
<p>MAC address is composed of two parts :</p>
<ul>
<li><p>OUI number (first 3 bytes) - Identifies the manufacturer or vendor of the network interface card (e.g., Apple, Intel, Dell).</p>
</li>
<li><p>Device Identifier (last 3 bytes) - uniquely identifies the specific device within the manufacturer's production line.</p>
</li>
</ul>
<img src="https://cdn.hashnode.com/uploads/covers/6a21b06e09761aac24939fd4/82662f1e-f56b-4c8d-bf7b-213ce4ba21db.webp" alt="" style="display:block;margin:0 auto" />

<h1>What is IP address?</h1>
<p>IP address - stands for Internet Protocol address</p>
<p>In networking, the term <strong>Internet</strong> is the expansion of Interconnected networks meaning connecting different networks to share data.</p>
<p>In diplomacy, <strong>protocol</strong> refers to the set of rules and etiquettes strictly followed by the officials of different countries to communicate with each other smoothly and respectfully without misunderstandings.</p>
<p>Similarly, to communicate (i.e to share data) with different networks, we need <strong>IP address</strong>.</p>
<p><strong>Definition :</strong> IP address is a unique, logical 32-bit (for IPv4) or 128-bit (for IPv6) identifier assigned to a Network Interface used to locate devices and route data across the internet.</p>
<p><em>( The word</em> <em><strong>logical</strong></em> <em>I used, plays a vital role signifying it is not permanent and answering who assigns an IP address for a device especially network interface. I have explained later in this article.)</em></p>
<p><strong>Simple Definition</strong> : IP address is a logical unique number used to locate a device and route data across the internet.</p>
<h3>Overview :</h3>
<p>IP address is composed of two parts :</p>
<ul>
<li><p>Network ID - defines a network and is used to locate the network.</p>
</li>
<li><p>Host ID - defines a unique device within that network.</p>
</li>
</ul>
<p>This breakdown of IP address is defined by a 32-bit number (for IPv4) called <strong>subnet mask.</strong></p>
<p><strong>Example :</strong> Consider the IP address is 192.168.32.170 and the subnet mask is 255.255.255.0. Then 255 represents it belongs to network id and 0 represents it belongs to host id. Therefore the first 24 bits (3 bytes) is network id and the last 8 bit (1 byte) is host id.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a21b06e09761aac24939fd4/e1a8869a-20d3-4c50-9726-719265ef5e06.webp" alt="" style="display:block;margin:0 auto" />

<p><em>(Note : subnet means sub-network, mask means hiding.)</em></p>
<h1>IP vs MAC Address</h1>
<p>Here we come to the core part of this article. Many of those even me initially confused between IP and MAC addresses since they seems both are used to uniquely identify a device. Although both uniquely identify devices, they serve different purposes.</p>
<p>To explain this from what I have understand with an example, I want the readers to go through my University Register number : 2024503542</p>
<ul>
<li><p>2024 defines my academic year</p>
</li>
<li><p>50 defines my campus</p>
</li>
<li><p>35 defines CSE department</p>
</li>
<li><p>42 defines my roll number</p>
</li>
</ul>
<h3><strong>Example :</strong></h3>
<p><strong>Analogy :</strong></p>
<p>MAC address - my name (Arumparithi)</p>
<p>IP address - my register number (2024503542)</p>
<p><strong>Scenario :</strong></p>
<p>A message to be sent from dean office to me assuming they only know my register number.</p>
<p>Assume the official in dean office (source device) wants to send the message to me (destination device) through a nearby student (router) with my register number(IP address). The student(router) can see my first 8 digit register number (network id) and identifies I am belongs to CSE department (network), therefore he can able to come to my department class. Note that he can also send this message to his friend(another router that routes to the destination network) who knows me. When he comes to my class(network), he will ask who has roll number 2024503542 (IP address). I (destination device) will respond to him by saying my name as Arumparithi (MAC address). He replies back "Hey Arumparithi, You got a message from dean office(source device)" and I will receive the message successfully.</p>
<p>Note here that if I changes my department (network), the register number (IP address) will change but my name (MAC address) is same.</p>
<p>Drawback : In this example, I have compared the MAC address to my name. But there can be multiple students with the same name in a class. Hence, for the sake of simplicity, let us assume that every student in the class has a unique name.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a21b06e09761aac24939fd4/cf5bae82-f385-4f7f-87e5-745e771ecee6.png" alt="" style="display:block;margin:0 auto" />

<p>To see your MAC address and IP address, open CMD and enter this command :</p>
<ul>
<li><p>For Windows : <code>ipconfig /all</code></p>
</li>
<li><p>For Linux : <code>ip a</code></p>
</li>
</ul>
<p>Note : When you use these commands to see them, you can see for each interface has separate unique MAC address. For example , if your device has WiFi adapter, Bluetooth connection and Ethernet port, all three have their own unique MAC address.</p>
<h1>Who assigns IP address?</h1>
<p>Public IP addresses are managed through a hierarchical system to ensure uniqueness worldwide :</p>
<ul>
<li><p><strong>IANA (Internet Assigned Numbers Authority):</strong> The top-level organization that manages the global pool of IP addresses.</p>
</li>
<li><p><strong>RIRs (Regional Internet Registries):</strong> IANA allocates large blocks to five RIRs based on geography (e.g. : <strong>APNIC</strong> for India).</p>
</li>
<li><p><strong>ISPs (Internet Service Providers) &amp; LIRs:</strong> RIRs assign blocks to Local Internet Registries (mostly ISPs such as Airtel, Jio, Vodafone, BSNL etc.). The ISP then assigns individual public IP addresses to our router or device.</p>
</li>
<li><p><strong>DHCP Server :</strong> Most commonly, our router acts as a DHCP server. It automatically leases a temporary local IP address to our device when it connects. This is the standard for smartphones, laptops, and most consumer devices.</p>
</li>
<li><p><strong>Manual Configuration :</strong> A network administrator (or you) manually types a specific, permanent IP address into the device's network settings. This is often used for servers, printers, or network equipment that need a fixed address.</p>
</li>
</ul>
<h1>Glossary</h1>
<ul>
<li><p>Network - A set of computers and other devices (such as printers, smartphones, servers) connected together.</p>
</li>
<li><p>Router - A networking device used to route data from one network to another network.</p>
</li>
<li><p>Network Interface - a point of connection between a network device (such as computers) and the network. Network Interface Card (NIC) is the hardware component that contains ethernet ports, WiFi - adapters to connect with network to share data.</p>
</li>
</ul>
]]></content:encoded></item></channel></rss>