<?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: Md Tanvir Rahman</title>
    <description>The latest articles on DEV Community by Md Tanvir Rahman (@mr_good_cat).</description>
    <link>https://dev.to/mr_good_cat</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3905183%2Fef6fad7e-a973-4639-868a-e0e73a555550.jpg</url>
      <title>DEV Community: Md Tanvir Rahman</title>
      <link>https://dev.to/mr_good_cat</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mr_good_cat"/>
    <language>en</language>
    <item>
      <title>How does internet traffic actually find the right EC2 in the first place?</title>
      <dc:creator>Md Tanvir Rahman</dc:creator>
      <pubDate>Thu, 14 May 2026 09:37:04 +0000</pubDate>
      <link>https://dev.to/mr_good_cat/how-does-internet-traffic-actually-find-the-right-ec2-in-the-first-place-1fgc</link>
      <guid>https://dev.to/mr_good_cat/how-does-internet-traffic-actually-find-the-right-ec2-in-the-first-place-1fgc</guid>
      <description>&lt;p&gt;I launched an EC2 instance in Tokyo region &lt;em&gt;(ap-northeast-1)&lt;/em&gt;. Opened a browser. Typed the public IP. The page loaded in milliseconds.&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%2F7fvhs56j6zukgbdo0uak.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%2F7fvhs56j6zukgbdo0uak.png" alt="web-page" width="799" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But I couldn't stop thinking — how did that packet find my EC2? Out of millions of servers inside AWS datacenters, how did my HTTP request land on exactly the right physical machine?&lt;/p&gt;

&lt;p&gt;So I ran some experiments. What I found was a journey across three completely different networks — each with its own rules, its own routing logic, and its own way of saying  — &lt;strong&gt;The EC2 you want is this way👉&lt;/strong&gt;&lt;br&gt;
Let me walk you through all of it.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Setup
&lt;/h2&gt;

&lt;p&gt;Before we trace the packet, here is the EC2 instance I used for this experiment.&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%2Fivrsug5aes3m4yyit6cx.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%2Fivrsug5aes3m4yyit6cx.png" alt="EC2 Info" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  The Big Picture — Three Stages — Three Networks
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Stage 1 — Public Internet&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stage 2 — AWS Private Backbone&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stage 3 — Inside the Physical Server&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each stage has a completely different routing mechanism. Let me show you each one — backed by actual traceroute data.&lt;/p&gt;


&lt;h3&gt;
  
  
  Stage 1 — How the Public Internet Finds AWS
&lt;/h3&gt;

&lt;p&gt;Before your packet even left your PC, your ISP's router already knew where to send it. The mechanism is &lt;strong&gt;BGP (Border Gateway Protocol)&lt;/strong&gt;. AWS owns large blocks of public IP addresses:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="m"&gt;54&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;/&lt;span class="m"&gt;8&lt;/span&gt;
&lt;span class="m"&gt;52&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;/&lt;span class="m"&gt;8&lt;/span&gt;
&lt;span class="m"&gt;35&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;/&lt;span class="m"&gt;8&lt;/span&gt;
&lt;span class="m"&gt;3&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;/&lt;span class="m"&gt;8&lt;/span&gt;
... &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;many&lt;/span&gt; &lt;span class="n"&gt;more&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can find all the latest ranges from here. &lt;a href="https://ip-ranges.amazonaws.com/ip-ranges.json" rel="noopener noreferrer"&gt;AWS services IP range&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AWS announces all of these ranges to the internet via BGP from their edge routers. Every ISP router in the world learns: &lt;strong&gt;&lt;em&gt;"If you want to reach anything in 35.72.0.0/13, send it toward AWS."&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
So, I ran &lt;code&gt;tracert&lt;/code&gt; from my ｗindows machine to the EC2 public IP.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;C:\Users\Tanvir&amp;gt;&lt;/span&gt;tracert 35.72.2.8
&lt;span class="go"&gt;
Tracing route to ec2-35-72-2-8.ap-northeast-1.compute.amazonaws.com [35.72.2.8]
The maximum number of hops involved is 30.

  1     2 ms     2 ms     1 ms  172.16.x.x
  2     6 ms     8 ms     6 ms  118.23.140.230
  3    11 ms    12 ms    12 ms  118.23.140.41
  4    19 ms    10 ms    11 ms  180.8.119.165
  5    21 ms    22 ms    21 ms  125.170.96.57
  6    25 ms    24 ms    27 ms  125.170.96.198
  7    22 ms    26 ms    24 ms  221.184.13.2
  8     *        *        *     The request timed out.
  9     *        *        *     The request timed out.
 10     *        *        *     The request timed out.
 11     *        *        *     The request timed out.
 12     *        *        *     The request timed out.
 15  ^C
