Modular Network Design: A Scalable Architecture Framework
Modulär nätverksdesign: en skalbar arkitekturram
Introduktion till Modular Network Design
Nätverksmodularitet är att utforma nätverk som sammankopplade, specialbyggda segment snarare än monolitiska strukturer. Varje modul tjänar en specifik funktion, har definierade gränser, och ansluter till intilliggande moduler genom väl förstådda gränssnitt. Detta tillvägagångssätt förvandlar nätverksdesign från en konst till en repeterbar teknikdisciplin.
Modularitetens kraft ligger i dess förmåga att skapaförutsägbara mönsterdet kan tillämpas konsekvent över hela organisationens infrastrukturavtryck - oavsett om det spänner över tiotusentals små platser, tusentals medelstora platser eller hundratals stora företagscampus.
Varför modulära frågor
Fördelar över alla nätverksskalor
Fördel | Små webbplatser | Medium webbplatser | Stora webbplatser | |---------------------------------------------------------------- |Förenklad felsökningEnkel ingenjör kan förstå hela topologi | Team kan specialisera sig genom modul | Tydliga eskaleringsvägar mellan modulägare | |Förutsägbar skalning| Lägg till moduler efter behov | Klonbeprövade mönster | Förlänga utan redesign | |Konsekvent säkerhetSam politik överallt | Uniform compliance posture | Auditable gränser | |Operativ effektivitet| mallbaserad distribution | Automatiserad provisionering | Standardiserad förändringshantering | |Kostnadskontroll| Rätt storlek varje modul | Bulk inköp med modultyp | Livcykelhantering genom nivå |
Skalutmaningen
Organisationer stannar sällan statiskt. En modulär design måste rymma:
- 10 000 små webbplatserBranch kontor, detaljhandelsplatser, avlägsna faciliteter
- 1000 + medelstora webbplatserRegionala kontor, distributionscentra, tillverkningsanläggningar
- 100+ stora webbplatserHuvudkontor, datacenter, stora campus
Utan modularitet blir varje webbplats en unik snöflinga som kräver anpassad dokumentation, specialiserad utbildning och engångs felsökning. Med modularitet kan en ingenjör som förstår mönstret fungera effektivt på någon webbplats.
Core Network Modules
Modul 1: Internet Edge segment
Internet Edge är där din organisation möter omvärlden. Denna modul innehåller:
- WAN/Internet kretsar(MPLS, DIA, bredband, LTE/5G)
- Edge Routrar(BGP peering, WAN uppsägning)
- Brandväggar(Statlig inspektion, NAT, VPN-avslutning)
- VLAN segmenteringför funktionell separation
@startuml Internet Edge Module
!define ICONURL https://raw.githubusercontent.com/Roemer/plantuml-office/master/office2014
skinparam backgroundColor #FEFEFE
skinparam handwritten false
nwdiag {
internet [shape = cloud, description = "Internet"];
network ISP_Transit {
address = "VLAN 10-12"
color = "#FFE4E1"
description = "ISP/MPLS Transit"
internet;
ISP_A [description = "ISP-A\nCircuit"];
ISP_B [description = "ISP-B\nCircuit"];
MPLS [description = "MPLS\nCircuit"];
}
network Edge_Router_Segment {
address = "VLAN 10,11,12"
color = "#E6E6FA"
description = "Edge Router Aggregation"
ISP_A;
ISP_B;
MPLS;
Edge_Router [description = "Edge Router\n(BGP Peering)"];
}
network FW_Outside {
address = "VLAN 100"
color = "#FFFACD"
description = "Firewall Outside"
Edge_Router;
FW_Primary [description = "Firewall\nPrimary"];
FW_Secondary [description = "Firewall\nSecondary"];
}
network FW_HA_Sync {
address = "VLAN 101"
color = "#F0FFF0"
description = "HA Sync Link"
FW_Primary;
FW_Secondary;
}
network FW_Inside {
address = "VLAN 102"
color = "#E0FFFF"
description = "To Internal Edge"
FW_Primary;
FW_Secondary;
}
}
@enduml
Nyckeldesignprinciper:
- Redundanta kretsar från olika leverantörer
- Firewall hög tillgänglighet par
- Tydliga VLAN-gränser mellan förtroendezoner
- L3 punkt-till-punkt länkar mellan router och brandvägg
Modul 2: Inre kant / DMZ Tier Tier
För medelstora och stora platser erbjuder Internal Edge ett aggregeringsskikt för tjänster som kräver kontrollerad exponering eller fungerar som övergångspunkter mellan säkerhetszoner.
@startuml Internal Edge Module
skinparam backgroundColor #FEFEFE
nwdiag {
network From_Internet_Edge {
address = "VLAN 102"
color = "#E0FFFF"
description = "From Firewall Inside"
IntEdge_A [description = "Internal Edge\nSwitch A"];
IntEdge_B [description = "Internal Edge\nSwitch B"];
}
network MCLAG_Peer {
address = "Peer-Link"
color = "#DDA0DD"
description = "MCLAG/vPC Peer"
IntEdge_A;
IntEdge_B;
}
network WLC_Mgmt {
address = "VLAN 200 - 10.x.200.0/24"
color = "#FFE4B5"
description = "WLC Management"
IntEdge_A;
IntEdge_B;
WLC [description = "Wireless LAN\nController"];
}
network Proxy_Farm {
address = "VLAN 201 - 10.x.201.0/24"
color = "#FFDAB9"
description = "Proxy Services"
IntEdge_A;
IntEdge_B;
Proxy [description = "Web Proxy\nServers"];
}
network VPN_Services {
address = "VLAN 202 - 10.x.202.0/24"
color = "#E6E6FA"
description = "VPN Termination"
IntEdge_A;
IntEdge_B;
VPN [description = "VPN\nConcentrator"];
}
network Infrastructure {
address = "VLAN 204 - 10.x.204.0/24"
color = "#F0FFF0"
description = "Infrastructure Services"
IntEdge_A;
IntEdge_B;
DNS_DHCP [description = "DNS/DHCP\nServers"];
}
network To_Core {
address = "VLAN 205"
color = "#B0E0E6"
description = "Core Transit"
IntEdge_A;
IntEdge_B;
}
}
@enduml
Tjänster vanligtvis i Internal Edge:
- Trådlösa LAN Controllers (WLC)
- Webproxyer och innehållsfilter
- VPN koncentratorer
- DNS/DHCP infrastruktur
- Load Balancers
- Hoppa värdar / bastionsservrar
Modul 3: Core Layer
Kärnan är höghastighetsryggraden som sammankopplar alla andra moduler. Det bör optimeras för:
- Maximal genomströmning
- Minsta latens
- Hög tillgänglighet
- Enkel, snabb vidarebefordran
@startuml Core Module
skinparam backgroundColor #FEFEFE
nwdiag {
network From_Internal_Edge {
address = "L3 Routed"
color = "#B0E0E6"
description = "From Internal Edge"
Core_A [description = "Core Switch A\n100G Backbone"];
Core_B [description = "Core Switch B\n100G Backbone"];
}
network Core_Interconnect {
address = "100G+ ISL"
color = "#FFB6C1"
description = "High-Speed Interconnect\nOSPF/IS-IS/BGP"
Core_A;
Core_B;
}
network To_Distribution_1 {
address = "L3 P2P"
color = "#98FB98"
description = "Building A"
Core_A;
Core_B;
Dist_1 [description = "Distribution 1\n(L3 Adjacent)"];
}
network To_Distribution_2 {
address = "L3 P2P"
color = "#DDA0DD"
description = "Building B"
Core_A;
Core_B;
Dist_2 [description = "Distribution 2\n(MCLAG)"];
}
network To_Distribution_3 {
address = "L3 P2P"
color = "#FFDAB9"
description = "Building C"
Core_A;
Core_B;
Dist_3 [description = "Distribution 3\n(MCLAG)"];
}
network To_DC_Border {
address = "L3 Routed"
color = "#87CEEB"
description = "Datacenter"
Core_A;
Core_B;
Border_Leaf [description = "Border Leaf\n(DC Fabric)"];
}
}
@enduml
Kärndesignprinciper:
- Inga direkt fästa slutanvändarenheter
- L3 routing mellan kärnbrytare (inget spännande träd)
- Lika kostnad multipath (ECMP) för lastdistribution
- Snabba konvergensprotokoll
Modul 4: Distribution Layer
Distributionsskiktet sammanställer Access-brytare och tillämpar policy. Det är här nätverksdesignval har den mest variationen baserat på platskrav.
Distribution Tier Variations
Variation 1: L3 Adjacent (Routed Access)
I denna design är distributions- och åtkomstskiktenL3 intill— varje access switch har eget IP-subnet och rutter direkt till distribution.
@startuml Distribution Variation 1 - L3 Adjacent
skinparam backgroundColor #FEFEFE
nwdiag {
network From_Core {
address = "L3 ECMP"
color = "#B0E0E6"
description = "From Core Layer"
Dist_A [description = "Distribution A\n(L3 Router)"];
Dist_B [description = "Distribution B\n(L3 Router)"];
}
network Dist_iBGP {
address = "iBGP Peering"
color = "#DDA0DD"
description = "ECMP/iBGP"
Dist_A;
Dist_B;
}
network P2P_Access_1 {
address = "10.x.2.0/30"
color = "#98FB98"
description = "L3 Point-to-Point"
Dist_A;
Dist_B;
Access_1 [description = "Access SW-1\n(L3 Gateway)"];
}
network P2P_Access_2 {
address = "10.x.2.8/30"
color = "#FFE4B5"
description = "L3 Point-to-Point"
Dist_A;
Dist_B;
Access_2 [description = "Access SW-2\n(L3 Gateway)"];
}
network P2P_Access_3 {
address = "10.x.2.16/30"
color = "#FFDAB9"
description = "L3 Point-to-Point"
Dist_A;
Dist_B;
Access_3 [description = "Access SW-3\n(L3 Gateway)"];
}
network User_VLAN_1 {
address = "10.x.32.0/24"
color = "#F0FFF0"
description = "Users - SW1"
Access_1;
Laptop_1 [description = "Laptops"];
Phone_1 [description = "Phones"];
}
network User_VLAN_2 {
address = "10.x.33.0/24"
color = "#FFF0F5"
description = "Users - SW2"
Access_2;
Laptop_2 [description = "Laptops"];
Camera_2 [description = "Cameras"];
}
network User_VLAN_3 {
address = "10.x.34.0/24"
color = "#F5FFFA"
description = "Users - SW3"
Access_3;
Laptop_3 [description = "Workstations"];
Camera_3 [description = "Cameras"];
}
}
@enduml
Subnet Allocation Exempel:
Länk | Subnet | |--------------- | Fördelning till kärna | 10.x.1.0/30, 10.x.1.4/30 | Dist-A till Access-1 | 10.x.2.0/30 | Dist-B till Access-1 | 10.x.2.4/30 | | Access-1 Användare VLAN | 10.x.32.0/24 | | Access-2 Användar VLAN | 10.x.33.0/24 |
Fördelar:
- Broadcast domän isolering vid varje access switch
- Förenklad felsökning (frågor som ingår i subnet)
- Inget spännande träd mellan distribution och tillgång
- Sammanfattning möjlig på distributionsskiktet
Betraktelser:
- Kräver L3-kompatibla access switchar
- DHCP relä konfiguration på varje access switch
- Mer komplex IP-adresshantering
Variation 2: MCLAG med LACP Trunks
Denna design använderMulti-Chassis Link Aggregation (MCLAG)vid distribution medLACP obligationerför att komma åt växlar som bär stamade VLAN.
Leverantör TerminologyCisco kallar detta vPC (Virtual Port Channel), Arista använder MLAG, Juniper använder MC-LAG, och HPE / Aruba använder VSX. Det funktionella beteendet är liknande över leverantörer.
@startuml Distribution Variation 2 - MCLAG
skinparam backgroundColor #FEFEFE
nwdiag {
network From_Core {
address = "L3 Routed Uplinks"
color = "#B0E0E6"
description = "From Core Layer"
Dist_A [description = "Distribution A\n(MCLAG Member)"];
Dist_B [description = "Distribution B\n(MCLAG Member)"];
}
network MCLAG_Peer_Link {
address = "Peer-Link"
color = "#FFB6C1"
description = "MCLAG/vPC Peer-Link"
Dist_A;
Dist_B;
}
network LACP_To_Access {
address = "Po1 - LACP Trunk"
color = "#DDA0DD"
description = "VLANs 100,110,120 Trunked"
Dist_A;
Dist_B;
Access_1 [description = "Access SW-1\n(L2 Switch)"];
}
network Data_VLAN {
address = "VLAN 100 - 10.x.32.0/24"
color = "#98FB98"
description = "Data VLAN"
Access_1;
Laptops [description = "Laptops\nWorkstations"];
}
network Voice_VLAN {
address = "VLAN 110 - 10.x.64.0/24"
color = "#FFE4B5"
description = "Voice VLAN"
Access_1;
Phones [description = "IP Phones"];
}
network Security_VLAN {
address = "VLAN 120 - 10.x.96.0/24"
color = "#FFDAB9"
description = "Security VLAN"
Access_1;
Cameras [description = "Cameras\nBadge Readers"];
}
}
@enduml
SVI placering (VRP VIP på distributionspar):
- VLAN 100: 10.x.32.1/24
- VLAN 110: 10.x.64.1/24
- VLAN 120: 10.x.96.1/24
VLAN Trunk Configuration:
Port-Channel | VLANs | Destination |---------------------------------------- Po1 (MCLAG) | 100,110,120 | Access-1 | | Po2 (MCLAG) | 100,110,120,130 | Access-2 | Po3 (MCLAG) | 100,110 | Access-3 | Native VLAN | 999 (oanvänd) |
MCLAG fördelar:
- Aktiv aktiv vidarebefordran (båda upplänkar används)
- Sub-second failover
- Enkel logisk switch från accessperspektiv
- Inget spännande träd blockering
Betraktelser:
- VLANs spänner över flera åtkomstbrytare (större sändningsdomäner)
- MCLAG peer-link kan bli flaskhals
- STP fortfarande krävs som loop förebyggande backup
Variation 3: Border Leaf för Spine/Leaf Datacenter
I datacentermiljöer blir distributionsskiktet detBorder Leafansluta ryggrad / blad tyg till resten av företagets nätverk.
@startuml Distribution Variation 3 - Border Leaf Datacenter
skinparam backgroundColor #FEFEFE
nwdiag {
network Enterprise_Core {
address = "L3 Routed (eBGP/OSPF)"
color = "#B0E0E6"
description = "From Enterprise Core"
Border_A [description = "Border Leaf A\nVXLAN Gateway"];
Border_B [description = "Border Leaf B\nVXLAN Gateway"];
}
network Border_EVPN {
address = "VXLAN EVPN"
color = "#DDA0DD"
description = "EVPN Type-5 Routes"
Border_A;
Border_B;
Spine_1 [description = "Spine 1"];
Spine_2 [description = "Spine 2"];
}
network Spine_Fabric {
address = "eBGP Underlay"
color = "#FFB6C1"
description = "Spine Layer"
Spine_1;
Spine_2;
}
network Leaf_Tier_1 {
address = "VTEP"
color = "#98FB98"
description = "Compute Rack 1"
Spine_1;
Spine_2;
Leaf_1 [description = "Leaf 1"];
Leaf_2 [description = "Leaf 2"];
}
network Leaf_Tier_2 {
address = "VTEP"
color = "#FFE4B5"
description = "Storage/Services"
Spine_1;
Spine_2;
Leaf_3 [description = "Leaf 3"];
Leaf_4 [description = "Leaf 4"];
}
network Server_Rack_1 {
address = "VNI 10001"
color = "#F0FFF0"
description = "Compute Servers"
Leaf_1;
Leaf_2;
Servers_1 [description = "Rack Servers\nVMs/Containers"];
}
network Storage_Network {
address = "VNI 10002"
color = "#FFDAB9"
description = "Storage Arrays"
Leaf_3;
Storage [description = "SAN/NAS\nStorage"];
}
network Voice_Services {
address = "VNI 10003"
color = "#E6E6FA"
description = "UC Systems"
Leaf_4;
PBX [description = "PBX/UC\nSystems"];
}
}
@enduml
Datacenter Fabric detaljer:
Komponent | Funktion | |------------------------ |UnderlageBGP (ASN per switch) eller OSPF |OverlayVXLAN med EVPN-kontrollplan |Border Leaf| VXLAN-to-VLAN-gateway, externa rutter, Inter-VRF-routing | |Leaf WorkloadsBeräkning, lagring, röst / UC, infrastruktur |
Fördelar:
- Massiv horisontell skala (lägg till bladpar efter behov)
- Icke-blockerande tyg arkitektur
- Multi-tenancy via VRF/VNI
- Optimala östvästra trafikmönster
Betraktelser:
- Operativ komplexitet av VXLAN/EVPN
- Specialiserade färdigheter krävs
- Högre utrustningskostnader
Modul 5: Access Layer
Access-skiktet är där slutenheter ansluter. Oavsett distribution topologi, ger access switchar:
@startuml Access Layer Module
skinparam backgroundColor #FEFEFE
nwdiag {
network Distribution_Uplink {
address = "L3 or LACP Trunk"
color = "#B0E0E6"
description = "Uplinks to Distribution"
Access_SW [description = "48-Port Access Switch\nPoE+ Capable"];
}
network Data_VLAN {
address = "VLAN 100 - Ports 1-8, 25-32"
color = "#98FB98"
description = "Data VLAN"
Access_SW;
Laptops [description = "Laptops\nWorkstations"];
}
network Voice_VLAN {
address = "VLAN 110 - Ports 9-16"
color = "#FFE4B5"
description = "Voice VLAN"
Access_SW;
Phones [description = "IP Phones"];
}
network Camera_VLAN {
address = "VLAN 120 - Ports 17-24"
color = "#FFDAB9"
description = "Security VLAN"
Access_SW;
Cameras [description = "IP Cameras"];
}
network Wireless_VLAN {
address = "VLAN 130 - Ports 33-40"
color = "#DDA0DD"
description = "Wireless AP VLAN"
Access_SW;
APs [description = "Wireless APs"];
}
network Mgmt_VLAN {
address = "VLAN 999 - Ports 41-44"
color = "#F0FFF0"
description = "Management VLAN"
Access_SW;
}
}
@enduml
Access Layer säkerhetsfunktioner:
- 802.1X / MAB-autentisering
- Dynamisk VLAN-uppdrag
- Portsäkerhet
- DHCP snooping
- Dynamisk ARP-inspektion
- IP Source Guard
Komplett modulär topologi
Så här ansluter alla moduler för att bilda ett komplett företagsnätverk:
@startuml Complete Modular Network Topology
skinparam backgroundColor #FEFEFE
title Complete Enterprise Modular Network
nwdiag {
internet [shape = cloud, description = "Internet/WAN"];
network Internet_Edge {
address = "Module 1"
color = "#FFE4E1"
description = "INTERNET EDGE MODULE"
internet;
ISP_A [description = "ISP-A"];
ISP_B [description = "ISP-B"];
MPLS [description = "MPLS"];
Edge_RTR [description = "Edge Router"];
FW_A [description = "FW-A"];
FW_B [description = "FW-B"];
}
network Internal_Edge {
address = "Module 2"
color = "#E6E6FA"
description = "INTERNAL EDGE / DMZ MODULE"
FW_A;
FW_B;
IntEdge_A [description = "IntEdge-A"];
IntEdge_B [description = "IntEdge-B"];
WLC [description = "WLC"];
Proxy [description = "Proxy"];
VPN [description = "VPN"];
DNS [description = "DNS/DHCP"];
}
network Core {
address = "Module 3"
color = "#B0E0E6"
description = "CORE MODULE"
IntEdge_A;
IntEdge_B;
Core_A [description = "Core-A"];
Core_B [description = "Core-B"];
}
network Distribution_L3 {
address = "Variation 1"
color = "#98FB98"
description = "DIST - L3 Adjacent\n(Building A)"
Core_A;
Core_B;
Dist_1A [description = "Dist-1A"];
Dist_1B [description = "Dist-1B"];
Access_L3 [description = "Access\n(L3)"];
}
network Distribution_MCLAG {
address = "Variation 2"
color = "#DDA0DD"
description = "DIST - MCLAG\n(Building B)"
Core_A;
Core_B;
Dist_2A [description = "Dist-2A"];
Dist_2B [description = "Dist-2B"];
Access_L2 [description = "Access\n(L2)"];
}
network Datacenter {
address = "Variation 3"
color = "#FFE4B5"
description = "DATACENTER\n(Spine/Leaf)"
Core_A;
Core_B;
Border_Leaf [description = "Border\nLeaf"];
Spine [description = "Spine"];
Leaf [description = "Leaf"];
Servers [description = "Servers\nStorage\nPBX"];
}
network Campus_Users {
address = "End Devices"
color = "#F0FFF0"
description = "Campus Users"
Access_L3;
Access_L2;
Users [description = "Laptops\nPhones\nCameras"];
}
}
@enduml
IP-adresseringsstrategi med VRF Isolation
Utmaningen av Multi-Segment, Multi-VRF Design
När nätverk växer för att inkludera flera säkerhetszoner, affärsenheter eller gränser för överensstämmelse,VRF (Virtual Routing and Forwarding)ger ruttbord isolering. Men att utöka VRF genom flera nivåer lägger till komplexitet:
- Varje L3-hop kräver ett transitundernät
- Sub-gränssnitt multiplicerar konfigurationskomplexiteten
- Felsökning spänner över flera routingbord
- Dokumentation måste spåra VRF-medlemskap vid varje nivå
Subnet Schema Strategi
Ett väldesignat subnet-schema gör mönster igenkännliga, minska kognitiva belastnings- och konfigurationsfel.
Exempel: Stor tillverkningsplats (10.0.0.0/13)
Webbplatstilldelning:10.0.0.0/13 (Manufacturing Site Alpha) - 524.286 användbara värdar
@startuml VRF Subnet Schema
skinparam backgroundColor #FEFEFE
title Large Site VRF Allocation Schema (10.0.0.0/13)
nwdiag {
network Corporate_VRF {
address = "VRF: CORPORATE\n10.0.0.0/17"
color = "#98FB98"
description = "Production Users"
Corp_Transit [description = "Transit\n10.0.0.0/23"];
Corp_Users [description = "Users\n10.0.32.0/19"];
Corp_Voice [description = "Voice\n10.0.64.0/19"];
Corp_Wireless [description = "Wireless\n10.0.96.0/19"];
Corp_Server [description = "Servers\n10.0.112.0/20"];
}
network Guest_VRF {
address = "VRF: GUEST\n10.1.0.0/17"
color = "#FFE4B5"
description = "Visitor Network"
Guest_Transit [description = "Transit\n10.1.0.0/23"];
Guest_Users [description = "Users\n10.1.32.0/19"];
}
network Security_VRF {
address = "VRF: SECURITY\n10.2.0.0/17"
color = "#FFDAB9"
description = "Physical Security"
Sec_Transit [description = "Transit\n10.2.0.0/23"];
Sec_Camera [description = "Cameras\n10.2.32.0/19"];
Sec_Badge [description = "Badge Readers\n10.2.64.0/19"];
Sec_NVR [description = "NVR/VMS\n10.2.96.0/20"];
}
network IOT_VRF {
address = "VRF: IOT\n10.3.0.0/17"
color = "#E6E6FA"
description = "Manufacturing OT"
IOT_Transit [description = "Transit\n10.3.0.0/23"];
IOT_PLC [description = "PLCs\n10.3.32.0/19"];
IOT_HMI [description = "HMIs\n10.3.64.0/19"];
IOT_SCADA [description = "SCADA\n10.3.96.0/20"];
}
}
@enduml
Transit Segment Detail (10.0.0.0/23 - 510 användbara IPs):
Subnet | Länkbeskrivning | |--------------------------------- 10.0.0.0/30 | FW-Inside → Internal-Edge-A | 10.0.0.4/30 | FW-Inside → Internal-Edge-B | 10.0.0.8/30 | Internal-Edge-A → Core-A | 10.0.0.12/30 | Internal-Edge-A → Core-B | 10.0.0.16/30 | Internal-Edge-B → Core-A | 10.0.0.20/30 | Internal-Edge-B → Core-B | 10.0.0.24/30 | Core-A → Distribution-A | 10.0.0.28/30 | Core-A → Distribution-B | 10.0.0.32/30 | Core-B → Distribution-A | 10.0.0.36/30 | Core-B → Distribution-B | 10.0.0.40/30 | Distribution-A → Access-SW-1 | 10.0.0.44/30 | Distribution-B → Access-SW-1 | (Pattern fortsätter)
Obs:/31 subnät (RFC 3021) kan också användas för punkt-till-punkt länkar, bevarande adress utrymme.
Mönster erkännande fördelar
När subnet-mönster är konsekventa över VRF:er:
Vad du vet | Vad du kan dra slutsatsen | |----------------------------------------- Transitlänk i Corporate använder 10.0.0.40/30 | Gästekvivalent är 10.1.0.40/30 | | Access-SW-5-användare är på 10.0.36.0/24 | Säkerhetskameror på samma switch är 10.2.36.0/24 | Site Alpha är 10.0.0.0/13 | Site Beta kan vara 10.8.0.0/13
Detta tillåter ingenjörer att:
- Förutsäga IP-adresser utan konsultdokumentation
- Erkänna felkonfigurerade subnetter omedelbart
- Skapa automationsmallar som fungerar över VRF
- Träna ny personal på mönstret, inte memorering
Webbplatsstorleksmallar
Small Site Template (Branch Office)
@startuml Small Site Template
skinparam backgroundColor #FEFEFE
title Small Site Template (< 50 users)
nwdiag {
internet [shape = cloud];
network WAN {
color = "#FFE4E1"
description = "ISP/MPLS Circuit"
internet;
UTM [description = "UTM/SD-WAN\nAppliance\n(Router+FW+VPN+WLC)"];
}
network LAN {
address = "10.100.x.0/24"
color = "#98FB98"
description = "Single Subnet"
UTM;
Access [description = "Access Switch\n(or UTM ports)"];
}
network Endpoints {
color = "#F0FFF0"
description = "End Devices"
Access;
AP [description = "WiFi AP"];
Users [description = "Users"];
Phones [description = "Phones"];
}
}
@enduml
Små Site Design Notes:
- Kollapsad designAlla funktioner i minimal hårdvara
- Subnet/24 eller /23 per webbplats
- Exempel10.100.1.0/24 (Site 001)
Medium Site Template (Regional Office)
@startuml Medium Site Template
skinparam backgroundColor #FEFEFE
title Medium Site Template (50-500 users)
nwdiag {
internet [shape = cloud];
network WAN_Edge {
color = "#FFE4E1"
description = "Internet Edge"
internet;
ISP_A [description = "ISP-A"];
ISP_B [description = "ISP-B/MPLS"];
Edge_RTR [description = "Edge Router"];
}
network Firewall_Tier {
color = "#FFDAB9"
description = "Firewall HA Pair"
Edge_RTR;
FW_A [description = "FW-A"];
FW_B [description = "FW-B"];
}
network Distribution {
address = "10.50.x.0/21"
color = "#DDA0DD"
description = "MCLAG Distribution\n(Dist/Core Combined)"
FW_A;
FW_B;
Dist_A [description = "Dist-A"];
Dist_B [description = "Dist-B"];
}
network Access_Tier {
color = "#98FB98"
description = "Access Switches (LACP)"
Dist_A;
Dist_B;
Acc1 [description = "Acc1"];
Acc2 [description = "Acc2"];
Acc3 [description = "Acc3"];
Acc4 [description = "Acc4"];
Acc5 [description = "Acc5"];
}
network Users {
color = "#F0FFF0"
description = "End Devices"
Acc1;
Acc2;
Acc3;
Acc4;
Acc5;
Endpoints [description = "Laptops/Phones\nCameras/APs"];
}
}
@enduml
Medium Site Design Notes:
- Partiell modularitetDistinkt Edge och Access-nivåer
- Subnet/21 per webbplats (2 046 IPs)
- Exempel10.50.0.0/21 (Site 050)
Stor webbplats mall (högkvarter/Campus)
@startuml Large Site Template
skinparam backgroundColor #FEFEFE
title Large Site Template (500+ users)
nwdiag {
internet [shape = cloud];
network Internet_Edge {
color = "#FFE4E1"
description = "INTERNET EDGE MODULE"
internet;
ISP_A [description = "ISP-A"];
ISP_B [description = "ISP-B"];
MPLS [description = "MPLS"];
Edge_RTR [description = "Edge-RTR"];
FW_A [description = "FW-A"];
FW_B [description = "FW-B"];
}
network Internal_Edge {
color = "#E6E6FA"
description = "INTERNAL EDGE MODULE"
FW_A;
FW_B;
IntEdge_A [description = "IntEdge-A"];
IntEdge_B [description = "IntEdge-B"];
WLC [description = "WLC"];
Proxy [description = "Proxy"];
VPN [description = "VPN"];
DNS [description = "DNS"];
}
network Core {
color = "#B0E0E6"
description = "CORE MODULE"
IntEdge_A;
IntEdge_B;
Core_A [description = "Core-A"];
Core_B [description = "Core-B"];
}
network Dist_Var1 {
color = "#98FB98"
description = "L3 Adjacent"
Core_A;
Core_B;
Dist_1 [description = "Dist-1"];
Access_1 [description = "Access"];
}
network Dist_Var2 {
color = "#DDA0DD"
description = "MCLAG Trunk"
Core_A;
Core_B;
Dist_2 [description = "Dist-2"];
Access_2 [description = "Access"];
}
network Dist_Var3 {
color = "#FFE4B5"
description = "MCLAG Trunk"
Core_A;
Core_B;
Dist_3 [description = "Dist-3"];
Access_3 [description = "Access"];
}
network Datacenter {
color = "#87CEEB"
description = "SPINE/LEAF DC"
Core_A;
Core_B;
Border [description = "Border-Leaf"];
Spine [description = "Spine"];
Leaf [description = "Leaf"];
Servers [description = "Servers"];
}
}
@enduml
Stora Site Design Notes:
- Fullständig modularitetAlla nivåer fysiskt separata
- Subnet/13 till /15 per webbplats (baserat på VRF räknas)
- Exempel10.0.0.0/13 (HQ) - 524.286 IPs
VRF och L3 Segmentering: Fördelar och komplexitet
Fördelar med L3 segmentering med undergränssnitt
- Säkerhet IsoleringTrafik mellan VRF måste korsa en brandvägg eller politisk enhet
- Blast Radius InnehållKompromissat segment kan inte direkt nå andra VRF
- Överensstämmelse gränserPCI, HIPAA eller OT-nätverk i separata routingdomäner
- TrafikteknikOlika routing politik per VRF
Komplexitetshandel
När segmenten måste sträcka sig genom flera nivåer lägger varje L3-gräns konfigurationsöverhuvud:
@startuml Multi-VRF Path Through Tiers
skinparam backgroundColor #FEFEFE
title Multi-VRF Traffic Path: Camera to NVR
nwdiag {
network Camera_Segment {
address = "VLAN 120\n10.2.36.0/24"
color = "#FFDAB9"
description = "VRF: SECURITY"
Camera [description = "Camera"];
Access_SW [description = "Access-SW\nSub-int: 10.2.0.40/30"];
}
network Access_to_Dist {
address = "10.2.0.40/30"
color = "#DDA0DD"
description = "VRF: SECURITY"
Access_SW;
Distribution [description = "Distribution\nSub-int: 10.2.0.24/30"];
}
network Dist_to_Core {
address = "10.2.0.24/30"
color = "#B0E0E6"
description = "VRF: SECURITY"
Distribution;
Core [description = "Core\nSub-int: 10.2.0.8/30"];
}
network Core_to_IntEdge {
address = "10.2.0.8/30"
color = "#E6E6FA"
description = "VRF: SECURITY"
Core;
Internal_Edge [description = "Internal-Edge\nSub-int: 10.2.0.0/30"];
}
network IntEdge_to_FW {
address = "10.2.0.0/30"
color = "#FFE4E1"
description = "VRF: SECURITY"
Internal_Edge;
Firewall [description = "Firewall\nInter-VRF Policy"];
}
network DC_Path {
address = "VXLAN/EVPN"
color = "#87CEEB"
description = "Datacenter Fabric"
Firewall;
Border_Leaf [description = "Border-Leaf"];
Spine [description = "Spine"];
Leaf [description = "Leaf"];
NVR [description = "NVR"];
}
}
@enduml
Konfiguration overhead:
- 5 undergränssnitt per VRF per väg
- 4 VRFs × 5 sub-ints = 20 undergränssnitt per switch
- Routing Protocol Adjacencies i varje VRF
- Route-leaking eller brandväggsregler för inter-VRF-trafik
Mitigationsstrategier
- Begränsa VRF räknatEndast skapa VRF för äkta isoleringskrav
- Centralisera inter-VRF routingSingle firewall policy point vs. distribuerad
- Använd VXLAN/EVPNOverlay minskar fysisk sub-interface sprawl
- Automatisera tillhandahållandeMallar säkerställer konsekvent konfiguration
- Dokumentera mönstretNär du väl har lärt dig är mönster snabbare än uppslag
Sammanfattning: Bygga ett skalbart nätverksmönster
Målet med modulär nätverksdesign är att skapa enrepeterbart mönsterdetta möjliggör:
Scale | Platser | Mönster | |-------------------------- Små | 10 000 + | kollapsade UTM + singel switch, /24 per webbplats | | Medium | 1000 + | Edge + MCLAG distribution + åtkomst, /21 per webbplats | Stor | 100 + | Full modulär (Edge, Internal Edge, Core, Distribution varianter, DC-tyg), /13-/15 per webbplats |
Key Takeaways
- Moduler skapar gränserVarje modul har ett definierat syfte och gränssnitt
- Mönster möjliggör skalaSamma design på varje webbplats minskar utbildning och fel
- VRF tillhandahåller isoleringMen lägg till konfigurationskomplexitet vid varje nivå
- Subnet scheman materiaFörutsägbar adressering minskar kognitiv belastning
- Distribution varierar efter behovL3 intill, MCLAG/LACP, eller ryggrad/blad
- Rätt storlek för webbplatsenDon't over-engineer små webbplatser
Genom att etablera dessa mönster och tillämpa dem konsekvent kan organisationer bygga nätverk som skala från ett enda kontor till ett globalt företag - allt samtidigt som man bibehåller operativ enkelhet och säkerhetsställning.
Artikel version 2.0 | Publicerad 2026-02-02 | Uppdaterad med PlantUML nwdiag diagram