<?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: Umix</title>
    <description>The latest articles on DEV Community by Umix (@_a19f513dbff3445581b0).</description>
    <link>https://dev.to/_a19f513dbff3445581b0</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%2F4243914%2Fdd9d75cf-9d76-4d73-9fca-19b7331561b1.jpg</url>
      <title>DEV Community: Umix</title>
      <link>https://dev.to/_a19f513dbff3445581b0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_a19f513dbff3445581b0"/>
    <language>en</language>
    <item>
      <title>3 Cloud Networking Math Traps That Break Production (and a Zero-Upload Workbench)</title>
      <dc:creator>Umix</dc:creator>
      <pubDate>Sat, 14 Nov 2026 05:23:50 +0000</pubDate>
      <link>https://dev.to/_a19f513dbff3445581b0/3-cloud-networking-math-traps-that-break-production-and-a-zero-upload-workbench-ghp</link>
      <guid>https://dev.to/_a19f513dbff3445581b0/3-cloud-networking-math-traps-that-break-production-and-a-zero-upload-workbench-ghp</guid>
      <description>&lt;p&gt;Every time I design a multi-tier cloud VPC, debug a hung WireGuard tunnel, or compress sprawling firewall rules, I end up needing quick subnet or MTU math.&lt;/p&gt;

&lt;p&gt;Most calculators on page one of search results haven't changed since 2008: they assume classic RFC &lt;code&gt;-2&lt;/code&gt; host math, ignore cloud provider reservations, or upload pasted &lt;code&gt;JWT&lt;/code&gt; bearer tokens and configs to a backend server.&lt;/p&gt;

&lt;p&gt;Here are &lt;strong&gt;3 networking math traps&lt;/strong&gt; that regularly bite engineers in production—plus &lt;strong&gt;&lt;a href="https://netdevkit.com/" rel="noopener noreferrer"&gt;NetDevKit&lt;/a&gt;&lt;/strong&gt;, a fast, &lt;strong&gt;100% client-side browser workbench&lt;/strong&gt; I built to solve them offline.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. The AWS &amp;amp; Azure &lt;code&gt;/28&lt;/code&gt; Subnet Surprise (&lt;code&gt;11&lt;/code&gt; IPs, Not &lt;code&gt;14&lt;/code&gt;)
&lt;/h2&gt;

&lt;p&gt;Under classic RFC 950 subnetting, a &lt;code&gt;/28&lt;/code&gt; block (&lt;code&gt;16&lt;/code&gt; total IPv4 addresses) gives you &lt;code&gt;14&lt;/code&gt; usable hosts. Cloud VPCs reserve extra control-plane addresses inside every subnet:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Environment&lt;/th&gt;
&lt;th&gt;Reserved IPs&lt;/th&gt;
&lt;th&gt;Usable Hosts in &lt;code&gt;/28&lt;/code&gt;
&lt;/th&gt;
&lt;th&gt;What's Reserved?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Standard RFC&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;14&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;.0&lt;/code&gt; Network, &lt;code&gt;.15&lt;/code&gt; Broadcast&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Google Cloud (GCP)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;4&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;12&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Network, &lt;code&gt;.1&lt;/code&gt; Gateway, Penultimate IP, Broadcast&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS VPC / Azure VNet&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;5&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;11&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;.0&lt;/code&gt; Net, &lt;code&gt;.1&lt;/code&gt; Router, &lt;code&gt;.2&lt;/code&gt; DNS, &lt;code&gt;.3&lt;/code&gt; Future, Broadcast&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;During rolling Kubernetes node upgrades or multi-AZ RDS failovers, those missing IPs routinely trigger &lt;code&gt;InsufficientFreeAddressesInSubnet&lt;/code&gt; errors.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Try it live (pre-filled &lt;code&gt;/28&lt;/code&gt; in AWS VPC mode + Terraform snippet):&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://netdevkit.com/tools/subnet-calculator/?ip=10.24.16.0&amp;amp;cidr=28&amp;amp;mode=aws" rel="noopener noreferrer"&gt;IPv4 Subnet &amp;amp; Cloud VPC Calculator →&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  2. WireGuard Over PPPoE Hanging on &lt;code&gt;TLS ClientHello&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ping&lt;/code&gt; works across the VPN tunnel, SSH connects, and then &lt;code&gt;curl https://...&lt;/code&gt; or &lt;code&gt;git clone&lt;/code&gt; freezes indefinitely.&lt;/p&gt;

