Modular Network Design: A Scalable Architecture Framework

Modular Network Design: Scalable Architecture Framework

Enkonduko al Modular Network Design

Retomoduleco estas la praktiko de dizajnado de retoj kiel interligitaj, speciale konstruitaj segmentoj prefere ol monolitaj strukturoj. Ĉiu modulo servas specifan funkcion, difinis limojn, kaj ligas al apudaj moduloj tra bon-understood interfacoj. Tiu aliro transformas sendostacian dezajnon de arto en ripeteblan inĝenieristikdisciplinon.

La potenco de modulareco kuŝas en sia kapablo kreiantaŭvideblaj padronojtio povas esti uzita konstante trans la tuta infrastruktura piedsigno de organizo - ĉu tio enhavas dekojn de miloj da malgrandaj ejoj, miloj da mezaj ejoj, aŭ centojn da grandaj entreprenkampusoj.

Kial modemaj aferoj

Profitoj Trans Ĉiuj Reto-Staloj

Utilaj | Malgrandaj Lokoj | Mezaj Lokoj | Grandaj Ejoj - - - - - - - - - - - - - - - - - - - - - *Simpligita ProblemojUnunura inĝeniero povas kompreni tutan topologion | Teamoj povas specialigi de modulo | Klara eskalado padoj inter moduloj *Antaŭdirebla ScalingAldonu modulojn kiel bezonite | Clone pruvis padronojn | Extend sen restrukturi *Konsista sekurecoSamaj politikoj ĉie | Uniformo observposturo | Auditable limoj | *Operational Efficiency÷ Aŭtomata provizado - Normigita ŝanĝadministrado *KostokontroloDekstra-grandioza ĉiu modulo | Bulk aĉetanta per modulo tipo | Lifecycle administrado de tavolo

La Scaling Challenge

Organizoj malofte restas senmovaj. modula dezajno devas alĝustigi:

  • 10,000+ malgrandaj ejojBranĉoficoj, podetalaj lokoj, malproksimaj instalaĵoj
  • 1,000+ mezaj ejojRegionaj oficoj, distribuocentroj, produktadplantoj
  • 100 + grandaj ejojĈefsidejo, datencentroj, gravaj kampusoj

Sen modulareco, ĉiu ejo iĝas unika neĝflago postulanta specialadaptitan dokumentadon, specialecan trejnadon, kaj unufojan maltrankviliĝon. Kun modulado, inĝeniero kiu komprenas la padronon povas labori efike en iu loko.


Core Network Modules

Modulo 1: Internet Edge Segment

La Interreta Rando estas kie via organizo renkontas la eksteran mondon. Tiu modulo enhavas:

  • WAN/Interreto cirkvitoj(MPLS, DIA, larĝbendo, LTE/5G)
  • Edge-kuristoj(BGP-kunulado, WAN-fino)
  • Fajromuroj(ŝtata inspektado, NAT, VPN fino)
  • VLAN segmentigopor funkcia apartigo
@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

Esencaj dezajnoprincipoj:

  • Redundaj cirkvitoj de diversspecaj provizantoj
  • Fajromuro alt-haveblaj paroj
  • Klaraj VLAN-limoj inter kuratorzonoj
  • L3 punkto-al-punktaj ligiloj inter itineristo kaj fajromuro

Modulo 2: Internal Edge / DMZ Parto Tier

Por mezaj kaj grandaj ejoj, la Interna Rando disponigas agregtavolon por servoj kiuj postulas kontrolitan malkovron aŭ funkcias kiel transirpunktoj inter sekurecaj zonoj.

@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

Servoj Tipe en Interna Rando:

  • Wireless LAN-Kontrolantoj (WLC)
  • Web Proxies kaj enhavo filtriloj
  • VPN koncentriĝis
  • DNS/DHCP-infrastrukturo
  • Load balanciĝas
  • Salto gastigas / bastionservilojn

Modulo 3: Core Layer

