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

  1. SikkerhetsisolasjonTrafikk mellom VRFs må krysse en brannmur eller policy enhet
  2. Blast Radius Innehold: Kompromittert segment kan ikke direkte nå andre VRFs
  3. Konfidensielle grenser: PCI, HIPAA, eller OT nettverk i separate routing domener
  4. 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

  1. Begrens VRF-telling: Bare lag VRFs for ekte isolasjonskrav
  2. Sentralisere inter-VRF routing: Enkelt brannmur politikk punkt vs distribuert
  3. Bruk VXLAN/EVPN: Overlay reduserer fysisk sub-interface sprawl
  4. AutomatiseringMaler sikrer konsistent konfigurasjon
  5. 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

  1. Moduler skaper grenser: Hver modul har et definert formål og grensesnitt
  2. Mønster tillater skalaSame design på alle nettsteder reduserer trening og feil
  3. VRFs gir isolasjon: Men legg til konfigurasjonskompleksitet på hvert nivå
  4. Subnet skjemaer saken: Forutsigbar adressering reduserer kognitiv belastning
  5. Fordeling varierer etter behov: L3 tilstøtende, MCLAG/LACP, eller ryggrad/leaf
  6. 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