Modular Network Design: A Scalable Architecture Framework

Modułowa konstrukcja sieci: skalowalne ramy architektury

Wprowadzenie do projektowania sieci modułowej

Modularność sieci jest praktyką projektowania sieci jako wzajemnie połączonych, specjalnie zbudowanych segmentów, a nie struktur monolitycznych. Każdy moduł służy określonej funkcji, ma określone granice i łączy się z sąsiadującymi modułami poprzez dobrze rozumiane interfejsy. Takie podejście przekształca projektowanie sieci ze sztuki w powtarzalną dyscyplinę inżynieryjną.

Moc modularności polega na zdolności do tworzeniaprzewidywalne wzoryktóre mogą być stosowane konsekwentnie na całym obszarze infrastruktury organizacji - czy to obejmuje dziesiątki tysięcy małych miejsc, tysiące średnich miejsc, czy setki dużych kempingów przedsiębiorstw.

Dlaczego ma znaczenie modularność

Korzyści we wszystkich skalach sieciowych

124; Korzyści 124; Małe strony 124; Średnie strony 124; Duże strony 124 - - - - - - - - - - - - VIIdUproszczone rozwiązywanie problemów124; Jeden inżynier może zrozumieć całą topologię 124; Zespoły mogą specjalizować się w module 124; Czyste ścieżki eskalacji między właścicielami modułów 124 VIIdPrzewidywalne skalowanie124; Dodawanie modułów w razie potrzeby 124; Sprawdzone wzorce klonów 124; Rozszerzanie bez przeprojektowania 124 VIIdSpójne bezpieczeństwo124; wszędzie takie same polityki 124; jednolita postawa zgodności 124; weryfikowalne granice 124 VIIdWydajność operacyjnaPROJEKT 124; Programowanie oparte na templatedzie 124; Automatyczne tworzenie rezerw 124; Standaryzowane zarządzanie zmianami 124 VIIdKontrola kosztów124; Rozmiar prawy każdego modułu 124; Zakup luzem według typu modułu 124; Zarządzanie cyklem życia według poziomu dokładności 124

Wyzwanie skalowania

Organizacja rzadko pozostaje statyczna. Modułowa konstrukcja musi uwzględniać:

  • 10 000 + małe miejsca: Branch offices, detaliczny lokalizacje, zdalne obiekty
  • 1000 + średnie miejsca: Biura regionalne, centra dystrybucji, zakłady produkcyjne
  • 100 + duże obiekty: Siedziba główna, centra danych, główne kampusy

Bez modularności, każda strona staje się unikalny płatek śniegu wymagający niestandardowa dokumentacja, specjalistyczne szkolenia i jednorazowe rozwiązywania problemów. Z modularnością, inżynier, który rozumie wzór może skutecznie działać w każdym miejscu.


Moduły sieci bazowej

Moduł 1: Internet Edge Segment

Internet Edge to miejsce, gdzie twoja organizacja spotyka świat zewnętrzny. Moduł ten zawiera:

  • Obwody WAN / Internet(MPLS, DIA, szerokopasmowe, LTE / 5G)
  • Rutery krawędziowe(BGP podglądający, zakończenie WAN)
  • Zapory(kontrola stanu, NAT, zakończenie VPN)
  • Segmentacja VLANdo rozdziału funkcjonalnego
@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

Kluczowe zasady projektowania:

  • Niepowtarzalne obwody od różnych dostawców
  • Firewall wysokiej dostępności pary
  • Wyczyść granice VLAN pomiędzy strefami zaufania
  • Powiązania pomiędzy routerem a firewallem

Moduł 2: Wewnętrzna krawędź / DMZ Poziom

W przypadku średnich i dużych obiektów wewnętrzny brzeg zapewnia warstwę agregacji dla usług, które wymagają kontrolowanego narażenia lub służą jako punkty przejściowe między strefami bezpieczeństwa.

@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

Usługi zwykle w wewnętrznych krawędziach:

  • Bezprzewodowe sterowniki LAN (WLC)
  • Proxy internetowe i filtry treści
  • Kondensatory VPN
  • Infrastruktura DNS / DHCP
  • Środki balansujące obciążenia
  • Skocz hosty / serwery bastionowe

Moduł 3: Warstwa rdzeniowa