La Kerno estas la altrapida spino kiu interligas ĉiujn aliajn modulojn. Ĝi devus esti optimumigita por:

  • Maksimuma trairo
  • Minimuma latenteco
  • Alta havebleco
  • Simpla, rapida antaŭenirado
@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

Kernaj dezajnoprincipoj:

  • Neniu rekte fiksita finuzebla aparatoj
  • L3 routing inter kernŝaltiloj (neniu enhavanta arbon)
  • Egal-kosta multipado (ECMP) por ŝarĝdistribuo
  • Rapida konverĝo protokolas

Modulo 4: Distribuo Layer

La distribuotavolo agregas Alirajn ŝaltilojn kaj devigas politikon. Tio estas kie sendostaciaj dezajnoelektoj havas la plej varion bazitan sur retejopostuloj.


Distribuado

Variado 1: L3 Adjacent (Routed Access)

En tiu dezajno, la distribuo kaj alirtavoloj estasL3 apuda-ĉiu alirŝaltilo havas sian propran IP-subeton kaj itinerojn rekte al distribuo.

@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 Ekzemplo:

L[redakti] - Distribuo al Core | 10.x.1.0/30, 10.x.1.4/30 Dist-A al Aliro-1-10.x.2.0/30 Dist-B al Aliro-1-10.x.2.4/30 Aliro-1 Uzanto VLAN | 10.x.32.0/24 Aliro-2 Uzanto VLAN | 10.x.33.0/24

Avantaĝoj:

  • Elsendo domajna izoliteco ĉe ĉiu alirŝaltilo
  • Simpligita mishokado (temoj enhavitaj al subreto)
  • Ne enhavante arbon inter distribuo kaj aliro
  • Summarization ebla ĉe distribuotavolo

Konsidero:

  • Postuloj L3-kapablaj alirŝaltiloj
  • DHCP relajas konfiguracio sur ĉiu alirŝaltilo
  • Pli kompleksa IP adresadministrado

Variado 2: MCLAG kun LACP Trunks

Ĉi tiu dezajno uzasMulti-Chassis Link Aggregation (MCLAG)ĉe distribuo kunLACP obligaciojpor aliri ŝaltilojn portante trunkitajn VLANojn.

Vendor TerminologioCisco nomas tiun vPC (Virtual Port Channel), Arista uzas MLAG, Juniper uzas MC-LAG, kaj HPE/Aruba uzas VSX. La funkcia konduto estas simila trans vendistoj.

@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 gravulo sur Distribution Pair):

  • 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 - VLANoj - - - - - - - - - - Po1 (MCLAG) | 100,110,120 | Aliro-1 Po2 (MCLAG) | 100,110,120,130 | Aliro-2 | Po3 (MCLAG) | 100,110 | Aliro-3 | 999 (unuita)

MCLAG-helpoj:

  • Aktiva antaŭenirado (ambaŭ uplinks utiligis)
  • Sub-dua malsukcesas
  • Ununura logika ŝanĝo de alirperspektivo
  • Neniu arboblokado

Konsidero:

  • VLANoj enhavas multoblajn alirŝaltilojn (pli grandaj radielsendaj domajnoj)
  • MCLAG-kunul-ligo povas iĝi proplempunkto
  • STP daŭre postulis kiel buklo preventa rezervo

Variado 3: Border Leaf por Spine/Leaf Datacenter

En datencentraj medioj, la distribuotavolo iĝas laLimo Leafliganta la spinon/folian ŝtofon al la resto de la entreprenreto.

@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 Ŝtofo Detaloj:

Komponento - funkcio - - - - - - - *Suba maldekstraeBGP (ASN per ŝaltilo) aŭ OSPF *TrovadoVXLAN kun EVPN-kontrolaviadilo *Limo LeafVXLAN-al-VLAN-enirejo, Eksteraj itineroj, Inter-VRF-routing *Leaf WorkloadsKomputado, Storage, Voĉo/UC, Infrastructure

