<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet href="/static/feed.xsl" type="text/xsl" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:quartz="https://quartz.jzhao.xyz/ns">
  <script xmlns="http://www.w3.org/1999/xhtml" src="/static/scripts/xslt-polyfill-214fd525.js"></script>
  <title>/wiki / networking</title>
  <subtitle>Recent notes in /wiki / networking on Animesh Mishra</subtitle>
  <link href="https://animishraa05.github.io/wiki/networking" />
  <link rel="alternate" type="text/html" href="https://animishraa05.github.io/wiki/networking" />
  <category term="wiki/networking" />
  <id>https://animishraa05.github.io/wiki/networking</id>
  <updated>2026-09-02T00:00:00.000Z</updated>
  <contributor>
    <name>Animesh Mishra</name>
    <email>animesh.mishra818@gmail.com</email>
  </contributor>
  <logo>https://animishraa05.github.io/icon.png</logo>
  <icon>https://animishraa05.github.io/icon.png</icon>
  <generator>Quartz v4.6.0 -- quartz.jzhao.xyz</generator>
  <rights type="html">&amp;amp;copy; 2026 Animesh Mishra</rights>
  
  <entry>
    <title>Networking — Map of Content</title>
    <link href="https://animishraa05.github.io/wiki/networking/networking-moc" />
    <link rel="alternate" type="text/markdown" href="https://animishraa05.github.io/wiki/networking/networking-moc.md" />
    <summary> Map of Content for Networking — 3 concepts. Start here to navigate networking.</summary>
    <published>2026-09-02T00:00:00.000Z</published>
    <updated>2026-09-02T00:00:00.000Z</updated>
    <publishedTime>Sep 02, 2026</publishedTime>
    <updatedTime>Sep 02, 2026</updatedTime>
    <category term="meta" label="meta" />
<category term="networking" label="networking" />
    <author>
      <name>Animesh Mishra</name>
      <email>animesh.mishra818@gmail.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p dir=&quot;auto&quot;&gt;Map of Content for &lt;strong&gt;Networking&lt;/strong&gt; — 3 concepts. Start here to navigate networking.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;core-concepts&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Core Concepts&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#core-concepts&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul dir=&quot;auto&quot;&gt;
&lt;li&gt;&lt;a href=&quot;../../broadcast-links&quot; class=&quot;internal alias&quot; data-slug=&quot;broadcast-links&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Broadcast Links&lt;/a&gt; — concept&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;../../circuit-switching&quot; class=&quot;internal alias&quot; data-slug=&quot;circuit-switching&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Circuit Switching&lt;/a&gt; — concept&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;../../packet-switching&quot; class=&quot;internal alias&quot; data-slug=&quot;packet-switching&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Packet Switching&lt;/a&gt; — concept&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;mechanisms--how-things-work&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Mechanisms &amp;#x26; How Things Work&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#mechanisms--how-things-work&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p dir=&quot;auto&quot;&gt;&lt;em&gt;Auto-generated — edit to curate. Pages that explain processes/flows.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;comparisons--tradeoffs&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Comparisons &amp;#x26; Tradeoffs&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#comparisons--tradeoffs&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul dir=&quot;auto&quot;&gt;
&lt;li&gt;&lt;em&gt;(No synthesis yet — create via ingest or query —save)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;suggested-reading-order&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Suggested Reading Order&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#suggested-reading-order&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol dir=&quot;auto&quot;&gt;
&lt;li&gt;Browse Core Concepts above — start with most-linked page&lt;/li&gt;
&lt;li&gt;Follow Connections sections for dense graph traversal&lt;/li&gt;
&lt;/ol&gt;</content>
  </entry><entry>
    <title>broadcast-links</title>
    <link href="https://animishraa05.github.io/wiki/networking/broadcast-links" />
    <link rel="alternate" type="text/markdown" href="https://animishraa05.github.io/wiki/networking/broadcast-links.md" />
    <summary>The Problem Multiple machines share a single physical communication channel (like WiFi or Ethernet).</summary>
    <published>2026-04-11T00:00:00.000Z</published>
    <updated>2026-04-11T00:00:00.000Z</updated>
    <publishedTime>Apr 11, 2026</publishedTime>
    <updatedTime>Apr 11, 2026</updatedTime>
    <category term="networking" label="networking" />
