{"id":19407,"date":"2026-05-21T06:32:38","date_gmt":"2026-05-21T06:32:38","guid":{"rendered":"https:\/\/www.fibermall.com\/blog\/?p=19407"},"modified":"2026-06-03T08:59:02","modified_gmt":"2026-06-03T08:59:02","slug":"100g-spine-leaf-design-with-qsfp28-build-guide-2026","status":"publish","type":"post","link":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm","title":{"rendered":"100G Spine-Leaf Design with QSFP28: Build Guide (2026)"},"content":{"rendered":"\n<p>A network team I know designed a perfect 16-rack spine-leaf fabric on paper. They counted every port, priced every switch, and presented the BOM to their director with confidence. On installation day, they discovered they were eight ports short. Breakout cables had consumed uplink ports they&#8217;d counted as spine connections. The project stalled for three weeks while they reordered hardware.<\/p>\n\n\n\n<p><strong>100g network design<\/strong>&nbsp;with QSFP28 isn&#8217;t hard. It&#8217;s just unforgiving about details most guides skip. This article gives you the actual math, module choices, and build sheets we use when planning real fabrics. No generic topology explanations. No hand-waving about &#8220;choose the right optic.&#8221; Just the numbers that matter, with enough context to adapt them to your deployment.<\/p>\n\n\n\n<p>If you need a grounding in QSFP28 itself \u2014 form factors, electrical specs, speed lanes \u2014 start with our<a href=\"https:\/\/www.fibermall.com\/blog\/qsfp28-transceiver-guide.htm\" target=\"_blank\"><u>&nbsp;<\/u><u>complete QSFP28 guide<\/u><\/a>. The rest of this article assumes you know what a QSFP28 module is and focuses on where to put it in your fabric.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"436\" src=\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100G-Spine-Leaf-Design-with-QSFP28.png\" alt=\"100G Spine-Leaf Design with QSFP28\" class=\"wp-image-19409\" style=\"width:800px\" srcset=\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100G-Spine-Leaf-Design-with-QSFP28.png 800w, https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100G-Spine-Leaf-Design-with-QSFP28-300x164.png 300w, https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100G-Spine-Leaf-Design-with-QSFP28-768x419.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\/#Spine-Leaf_Architecture_The_5-Minute_Primer\" >Spine-Leaf Architecture: The 5-Minute Primer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\/#Where_QSFP28_Fits_in_the_Topology\" >Where QSFP28 Fits in the Topology<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\/#Oversubscription_The_Math_That_Matters\" >Oversubscription: The Math That Matters<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\/#Three_Complete_Build_Sheets\" >Three Complete Build Sheets<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\/#Small_Fabric_8_Racks_384_Servers\" >Small Fabric: 8 Racks, 384 Servers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\/#Medium_Fabric_16_Racks_768_Servers\" >Medium Fabric: 16 Racks, 768 Servers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\/#Large_Fabric_32_Racks_1536_Servers\" >Large Fabric: 32 Racks, 1,536 Servers<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\/#Breakout_Economics_4x25G_vs_Native_100G\" >Breakout Economics: 4x25G vs Native 100G<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\/#Thermal_and_Power_Planning\" >Thermal and Power Planning<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\/#Scaling_Beyond_100G_The_400G_Migration_Path\" >Scaling Beyond 100G: The 400G Migration Path<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\/#FAQ\" >FAQ<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Spine-Leaf_Architecture_The_5-Minute_Primer\"><\/span><strong>Spine-Leaf Architecture: The 5-Minute Primer<\/strong><strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Three-tier designs \u2014 core, distribution, access \u2014 dominated enterprise networking for two decades. They worked fine when most traffic flowed north-south: users in cubicles hitting servers in a data hall. But virtualization, distributed storage, and container orchestration flipped the traffic pattern. Now most packets travel east-west: server to server, rack to rack, leaf to leaf.<\/p>\n\n\n\n<p>Spine-leaf solves this with a two-tier Clos topology. Every leaf switch connects to every spine switch. No inter-leaf links. No aggregation layer. Traffic between any two racks always traverses leaf \u2192 spine \u2192 leaf. That means predictable latency \u2014 one hop to the spine, one hop back \u2014 and no Spanning Tree Protocol blocking ports.<\/p>\n\n\n\n<p>ECMP (Equal-Cost Multi-Path) routing makes this efficient. With four spines, a leaf has four equal-cost paths to any destination. All paths stay active. If one spine fails, traffic redistributes across the remaining three. No convergence delay. No blocked bandwidth.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Factor<\/strong><\/td><td><strong>3-Tier<\/strong><\/td><td><strong>Spine-Leaf<\/strong><\/td><\/tr><tr><td>Tiers<\/td><td>Core\/Distribution\/Access<\/td><td>Spine\/Leaf only<\/td><\/tr><tr><td>Latency<\/td><td>Variable<\/td><td>Predictable (1-2 hops)<\/td><\/tr><tr><td>Scale<\/td><td>Vertical<\/td><td>Horizontal<\/td><\/tr><tr><td>Traffic Optimized<\/td><td>North-South<\/td><td>East-West<\/td><\/tr><tr><td>Protocol<\/td><td>STP (blocking)<\/td><td>ECMP (all paths active)<\/td><\/tr><tr><td>Typical Use<\/td><td>Legacy enterprise<\/td><td>Modern data center<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>The trade-off? More fiber. A 16-leaf fabric with 4 spines needs 64 leaf-to-spine links. That&#8217;s 64 QSFP28 modules and a lot of MPO trunks. But every link carries traffic, nothing sits blocked, and scaling means adding more spines or leaves \u2014 not ripping out your core.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img decoding=\"async\" width=\"800\" height=\"436\" src=\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/Spine-Leaf-Architecture.png\" alt=\"Spine-Leaf Architecture\" class=\"wp-image-19410\" style=\"width:800px\" srcset=\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/Spine-Leaf-Architecture.png 800w, https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/Spine-Leaf-Architecture-300x164.png 300w, https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/Spine-Leaf-Architecture-768x419.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Where_QSFP28_Fits_in_the_Topology\"><\/span><strong>Where QSFP28 Fits in the Topology<\/strong><strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>QSFP28 occupies three distinct roles in a spine-leaf fabric. Getting the module type wrong for any of them costs money, power, or both.<\/p>\n\n\n\n<p><strong>Leaf-to-spine uplinks<\/strong>&nbsp;run at native 100G. These are the fabric&#8217;s backbone. You want the cheapest module that reliably covers the distance.<\/p>\n\n\n\n<p>For most intra-data-center runs under 100 meters, that&#8217;s <a href=\"https:\/\/www.fibermall.com\/sale-420416-qsfp28-100g-sr4-100m.htm\" target=\"_blank\" rel=\"noreferrer noopener\">QSFP28 SR4<\/a> over OM4 MPO. For inter-hall links stretching 500 meters to 2 kilometers, CWDM4 over single-mode LC fiber becomes the better choice. LR4 only makes sense when you genuinely need 10 kilometers \u2014 typically spine-to-core or DCI scenarios.<\/p>\n\n\n\n<p><strong>Leaf-to-server connections<\/strong>&nbsp;usually break out. While AI and HPC workloads have moved to native 100G or 400G, most general compute servers in 2026 still default to 25G NICs. A QSFP28 port on a leaf switch can split into four 25G SFP28 channels using a breakout DAC or AOC cable. One QSFP28 port feeds four servers. This is where the port-count surprises start. More on that in the breakout section below.<\/p>\n\n\n\n<p><strong>Spine-to-core or DCI<\/strong>&nbsp;needs reach. When your spine connects to a campus core or a WAN edge, distances exceed what SR4 or CWDM4 can handle. That&#8217;s the legitimate home for LR4.<\/p>\n\n\n\n<p>The mistake we see repeatedly? Using LR4 everywhere because &#8220;it works for all distances.&#8221; It does. It also costs 3-4x more per module and burns an extra watt of power. A team I worked with saved $38,400 by switching 160 intra-DC links from LR4 to CWDM4. The links performed identically. The CFO noticed.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Network Tier<\/strong><\/td><td><strong>Typical Distance<\/strong><\/td><td><strong>Recommended Module<\/strong><\/td><td><strong>Fiber Type<\/strong><\/td><\/tr><tr><td>Leaf-to-Server (breakout)<\/td><td>1-7m<\/td><td>QSFP28 to 4xSFP28 DAC<\/td><td>Copper<\/td><\/tr><tr><td>Leaf-to-Server (breakout)<\/td><td>7-100m<\/td><td>QSFP28 to 4xSFP28 AOC<\/td><td>MMF<\/td><\/tr><tr><td>Leaf-to-Spine (intra-DC)<\/td><td>100-500m<\/td><td>QSFP28 SR4<\/td><td>OM4 MPO<\/td><\/tr><tr><td>Leaf-to-Spine (inter-hall)<\/td><td>500m-2km<\/td><td>QSFP28 CWDM4<\/td><td>SMF LC<\/td><\/tr><tr><td>Spine-to-DCI\/Campus<\/td><td>2-10km<\/td><td>QSFP28 LR4<\/td><td>SMF LC<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>For a deeper comparison of SR4, LR4, CWDM4, and PSM4 \u2014 wavelengths, power budgets, link margins \u2014 see our <a href=\"https:\/\/www.fibermall.com\/blog\/qsfp28-module-types.htm\" target=\"_blank\"><u>QSFP28 module types explained<\/u><u>&nbsp;guide<\/u><\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Oversubscription_The_Math_That_Matters\"><\/span><strong>Oversubscription: The Math That Matters<\/strong><strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Oversubscription is the ratio between total downstream bandwidth (leaf to server) and total upstream bandwidth (leaf to spine). It answers one question: if every server tries to transmit at full speed simultaneously, how much contention occurs at the uplink?<\/p>\n\n\n\n<p>The formula is simple:<\/p>\n\n\n\n<p><strong>Oversubscription Ratio = Total Downlink Bandwidth \/ Total Uplink Bandwidth<\/strong><\/p>\n\n\n\n<p>Simple. But painful to get wrong.<\/p>\n\n\n\n<p>A leaf switch with 48x 25G server ports and 6x 100G spine uplinks carries 1,200 Gbps of downlink capacity and 600 Gbps of uplink capacity. That&#8217;s a 2:1 ratio. In practice, most traffic patterns never saturate all downlinks at once, so 2:1 or 3:1 works fine for general compute.<\/p>\n\n\n\n<p>But ratios change when a spine fails. With four spines and 6x100G uplinks per leaf, each spine normally handles 150 Gbps of traffic. Lose one spine, and your total uplink capacity drops from 600 Gbps to 450 Gbps effective. Your 2:1 ratio becomes 2.7:1. If you designed for 3:1, N-1 pushes you to 4:1. That&#8217;s where congestion shows up during backup windows or flash events.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Workload<\/strong><\/td><td><strong>Target Ratio<\/strong><\/td><td><strong>Example Config<\/strong><\/td><td><strong>Notes<\/strong><\/td><\/tr><tr><td>AI\/ML \/ HPC<\/td><td>1:1 (non-blocking)<\/td><td>32x100G down + 32x100G up<\/td><td>RDMA sensitive<\/td><\/tr><tr><td>Storage \/ NVMe-oF<\/td><td>1:1 to 2:1<\/td><td>24x25G + 4x100G up<\/td><td>Low latency critical<\/td><\/tr><tr><td>General VMs \/ Compute<\/td><td>2:1 to 3:1<\/td><td>48x25G + 6x100G up<\/td><td>Industry standard<\/td><\/tr><tr><td>Web \/ Low bandwidth<\/td><td>3:1 to 4:1<\/td><td>48x10G + 4x100G up<\/td><td>Cost optimized<\/td><\/tr><tr><td>Dev\/Test<\/td><td>4:1+<\/td><td>48x10G + 3x100G up<\/td><td>Non-critical<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Arista&#8217;s field engineers recommend starting at 3:1 for general compute, measuring actual uplink utilization for 90 days, then adjusting. Consistently above 60%? Add a spine. Below 30%? You over-provisioned. The ratio isn&#8217;t a religious doctrine \u2014 it&#8217;s a starting point you validate with real telemetry.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Three_Complete_Build_Sheets\"><\/span><strong>Three Complete Build Sheets<\/strong><strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Below are fabric designs for three common scales. Each includes switch specifications, module counts, cable types, and oversubscription ratios. Use them as starting points, not gospel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Small_Fabric_8_Racks_384_Servers\"><\/span><strong>Small Fabric: 8 Racks, 384 Servers<\/strong><strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>This fits a mid-size data hall or a dedicated private cloud pod. Two spines give you redundancy without complexity.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Component<\/strong><\/td><td><strong>Specification<\/strong><\/td><td><strong>Count<\/strong><\/td><td><strong>Notes<\/strong><\/td><\/tr><tr><td>Spine Switches<\/td><td>32x100G QSFP28<\/td><td>2<\/td><td>e.g., Arista 7060X, Cisco N9K<\/td><\/tr><tr><td>Leaf Switches<\/td><td>48x25G + 6x100G<\/td><td>8<\/td><td>Top-of-rack<\/td><\/tr><tr><td>Server Connections<\/td><td>25G SFP28 DAC<\/td><td>384<\/td><td>1-3m per rack<\/td><\/tr><tr><td>Leaf-to-Spine<\/td><td>QSFP28 SR4<\/td><td>16<\/td><td>OM4 MPO trunks<\/td><\/tr><tr><td>Breakout Cables<\/td><td>QSFP28\u21924xSFP28 DAC<\/td><td>0<\/td><td>Native 25G ports used<\/td><\/tr><tr><td>Oversubscription<\/td><td>2:1<\/td><td>\u2014<\/td><td>1,200G down \/ 600G up<\/td><\/tr><tr><td>ECMP Paths<\/td><td>2-way<\/td><td>\u2014<\/td><td>Add 3rd spine for N+1<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Total QSFP28 modules: 16 (all SR4). Optical power draw: roughly 48W. Standard row cooling handles this without drama.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Medium_Fabric_16_Racks_768_Servers\"><\/span><strong>Medium Fabric: 16 Racks, 768 Servers<\/strong><strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>This is where full ECMP starts to shine. Four spines give 4-way load balancing and genuine N-1 resilience.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Component<\/strong><\/td><td><strong>Specification<\/strong><\/td><td><strong>Count<\/strong><\/td><td><strong>Notes<\/strong><\/td><\/tr><tr><td>Spine Switches<\/td><td>32x100G QSFP28<\/td><td>4<\/td><td>Full ECMP<\/td><\/tr><tr><td>Leaf Switches<\/td><td>48x25G + 6x100G<\/td><td>16<\/td><td>\u2014<\/td><\/tr><tr><td>Server Connections<\/td><td>25G SFP28 DAC<\/td><td>768<\/td><td>\u2014<\/td><\/tr><tr><td>Leaf-to-Spine<\/td><td>QSFP28 SR4\/CWDM4<\/td><td>64<\/td><td>SR4 for &lt;100m, CWDM4 beyond<\/td><\/tr><tr><td>Oversubscription<\/td><td>2:1<\/td><td>\u2014<\/td><td>N-1: 2.7:1<\/td><\/tr><tr><td>ECMP Paths<\/td><td>4-way<\/td><td>\u2014<\/td><td>Best balance<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Total QSFP28 modules: 64. Mix SR4 for short intra-row runs and CWDM4 for anything crossing a meet-me room. At this scale, cable management becomes a project in itself \u2014 plan your MPO trunk routing before rack installation, not after.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Large_Fabric_32_Racks_1536_Servers\"><\/span><strong>Large Fabric: 32 Racks, 1,536 Servers<\/strong><strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>At 32 leaves, you&#8217;ve hit the practical limit of a single spine-leaf pod for most switch platforms. ECMP path counts vary by vendor \u2014 Arista supports up to 128, Juniper QFX10002 supports 64 next-hops \u2014 but building fabrics beyond 32 spines introduces immense cabling complexity and diminishes the return on investment.<\/p>\n\n\n\n<p>For a 32-leaf fabric, you&#8217;ll generally want 8-16 spines depending on your oversubscription target.\u00a0Leaves should upgrade to 48x25G + 8x100G to keep ratios reasonable. Total QSFP28 count: roughly 192 for leaf-to-spine plus spares. Consider <a href=\"https:\/\/www.fibermall.com\/store-20656-400g-qsfp-dd.htm\" target=\"_blank\" rel=\"noreferrer noopener\">QSFP-DD spines for 400G<\/a> uplink capability if you plan to grow beyond this pod in the next two years.<\/p>\n\n\n\n<p>MPO trunk cabling at this scale means 2-4 MPO trunks per leaf-to-spine pair. That&#8217;s 384-768 MPO connectors in your fiber plant. Label everything. Document everything. The technician who installs this won&#8217;t be the one who troubleshoots it at 2 AM.<\/p>\n\n\n\n<p>For current module pricing by type and volume, see our<a href=\"https:\/\/www.fibermall.com\/blog\/qsfp28-price-guide.htm\" target=\"_blank\"><u>&nbsp;<\/u><u>QSFP28 pricing analysis<\/u><\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Breakout_Economics_4x25G_vs_Native_100G\"><\/span><strong>Breakout Economics: 4x25G vs Native 100G<\/strong><strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Breakout cables are the hidden variable in leaf switch port planning. A leaf advertises &#8220;6x100G uplinks&#8221; but if you&#8217;re using breakout for server-facing ports, some of those 100G ports get consumed serving 25G NICs.<\/p>\n\n\n\n<p>Here&#8217;s the reality: a leaf with 48x25G native SFP28 ports plus 6x100G QSFP28 uplinks doesn&#8217;t need breakout at all. But many switches \u2014 especially cost-optimized models \u2014 ship with fewer native 25G ports and expect you to break out QSFP28 ports for server connectivity. A 32x100G leaf, for example, might break out 16 of those ports to serve 64 servers at 25G, leaving only 16 ports for spine uplinks.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img decoding=\"async\" width=\"800\" height=\"606\" src=\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28-to-4x25g.png\" alt=\"100g qsfp28 to 4x25g\" class=\"wp-image-19411\" style=\"width:800px\" srcset=\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28-to-4x25g.png 800w, https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28-to-4x25g-300x227.png 300w, https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28-to-4x25g-768x582.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Factor<\/strong><\/td><td><strong>Breakout (4x25G)<\/strong><\/td><td><strong>Native 100G<\/strong><\/td><\/tr><tr><td>Server bandwidth<\/td><td>25G per server<\/td><td>100G per server<\/td><\/tr><tr><td>Leaf uplinks consumed<\/td><td>1 per 4 servers<\/td><td>1 per 1 server<\/td><\/tr><tr><td>Cable type<\/td><td>QSFP28\u21924xSFP28 DAC\/AOC<\/td><td>QSFP28 DAC\/AOC or fiber<\/td><\/tr><tr><td>Cost per server<\/td><td>Lower<\/td><td>Higher<\/td><\/tr><tr><td>Future upgrade<\/td><td>Easy (replace breakout cable)<\/td><td>Requires new NIC + cable<\/td><\/tr><tr><td>Best for<\/td><td>General compute, web<\/td><td>GPU, storage, HPC<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>The math is brutal.<\/p>\n\n\n\n<p>The classic mistake: planning 6x100G uplinks per leaf for 4 spines, then discovering you need 2 of those uplinks for breakout to servers. You&#8217;re left with 4 spine-facing ports, not 6. Your oversubscription math collapses. Your ECMP path count drops. And you&#8217;re back to the VAR quoting more switches.<\/p>\n\n\n\n<p>Our advice? Count breakout ports first. Whatever remains goes to spine uplinks. Then run the oversubscription formula. Working backwards from &#8220;I need 6 spine uplinks&#8221; is how teams end up eight ports short on delivery day.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Thermal_and_Power_Planning\"><\/span><strong>Thermal and Power Planning<\/strong><strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>QSFP28 modules don&#8217;t just cost money. They generate heat. A lot of it, in aggregate. Most engineers budget for switch power draw from the spec sheet but forget to add optical module load on top.<\/p>\n\n\n\n<p>SR4 modules draw roughly 2.5-3.5W each. CWDM4 runs 3.5-4.5W. LR4 can hit 4.5W per module. That sounds trivial until you multiply by 32 ports in a dense spine switch. Thirty-two LR4 modules add 144W of optical heat to a platform already running 400-500W for switching silicon and fans.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Fabric Size<\/strong><\/td><td><strong>Total QSFP28 Count<\/strong><\/td><td><strong>Optical Power<\/strong><\/td><td><strong>Cooling Required<\/strong><\/td><\/tr><tr><td>Small (8 leaf, 2 spine)<\/td><td>~40 modules<\/td><td>~160W<\/td><td>Standard row<\/td><\/tr><tr><td>Medium (16 leaf, 4 spine)<\/td><td>~96 modules<\/td><td>~400W<\/td><td>Enhanced airflow<\/td><\/tr><tr><td>Large (32 leaf, 8 spine)<\/td><td>~224 modules<\/td><td>~950W<\/td><td>Dedicated cooling<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Heat sneaks up on you.<\/p>\n\n\n\n<p>A fully-loaded 32-port QSFP28 spine with LR4 modules hit thermal alarms during a summer heatwave at a site I visited. Ambient crept to 28\u00b0C. The switch&#8217;s internal sensors tripped at 52\u00b0C and started throttling ports. The team had to install row coolers and re-rack with blanking panels to force airflow through the chassis, not around it. The fix worked, but the three-day outage wasn&#8217;t on anyone&#8217;s project plan.<\/p>\n\n\n\n<p>The lesson: plan your cooling for summer peak, not winter baseline. And ask your module supplier for actual power draw, not datasheet maximums. FiberMall tests and publishes typical power consumption for every QSFP28 variant \u2014 the difference between &#8220;up to 4.5W&#8221; and &#8220;typically 3.8W&#8221; matters when you&#8217;re multiplying across hundreds of modules.<\/p>\n\n\n\n<p>Need help calculating thermal load for your specific fabric? Contact our engineers&nbsp;for a power and cooling review.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"436\" src=\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/Thermal-and-Power-Planning.png\" alt=\"Thermal and Power Planning\" class=\"wp-image-19412\" style=\"width:800px\" srcset=\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/Thermal-and-Power-Planning.png 800w, https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/Thermal-and-Power-Planning-300x164.png 300w, https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/Thermal-and-Power-Planning-768x419.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Scaling_Beyond_100G_The_400G_Migration_Path\"><\/span><strong>Scaling Beyond 100G: The 400G Migration Path<\/strong><strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Spine-leaf fabrics don&#8217;t get ripped out and replaced. They evolve. The standard migration path starts at the spine layer: upgrade spines to 400G while keeping 100G leaf uplinks. This gives you 4x the fabric bandwidth without touching your server connections.<\/p>\n\n\n\n<p>QSFP-DD ports accept QSFP28 modules. That&#8217;s the critical backward compatibility that makes phased upgrades practical. Install QSFP-DD spines today, populate them with QSFP28 LR4 or CWDM4 for your 100G leaves, and replace the optics with 400G modules when you&#8217;re ready. No switch swap required.<\/p>\n\n\n\n<p>The hybrid approach \u2014 400G at spine, 100G at leaf \u2014 is what most large data centers run in 2026. It balances capacity against cost. 400G optics are still 2-3x the price of QSFP28, so you only deploy them where link aggregation would otherwise force you to add more spines.<\/p>\n\n\n\n<p>When should you make the jump? Our rule of thumb: when your spine uplink utilization consistently exceeds 70% during normal operations, or when adding another 100G spine exceeds your ECMP path limit. Until then, a well-designed 100G fabric with 2:1 or 3:1 oversubscription has plenty of headroom.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"FAQ\"><\/span><strong>FAQ<\/strong><strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>What oversubscription ratio should I use for 100G spine-leaf?<\/strong><br>Start with 3:1 for general compute, 2:1 for storage, and 1:1 for AI\/HPC or RDMA workloads. Measure actual utilization for 90 days and adjust by adding spines if uplinks stay above 60%.<\/p>\n\n\n\n<p><strong>How many spine switches do I need?<\/strong><br>Minimum two for redundancy. Most fabrics run 4 spines up to 16-24 leaves. Beyond 32 leaves, check your switch&#8217;s ECMP limit \u2014 typically 16-64 next-hop paths. Dual-homed servers consume two paths per flow.<\/p>\n\n\n\n<p><strong>Should I use QSFP28 SR4 or CWDM4 for leaf-to-spine?<\/strong><br>SR4 for anything under 100 meters on OM4 MPO. CWDM4 for 100 meters to 2 kilometers on single-mode LC. LR4 only when you need 10km reach or have genuinely bad fiber with high loss.<\/p>\n\n\n\n<p><strong>Can I use breakout cables for server connections in spine-leaf?<\/strong><br>Yes, and most fabrics do. QSFP28 to 4xSFP28 breakout DAC or AOC cables are standard for 25G server connections. Just remember: breakout ports consume QSFP28 ports you might have planned for spine uplinks.<\/p>\n\n\n\n<p><strong>How much power do QSFP28 modules consume?<\/strong><br>SR4: 2.5-3.5W. CWDM4: 3.5-4.5W. LR4: 4.0-4.5W. In a 32-port spine, that&#8217;s 80-144W of optical heat alone. Factor this into your rack power budget and cooling design.<\/p>\n\n\n\n<p><strong>When should I upgrade from 100G to 400G spine links?<\/strong><br>When spine uplink utilization exceeds 70% consistently, or when you&#8217;ve reached your platform&#8217;s ECMP path limit and can&#8217;t add more 100G spines. QSFP-DD spines with QSFP28 optics today let you migrate to 400G later without replacing switches.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span><strong>Conclusion<\/strong><strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Designing a 100G spine-leaf fabric with QSFP28 comes down to a handful of decisions most guides gloss over. Get the module type right for each tier \u2014 SR4 inside the data hall, CWDM4 for longer runs, LR4 only when necessary.<\/p>\n\n\n\n<p>Account for breakout ports before you count spine uplinks. Run the N-1 oversubscription math before you buy. And size your cooling for the optical heat load, not just the switch chassis.<\/p>\n\n\n\n<p>The teams that get into trouble aren&#8217;t the ones who don&#8217;t understand spine-leaf topology. They&#8217;re the ones who designed it on paper and trusted the paper. Real fabrics have constraints \u2014 port counts, power budgets, cable management, thermal limits \u2014 that only show up when you spec the details.<\/p>\n\n\n\n<p>If you&#8217;re planning a fabric and want a second set of eyes on the module selection, oversubscription math, or thermal load, talk to our engineering team. We&#8217;ve reviewed hundreds of these designs. The port-count surprises get old. We&#8217;d rather catch them on paper than on installation day.<\/p>\n\n\n\n<p>For the broader picture on QSFP28 \u2014 speeds, compatibility, form factor comparisons \u2014 our complete QSFP28 guide&nbsp;covers the fundamentals this article assumed you knew.<\/p>\n\n\n\n<p><\/p>\n<style>\r\n\r\n        .lwrp.link-whisper-related-posts{\r\n            \r\n            margin-top: 40px;\nmargin-bottom: 30px;\r\n        }\r\n        .lwrp .lwrp-title{\r\n            \r\n            \r\n        }\r\n        .lwrp .lwrp-description{\r\n            \r\n            \r\n\r\n        }\r\n        .lwrp .lwrp-list-container{\r\n        }\r\n        .lwrp .lwrp-list-multi-container{\r\n            display: flex;\r\n        }\r\n        .lwrp .lwrp-list-double{\r\n            width: 48%;\r\n        }\r\n        .lwrp .lwrp-list-triple{\r\n            width: 32%;\r\n        }\r\n        .lwrp .lwrp-list-row-container{\r\n            display: flex;\r\n            justify-content: space-between;\r\n        }\r\n        .lwrp .lwrp-list-row-container .lwrp-list-item{\r\n            width: calc(100% - 20px);\r\n        }\r\n        .lwrp .lwrp-list-item:not(.lwrp-no-posts-message-item){\r\n            \r\n            list-style: decimal;\r\n        }\r\n        .lwrp .lwrp-list-item img{\r\n            max-width: 100%;\r\n            height: auto;\r\n        }\r\n        .lwrp .lwrp-list-item.lwrp-empty-list-item{\r\n            background: initial !important;\r\n        }\r\n        .lwrp .lwrp-list-item .lwrp-list-link .lwrp-list-link-title-text,\r\n        .lwrp .lwrp-list-item .lwrp-list-no-posts-message{\r\n            \r\n                \r\n        }\r\n        @media screen and (max-width: 480px) {\r\n            .lwrp.link-whisper-related-posts{\r\n                \r\n                \r\n            }\r\n            .lwrp .lwrp-title{\r\n                \r\n                \r\n            }\r\n            .lwrp .lwrp-description{\r\n                \r\n                \r\n            }\r\n            .lwrp .lwrp-list-multi-container{\r\n                flex-direction: column;\r\n            }\r\n            .lwrp .lwrp-list-multi-container ul.lwrp-list{\r\n                margin-top: 0px;\r\n                margin-bottom: 0px;\r\n                padding-top: 0px;\r\n                padding-bottom: 0px;\r\n            }\r\n            .lwrp .lwrp-list-double,\r\n            .lwrp .lwrp-list-triple{\r\n                width: 100%;\r\n            }\r\n            .lwrp .lwrp-list-row-container{\r\n                justify-content: initial;\r\n                flex-direction: column;\r\n            }\r\n            .lwrp .lwrp-list-row-container .lwrp-list-item{\r\n                width: 100%;\r\n            }\r\n            .lwrp .lwrp-list-item:not(.lwrp-no-posts-message-item){\r\n                \r\n                \r\n            }\r\n            .lwrp .lwrp-list-item .lwrp-list-link .lwrp-list-link-title-text,\r\n            .lwrp .lwrp-list-item .lwrp-list-no-posts-message{\r\n                \r\n                    \r\n            }\r\n        }<\/style>\r\n<div id=\"link-whisper-related-posts-widget\" class=\"link-whisper-related-posts lwrp\">\r\n            <h3 class=\"lwrp-title\">Related Posts<\/h3>    \r\n        <div class=\"lwrp-list-container\">\r\n                                            <ul class=\"lwrp-list lwrp-list-single\">\r\n                    <li class=\"lwrp-list-item\"><a href=\"https:\/\/www.fibermall.com\/blog\/what-is-qsfp28.htm\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">What Is QSFP28? Complete Guide for Network Engineers (2026)<\/span><\/a><\/li><li class=\"lwrp-list-item\"><a href=\"https:\/\/www.fibermall.com\/blog\/qsfp28-power-consumption-thermal-guide.htm\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">QSFP28 Power Consumption: Engineer&#8217;s Thermal Planning Guide (2026)<\/span><\/a><\/li><li class=\"lwrp-list-item\"><a href=\"https:\/\/www.fibermall.com\/blog\/qsfp28-to-400g-migration-guide.htm\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">QSFP28 to 400G Migration: Upgrade Path &amp; TCO Guide (2026)<\/span><\/a><\/li><li class=\"lwrp-list-item\"><a href=\"https:\/\/www.fibermall.com\/blog\/qsfp28-dac-vs-aoc-cable-guide.htm\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">QSFP28 DAC vs AOC: Choosing the Right 100G Cable (2026 Guide)<\/span><\/a><\/li><li class=\"lwrp-list-item\"><a href=\"https:\/\/www.fibermall.com\/blog\/qsfp28-troubleshooting-guide.htm\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">QSFP28\u00a0Troubleshooting: Fix 100G Link Issues Fast (2026)<\/span><\/a><\/li><li class=\"lwrp-list-item\"><a href=\"https:\/\/www.fibermall.com\/blog\/qsfp-vs-qsfp28-vs-qsfp56.htm\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">QSFP+ vs QSFP28 vs QSFP56: What&#8217;s the Difference? (2026)<\/span><\/a><\/li><li class=\"lwrp-list-item\"><a href=\"https:\/\/www.fibermall.com\/blog\/qsfp28-compatibility-guide.htm\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">QSFP28 Compatibility Guide: Cisco, Arista, Juniper &amp; More (2026)<\/span><\/a><\/li><li class=\"lwrp-list-item\"><a href=\"https:\/\/www.fibermall.com\/blog\/qsfp28-price-guide.htm\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">QSFP28 Price Guide 2026: 100G Transceiver Costs &amp; TCO<\/span><\/a><\/li><li class=\"lwrp-list-item\"><a href=\"https:\/\/www.fibermall.com\/blog\/qsfp28-module-types.htm\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">QSFP28 Module Types: SR4, LR4, CWDM4 &amp; Single-Lambda (2026)<\/span><\/a><\/li><li class=\"lwrp-list-item\"><a href=\"https:\/\/www.fibermall.com\/blog\/qsfp28-transceiver-guide.htm\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">QSFP28 Transceiver: Complete 100G Connectivity Guide (2026)<\/span><\/a><\/li>                <\/ul>\r\n                        <\/div>\r\n<\/div>","protected":false},"excerpt":{"rendered":"<p>A network team I know designed a perfect 16-rack spine-leaf fabric on paper. They counted every port, priced every switch, and presented the BOM to their director with confidence. On installation day, they discovered they were eight ports short. Breakout cables had consumed uplink ports they&#8217;d counted as spine connections. The project stalled for three [&hellip;]<\/p>\n","protected":false},"author":227,"featured_media":19413,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":"","_wpscppro_dont_share_socialmedia":false,"_wpscppro_custom_social_share_image":0,"_facebook_share_type":"default","_twitter_share_type":"default","_linkedin_share_type":"default","_pinterest_share_type":"default","_linkedin_share_type_page":"default","_instagram_share_type":"default","_medium_share_type":"default","_threads_share_type":"default","_google_business_share_type":"default","_selected_social_profile":[{"id":"skM9ewvR8O","platform":"linkedin","platformKey":0,"name":"Jason Xue","type":"person","thumbnail_url":"https:\/\/media.licdn.com\/dms\/image\/C5603AQErPqKD0j6qBg\/profile-displayphoto-shrink_100_100\/0\/1599138392315?e=1723075200&v=beta&t=joEkh1OeKQ0F-QpAPv4xxQyBdGlHyccIQZauRSs6RvU","share_type":"default"}],"_wpsp_enable_custom_social_template":false,"_wpsp_social_scheduling":{"enabled":false,"datetime":null,"platforms":[],"status":"template_only","dateOption":"today","timeOption":"now","customDays":"","customHours":"","customDate":"","customTime":"","schedulingType":"absolute"},"_wpsp_active_default_template":true},"categories":[2,29],"tags":[],"class_list":["post-19407","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-networking"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.13 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>100G Spine-Leaf Design with QSFP28: Build Guide (2026)<\/title>\n<meta name=\"description\" content=\"Design a 100G spine-leaf network with QSFP28. Oversubscription math, module selection by tier, complete build sheets, and thermal planning.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"100G Spine-Leaf Design with QSFP28: Build Guide (2026)\" \/>\n<meta property=\"og:description\" content=\"A network team I know designed a perfect 16-rack spine-leaf fabric on paper. They counted every port, priced every switch, and presented the BOM to their\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\" \/>\n<meta property=\"og:site_name\" content=\"fibermall.com\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-21T06:32:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-03T08:59:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Catherine\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Catherine\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\"},\"author\":{\"name\":\"Catherine\",\"@id\":\"https:\/\/www.fibermall.com\/blog.htm\/#\/schema\/person\/bd2cf8d53f883c88f6ebaa5c3ed1258d\"},\"headline\":\"100G Spine-Leaf Design with QSFP28: Build Guide (2026)\",\"datePublished\":\"2026-05-21T06:32:38+00:00\",\"dateModified\":\"2026-06-03T08:59:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\"},\"wordCount\":2488,\"publisher\":{\"@id\":\"https:\/\/www.fibermall.com\/blog.htm\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28.jpg\",\"articleSection\":[\"Blog\",\"Networking\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\",\"url\":\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\",\"name\":\"100G Spine-Leaf Design with QSFP28: Build Guide (2026)\",\"isPartOf\":{\"@id\":\"https:\/\/www.fibermall.com\/blog.htm\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28.jpg\",\"datePublished\":\"2026-05-21T06:32:38+00:00\",\"dateModified\":\"2026-06-03T08:59:02+00:00\",\"description\":\"Design a 100G spine-leaf network with QSFP28. Oversubscription math, module selection by tier, complete build sheets, and thermal planning.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#primaryimage\",\"url\":\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28.jpg\",\"contentUrl\":\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28.jpg\",\"width\":900,\"height\":600,\"caption\":\"100g qsfp28\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.fibermall.com\/blog.htm\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"100G Spine-Leaf Design with QSFP28: Build Guide (2026)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.fibermall.com\/blog.htm\/#website\",\"url\":\"https:\/\/www.fibermall.com\/blog.htm\/\",\"name\":\"fibermall.com\",\"description\":\"Optical Communication Expert\",\"publisher\":{\"@id\":\"https:\/\/www.fibermall.com\/blog.htm\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.fibermall.com\/blog.htm\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.fibermall.com\/blog.htm\/#organization\",\"name\":\"fibermall.com\",\"url\":\"https:\/\/www.fibermall.com\/blog.htm\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fibermall.com\/blog.htm\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2024\/12\/cropped-Fiber-Mall-Logo.jpg\",\"contentUrl\":\"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2024\/12\/cropped-Fiber-Mall-Logo.jpg\",\"width\":200,\"height\":67,\"caption\":\"fibermall.com\"},\"image\":{\"@id\":\"https:\/\/www.fibermall.com\/blog.htm\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.fibermall.com\/blog.htm\/#\/schema\/person\/bd2cf8d53f883c88f6ebaa5c3ed1258d\",\"name\":\"Catherine\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fibermall.com\/blog.htm\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3a11235a453567962b9c9bb843b31bb4396259dd8abad3f3c3758babd287d778?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3a11235a453567962b9c9bb843b31bb4396259dd8abad3f3c3758babd287d778?s=96&d=mm&r=g\",\"caption\":\"Catherine\"},\"description\":\"Optical Communications Engineer\",\"sameAs\":[\"https:\/\/www.fibermall.com\/\"],\"url\":\"https:\/\/www.fibermall.com\/blog.htm?author=227\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"100G Spine-Leaf Design with QSFP28: Build Guide (2026)","description":"Design a 100G spine-leaf network with QSFP28. Oversubscription math, module selection by tier, complete build sheets, and thermal planning.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm","og_locale":"en_US","og_type":"article","og_title":"100G Spine-Leaf Design with QSFP28: Build Guide (2026)","og_description":"A network team I know designed a perfect 16-rack spine-leaf fabric on paper. They counted every port, priced every switch, and presented the BOM to their","og_url":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm","og_site_name":"fibermall.com","article_published_time":"2026-05-21T06:32:38+00:00","article_modified_time":"2026-06-03T08:59:02+00:00","og_image":[{"width":900,"height":600,"url":"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28.jpg","type":"image\/jpeg"}],"author":"Catherine","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Catherine","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#article","isPartOf":{"@id":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm"},"author":{"name":"Catherine","@id":"https:\/\/www.fibermall.com\/blog.htm\/#\/schema\/person\/bd2cf8d53f883c88f6ebaa5c3ed1258d"},"headline":"100G Spine-Leaf Design with QSFP28: Build Guide (2026)","datePublished":"2026-05-21T06:32:38+00:00","dateModified":"2026-06-03T08:59:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm"},"wordCount":2488,"publisher":{"@id":"https:\/\/www.fibermall.com\/blog.htm\/#organization"},"image":{"@id":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#primaryimage"},"thumbnailUrl":"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28.jpg","articleSection":["Blog","Networking"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm","url":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm","name":"100G Spine-Leaf Design with QSFP28: Build Guide (2026)","isPartOf":{"@id":"https:\/\/www.fibermall.com\/blog.htm\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#primaryimage"},"image":{"@id":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#primaryimage"},"thumbnailUrl":"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28.jpg","datePublished":"2026-05-21T06:32:38+00:00","dateModified":"2026-06-03T08:59:02+00:00","description":"Design a 100G spine-leaf network with QSFP28. Oversubscription math, module selection by tier, complete build sheets, and thermal planning.","breadcrumb":{"@id":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#primaryimage","url":"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28.jpg","contentUrl":"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2026\/05\/100g-qsfp28.jpg","width":900,"height":600,"caption":"100g qsfp28"},{"@type":"BreadcrumbList","@id":"https:\/\/www.fibermall.com\/blog\/100g-spine-leaf-network-design-qsfp28.htm#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fibermall.com\/blog.htm"},{"@type":"ListItem","position":2,"name":"100G Spine-Leaf Design with QSFP28: Build Guide (2026)"}]},{"@type":"WebSite","@id":"https:\/\/www.fibermall.com\/blog.htm\/#website","url":"https:\/\/www.fibermall.com\/blog.htm\/","name":"fibermall.com","description":"Optical Communication Expert","publisher":{"@id":"https:\/\/www.fibermall.com\/blog.htm\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fibermall.com\/blog.htm\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.fibermall.com\/blog.htm\/#organization","name":"fibermall.com","url":"https:\/\/www.fibermall.com\/blog.htm\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fibermall.com\/blog.htm\/#\/schema\/logo\/image\/","url":"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2024\/12\/cropped-Fiber-Mall-Logo.jpg","contentUrl":"https:\/\/www.fibermall.com\/blog\/wp-content\/uploads\/2024\/12\/cropped-Fiber-Mall-Logo.jpg","width":200,"height":67,"caption":"fibermall.com"},"image":{"@id":"https:\/\/www.fibermall.com\/blog.htm\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.fibermall.com\/blog.htm\/#\/schema\/person\/bd2cf8d53f883c88f6ebaa5c3ed1258d","name":"Catherine","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fibermall.com\/blog.htm\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3a11235a453567962b9c9bb843b31bb4396259dd8abad3f3c3758babd287d778?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3a11235a453567962b9c9bb843b31bb4396259dd8abad3f3c3758babd287d778?s=96&d=mm&r=g","caption":"Catherine"},"description":"Optical Communications Engineer","sameAs":["https:\/\/www.fibermall.com\/"],"url":"https:\/\/www.fibermall.com\/blog.htm?author=227"}]}},"_links":{"self":[{"href":"https:\/\/www.fibermall.com\/blog.htm\/index.php?rest_route=\/wp\/v2\/posts\/19407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fibermall.com\/blog.htm\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fibermall.com\/blog.htm\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fibermall.com\/blog.htm\/index.php?rest_route=\/wp\/v2\/users\/227"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fibermall.com\/blog.htm\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=19407"}],"version-history":[{"count":2,"href":"https:\/\/www.fibermall.com\/blog.htm\/index.php?rest_route=\/wp\/v2\/posts\/19407\/revisions"}],"predecessor-version":[{"id":19414,"href":"https:\/\/www.fibermall.com\/blog.htm\/index.php?rest_route=\/wp\/v2\/posts\/19407\/revisions\/19414"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fibermall.com\/blog.htm\/index.php?rest_route=\/wp\/v2\/media\/19413"}],"wp:attachment":[{"href":"https:\/\/www.fibermall.com\/blog.htm\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=19407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fibermall.com\/blog.htm\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=19407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fibermall.com\/blog.htm\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=19407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}