&lt;/span&gt;&lt;span class="gp"&gt;C:\Users\Tanvir&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Seven visible hops. Then silence. But the EC2 responded perfectly. Let me decode every single hop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Hop 1&lt;/code&gt;&lt;/strong&gt;   Your Gateway (172.16.x.x | 4ms)&lt;/p&gt;

&lt;p&gt;The first hop is always your default gateway — your local router. The 172.16.x.x range is a private IP, which confirms this is the office or home network gateway.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Hop 2 &amp;amp; 3&lt;/code&gt;&lt;/strong&gt;   ISP Backbone (118.23.140.x | 5–11ms)&lt;/p&gt;

&lt;p&gt;The 118.x.x.x range belongs to NTT/OCN — one of Japan's major ISPs. These are internal backbone routers inside your provider's network.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Hops 4, 5 &amp;amp; 6&lt;/code&gt;&lt;/strong&gt; — NTT Communications Transit (180.8.x / 125.170.x | 19–25ms)&lt;/p&gt;

&lt;p&gt;Notice the latency jump here — from 11ms to 19ms. This is the moment your traffic left your local ISP and entered NTT Communications, a Tier-1 carrier that operates Japan's backbone infrastructure and has direct peering agreements with major cloud providers including AWS.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hop 4:  180.8.119.165   NTT transit entry point
Hop 5:  125.170.96.57   NTT backbone routing
Hop 6:  125.170.96.198  NTT backbone, approaching handoff
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;code&gt;Hop 7&lt;/code&gt;&lt;/strong&gt; — The Handoff Point (221.184.13.2 | 22ms)&lt;/p&gt;

&lt;p&gt;This is the most interesting hop in the entire trace. 221.184.13.2 is the last publicly visible address before the packet enters AWS's private world.&lt;/p&gt;

&lt;p&gt;I ran two follow-up commands on this IP:&lt;br&gt;
&lt;strong&gt;&lt;em&gt;&lt;code&gt;Ping&lt;/code&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;C:\Users\Tanvir&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;ping 221.184.13.2
&lt;span class="go"&gt;
Reply: 28ms  TTL=58
Reply: 31ms  TTL=58
Reply: 28ms  TTL=58
Reply: 23ms  TTL=58
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;code&gt;nslookup&lt;/code&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;C:\Users\Tanvir&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;nslookup 221.184.13.2
&lt;span class="go"&gt;
Server:   nv-kf591.ocn.ad.jp
Address:  221.113.139.148
*** nv-kf591.ocn.ad.jp can't find 221.184.13.2: Non-existent domain
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Three observations from this data:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;It responds to ping — so the device is alive and reachable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;TTL = 58 — most routers start TTL at 64, which means 6 hops have been consumed reaching this device from wherever it originates its responses. This tells you the device is 6 routing hops deep inside some network — consistent with an IXP edge router.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No PTR record (no reverse DNS) — this is deliberate. AWS edge and peering routers do not publish DNS names for their interfaces. It is standard practice for Internet Exchange routers — they forward traffic perfectly but stay anonymous. You cannot map AWS's internal topology from outside.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This hop is the NTT ↔ AWS peering point — physically located at an Internet Exchange Point (IXP) in Tokyo such as JPIX, JPNAP, or Equinix Tokyo. NTT hands your packet to AWS right here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Hop 8&lt;/code&gt;&lt;/strong&gt; — The AWS Black Hole (* * *)&lt;/p&gt;

&lt;p&gt;From Hop 8 onward, traceroute returns nothing. But the EC2 was responding to HTTP requests the entire time. So the route did not break — AWS simply blocks ICMP TTL-exceeded messages inside their network. It indicates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It hides AWS's internal network topology&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Nobody can map the AWS backbone from outside&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Your traffic flows perfectly — traceroute just loses visibility&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything from Hop 8 onward is inside AWS's private world. And this wrap-up stage 1.&lt;/p&gt;