Rdzeń jest kręgosłupem o dużej prędkości, który łączy wszystkie inne moduły. Powinno być zoptymalizowane dla:

  • Maksymalna przepustowość
  • Minimalne opóźnienie
  • Wysoka dostępność
  • Proste, szybkie przesyłanie
@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

Podstawowe zasady projektowania:

  • Brak bezpośrednio dołączonych urządzeń końcowych
  • L3 routing między przełącznikami rdzennymi (bez rozpiętych drzew)
  • Equal- cost multipath (ECMP) for load distribution
  • Protokoły szybkiej konwergencji

Moduł 4: Warstwa dystrybucji

Agregaty warstwy dystrybucji Access wyłączają i wzmacniają politykę. W tym przypadku wybór projektu sieci jest najbardziej zróżnicowany w zależności od wymagań terenu.


Różnice w kapitale dystrybucyjnym

Wariant 1: L3 Przyległe (dostęp przekierowany)

W tym projekcie, warstwy dystrybucji i dostępu sąPrzyległe L3- każdy przełącznik dostępu posiada własną podsieć IP i trasy bezpośrednio do dystrybucji.

@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

Przykład przydziału podsieci:

Xi124; Link Xi124; Subnet Xi124 {C: $aaccff} Tłumaczenie: 124; Dystrybucja do rdzenia 124; 10.x.1.0 / 30, 10.x.1.4 / 30 y124 124; Dist- to Access- 124; 10.x.2.0 / 30 Dist- B do Akcesoria- 124; 10.x.2.4 / 30 124; Akcesoria -1 Użytkownik VLAN 124; 10.x.32.0 / 24 DODATEK 124; Akcesoria -2 Użytkownik VLAN 124; 10.x.33.0 / 24 DODATEK 124

Korzyści:

  • Izolacja domen na każdym przełączniku dostępu
  • Uproszczone rozwiązywanie problemów (kwestie zawarte w podsieci)
  • Brak drzew między dystrybucją a dostępem
  • Podsumowanie możliwe w warstwie dystrybucji

Uwagi:

  • Wymaga przełączników dostępu L3
  • Konfiguracja przekaźnika DHCP na każdym przełączniku dostępu
  • Bardziej skomplikowane zarządzanie adresami IP

Wariant 2: MCLAG z LACP Trunks

Ten projekt wykorzystujeMulti- Chassis Link Aggregation (MCLAG)w dystrybucjiObligacje AKPdostępu do przełączników przewożących VLAN.

Terminologia Vendor: Cisco nazywa to vPC (Virtual Port Channel), Arista używa MLAG, Juniper używa MC- LAG, a HPE / Aruba używa VSX. Funkcjonalne zachowanie jest podobne we wszystkich sprzedawcach.

@startuml Distribution Variation 2 - MCLAG
skinparam backgroundColor #FEFEFE

nwdiag {
    network From_Core {
        address = "L3 Routed Uplinks"
        color = "#B0E0E6"
        description = "From Core Layer"

        Dist_A [description = "Distribution A\n(MCLAG Member)"];
        Dist_B [description = "Distribution B\n(MCLAG Member)"];
    }

    network MCLAG_Peer_Link {
        address = "Peer-Link"
        color = "#FFB6C1"
        description = "MCLAG/vPC Peer-Link"

        Dist_A;
        Dist_B;
    }

    network LACP_To_Access {
        address = "Po1 - LACP Trunk"
        color = "#DDA0DD"
        description = "VLANs 100,110,120 Trunked"

        Dist_A;
        Dist_B;
        Access_1 [description = "Access SW-1\n(L2 Switch)"];
    }

    network Data_VLAN {
        address = "VLAN 100 - 10.x.32.0/24"
        color = "#98FB98"
        description = "Data VLAN"

        Access_1;
        Laptops [description = "Laptops\nWorkstations"];
    }

    network Voice_VLAN {
        address = "VLAN 110 - 10.x.64.0/24"
        color = "#FFE4B5"
        description = "Voice VLAN"

        Access_1;
        Phones [description = "IP Phones"];
    }

    network Security_VLAN {
        address = "VLAN 120 - 10.x.96.0/24"
        color = "#FFDAB9"
        description = "Security VLAN"

        Access_1;
        Cameras [description = "Cameras\nBadge Readers"];
    }
}
@enduml