<category term="transmission" label="transmission" />
    <author>
      <name>Animesh Mishra</name>
      <email>animesh.mishra818@gmail.com</email>
    </author>
    <content type="html">&lt;h2 id=&quot;the-problem&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;The Problem&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#the-problem&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p dir=&quot;auto&quot;&gt;Multiple machines share a single physical communication channel (like WiFi or Ethernet). When one machine sends data, the signal physically reaches ALL machines on the channel. How do you ensure only the intended recipient processes the message?&lt;/p&gt;
&lt;h2 id=&quot;core-idea&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Core Idea&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#core-idea&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p dir=&quot;auto&quot;&gt;Every machine on the network receives every transmission. Each packet contains an &lt;strong&gt;address field&lt;/strong&gt; specifying the intended recipient. Every machine checks the address — if it matches, process the packet; if not, ignore it.&lt;/p&gt;
&lt;h2 id=&quot;how-it-works&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;How It Works&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#how-it-works&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol dir=&quot;auto&quot;&gt;
&lt;li&gt;Sender puts data on the shared channel&lt;/li&gt;
&lt;li&gt;The signal propagates to all connected nodes (physics of the medium)&lt;/li&gt;
&lt;li&gt;Each node reads the destination address in the packet header&lt;/li&gt;
&lt;li&gt;Only the addressed node processes the packet; all others discard it&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;key-properties&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Key Properties&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#key-properties&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul dir=&quot;auto&quot;&gt;
&lt;li&gt;&lt;strong&gt;Single shared channel&lt;/strong&gt; — only one transmission can happen at a time (or collisions occur)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Address-based filtering&lt;/strong&gt; — all nodes see everything, but only the addressed node responds&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No routing needed&lt;/strong&gt; — no intermediate forwarding decisions; the channel itself delivers to all&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Collision risk&lt;/strong&gt; — if two nodes transmit simultaneously, the signals corrupt each other&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;connections&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Connections&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#connections&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul dir=&quot;auto&quot;&gt;
&lt;li&gt;Contrasts with: &lt;a href=&quot;../../point-to-point-links&quot; class=&quot;internal alias&quot; data-slug=&quot;point-to-point-links&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Point-to-Point Links&lt;/a&gt; — all-at-once vs pair-by-pair delivery&lt;/li&gt;
&lt;li&gt;Related: &lt;a href=&quot;../../packet-switching&quot; class=&quot;internal alias&quot; data-slug=&quot;packet-switching&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Packet Switching&lt;/a&gt; — broadcast is the delivery mechanism on shared-media packet networks&lt;/li&gt;
&lt;li&gt;Related: &lt;a href=&quot;../../osi-model-layers&quot; class=&quot;internal alias&quot; data-slug=&quot;osi-model-layers&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;OSI Model — Seven Layers&lt;/a&gt; — broadcast is primarily a Physical + Data Link layer concern&lt;/li&gt;
&lt;li&gt;Related: &lt;a href=&quot;../../broadcast-links&quot; class=&quot;internal alias&quot; data-slug=&quot;broadcast-links&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Broadcast Links&lt;/a&gt; — the address field mechanism is what makes broadcast work&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;edge-cases--gotchas&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Edge Cases &amp;#x26; Gotchas&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#edge-cases--gotchas&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul dir=&quot;auto&quot;&gt;
&lt;li&gt;&lt;strong&gt;Broadcast storms&lt;/strong&gt; — if many nodes broadcast simultaneously, the channel becomes unusable&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Privacy&lt;/strong&gt; — in unencrypted broadcast networks, any node can eavesdrop on any other node’s traffic&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modern Ethernet&lt;/strong&gt; — switched Ethernet appears point-to-point but uses broadcast ARP and DHCP at the link layer&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Not the same as broadcast addressing&lt;/strong&gt; — sending to a special “all nodes” address is a deliberate broadcast, not the physical property of the medium&lt;/li&gt;
&lt;/ul&gt;</content>
  </entry><entry>
    <title>circuit-switching</title>
    <link href="https://animishraa05.github.io/wiki/networking/circuit-switching" />
    <link rel="alternate" type="text/markdown" href="https://animishraa05.github.io/wiki/networking/circuit-switching.md" />
    <summary>The Problem Two parties need a guaranteed, dedicated communication channel for the duration of their conversation.</summary>
    <published>2026-04-11T00:00:00.000Z</published>
    <updated>2026-04-11T00:00:00.000Z</updated>
    <publishedTime>Apr 11, 2026</publishedTime>
    <updatedTime>Apr 11, 2026</updatedTime>
    <category term="networking" label="networking" />