&lt;h3&gt;
  
  
  Stage 2 — Inside AWS | From Edge Router to Physical Server
&lt;/h3&gt;

&lt;p&gt;Once your packet crosses the IXP handoff and reaches the AWS edge router, it enters a completely different world — AWS's private backbone. This part is invisible to traceroute, but we can reason through it from AWS's published architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How Does the AWS Edge Router Know Which Server Your EC2 Is On?&lt;/strong&gt; ー Actually, when you launch an EC2 instance, AWS's central SDN controller builds a complete internal mapping.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Public IP:   35.72.2.8
Elastic IP mapped to → ENI: eni-abc123
ENI lives on         → Physical Server #XXXX
Server is in         → Rack R-22
Rack is in           → AZ: ap-northeast-1a
* * * *              → * * * *
* * * *              → * * * *
* * * *              → * * * *
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The moment your packet arrives at the AWS edge router with destination &lt;code&gt;35.72.2.8&lt;/code&gt;, initially the router looks up this mapping and knows exactly which physical server to route toward. Then it wraps your packet inside another packet for internal transport. The new packet's header consist with new &lt;em&gt;source IP (AWS Edge Router internal IP)&lt;/em&gt; &amp;amp; new &lt;em&gt;destination IP  (Physical Server #XXXX internal IP)&lt;/em&gt;. This is called &lt;strong&gt;Overlay Tunneling (VXLAN)&lt;/strong&gt;. The inner packet is unwrapped only when it reaches the Nitro card on the destination server.&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%2Fjj10fau2a10r914q2wmc.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%2Fjj10fau2a10r914q2wmc.png" alt="vxlan" width="800" height="889"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Stage 3 — Inside the Physical Server: Nitro Finds Your EC2
&lt;/h3&gt;

&lt;p&gt;Now the packet has arrived at the physical server. Now the Nitro card takes over. The ENI is fingerprint of Your EC2's Network Identity. Every EC2 instance has an Elastic Network Interface (ENI) — a virtual NIC that carries everything needed to identify ownership. A detailed blog also been published, you can read it from &lt;a href="https://dev.to/mr_good_cat/where-do-your-aws-network-rules-actually-live-4ofe"&gt;here&lt;/a&gt;. &lt;/p&gt;




&lt;h2&gt;
  
  
  The Complete Journey — Every Hop Mapped
&lt;/h2&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%2Fds6hfn0pyzrjn2g6c2bn.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%2Fds6hfn0pyzrjn2g6c2bn.png" alt="the journey" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;BGP is what makes the internet find AWS. AWS announces its IP ranges globally via BGP. Every ISP router learns the path. Your ISP routes toward AWS the same way it routes toward any destination — pure BGP.&lt;/li&gt;
&lt;li&gt; ISP does not connect directly to the AWS edge location. The handoff happens at a neutral IXP facility. After that, the packet enters AWS's fully private backbone.&lt;/li&gt;
&lt;li&gt;AWS blocks ICMP inside their network. You can see the handoff point but nothing beyond it. This hides internal topology from the public internet.&lt;/li&gt;
&lt;li&gt;The Nitro card does the final delivery. &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>internet</category>
      <category>routing</category>
      <category>ec2</category>
    </item>
    <item>
      <title>Where Do Your AWS Network Rules Actually Live?</title>
      <dc:creator>Md Tanvir Rahman</dc:creator>
      <pubDate>Mon, 11 May 2026 13:40:49 +0000</pubDate>
      <link>https://dev.to/mr_good_cat/where-do-your-aws-network-rules-actually-live-4ofe</link>
      <guid>https://dev.to/mr_good_cat/where-do-your-aws-network-rules-actually-live-4ofe</guid>
      <description>&lt;p&gt;After spending years climbing into server racks, cabling switches, and staring at Cisco IOS prompts, the first time I opened the AWS console felt oddly disorienting.&lt;br&gt;
Everything I knew was still there — subnets, routing tables, firewall rules — but the physical devices had completely vanished. No chassis to open. No cable to trace. Just a browser tab. So I went digging. And what I found changed how I think about networking entirely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS did not reinvent networking. It took every concept we already know and rebuilt it as distributed software — invisible to us, managed entirely by Amazon, running across thousands of physical servers.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let me show you exactly what that means.&lt;/p&gt;
&lt;h2&gt;
  
  
  Same Concepts, Different World
