Modular Network Design: A Scalable Architecture Framework
Progettazione modulare di rete: un quadro di architettura scalabile
Introduzione alla progettazione di rete modulare
La modularità della rete è la pratica di progettare reti come segmenti interconnessi e costruiti appositamente piuttosto che strutture monolitiche. Ogni modulo serve una funzione specifica, ha confini definiti, e si collega a moduli adiacenti attraverso interfacce ben comprese. Questo approccio trasforma il design della rete da un'arte in una disciplina ingegneristica ripetibile.
La potenza della modularità sta nella sua capacità di creareschemi prevedibiliche può essere applicato in modo coerente attraverso l'intera infrastruttura di un'organizzazione, sia che si tratti di decine di migliaia di piccoli siti, migliaia di siti medi, o centinaia di grandi campus aziendali.
Perché Materassi modulari
Vantaggi in tutte le scale di rete
| Benefit | Small Sites | Medium Sites | Grandi Siti | ------------------------- #Risoluzione dei problemi semplificata| Un ingegnere singolo può comprendere l'intera topologia | Teams può specializzarsi dal modulo | Clear percorsi di escalation tra i proprietari del modulo | #Scala prevedibile| Aggiungi moduli come necessario | Modelli comprovati da Clone | Extend senza ridisegnare | #Sicurezza coerente| Stesse politiche ovunque | Postura di conformità uniforme | confini udibili | #Efficienza operativa| Distribuzione basata sui modelli | Fornitura automatizzata | Gestione dei cambiamenti standardizzata | #Controllo dei costi| Taglia destra ogni modulo | Bulk acquisto per modulo tipo | Gestione del ciclo di vita per livello |
La sfida di scala
Le organizzazioni raramente rimangono statiche. Un design modulare deve ospitare:
- 10.000+ piccoli siti: Uffici di filiale, sedi di vendita al dettaglio, strutture remote
- 1.000+ siti medi: Uffici regionali, centri di distribuzione, stabilimenti di produzione
- 100+ grandi siti: Sede centrale, data center, grandi campus
Senza modularità, ogni sito diventa un fiocco di neve unico che richiede documentazione personalizzata, formazione specializzata e risoluzione di problemi one-off. Con la modularità, un ingegnere che capisce il modello può funzionare efficacemente in qualsiasi sito.
Moduli di rete core
Modulo 1: Segment di bordo di Internet
Internet Edge è dove la vostra organizzazione incontra il mondo esterno. Questo modulo contiene:
- Circuiti WAN/Internet(MPLS, DIA, banda larga, LTE/5G)
- Router bordi(BGP peering, terminazione WAN)
- Firewalls(ispezione a stato, NAT, risoluzione VPN)
- Segmentazione VLANper separazione funzionale
@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
Principi di progettazione chiave:
- Circuiti ridondanti da diversi fornitori
- Coppie ad alta disponibilità del firewall
- Clear VLAN confini tra zone di fiducia
- L3 link point-to-point tra router e firewall
Modulo 2: bordo interno / DMZ Tiro
Per i siti di medie e grandi dimensioni, il bordo interno fornisce uno strato di aggregazione per i servizi che richiedono un'esposizione controllata o servono come punti di transizione tra le zone di sicurezza.
@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
Servizi Tipicamente in Bordo Interno:
- Controller LAN wireless (WLC)
- Prossi web e filtri contenuti
- Concentratori VPN
- Infrastruttura DNS/DHCP
- Bilanciatrici di carico
- Jump hosts / Bastion server
Modulo 3: Livello di base
Il Core è la spina dorsale ad alta velocità che collega tutti gli altri moduli. Dovrebbe essere ottimizzato per:
- Potenza massima
- Latenza minima
- Alta disponibilità
- Semplice, veloce in avanti
@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
Principi fondamentali di progettazione:
- Nessun dispositivo dell'utente finale collegato direttamente
- L3 routing tra interruttori di nucleo (senza albero di spanning)
- Multipath a costi uguali (ECMP) per la distribuzione del carico
- Protocolli di convergenza veloci
Modulo 4: Livello di distribuzione
Lo strato di distribuzione aggrega gli switch di accesso e applica la politica. Questo è dove le scelte di progettazione della rete hanno la più variazione in base ai requisiti del sito.
Variazioni dei livelli di distribuzione
Variazione 1: L3 Adiacente (Accesso Rigido)
In questo disegno, gli strati di distribuzione e accesso sonoL3 adiacente—ogni interruttore di accesso ha una propria subnet IP e si dirige direttamente alla distribuzione.
@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 Esempio:
| Link | Subnet | Traduzione: | Distribuzione al core | 10.x.1.0/30, 10.x.1.4/30 | | Dist-A to Access-1 | 10.x.2.0/30 | | Dist-B a Access-1 | 10.x.2.4/30 | | Access-1 Utente VLAN | 10.x.32.0/24 | | Access-2 User VLAN | 10.x.33.0/24 |
Vantaggi:
- Separazione del dominio in ogni interruttore di accesso
- Risoluzione dei problemi semplificata (problemi contenuti nella sottorete)
- Nessun albero tra distribuzione e accesso
- Summarizzazione possibile a livello di distribuzione
Considerazioni:
- Richiede switch di accesso L3-capable
- Configurazione del relè DHCP su ogni interruttore di accesso
- Gestione degli indirizzi IP più complessa
Variazione 2: MCLAG con tronchi LACP
Questo design utilizzaMulti-Chassis Link Aggregazione (MCLAG)a distribuzione conObbligazioni LACPagli interruttori di accesso che trasportano VLAN tronchi.
Terminologia del Fornitore: Cisco chiama questo vPC (Virtual Port Channel), Arista utilizza MLAG, Juniper utilizza MC-LAG, e HPE/Aruba utilizza VSX. Il comportamento funzionale è simile tra i fornitori.
@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 Placement (VRRP VIP sulla coppia di distribuzione):
- VLAN 100: 10.x.32.1/24
- VLAN 110: 10.x.64.1/24
- VLAN 120: 10.x.96.1/24
Configurazione VLAN Trunk:
| Port-Channel | VLANs | Destinazione | ------- | Po1 (MCLAG) | 100,110,120 | Access-1 | | Po2 (MCLAG) | 100,110,120,130 | Access-2 | | Po3 (MCLAG) | 100,110 | Access-3 | | Native VLAN | 999 (non utilizzata) | — |
MCLAG Vantaggi:
- Inoltro attivo (entrambi i collegamenti utilizzati)
- Subsecondo failover
- Interruttore logico singolo dalla prospettiva di accesso
- Nessun blocco di alberi spanning
Considerazioni:
- VLANs abbracciare più interruttori di accesso ( domini di trasmissione più grandi)
- MCLAG peer-link può diventare bottleneck
- STP ancora richiesto come backup di prevenzione del loop
Variazione 3: Foglia di confine per Spine/Leaf Datacenter
In ambienti datacenter, lo strato di distribuzione diventa ilLeaf di confinecollegare la spina dorsale / tessuto foglia al resto della rete aziendale.
@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
Dettagli del tessuto del Datacenter:
| Componente | Funzione | ------- #Sottotitoli| eBGP (ASN per switch) o OSPF | #Sovrapposizione| VXLAN con piano di controllo EVPN | #Leaf di confine| gateway VXLAN-VLAN, percorsi esterni, routing Inter-VRF | #Carico di lavoro delle foglie| Compute, Storage, Voice/UC, Infrastructure |
Vantaggi:
- Bilancia orizzontale massiva (a seconda delle necessità)
- Architettura del tessuto non bloccata
- Multi-tenancy tramite VRF/VNI
- Modelli ottimali di traffico est-ovest
Considerazioni:
- Complessità operativa di VXLAN/EVPN
- Competenze speciali richieste
- Costi delle attrezzature più elevati
Modulo 5: Livello di accesso
Lo strato di accesso è dove i dispositivi finali si connettono. Indipendentemente dalla topologia della distribuzione, gli interruttori di accesso forniscono:
@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
Caratteristiche di sicurezza del livello di accesso:
- autenticazione 802.1X / MAB
- Assegnazione dinamica VLAN
- Sicurezza dei porti
- Snooping DHCP
- Controllo dinamico ARP
- Protezione sorgente IP
Topologia modulare completa
Ecco come tutti i moduli si connettono per formare una rete aziendale completa:
@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
Strategia di indirizzo IP con isolamento VRF
La sfida del Multi-Segment, Multi-VRF Design
Quando le reti crescono per includere più zone di sicurezza, unità aziendali o confini di conformità,VRF (Virtual Routing e Forwarding)fornisce l'isolamento del tavolo di percorso. Tuttavia, estendere VRF attraverso più livelli aggiunge complessità:
- Ogni luppolo L3 richiede una sottorete di transito
- I sub-interfacce moltiplicano la complessità di configurazione
- Risoluzione dei problemi copre più tabelle di routing
- La documentazione deve tenere traccia dell'appartenenza VRF ad ogni livello
Strategia di schema Subnet
Uno schema subnet ben progettato rende i modelli riconoscibili, riducendo gli errori di carico e configurazione cognitivi.
Esempio: Large Manufacturing Site (10.0.0.0/13)
Localizzazione:10.0.0.0/13 (Manufacturing Site Alpha) - 524.286 host utilizzabili
@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
Dettaglio del segmento di trasmissione (10.0.0.0/23 - 510 IP utilizzabili):
| Subnet | Descrizione del link | ----- | 10.0.0.0/30 | FW-Inside → Interno-Edge-A | | 10.0.0.4/30 | FW-Inside → Interno-Edge-B | | 10.0.0.8/30 | Internal-Edge-A → Core-A | | 10.0.0.12/30 | Interno-Edge-A → Core-B | | 10.0.0.16/30 | Interno-Edge-B → Core-A | | 10.0.0.20/30 | Interno-Edge-B → Core-B | | 10.0.0.24/30 | Core-A → Distribuzione-A | | 10.0.0.28/30 | Core-A → Distribuzione-B | | 10.0.0.32/30 | Core-B → Distribution-A | | 10.0.0.36/30 | Core-B → Distribuzione-B | | 10.0.0.40/30 | Distribuzione-A → Access-SW-1 | | 10.0.0.44/30 | Distribuzione-B → Access-SW-1 | | ... | (Pattern continua) |
Nota:/31 subnets (RFC 3021) può essere utilizzato anche per collegamenti punto-punto, riservando spazio di indirizzo.
Vantaggi di riconoscimento del modello
Quando i modelli subnet sono coerenti tra i VRF:
| Che cosa sai | Che cosa puoi fare | --------- | Transit link in Corporate utilizza 10.0.0.40/30 | equivalente ospite è 10.1.0.40/30 | | Gli utenti di Access-SW-5 sono su 10.0.36.0/24 | Le telecamere di sicurezza sullo stesso interruttore sono 10.2.36.0/24 | | Sito Alpha è 10.0.0.0/13 | Sito Beta potrebbe essere 10.8.0.0/13 |
Questo permette agli ingegneri di:
- Predetti indirizzi IP senza consultare la documentazione
- Riconoscere immediatamente le subnet non configurate
- Crea modelli di automazione che funzionano su VRF
- Formare nuovo personale sul modello, non la memorizzazione
Modelli di dimensione del sito
Modello di sito piccolo (Ufficio di presidenza)
@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
Note di progettazione del sito piccolo:
- Design incollato: Tutte le funzioni in hardware minimo
- Subnet: /24 o /23 per sito
- Esempio: 10.100.1.0/24 (Sito 001)
Modello di sito medio (Ufficio regionale)
@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
Note di progettazione del sito medio:
- Modularità parziale: Distinzione dei livelli di bordo e di accesso
- Subnet: /21 per sito (2,046 IP)
- Esempio: 10.50.0.0/21 (Sito 050)
Grande modello di sito (quartieri/campione)
@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
Grandi note di progettazione del sito:
- Modularità completa: Tutti i livelli fisicamente separati
- Subnet: /13 a /15 per sito (basato sul conteggio VRF)
- Esempio: 10.0.0.0/13 (HQ) - 524.286 IPs
VRF e L3 Segmentazione: Vantaggi e complessità
Vantaggi della segmentazione L3 con sub-interfacce
- Isolamento di sicurezza: Il traffico tra VRF deve attraversare un firewall o un dispositivo di policy
- Contenimento dei raggi: Il segmento Compromised non può raggiungere direttamente altri VRF
- Compliance Boundas: reti PCI, HIPAA o OT in domini di routing separati
- Ingegneria del traffico: Diverse politiche di routing per VRF
Il commercio di complessità
Quando i segmenti devono estendersi attraverso più livelli, ogni limite L3 aggiunge sovraccarico di configurazione:
@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
Overhead di configurazione:
- 5 sub-interfacce per VRF per percorso
- 4 VRFs × 5 sub-int = 20 sub-interfacce per interruttore
- Adjacencies del protocollo di routine in ogni VRF
- Regole di guida o firewall per il traffico inter-VRF
Strategie di migrazione
- Limitare il conteggio VRF: Creare solo VRF per veri requisiti di isolamento
- Centralizzare il routing inter-VRF: Single firewall policy point vs distribuito
- Utilizzare VXLAN/EVPN: L'overlay riduce lo sprawl sub-interfaccia fisico
- Automatizzare il provisioning: I modelli garantiscono una configurazione coerente
- Documentare il modello: Una volta imparato, i modelli sono più veloci della ricerca
Riepilogo: Costruire un modello di rete scalabile
L'obiettivo della progettazione modulare della rete è quello di creare unmodello ripetibileche consente:
| Scala | Siti | Pattern | Traduzione: | Small | 10.000+ | Collapsed UTM + singolo switch, /24 per sito | | Medium | 1.000+ | Edge + distribuzione MCLAG + accesso, /21 per sito | | Large | 100+ | Full modular (Edge, Internal Edge, Core, varianti di distribuzione, tessuto DC), /13-/15 per sito |
Asporto chiave
- I moduli creano confini: Ogni modulo ha uno scopo definito e un'interfaccia
- I modelli consentono la scala: Lo stesso design in ogni sito riduce la formazione e gli errori
- I VRF forniscono isolamento: Ma aggiungi complessità di configurazione a ogni livello
- Materiale degli schemi Subnet: L'indirizzo prevedibile riduce il carico cognitivo
- La distribuzione varia per necessità: L3 adiacente, MCLAG/LACP, o spina dorsale / foglia
- Dimensione giusta per il sito: Non sovraingegneria piccoli siti
Stabilindo questi modelli e applicandoli in modo coerente, le organizzazioni possono costruire reti che scalano da un unico ufficio di filiale a un'impresa globale—tutti pur mantenendo semplicità operativa e postura di sicurezza.
Versione articolo 2.0 | Pubblicato 2026-02-02-02 | Aggiornato con i diagrammi PlantUML nwdiag