&lt;p&gt;That is a classic &lt;strong&gt;Path MTU Discovery (PMTUD) blackhole&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Standard Ethernet (&lt;code&gt;1500&lt;/code&gt;) minus IPv6 WireGuard overhead (&lt;code&gt;80&lt;/code&gt; bytes) = &lt;strong&gt;&lt;code&gt;1420&lt;/code&gt; MTU&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Behind residential &lt;strong&gt;PPPoE&lt;/strong&gt; (&lt;code&gt;8&lt;/code&gt; bytes overhead, &lt;code&gt;1492&lt;/code&gt; WAN MTU), your safe ceiling drops to &lt;strong&gt;&lt;code&gt;1412&lt;/code&gt; bytes&lt;/strong&gt; (&lt;code&gt;TCP MSS = 1372&lt;/code&gt; for IPv4 / &lt;code&gt;1352&lt;/code&gt; for IPv6)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When upstream firewalls drop &lt;code&gt;ICMP Fragmentation Needed&lt;/code&gt; packets, large TLS handshakes stall silently unless you clamp &lt;code&gt;TCP MSS&lt;/code&gt; on forward chains:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nft add rule inet filter forward tcp flags syn tcp option maxseg size &lt;span class="nb"&gt;set&lt;/span&gt; rt mtu
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Calculate exact tunnel overhead &amp;amp; split-tunnel configs:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://netdevkit.com/tools/mtu-mss-calculator/" rel="noopener noreferrer"&gt;MTU, TCP MSS &amp;amp; VPN Overhead Calculator →&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://netdevkit.com/tools/wireguard-config-generator/" rel="noopener noreferrer"&gt;WireGuard &lt;code&gt;AllowedIPs&lt;/code&gt; &amp;amp; Peer Config Builder →&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  3. Firewall Exact Merging vs. BGP Supernets
&lt;/h2&gt;

&lt;p&gt;Summarizing routes for &lt;strong&gt;BGP/OSPF&lt;/strong&gt; is very different from compressing CIDR lists to fit inside AWS Security Group quotas (&lt;code&gt;60&lt;/code&gt; rules per group by default):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Firewall / Security Group compression&lt;/strong&gt; requires &lt;strong&gt;Exact Merge&lt;/strong&gt; (&lt;code&gt;0&lt;/code&gt; unallocated gap IPs exposed to external traffic).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BGP route aggregation&lt;/strong&gt; uses a &lt;strong&gt;Single Umbrella Supernet&lt;/strong&gt; (which spans intermediate gaps and requires a &lt;code&gt;Null0&lt;/code&gt; discard route to prevent routing loops).&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Audit &amp;amp; merge CIDR lists locally in your browser:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://netdevkit.com/tools/cidr-aggregator/" rel="noopener noreferrer"&gt;CIDR Route Summarization &amp;amp; AWS Security Group Merger →&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://netdevkit.com/tools/cidr-overlap-checker/" rel="noopener noreferrer"&gt;Multi-Cloud VPC &amp;amp; Kubernetes CIDR Overlap Checker →&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What Else Is Inside the Workbench?
&lt;/h2&gt;

&lt;p&gt;Everything on &lt;strong&gt;&lt;a href="https://netdevkit.com/" rel="noopener noreferrer"&gt;NetDevKit&lt;/a&gt;&lt;/strong&gt; runs &lt;strong&gt;100% locally in vanilla JS &amp;amp; WebCrypto&lt;/strong&gt;—zero server uploads, dark mode, shareable links, and one-click CLI/Terraform copy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IP &amp;amp; Routing:&lt;/strong&gt; IPv4/Cloud VPC, VLSM Splitter (CSV export), IPv6 Compression, CIDR Merger, VPC Overlap Checker&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VPN &amp;amp; Security:&lt;/strong&gt; WireGuard Config Builder, Tunnel MTU/MSS Calculator, SPF &amp;amp; DMARC DNS Generator&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DevOps &amp;amp; Crypto:&lt;/strong&gt; Offline &lt;code&gt;JWT&lt;/code&gt; Expiry Inspector, JSON/Base64 Formatter, WebCrypto &lt;code&gt;SHA-256&lt;/code&gt;/&lt;code&gt;SHA-512&lt;/code&gt; &amp;amp; URL Encoder, Cron Simulator, Linux &lt;code&gt;chmod&lt;/code&gt;/Umask, Log Regex Matcher&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next up on my list: &lt;strong&gt;LLM GPU VRAM &amp;amp; KV-Cache Sizing&lt;/strong&gt; and &lt;strong&gt;AWS EKS ENI Pod IP Capacity&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What infrastructure calculator or config generator do you wish existed without popups or server uploads?&lt;/strong&gt; Let me know in the comments!&lt;/p&gt;

</description>
      <category>devops</category>
      <category>aws</category>
      <category>networking</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