&lt;/h2&gt;

&lt;p&gt;In an on-premises environment, the path from the edge router to a client's server runs through a private internal network — thousands of L2/L3 Switches, Next-Gen Firewalls, Load Balancers. We group them by service or client type, rack the devices, cable everything, SSH in, and configure VLANs, routing protocols, ACLs, and firewall policies directly on each device. We have &lt;strong&gt;full physical access &amp;amp; control.&lt;/strong&gt;&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%2Fc9kk0nldpynveyk4m92u.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%2Fc9kk0nldpynveyk4m92u.png" alt="Internal-Network" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Inside AWS, the physical hardware still exists. There is a massive private internal network fabric connecting Amazon's datacenters — they call it the &lt;strong&gt;AWS Backbone&lt;/strong&gt;. And every concept you know from on-prem has a direct AWS equivalent. The terminology shifts slightly, but the logic is identical. A route table is still a route table. A firewall rule is still a firewall rule. Also — &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%2Fix6tfdcrwytczdted3pe.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%2Fix6tfdcrwytczdted3pe.png" alt="comparison" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But here is where most network engineers hit a wall. If the concepts are the same, then:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;On-prem physical router == AWS's physical router?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;On-prem physical firewall == AWS's physical firewall?&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Are we somehow reaching their internal devices from the public internet?
&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AWS says everything lives in a private network — so &lt;em&gt;how&lt;/em&gt; does any of this work?&lt;br&gt;
The answer flips everything you expect on its head. &lt;/p&gt;
&lt;h2&gt;
  
  
  Your Rules Don't Live Where You Think
&lt;/h2&gt;

&lt;p&gt;On-premises, a network engineer touches everything — from the edge router all the way down to the Top of Rack (ToR) switch — for any configuration task. In AWS, it is the complete opposite.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No physical router, firewall, or switch inside the AWS datacenter holds your configuration.&lt;/strong&gt; Not a single one.&lt;/p&gt;

&lt;p&gt;Instead, every networking rule you apply through the AWS console or CLI — your Security Groups, your Route Tables, your VPC settings — is picked up and enforced by something running directly on the physical server where your EC2 instance lives. That something is the &lt;strong&gt;AWS Nitro Hypervisor.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Think of it this way➝ in on-prem, your rules live in the &lt;strong&gt;&lt;em&gt;network.&lt;/em&gt;&lt;/strong&gt; In AWS, your rules live in the &lt;strong&gt;&lt;em&gt;server.&lt;/em&gt;&lt;/strong&gt; Right there on the same physical machine as your VM, before any packet can reach it.&lt;/p&gt;

&lt;p&gt;This is the key insight that unlocks everything else.   &lt;/p&gt;
&lt;h2&gt;
  
  
  Nitro Hypervisor  — The Real Game changer
&lt;/h2&gt;

&lt;p&gt;To understand why Nitro matters, you first need to see the problem with traditional hypervisors.&lt;/p&gt;

&lt;p&gt;In on-premises environments, hypervisors like VMware ESXi or Microsoft Hyper-V run as a software layer on the &lt;strong&gt;main CPU.&lt;/strong&gt; They manage VMs, networking, storage, and security — but they do all of it by competing with your VMs for the same CPU and RAM. Every packet your VM sends, every disk write it makes, the hypervisor jumps in on the main CPU to process it. Under heavy load, that overhead can silently consume 10–30% of compute resources.&lt;/p&gt;