Avantaĝoj:

  • Masiva horizontala skalo (adaptitaj folioparoj kiel bezonite)
  • Non-bloka ŝtofoarkitekturo
  • Multi-tenancy per VRF/VNI
  • Optimal orientokcidentaj trafikpadronoj

Konsidero:

  • Funkcia komplekseco de VXLAN/EVPN
  • Specialigitaj kapabloj postulis
  • Pli alta ekipaĵo kostas

Modulo 5: Aliro Layer

La Alira tavolo estas kie finaparatoj ligas. Nekonsiderante distribuotopologio, alirŝaltiloj disponigas:

@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

Aliro Layer Security Features:

  • 802.1X/MAB-konfirmiĝo
  • Dinamika VLAN-taskoj
  • Portsekureco
  • DHCP
  • Dinamika ARP-inspektado
  • IP Source Guard

Kompleta Modula Topology

Jen kiel ĉiuj moduloj ligas por formi kompletan entreprenan reton:

@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 Addressing Strategio kun VRF Isolation

La Defio de Multi-Segment, Multi-VRF Design

Kiam retoj kreskas por inkludi multoblajn sekurecajn zonojn, komercunuojn, aŭ observlimojn,VRF (Virtual Routing kaj Antaŭening)disponigas itineron tablo izoliteco. Tamen, etendante VRFojn tra multoblaj partoj aldonas kompleksecon:

  • Ĉiu L3 lupo postulas transitsubnet
  • Sub-interfacoj multobligas konfiguraciokompleksecon
  • Troubleshooting enhavas multoblajn routing tablojn
  • Dokumentado devas spuri VRF-membrecon ĉe ĉiu parto

Subnet Schema Strategio

Bon-dizajnita subnetskemo faras padronojn rekoneblaj, reduktante kognan ŝarĝon kaj konfiguracioerarojn.

Ekzemplo: Granda Produktado-areo (10.0.0.0/13)

Retejo Allocation:10.0.0.0/13 (Manufacturing Site Alpha) - 524,286 uzeblaj gastigantoj

@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 uzeblaj IPoj):

Subnet | L[redakti | redakti fonton] - - - - - - - - - - - - - - - - - - - - 10.0.0.0/30 | FW-Inside 10.0.0.4/30 - FW-Inside 10.0.0.8/30 - Interna-Edge-A 10.0.0.12/30 10.0.0.16/30 10.0.0.20/30 | Interna-Edge-B 10.0.0.24/30 | Core-A → Distribuo-A 10.0.0.28/30 | Core-A 10.0.0.32/30 | Core-B 10.0.0.36/30 | Core-B 10.0.0.40/30 | Distribution-A → Aliro-SW-1 10.0.0.44/30 | Distribution-B → Aliro-SW-1 (Paco daŭras)

Notu:/31 subretoj (RFC 3021) ankaŭ povas esti uzitaj por punkto-al-punktaj ligiloj, konservante adresspacon.

Padrono-Rekono Profitoj

Kiam subnetpadronoj estas kongruaj trans VRFoj:

Kion vi scias, kion vi povas fari - - - - - - - - - - - - - - - - - - - - - - - - - - - Transitligo en Corporate uzas 10.0.0.40/30 | Gasekvivalento estas 10.1.0.40/30| Aliro-SW-5 uzantoj estas sur 10.0.36.0/24 | Sekurecaj fotiloj sur sama ŝaltilo estas 10.2.36.0/24 La retejo Alfao estas 10.0.0.0/13 | Site Beta povus esti 10.8.0.0/13

Tio permesas al inĝenieroj:

  • Predict IP traktas sen konsultado de dokumentaro
  • Rekoni miskonfiguritajn subretojn tuj
  • Krei aŭtomatig ŝablonojn kiuj laboras trans VRFs
  • Trajno nova stabo sur la padrono, ne parkerigo