<category term="switching" label="switching" />
    <author>
      <name>Animesh Mishra</name>
      <email>animesh.mishra818@gmail.com</email>
    </author>
    <content type="html">&lt;h2 id=&quot;the-problem&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;The Problem&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#the-problem&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p dir=&quot;auto&quot;&gt;Two parties need a guaranteed, dedicated communication channel for the duration of their conversation. They need consistent latency and no interference from other traffic. How do you guarantee this on a shared physical infrastructure?&lt;/p&gt;
&lt;h2 id=&quot;core-idea&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Core Idea&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#core-idea&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p dir=&quot;auto&quot;&gt;Before any data is sent, a &lt;strong&gt;dedicated physical path&lt;/strong&gt; is established through the network from source to destination. This path is reserved exclusively for this conversation for its entire duration. No other traffic can use the reserved resources. When the conversation ends, the circuit is torn down and resources are freed.&lt;/p&gt;
&lt;h2 id=&quot;how-it-works&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;How It Works&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#how-it-works&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol dir=&quot;auto&quot;&gt;
&lt;li&gt;&lt;strong&gt;Connection setup&lt;/strong&gt; — source sends a setup request; each intermediate node reserves bandwidth on its outgoing link&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data transfer&lt;/strong&gt; — once the circuit is established, data flows continuously along the reserved path&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Connection teardown&lt;/strong&gt; — when done, a teardown signal frees all reserved resources&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;key-properties&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Key Properties&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#key-properties&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul dir=&quot;auto&quot;&gt;
&lt;li&gt;&lt;strong&gt;Reserved bandwidth&lt;/strong&gt; — the full capacity of the reserved path is guaranteed to this conversation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fixed latency&lt;/strong&gt; — no queuing delays from competing traffic once the circuit is established&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Setup overhead&lt;/strong&gt; — the initial setup takes time; short-lived communication pays this cost disproportionately&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resource waste during silence&lt;/strong&gt; — if no data is being sent, the reserved bandwidth sits idle&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;connections&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Connections&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#connections&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul dir=&quot;auto&quot;&gt;
&lt;li&gt;Contrasts with: &lt;a href=&quot;../../packet-switching&quot; class=&quot;internal alias&quot; data-slug=&quot;packet-switching&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Packet Switching&lt;/a&gt; — dedicated vs shared, fixed vs dynamic, no setup vs setup cost&lt;/li&gt;
&lt;li&gt;Related: &lt;a href=&quot;../../connection-oriented-service&quot; class=&quot;internal alias&quot; data-slug=&quot;connection-oriented-service&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Connection-Oriented Service&lt;/a&gt; — circuit switching is the physical implementation of connection-oriented service&lt;/li&gt;
&lt;li&gt;Related: &lt;a href=&quot;../../client-server-model&quot; class=&quot;internal alias&quot; data-slug=&quot;client-server-model&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Client-Server Model&lt;/a&gt; — the connection setup mirrors the connect-communicate-release pattern&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;edge-cases--gotchas&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Edge Cases &amp;#x26; Gotchas&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#edge-cases--gotchas&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul dir=&quot;auto&quot;&gt;
&lt;li&gt;&lt;strong&gt;Wasted capacity&lt;/strong&gt; — human conversations have ~50% silence time; circuit switching reserves bandwidth even during silence&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scalability limit&lt;/strong&gt; — the number of simultaneous circuits is bounded by the number of physical channels&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Not just telephony&lt;/strong&gt; — optical networks (WDM) use circuit-switching-like wavelength reservation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modern hybrid&lt;/strong&gt; — MPLS and ATM blend circuit-switching predictability with packet-switching flexibility&lt;/li&gt;
&lt;/ul&gt;</content>
  </entry><entry>
    <title>packet-switching</title>
    <link href="https://animishraa05.github.io/wiki/networking/packet-switching" />
    <link rel="alternate" type="text/markdown" href="https://animishraa05.github.io/wiki/networking/packet-switching.md" />
    <summary>The Problem You need to send data across a network shared by many users.</summary>
    <published>2026-04-11T00:00:00.000Z</published>
    <updated>2026-04-11T00:00:00.000Z</updated>
    <publishedTime>Apr 11, 2026</publishedTime>
    <updatedTime>Apr 11, 2026</updatedTime>
    <category term="networking" label="networking" />