&lt;p&gt;AWS looked at this problem at the scale of millions of EC2 instances and asked a simple but radical question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;What if we moved every hypervisor function completely off the main CPU?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The answer was &lt;strong&gt;Nitro&lt;/strong&gt; — three dedicated hardware chips (ASICs), each responsible for one job and one job only.&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%2Fcu7mdw5iz9sqioqora93.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%2Fcu7mdw5iz9sqioqora93.png" alt="nitro hypervisor" width="800" height="913"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Nitro Network Card&lt;/code&gt; : Handles Security Groups, VPC routing, NAT translation, packet filtering, and VPC traffic isolation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Nitro Storage Card&lt;/code&gt; : Handles EBS volume I/O, NVMe processing, AES-256 encryption, compression, and snapshot management.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Nitro Security Chip&lt;/code&gt; : Enforces hardware-level isolation, secure boot, encryption key management at the hardware level. This chip is why AWS can make announcement loudly that even their own employees cannot access your VM. It is not a policy — it is physically impossible at the hardware level.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;※ The result : your EC2 instance gets nearly 100% of the physical CPU and RAM. The hypervisor's resource utilization drops to almost zero. That is why AWS EC2 on Nitro performs close to bare-metal speeds — because there is barely any hypervisor overhead left to subtract.&lt;/p&gt;
&lt;h2&gt;
  
  
  But There Are Thousands of EC2s on One Server — How Does Nitro Know Which Rules Are Yours?
&lt;/h2&gt;

&lt;p&gt;This is the question that always comes next, and it is a good one.&lt;/p&gt;

&lt;p&gt;A single physical server inside an AWS datacenter can run EC2 instances belonging to dozens of different customers. When a packet arrives at the physical NIC, the Nitro card needs to know instantly : whose packet is this, and which rules apply to it?&lt;/p&gt;

&lt;p&gt;The Answer — Everything has a unique ID. When you create ANYTHING in AWS, it gets a unique identifier burned into it. Like ——&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Your EC2              → i-0a1b2c3d4e5f
Your VPC              → vpc-0a1b2c3d4e5f
Your Subnet           → subnet-0a1b2c3d4e5f
Your Route Table      → rtb-0a1b2c3d4e5f
Your Security Group   → sg-0a1b2c3d4e5f
Your ENI              → eni-0a1b2c3d4e5f
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These IDs form a chain of ownership stored in AWS's central SDN controller database. When your EC2 launches on a physical server, the SDN controller pushes your complete rule set — Security Groups, Route Tables, VPC boundaries — directly into the Nitro card's dedicated memory on that server. But the real-time traffic matching happens through something more fundamental : the &lt;strong&gt;ENI&lt;/strong&gt; and its &lt;strong&gt;MAC address&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Every EC2 instance has an Elastic Network Interface (ENI) — think of it as its virtual NIC. The ENI carries everything: private IP, public IP, Security Group assignment, subnet, VPC, and a unique MAC address.&lt;/p&gt;

&lt;p&gt;Here is what happens the moment a packet arrives:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The packet hits the physical NIC carrying a destination MAC address inside its Layer 2 frame.&lt;/li&gt;
&lt;li&gt;The Nitro card reads that MAC address and looks it up in its internal ENI table.&lt;/li&gt;
&lt;li&gt;It instantly knows: this MAC belongs to ENI &lt;code&gt;eni-abc123&lt;/code&gt;, which belongs to Customer A's VPC, protected by Security Group &lt;code&gt;sg-xxx&lt;/code&gt;, routed by Route Table &lt;code&gt;rtb-xxx&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;It applies those rules in hardware — in nanoseconds — and either delivers the packet to the right EC2 or drops it.
&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%2Fzaak2k22o9rhssrz590j.png" alt="Traffic Flow" width="800" height="1200"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Two customers can even share the same private IP address (say, &lt;code&gt;10.0.1.5&lt;/code&gt;) on the same physical server — because the VPC ID in the ENI chain keeps them completely isolated. The Nitro card never confuses them. It is not working from IP alone; it is working from the full ownership chain burned into its memory.&lt;br&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%2F8iaxpq5ccptb3pkn2ujp.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%2F8iaxpq5ccptb3pkn2ujp.png" alt="Traffic Distinguish" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  So What Does This Actually Mean for You?
&lt;/h2&gt;

&lt;p&gt;If you have spent years in on-prem networking, here is the mental model that ties everything together —&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In on-premises, your rules live &lt;strong&gt;in the network&lt;/strong&gt; — in the router, in the firewall, in the switch ACL. Traffic hits those devices and gets filtered there.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In AWS, your rules live &lt;strong&gt;in the server&lt;/strong&gt; — in the Nitro card's dedicated memory, enforced before any packet reaches your VM. There is no physical firewall in the path. There is no router to SSH into. The entire network policy is distributed to every physical server that runs your workloads. That is not a limitation. That is the design.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>onpremises</category>
      <category>networking</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