Situo de Size

Malgranda retejo (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

Malgranda retejo Design Notes:

  • Streĉita dezajnoĈiuj funkcioj en minimuma aparataro
  • Subnet/24 aŭ /23 per ejo
  • Ekzemplo10.100.1.0/24 (Site 001)

Medium Site (Regiona Oficejo)

@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:

  • Parta ModularityDistinct Edge kaj Aliraj partoj
  • Subnet2,046 IPs)
  • Ekzemplo10.50.0.0/21 (Site 050)

Granda Ejo (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

Granda retejo Design Notes:

  • Plena moderecoĈiuj partoj fizike apartigas
  • Subnet/13 al /15 per ejo (bazita sur VRF-kalkulo)
  • Ekzemplo10.0.0.0/13 (ĉefkomandejo) - 524,286 IPs

VRF kaj L3 Segmentation: Profitoj kaj Complexity

Profitoj de L3 Segmentation kun Sub-Interfaces

  1. Sekureco IsolationTrafiko inter VRFoj devas kruci fajromuron aŭ strategiaparaton
  2. Blast Radius EnigoKompromiso ne povas rekte atingi aliajn VRFojn
  3. Kompetentaj BoundariesPCI, HIPAA, aŭ OT retoj en apartaj routing domajnoj
  4. Trafika InĝenieristikoMalsamaj venkantaj politikoj per VRF

La Complexity Tradeoff

Kiam segmentoj devas etendi tra multoblaj partoj, ĉiu L3 limo aldonas konfiguracio supre:

@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

Transformo supre:

  • 5 Sub-interfacoj per VRF per pado
  • 4 VRFoj × 5 sub-ints = 20 sub-interfacoj per ŝaltilo
  • Routing protokolas malhelpojn en ĉiu VRF
  • Itinero-fermado aŭ fajromuraj reguloj por inter-VRF-trafiko

Mitigation Strategies

  1. Limo VRF-kalkuloNur krei VRFojn por originalaj izolaj postuloj
  2. Centrigi inter-VRF routingUnunura fajromuro strategiopunkto vs. distribuita
  3. Uzu VXLAN/EVPNTrolay reduktas fizikan sub-interfacon
  4. Aŭtomatigo· s certigas konsekvencan konfiguracion
  5. Dokumentas la padrononPost kiam lernite, padronoj estas pli rapidaj ol aspekto

Resumo: Konstruante Scalable Network Padron

La celo de modula sendostacia dezajno devas kreiripetebla padronotio ebligas:

Tumulto (paĝoj) - - - - - - Malgranda | 10,000+ | Kolapsita UTM + ununura ŝaltilo, /24 per ejo 1 + − Edge + MCLAG-distribuo + aliro, /21 per ejo Granda | 100+ | Plena modula (Edge, Internal Edge, Core, Distribution variaĵoj, Dc ŝtofo), /13-/15 per ejo

La ŝlosiloj

  1. Moduloj kreas limojnĈiu modulo havas difinitan celon kaj interfacon
  2. Padronoj ebligas skalonSama dezajno en ĉiu ejo reduktas trejnadon kaj erarojn
  3. VRFoj disponigas izoliteconSed aldoni konfiguracion ĉe ĉiu parto
  4. Subnet-skemojAntaŭdirebla traktado reduktas kognan ŝarĝon
  5. Distribuo varias laŭ bezonoL3 apuda, MCLAG/LACP, aŭ spino/leaf
  6. Dekstra grandeco por la retejoNe tro-motoraj malgrandaj ejoj

Establante tiujn padronojn kaj uzante ilin konstante, organizoj povas konstrui retojn kiuj skalas de ununura branĉoficejo ĝis tutmonda entrepreno - ĉio konservante funkcian simplecon kaj sekurecposturon.


Artikolo versio 2.0 Publikigita 2026-02-02| Ĝisdatigita kun PlantUML nwdiag diagramoj