<category term="switching" label="switching" />
<category term="data-link" label="data-link" />
    <author>
      <name>Animesh Mishra</name>
      <email>animesh.mishra818@gmail.com</email>
    </author>
    <content type="html">&lt;h2 id=&quot;the-problem&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;The Problem&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#the-problem&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p dir=&quot;auto&quot;&gt;You need to send data across a network shared by many users. If you dedicate the entire channel to one conversation (like a phone call), most of the channel sits idle during pauses. That’s wasteful. How do you share a single physical medium among thousands of conversations efficiently?&lt;/p&gt;
&lt;h2 id=&quot;core-idea&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Core Idea&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#core-idea&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p dir=&quot;auto&quot;&gt;Break the data into small chunks called &lt;strong&gt;packets&lt;/strong&gt;. Each packet carries the destination address. Packets from different conversations share the same physical links. Each packet may take a different route to the destination. The receiver reassembles them in order.&lt;/p&gt;
&lt;h2 id=&quot;how-it-works&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;How It Works&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#how-it-works&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol dir=&quot;auto&quot;&gt;
&lt;li&gt;Data is segmented into packets of bounded size&lt;/li&gt;
&lt;li&gt;Each packet gets a header with: source address, destination address, sequence number, error-checking info&lt;/li&gt;
&lt;li&gt;Packets are forwarded independently by intermediate nodes (routers)&lt;/li&gt;
&lt;li&gt;Different packets may take different paths&lt;/li&gt;
&lt;li&gt;Destination reassembles based on sequence numbers&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;key-properties&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Key Properties&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#key-properties&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul dir=&quot;auto&quot;&gt;
&lt;li&gt;&lt;strong&gt;Statistical multiplexing&lt;/strong&gt; — link capacity is shared dynamically, not pre-allocated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No dedicated path&lt;/strong&gt; — packets from the same conversation compete with others for bandwidth&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Store-and-forward&lt;/strong&gt; — each router receives the full packet, checks it, then forwards&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Robust&lt;/strong&gt; — if one path fails, packets can reroute through other paths&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;connections&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Connections&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#connections&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul dir=&quot;auto&quot;&gt;
&lt;li&gt;Contrasts with: &lt;a href=&quot;../../circuit-switching&quot; class=&quot;internal alias&quot; data-slug=&quot;circuit-switching&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Circuit Switching&lt;/a&gt; — dedicated path vs shared, fixed bandwidth vs dynamic&lt;/li&gt;
&lt;li&gt;Related: &lt;a href=&quot;../../point-to-point-links&quot; class=&quot;internal alias&quot; data-slug=&quot;point-to-point-links&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Point-to-Point Links&lt;/a&gt; — packets are the unit of communication on point-to-point networks&lt;/li&gt;
&lt;li&gt;Related: &lt;a href=&quot;../../osi-model-layers&quot; class=&quot;internal alias&quot; data-slug=&quot;osi-model-layers&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;OSI Model — Seven Layers&lt;/a&gt; — packets are Network Layer (L3) units&lt;/li&gt;
&lt;li&gt;Built from: &lt;a href=&quot;../../layered-architecture-networking&quot; class=&quot;internal alias&quot; data-slug=&quot;layered-architecture-networking&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Layered Architecture in Networking&lt;/a&gt; — packets exist because of layering&lt;/li&gt;
&lt;li&gt;Related: &lt;a href=&quot;../../broadcast-links&quot; class=&quot;internal alias&quot; data-slug=&quot;broadcast-links&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;Broadcast Links&lt;/a&gt; — in broadcast networks, all nodes receive every packet but only process addressed ones&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;edge-cases--gotchas&quot; dir=&quot;auto&quot;&gt;&lt;span class=&quot;highlight-span&quot;&gt;Edge Cases &amp;#x26; Gotchas&lt;/span&gt;&lt;a data-role=&quot;anchor&quot; data-no-popover href=&quot;#edge-cases--gotchas&quot; class=&quot;internal&quot;&gt;&lt;span class=&quot;indicator-hook&quot;&gt;&lt;/span&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;use href=&quot;#github-anchor&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul dir=&quot;auto&quot;&gt;
&lt;li&gt;&lt;strong&gt;Out-of-order delivery&lt;/strong&gt; — packets may arrive in different order than sent; reassembly must handle this&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Packet loss&lt;/strong&gt; — if a router’s buffer is full, it drops packets; higher layers must detect and retransmit&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Head-of-line blocking&lt;/strong&gt; — a delayed packet at the front of a queue can block packets behind it&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Not the same as message switching&lt;/strong&gt; — message switching sends the entire message as one unit; packet switching breaks it into smaller pieces&lt;/li&gt;
&lt;/ul&gt;</content>
  </entry>
</feed>