SVI Placement (VRRP VIP na Para Dystrybucji):

  • VLAN 100: 10.x.32.1 / 24
  • VLAN 110: 10.x.64.1 / 24
  • VLAN 120: 10.x.96.1 / 24

Konfiguracja VLAN Trunk:

VLAN 124; Miejsce przeznaczenia 124 {C: $999966} {f: Po1 (MCLAG) 124; 100,110,120 Po2 (MCLAG) Po3 (MCLAG) 124; Native VLAN 124; 999 (nieużywane) 124; - Native 124

Korzyści MCLAG:

  • Przekazywanie aktywne (obydwa uplinki wykorzystywane)
  • Poddrugie niepowodzenie
  • Pojedyncze przejście logiczne z perspektywy dostępu
  • Brak blokady drzew

Uwagi:

  • VLAN rozpiętość wielu przełączników dostępu (większe domeny nadawcze)
  • MCLAG peer-link może stać się wąskim gardłem
  • STP nadal wymagane jako kopia zapasowa zapobiegania pętli

Wariant 3: Liść graniczny dla Spin / Leaf Datacenter

W środowiskach datacenter warstwa dystrybucji staje sięLiść granicznypodłączenie tkaniny kręgosłupa / liścia do reszty sieci przedsiębiorstw.

@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

Szczegóły materiału Datacenter:

124; komponent 124; funkcja 124 {C: $aaccff} 124-- 124-- VIIdZałożenie124; eBGP (ASN na przełącznik) lub OSPF 124 VIIdNakładanieQUI124; VXLAN z płaszczyzną sterującą EVPN XI124 VIIdLiść graniczny124; brama VXLAN- to- VLAN, trasy zewnętrzne, routing Inter- VRF 124 VIIdRoboty związane z liściem124; Obliczanie, Przechowywanie, Głos / UC, Infrastruktura 124

Korzyści:

  • Masywna skala pozioma (w razie potrzeby dodać pary liści)
  • Architektura tkaniny nieblokującej
  • Wieloetatowy przez VRF / VNI
  • Optymalne wzory ruchu na wschód-zachód

Uwagi:

  • Złożoność operacyjna VXLAN / EVPN
  • Wymagane specjalistyczne umiejętności
  • Wyższe koszty wyposażenia

Moduł 5: Warstwa dostępu

Warstwa Access jest miejscem połączenia urządzeń końcowych. Niezależnie od topologii dystrybucji, przełączniki dostępu zapewniają:

@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

Dostęp Funkcje bezpieczeństwa warstwy:

  • Uwierzytelnianie 802.1X / MAB
  • Dynamiczne przypisanie VLAN
  • Ochrona portu
  • DHCP węszy
  • Dynamiczna kontrola ARP
  • Strażnik źródeł IP

Topologia modułowa

Oto jak wszystkie moduły łączą się tworząc kompletną sieć przedsiębiorstw:

@startuml Complete Modular Network Topology
skinparam backgroundColor #FEFEFE
title Complete Enterprise Modular Network

nwdiag {
    internet [shape = cloud, description = "Internet/WAN"];

    network Internet_Edge {
        address = "Module 1"
        color = "#FFE4E1"
        description = "INTERNET EDGE MODULE"

        internet;
        ISP_A [description = "ISP-A"];
        ISP_B [description = "ISP-B"];
        MPLS [description = "MPLS"];
        Edge_RTR [description = "Edge Router"];
        FW_A [description = "FW-A"];
        FW_B [description = "FW-B"];
    }

    network Internal_Edge {
        address = "Module 2"
        color = "#E6E6FA"
        description = "INTERNAL EDGE / DMZ MODULE"

        FW_A;
        FW_B;
        IntEdge_A [description = "IntEdge-A"];
        IntEdge_B [description = "IntEdge-B"];
        WLC [description = "WLC"];
        Proxy [description = "Proxy"];
        VPN [description = "VPN"];
        DNS [description = "DNS/DHCP"];
    }

    network Core {
        address = "Module 3"
        color = "#B0E0E6"
        description = "CORE MODULE"

        IntEdge_A;
        IntEdge_B;
        Core_A [description = "Core-A"];
        Core_B [description = "Core-B"];
    }

    network Distribution_L3 {
        address = "Variation 1"
        color = "#98FB98"
        description = "DIST - L3 Adjacent\n(Building A)"

        Core_A;
        Core_B;
        Dist_1A [description = "Dist-1A"];
        Dist_1B [description = "Dist-1B"];
        Access_L3 [description = "Access\n(L3)"];
    }

    network Distribution_MCLAG {
        address = "Variation 2"
        color = "#DDA0DD"
        description = "DIST - MCLAG\n(Building B)"

        Core_A;
        Core_B;
        Dist_2A [description = "Dist-2A"];
        Dist_2B [description = "Dist-2B"];
        Access_L2 [description = "Access\n(L2)"];
    }

    network Datacenter {
        address = "Variation 3"
        color = "#FFE4B5"
        description = "DATACENTER\n(Spine/Leaf)"

        Core_A;
        Core_B;
        Border_Leaf [description = "Border\nLeaf"];
        Spine [description = "Spine"];
        Leaf [description = "Leaf"];
        Servers [description = "Servers\nStorage\nPBX"];
    }

    network Campus_Users {
        address = "End Devices"
        color = "#F0FFF0"
        description = "Campus Users"

        Access_L3;
        Access_L2;
        Users [description = "Laptops\nPhones\nCameras"];
    }
}
@enduml

Strategia podejścia IP z izolacją VRF

The Challenge of Multi- Segment, Multi- VRF Design

Gdy sieci rozwijają się, aby obejmować wiele stref bezpieczeństwa, jednostek biznesowych lub granic zgodności,VRF (wirtualna trasa i spedycja)zapewnia izolację stołu trasy. Rozszerzenie VRF poprzez wiele poziomów zwiększa jednak złożoność:

  • Każdy hop L3 wymaga podsieci tranzytowej
  • Podinterfejsy mnożą złożoność konfiguracji
  • Rozwiązywanie problemów obejmuje wiele tabel routingu
  • Dokumentacja musi śledzić członkostwo VRF na każdym poziomie

Strategia schematów podsieci

Dobrze zaprojektowany schemat podsieci sprawia, że wzory rozpoznawalne, zmniejszając obciążenie poznawcze i błędy konfiguracji.

Przykład: Duże miejsce produkcji (10.0.0.0 / 13)

Przydział strony:10.0.0.0 / 13 (Miejsce produkcji Alfa) - 524,286 żywic użytkowych

@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

Szczegóły segmentu tranzytowego (10.0.0.0 / 23 - 510 możliwych do wykorzystania IP):

PROJEKT 124; Podsieć 124; Link Opis 124 - 124-- 124-- 124-- 124 10, 0, 0 / 30 Wewnątrz → Internal- Edge- B 12, 0; 10, 0, 8 / 30 12 12; 10, 0, 12 / 30 12, 0; 10, 0, 16 / 30 12 12, 0; 10, 0, 20 / 30 12 Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution Distribution- Distribution- Distribution- Distribution Distribution- Distribution- Distribution (Distribution) Distribution- B Distribution- B- 124 Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution- Distribution 10, 0, 36 / 30, 12, Core- B → Distribution- B, 12 10, 0, 40 / 30, 124; Distribution- → Akcesoria - SW-1, 124 Distribution- B → Akcesoria - SW-1 124;... 124; (Wzór kontynuuje) 124

Uwaga:/ 31 podsieci (RFC 3021) może być również wykorzystywane do połączeń point-to-point, zachowując przestrzeń adresową.

Korzyści z rozpoznawania wzorów

Jeżeli wzory podsieci są spójne w odniesieniu do VRF:

124; Co wiesz 124; Co możesz Infer 124 {C: $999966} {f: 124; Link tranzytowy w korporacyjnych zastosowań 10.0.0.40 / 30 XI124; ekwiwalent gości to 10.1.0.40 / 30 XI124 124; Akcesoria-SW- 5 są na 10.0.36.0 / 24 XI124; Kamery bezpieczeństwa na tym samym przełączniku są 10.2.36.0 / 24 XI124 Strefa Alpha wynosi 10.0.0.0 / 13, strefa Beta może wynosić 10.8.0.0 / 13

Umożliwia to inżynierom:

  • Przewidywanie adresów IP bez konsultacji z dokumentacją
  • Natychmiast rozpoznaj źle skonfigurowane podsieci
  • Tworzenie szablonów automatyki pracujących w VRF
  • Szkolenie nowych pracowników na wzór, nie zapamiętywanie

Rozmiar strony Szablony

Szablon małych stron (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

Uwagi dotyczące projektowania małych stron:

  • Zapadnięty projekt: Wszystkie funkcje w minimalnym sprzęcie
  • Podsieć: / 24 lub / 23 na stronę
  • Przykład: 10.100.1.0 / 24 (Site 001)

Szablon terenu średniego (Biuro Regionalne)

@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

Uwagi do projektu strony średniej:

  • Modularność częściowa: Poziomy różnicowe krawędzi i dostępu
  • Podsieć: / 21 na miejsce (2,046 IP)
  • Przykład: 10.50.0.0 / 21 (strona 050)

Duży szablon terenu (siedziba / kampus)

@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

Uwagi dotyczące projektowania dużych obszarów:

  • Pełna modularność: Wszystkie poziomy fizycznie oddzielone
  • Podsieć: / 13 do / 15 na miejsce (na podstawie liczby VRF)
  • Przykład: 10.0.0.0 / 13 (HQ) - 524,286 IP

VRF i L3 segmentacja: korzyści i komplementarność

Korzyści z segmentacji L3 z podinterfejsów

  1. Izolacja bezpieczeństwa: Ruch między VRF musi przejść przez firewall lub urządzenie polityki
  2. Kondensacja promieniowania Blast: Skomplikowany segment nie może bezpośrednio dotrzeć do innych VRF
  3. Granice zgodności: PCI, HIPAA lub OT sieci w odrębnych domenach routingu
  4. Inżynieria ruchu: Różne polityki routingu na VRF

Uzupełniający handel

W przypadku gdy segmenty muszą rozciągać się przez wiele poziomów, każda granica L3 dodaje górną konfigurację:

@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

Nagłówek konfiguracji:

  • 5 podinterfejsów na VRF na ścieżkę
  • 4 podpunkty VRF × 5 = 20 podinterfejsów na przełącznik
  • Uzupełnianie protokołów w każdym VRF
  • Reguły wycieku rurek lub zapory sieciowej dla ruchu VRF

Strategie łagodzenia zmiany klimatu

  1. Limit VRF: Tworzenie VRF tylko dla prawdziwych wymogów izolacji
  2. Scentralizuj routing między VRF: Pojedynczy punkt polityki firewall vs dystrybuted
  3. Użyj VXLAN / EVPN: Nakładanie zmniejsza rozprysk fizycznego podinterfejsu
  4. Automatyzacja rezerw: Szablony zapewniają spójną konfigurację
  5. Dokumentuj wzór: Po nauczeniu się, wzory są szybsze niż look up

Podsumowanie: Budowa skalowalnego wzoru sieci

Celem modułowego projektowania sieci jest stworzeniepowtarzalny wzórktóry umożliwia:

124; skala 124; strony 124; wzór 124 {C: $999966} {f: 124; Małe 124; 10.000 + 124; Zwinięte UTM + pojedynczy przełącznik, / 24 na miejsce 124 124; średnie 124; 1000 + 124; dystrybucja Edge + MCLAG + dostęp, / 21 na miejsce 124 124; duży 124; 100 + 124; pełny modułowy (krawędź, wewnętrzna krawędź, rdzeń, warianty dystrybucji, tkanka DC), / 13- / 15 na miejsce 124

Key Takeaways

  1. Moduły tworzą granice: Każdy moduł ma określony cel i interfejs
  2. Wzory włączają skalę: Ten sam projekt na każdym miejscu zmniejsza szkolenia i błędy
  3. VRF zapewniają izolację: Ale dodać złożoność konfiguracji na każdym poziomie
  4. Materia schematów podsieci: Przewidywalne podejście zmniejsza obciążenie poznawcze
  5. Dystrybucja w zależności od potrzeb: sąsiadujące L3, MCLAG / LACP, lub kręgosłup / liść
  6. Prawy rozmiar dla strony: Don 't over- engineering małe strony

Ustanawiając te wzorce i stosując je konsekwentnie, organizacje mogą budować sieci, które skalują od jednego oddziału do globalnego przedsiębiorstwa - wszystko przy zachowaniu prostoty operacyjnej i pozycji bezpieczeństwa.


Artykuł w wersji 2.0 Between 124; Opublikowane 2026- 02- 02 Between 124; Aktualizacja z PlantuML nwdiag diagramy