Modular Network Design: A Scalable Architecture Framework
Modulær nettverksdesign: En skalerbar arkitekturramme
Introduksjon til modulær nettverksdesign
Nasjonalitet er praksisen med å designe nettverk som sammenkoblet, formålsbygde segmenter i stedet for monolitiske strukturer. Hver modul betjener en bestemt funksjon, har definerte grenser, og forbinder til tilstøtende moduler gjennom godt underholdende grensesnitt. Denne tilnærmingen forvandler nettverksdesign fra en kunst til en repeterbar ingeniør disiplin.
Modularitetens kraft ligger i sin evne til å skapeforutsigbare mønstresom kan brukes konsekvent på tvers av en organisasjons hele infrastrukturavtrykk— enten det strekker seg over titusenvis av små nettsteder, tusenvis av mediesider eller hundrevis av store bedriftscampusser.
Hvorfor modulære saker
Fordeler på tvers av alle nettverksskalaer
Fordelene med små nettsteder - Jeg vet ikke |Forenklet feilsøkingEnkeltingeniører kan forstå hele topologien | Teams kan spesialisere seg på modul | Klar eskalering baner mellom modul eiere | |Forutsigbar skaleringLegg til moduler etter behov |Konsistent sikkerhetSame policyer over hele | Uniform samsvarsstilling | Reviderbare grenser | |Effektiv drift| Malbasert distribusjon | Automatisert levering | Standardisert endringsstyring | |KostnadskontrollHøyre størrelse hver modul | Bulk kjøp etter modultype | Livssyklus styring etter nivå |
Skaleringsutfordringen
Organisasjonene forblir sjelden statiske. En modulær design må ha plass til:
- 10 000+ små steder: Kontorkontorer, butikker, fjernfasiliteter
- 1000+ medium sites: Regionkontorer, distribusjonssentre, produksjonsanlegg
- 100+ store steder: Hovedkvarter, datasentre, store campus
Uten modularitet, blir hvert sted en unik snøfnugg som krever egendefinert dokumentasjon, spesialisert opplæring og one-off feilsøking. Med modularitet kan en ingeniør som forstår mønsteret fungere effektivt på alle steder.
Core Network Modules
Modul 1: Internett Edge Segment
Internett Edge er der organisasjonen møter utlandet. Denne modulen inneholder:
- WAN/Internet kretser(MPLS, DIA, bredbånd, LTE/5G)
- Edge routere(BGP peering, WAN avslutning)
- Firewalls(statlig inspeksjon, NAT, VPN-avslutning)
- VLAN segmenteringfor funksjonell separasjon
@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
Nøkkeldesignprinsipper:
- Redundante kretser fra ulike leverandører
- Firewall høy tilgjengelighet par
- Klare VLAN grenser mellom tillitssoner
- L3 punkt-til-punkt-koblinger mellom ruter og brannmur
Modul 2: Intern kant / DMZ Tier
For mellomstore og store steder, tilveiebringer Intern Edge et sammenslåingslag for tjenester som krever kontrollert eksponering eller fungerer som overgangspunkter mellom sikkerhetssoner.
@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
Tjenester typisk i Intern Edge:
- Trådløse LAN-kontrollere (WLC)
- Web-proxies og innholdsfiltre
- VPN-konsentratorer
- DNS/DHCP-infrastruktur
- Lastebalansere
- Hopp hosts / bastion servere
Modul 3: Kjernelag
Kjernen er høyhastighets ryggraden som forbinder alle andre moduler. Det bør optimaliseres for:
- Maksimal gjennomstrømning
- Minimum latens
- Høy tilgjengelighet
- Enkel, rask videresending
@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
Kjernedesignprinsipper:
- Ingen direkte tilkoblede sluttbrukere-enheter
- L3 routing mellom kjernebrytere (ingen spennende tre)
- Equal-cost multipath (ECMP) for lastfordeling
- Hurtige konvergensprotokoller
Modul 4: Distribusjonslag
Distribusjonslaget samler Access brytere og håndhever policy. Dette er der valg av nettverksdesign har mest variasjon basert på nettstedskrav.
Distribusjon Tier Variasjoner
Variasjon 1: L3 Tilstøtende (Routed Access)
I dette designet er distribusjons- og tilgangslageneL3 tilstøtende— Hver tilgangsbryter har sitt eget IP-subnett og ruter direkte til distribusjon.
@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
Eksempel:
Link | Subnet - Jeg har det bra Fordeling til Core | 10.x1.000/30, 10.x1.14/30 Dist-A til Access-1 | 10.x.2.0/30 | Dist-B til Access-1 | 10.x.2.4/30 | Access-1 Bruker VLAN ® 10.x.32.0/24 | Access-2 Bruker VLAN ® 10.x.33.0/24
Fordeler:
- Kringkasting domeneisolasjon ved hver tilgangsbryter
- Forenklet feilsøking (problemer som er inneholdt i undernettet)
- Ingen spinnende tre mellom distribusjon og tilgang
- Oppsummering mulig ved distribusjonslaget
Overveielser:
- Krever L3-kapbare tilgangsbrytere
- DHCP relékonfigurasjon på hver tilgangsbryter
- Mer kompleks IP-adressehåndtering
Variasjon 2: MCLAG med LAVS Trunks
Dette designet brukerMulti-Chassis Link Agregation (MCLAG)i distribusjon medLAVS obligasjonertil tilgangsbrytere som bærer stammet VLAN.
Leverandør Terminologi: Cisco kaller denne vPC (Visual Port Channel), Arista bruker MLAG, Juniper bruker MC-LAG, og HPE/Aruba bruker VSX. Den funksjonelle oppførselen ligner på alle leverandø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 plassering (VRRP VIP på distribusjon par):
- 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-Kanal VLANs Destinasjon - Jeg vet ikke Po1 (MCLAG) | 100,110,120 | | Po2 (MCLAG) | 100,110,120,130 | | Po3 (MCLAG) | 100,110 | Native VLAN 999 999 (ubrukt) | — |
MCLAG Fordeler:
- Aktiv aktiv videresending (begge opplinks som brukes)
- Undersekund mislykkes
- Enkelt logisk bryter fra tilgangsperspektiv
- Ingen spinntre blokkering
Overveielser:
- VLANs spenner flere tilgangsbrytere (større kringkastingsdomener)
- MCLAG peer-link kan bli flaskehals
- STP kreves fortsatt som løkkeforebygging
Variasjon 3: Grenseblad for Spine/Leaf Datasenter
I datasentermiljøer blir distribusjonslaget detBorder Leafkoble ryggraden/leaf stoffet til resten av bedriften nettverk.
@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
Datasenter Fabric Detaljer:
Komponent | Funksjon | - Jeg vet ikke |UnderleggEBGP (ASN per bryter) eller OSPF jämt |OverleggVXLAN med EVPN styreplan |Border LeafVXLAN-til-VLAN-gateway, Eksterne ruter, Inter-VRF-ruteruter |Leaf arbeidsbelastningerBeregne, lagre, stemme/UC, infrastruktur
Fordeler:
- Massiv horisontal skala (legg bladpar etter behov)
- Ikke-blokkerende stoff arkitektur
- Multi-tenans via VRF/VNI
- Optimale øst-vest trafikkmønstre
Overveielser:
- Operasjonell kompleksitet av VXLAN/EVPN
- Spesialiserte ferdigheter som kreves
- Høyere utstyrskostnader
Modul 5: Tilgang lag
Access-laget er der endeenhetene kobles til. Uansett distribusjon topologi gir tilgangsbrytere:
@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
Tilgang til lagsikkerhetsfunksjoner:
- 802.1X / MAB-autentisering
- Dynamisk VLAN-tildeling
- Havnesikkerhet
- DHCP snooping
- Dynamisk ARP-kontroll
- IP Source Guard
Komplett modulær topologi
Her er hvordan alle modulene kobles til å danne et komplett foretaksnettverk:
@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-isolasjon
Utfordringen til multi-segment, multi-VRF Design
Når nettverk vokser til å omfatte flere sikkerhetssoner, forretningsenheter eller samsvarsgrenser,VRF (Visual rute og videresending)tilveiebringer rutetabellisolasjon. Men å forlenge VRF gjennom flere nivåer legger til kompleksitet:
- Hver L3 hop krever et transittundernett
- Sub-interfaces multipliserer konfigurasjonskompleksiteten
- Feilsøking spenner flere ruter tabeller
- Dokumentasjon må spore VRF-medlemskap på hvert nivå
Undernettskjemastrategi
Et veldesignet undernettskjema gjør mønster gjenkjennelig, redusere kognitiv belastning og konfigurasjonsfeil.
Eksempel: Stor produksjonsplass (10.0.0.0/13)
Nettstedslokalisering:10.0.0/13 (Manufacturing Site Alpha) - 524.286 brukbare verter
@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 brukbare IPs):
Subnet | Link Beskrivelse - Ja 10.0.0.0/30 FW-inside → Intern-Edge-A | 10.0.0.4/30 | FW-inside → Intern-Edge-B | | 10.0.0.8/30 | Intern-Edge-A → Core-A | 10.0.0.12/30 | Intern-Edge-A → Core-B | 10.0.0.16/30 | Intern-Edge-B → Core-A 0.0.0.20/30 | Intern-Edge-B → Core-B 10.0.0.24/30 Core-A → Distribusjon-A 10.0.0.28/30 | Core-A → Distribusjon-B 10.0.0.32/30 Core-B → Distribusjon-A | 10.0.0.36/30 | Core-B → Distribusjon-B | 10.0.0.40/30 | Distribusjon-A → Access-SW-1 | | 10.0.0.44/30 | Distribusjon-B → Access-SW-1 | ... (Mønstret fortsetter)
Merknad:/31 undernett (RFC 3021) kan også brukes til punkt-til-punkt-koblinger, konservere adresseplass.
Mønstergjenkjenning fordeler
Når subnett mønstre er konsekvent på tvers av VRFs:
Hva du vet er hva du kan inferere - Jeg har det bra Transit-link i Corporate bruker 10.0.0.40/30 | Gjesteekvivalent er 10.1.0.40/30 | | Access-SW-5 brukere er på 10,0.36.0/24 | Sikkerhetskameraer på samme bryter er 10.2.36.0/24 | Site Alpha er 10.0.0/13 | Site Beta kan være 10.8.0.0/13 |
Dette gjør det mulig for ingeniører å:
- Forutsi IP-adresser uten rådgivningsdokumentasjon
- Kjenn uforutsette subnett umiddelbart
- Opprett automatiseringsmaler som jobber på tvers av VRF-er
- Trene nye ansatte på mønsteret, ikke memorasjon
Nettstedsstørrelsemaler
Mal for små nettsteder (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å nettsteddesignnotater:
- Sammenslått design: Alle funksjoner i minimal maskinvare
- Subnet: /24 eller /23 per sted
- Eksempel: 10.100.1.0/24 (Site 001)
Middelside Mal (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
Middels nettsteddesignnotater:
- Delvis modularitet: Distinkt kant og tilgangsnivåer
- Subnet: 21 per sted (2 046 IPs)
- Eksempel: 10.50.0.0/21 (Site 050)
Mal for store nettsteder (Headquarters/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
Store nettsteddesignnotater:
- Full modularitet: Alle nivåer fysisk separat
- Subnet: /13 til /15 per sted (basert på VRF-telling)
- Eksempel: 10.0.0/13 (HQ) - 524 286 IPs
VRF og L3 segmentering: fordeler og kompleksitet
Fordeler ved L3 Segmentering med undergrensesnitt
- SikkerhetsisolasjonTrafikk mellom VRFs må krysse en brannmur eller policy enhet
- Blast Radius Innehold: Kompromittert segment kan ikke direkte nå andre VRFs
- Konfidensielle grenser: PCI, HIPAA, eller OT nettverk i separate routing domener
- Trafikkteknikk: Forskjellige rutingpolitikker per VRF
Complexity Tradeoff
Når segmentene må strekke seg gjennom flere nivåer, legger hver L3-grense til konfigurasjonsoverdel:
@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
Konfigurasjon overhode:
- 5 underflater per VRF per bane
- 4 VRFs × 5 underelementer = 20 undergrenser per bryter
- Routing Protocol Adjacencies i hver VRF
- Ruteleie- eller brannmurregler for inter-VRF trafikk
Mitigasjonsstrategier
- Begrens VRF-telling: Bare lag VRFs for ekte isolasjonskrav
- Sentralisere inter-VRF routing: Enkelt brannmur politikk punkt vs distribuert
- Bruk VXLAN/EVPN: Overlay reduserer fysisk sub-interface sprawl
- AutomatiseringMaler sikrer konsistent konfigurasjon
- Dokumenter mønsteretNår det er lært, er mønster raskere enn oppslag
Sammendrag: Bygge et skalerbart nettverksmønster
Målet med modulær nettverksdesign er å skape enrepeterbart mønstersom muliggjør:
Steder i størrelsesordenen |--------------------------- Små | 10.000+ | Sammenslått UTM + enkelt bryter, /24 per sted | Medium | 1000+ | Edge + MCLAG distribusjon + tilgang, 21 per sted | Full modulær (Edge, Intern Edge, Core, Distribusjonsvarianter, DC-stoff), /13-/15 per sted
Nøkkeltakeaways
- Moduler skaper grenser: Hver modul har et definert formål og grensesnitt
- Mønster tillater skalaSame design på alle nettsteder reduserer trening og feil
- VRFs gir isolasjon: Men legg til konfigurasjonskompleksitet på hvert nivå
- Subnet skjemaer saken: Forutsigbar adressering reduserer kognitiv belastning
- Fordeling varierer etter behov: L3 tilstøtende, MCLAG/LACP, eller ryggrad/leaf
- Høyre størrelse for nettstedetIkke over-engineer små nettsteder
Ved å etablere disse mønstrene og bruke dem konsekvent, kan organisasjoner bygge nettverk som skalerer fra et enkelt grenkontor til en global virksomhet - alt samtidig som operativ enkelhet og sikkerhetsstilling opprettholdes.
Article version 2.0 Published Publisert 2026-02-02 Updated Oppdatert med PlantUML nwdiag diagrammer