Modular Network Design: A Scalable Architecture Framework
Модульний мережевий дизайн: масштабний архітектурний каркас
Вступ до модульного мережевого дизайну
Мережева модульність – практика проектування мереж як міжключних, цілеспрямованих сегментів, а не монолітних конструкцій. Кожен модуль виконує певну функцію, має певні межі, а також з'єднання до сусідніх модулів через інтерфейси добре відмивних. Цей підхід трансформує мережевий дизайн з мистецтва в повторювану інженерну дисципліну.
Потужність модульності полягає в його здатності створюватипередбачувані візерункиякі можуть бути застосовані послідовно через всю інфраструктуру організації.
Чому модульні речовини
Переваги Across всі мережеві ваги
Ben Ben | | | | | Статус на сервери зСпрощена усунення несправностейОдин інженер може зрозуміти всі топології команди може спеціалізуватися на модульних шляхах чіткої ескалації між модулями зПопереднє визначенняAdd Extend | | зБезпека, , , , , , , , зОпераційна ефективністьAuto change | | зКонтроль витратRight Right | by
Виклик Scaling
Організації рідко залишаються статичними. Модульний дизайн повинен вмістити:
- 10000+ невеликих сайтів: Офіси відділення, торгові місця, дистанційні приміщення
- 1000+ середніх сайтів: Обласні офіси, розподільні центри, виробничі заводи
- 100+ великих сайтів: Головні офіси, центри даних, основні кампуси
Без модульності, кожен сайт стає унікальною сніжинкою, яка вимагає індивідуальної документації, спеціалізованої підготовки та усунення несправностей. З модульністю інженер, який розуміє шаблон, може ефективно працювати на будь-якому сайті.
Основні модулі мережі
Модуль 1: Інтернет-магазин Edge
Інтернет-крамка, де ваша організація зустрічає зовнішній світ. Цей модуль містить:
- WAN/Internet схеми(MPLS, DIA, широкосмуговий, LTE/5G)
- Крайові маршрутизатори(BGP дует, розірвання WAN)
- Брандмауери(повний огляд, NAT, VPN припинення)
- Сегментація VLANдля функціонального поділу
@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
Основні принципи проектування:
- Редукторні схеми від різних постачальників
- Пожежна стінка високодоступних пар
- Очистити межі VLAN між зонами довіри
- L3 точкові посилання між маршрутизатором та брандмауером
Модуль 2: Внутрішній край / DMZ Шини
Для середніх і великих сайтів, Внутрішній край надає агрегаційний шар для послуг, які вимагають контрольованого впливу або слугують перехідними точками між зонами безпеки.
@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
Послуги Зазвичай в Внутрішній край:
- Бездротові локальні контролери (WLC)
- Фільтри та фільтри вмісту
- Концентратори VPN
- DNS / DHCP інфраструктура
- Навантажувачі
- Статус на сервери
Модуль 3: ядро шару
Ядро - це швидкісний застібка, що з'єднує всі інші модулі. Вона повинна бути оптимізована для:
- Максимальна пропускна здатність
- Мінімальна надійність
- Висока доступність
- Простий, швидкий переадресація
@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
Основні принципи проектування:
- Немає безпосередньо прикріплених пристроїв кінцевого користувача
- L3 маршрутизація між основними вимикачами (не просвітлення дерева)
- Еквал-репортажний мультипат (ECMP) для розподілу навантаження
- Швидкий протоколи конвергенції
Модуль 4: розподільний шар
Розширений шар розподільчих пристроїв Доступні вимикачі та правила виконання. Це де варіанти вибору мережевого дизайну на основі вимог сайту.
Сортування шин
Варіант 1: L3 Прихильник (Розміщений доступ)
У цьому дизайні розподільні і шари доступуL3 сусідаПеремикач доступу — це власний IP-адреса та маршрути безпосередньо до розподілу.
@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
Приклад розміщення субмереж:
й Статус на сервери English, Українська, Français.. Dist-A для доступу-1 .x.2.0/30 JavaScript licenses API Веб-сайт Go1.13.8 JavaScript licenses API Веб-сайт Go1.13.8 JavaScript licenses API Веб-сайт Go1.13.8
Переваги:
- Радіоканал ізоляції домену в кожному перемикачі доступу
- Спрощені усунення неполадок (переклади, що містяться в підмережі)
- Не пробиваючи дерево між розподілом і доступом
- Можливості узагальнення при розподілі шару
Розгляд:
- Вимагає L3-розрядні перемикачі доступу
- Налаштування реле DHCP на кожному перемикачі доступу
- Комплексне управління IP-адресою
Варіант 2: MCLAG з LACP траками
Цей дизайн використовуєMulti-Chassis Link Агрегіон (MCLAG)при розподілі зЮридичні послугидля перемикачів доступу, що перевозяться VLANs.
Термінологія: Cisco називає це VPC (Virtual Port Channel), Arista використовує MLAG, Juniper використовує MC-LAG, і HPE/Aruba використовує VSX. Функціональна поведінка схожа на постачальників.
@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 на розподільній парі):
- VLAN 100: 10.x.32.1/24
- VLAN 110: 10.x.64.1/24
- VLAN 120: 10.x.96.1/24
Налаштування VLAN Trunk:
Порт-Чанель ВЛАСТИВОСТІ Статус на сервери По1 (MCLAG) 100,110,120 Доступ-1 Türkçe, English, Українська.. По3 (MCLAG) 100,110 Доступ-3 CatalàDeutschEnglishEspañolFrançaisItalianoLatviešuLietuviųNederlandsNorskPolskiPortuguêsRomânăSlovenčinaSvenskaالعربيةفارسیעבריתΕλληνικάБългарскиРусскийСрпски / srpskiУкраїнська中文(台灣)
Переваги MCLAG:
- Активно-активне переадресування (включені посилання)
- Субсекундний збій
- Один логічний перемикач з точки зору доступу
- Немає перекидання дерева
Розгляд:
- VLANs пропускає кілька перемикачів доступу (великі домени мовлення)
- MCLAG-link може стати пляшковим вирізом
- STP все ще потрібно як резервне копіювання петлю
Варіант 3: Прикордонний лист для Spine/Leaf Datacenter
У середовищі датацентру розподільний шар стаєПрикордонний листз'єднуючи тканину хребта/листа до іншої мережі підприємства.
@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 Fabric:
浜у 灞 绀 Статус на сервери зПідкладкаЭБГП (АСН за перемикач) або OSPF зНаклейкаCyberGhost VPN купони зПрикордонний листVXLAN-to-VLAN шлюз, зовнішні маршрути, Inter-VRF маршрути зЛистові навантаженняEnglish, Українська, Français..
Переваги:
- Масивна горизонтальна шкала (за потреби листків)
- Неблокування тканинної архітектури
- Багатосторонній зв'язок з VRF / VNI
- Оптимальні східно-західні візерунки
Розгляд:
- Оперативна складність VXLAN/EVPN
- Спеціальні навички, необхідні
- Вищі витрати обладнання
Модуль 5: шар доступу
Шар доступу, де з'єднуються кінцеві пристрої. Незалежно від топології розподілу, перемикачі доступу забезпечують:
@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
Особливості безпеки доступу:
- 802.1X / автентифікації MAB
- Динамічне завдання VLAN
- Безпека портів
- DHCP снопіння
- Динамічна перевірка ARP
- IP джерело гвардії
Повна модульна топологія
Ось як з'єднуються всі модулі для формування повноцінної мережі підприємства:
@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-адресації з ізольованістю VRF
Виклик Multi-Segment, Multi-VRF Design
Коли мережі ростуть, щоб включати в себе кілька зон безпеки, бізнес-блоків, або меж з дотриманням вимог,VRF (Virtual Маршрутизація та переадресація)забезпечує виділення таблиці маршруту. Тим не менш, розширення VRF через кілька ярусів додає складності:
- Кожен L3 хмелю вимагає транзитної підмережі
- Під-інтерфейс багато конфігурації
- Виправлення несправностей пропускає кілька маршрутних таблиць
- Документація повинна відслідковувати членство VRF на кожному рівні
Стратегія Schema
Визначено добре розроблену підмережу схему, що розпізнається, зменшуючи когнітивне навантаження та конфігурацію помилок.
Приклад: Великий виробничий сайт (10.0.0.0/13)
Розміщення сайту:10.0.0.0/13 (Управління сайтом Альфа) - 524,286 Зручні господарі
@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
Перехідний Segment Detail (10.0.0.0/23 - 510 USB IPs):
浜у 灞 绀 Статус на сервери JavaScript licenses API Веб-сайт Go1.13.8 Türkçe, English, Русский, Українська.. 0 товар(ов) - 0.00 р Türkçe, English, Русский, Українська.. 10.0.0.16/30 Внутрішня-Edge-B → Core-A 10.0.0.20/30 Внутрішня-Edge-B → Core-B 0 товар(ов) - 0.00 р English, Українська, Français.. English, Українська, Français.. English, Українська, Français.. 0 товар(ов) - 0.00 р English, Українська, Français.. | | |
Примітка:/31 підмереж (RFC 3021) також може використовуватися для точкових посилань, консервування адресного простору.
Переваги розпізнавання шаблонів
Коли шаблони підмереж є послідовними через VRF:
Що ви знаєте, що ви можете зробити -------------- English, Українська, Français.. English, Українська, Français.. English, Українська, Français..
Це дозволяє інженерам:
- Вирок IP-адреси без консультаційної документації
- Визначте неправильне налаштування підмереж відразу
- Створення шаблонів автоматизації, які працюють у VRF
- Поїзд нових співробітників на шаблоні, не запам'ятовування
Шаблони розмірів сайту
Малий шаблон сайту (філія)
@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
Примітки дизайну сайтів:
- Дизайн колапсу: Всі функції в мінімальному апараті
- Навігація: /24 або /23 на сайт
- Приклад10.100.1.0/24 (Сайт 001)
Середній шаблон сайту (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
Примітки про дизайн сайту:
- Модульність: Випадковий край і яруси доступу
- Навігація: /21 на сайт (2,046 IPs)
- Приклад: 10.50.0.0/21 (Сайт 050)
Великий шаблон веб-сайтів (Headparts/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
Великий дизайн сайту Примітки:
- Повна модульність: Всі яруси фізично відокремлені
- Навігація: /13 до /15 на сайт (на основі підрахунку VRF)
- Приклад10.0.0.0/13 (ХК) - 524,286 IPs
VRF і L3 сегментація: переваги та складність
Переваги L3 Segmentation з суб-інтерфейсом
- Ізолація безпеки: трафік між VRF повинен перевернути брандмауер або пристрій політики
- Blast Radius Склад: Ускладнений сегмент не може безпосередньо дістатися до інших VRF
- Супутникові рішення: PCI, HIPAA або OT мережі в окремих маршрутних доменах
- Транспортна інженерія: Різні політики маршрутизації на VRF
Комплексність
Коли сегменти повинні розширюватися через кілька ярусів, кожен край L3 додає конфігурацію накладної:
@startuml Multi-VRF Path Through Tiers
skinparam backgroundColor #FEFEFE
title Multi-VRF Traffic Path: Camera to NVR
nwdiag {
network Camera_Segment {
address = "VLAN 120\n10.2.36.0/24"
color = "#FFDAB9"
description = "VRF: SECURITY"
Camera [description = "Camera"];
Access_SW [description = "Access-SW\nSub-int: 10.2.0.40/30"];
}
network Access_to_Dist {
address = "10.2.0.40/30"
color = "#DDA0DD"
description = "VRF: SECURITY"
Access_SW;
Distribution [description = "Distribution\nSub-int: 10.2.0.24/30"];
}
network Dist_to_Core {
address = "10.2.0.24/30"
color = "#B0E0E6"
description = "VRF: SECURITY"
Distribution;
Core [description = "Core\nSub-int: 10.2.0.8/30"];
}
network Core_to_IntEdge {
address = "10.2.0.8/30"
color = "#E6E6FA"
description = "VRF: SECURITY"
Core;
Internal_Edge [description = "Internal-Edge\nSub-int: 10.2.0.0/30"];
}
network IntEdge_to_FW {
address = "10.2.0.0/30"
color = "#FFE4E1"
description = "VRF: SECURITY"
Internal_Edge;
Firewall [description = "Firewall\nInter-VRF Policy"];
}
network DC_Path {
address = "VXLAN/EVPN"
color = "#87CEEB"
description = "Datacenter Fabric"
Firewall;
Border_Leaf [description = "Border-Leaf"];
Spine [description = "Spine"];
Leaf [description = "Leaf"];
NVR [description = "NVR"];
}
}
@enduml
Налаштування Overhead:
- 5 під-інтерфейсів на VRF на шляху
- 4 VRFs × 5 суб-ints = 20 суб-інтерфейсів на перемикач
- Придбання протоколу маршрутизації в кожному ВВП
- Правила маршрутизації або брандмауера для міжреєстратора
Стратегії міграції
- Обліковий запис VRF: Тільки створити VRF для справжніх вимог ізоляції
- Розгортання міжVR: Одна точка політики брандмауера проти поширення
- Використовуйте VXLAN / EVPN: Накладка знижує фізичну під-інтерфейс шприц
- Автоматизоване забезпечення: Шаблони забезпечують послідовну конфігурацію
- Документація шаблону: Як тільки навчилися, візерунки швидше, ніж пошук
Резюме: Побудова масштабованої мережі шаблон
Мета модульного дизайну мережі – створитибагаторазовий візерунокщо дозволяє:
浜у 灞 绀 Статус на сервери УТМ + один вимикач, /24 за кішки CatalàDeutschEnglishEspañolFrançaisItalianoLatviešuLietuviųNederlandsNorskPolskiPortuguêsRomânăSlovenčinaSvenskaالعربيةفارسیעבריתΕλληνικάБългарскиРусскийСрпски / srpskiУкраїнська中文(台灣) CatalàDeutschEnglishEspañolFrançaisItalianoLatviešuLietuviųNederlandsNorskPolskiPortuguêsRomânăSlovenčinaSvenskaالعربيةفارسیעבריתΕλληνικάБългарскиРусскийСрпски / srpskiУкраїнська中文(台灣)
Головна
- Модульи створюють межі: Кожен модуль має певну мету та інтерфейс
- Візерунки дозволяють масштабувати: Дизайн полум'я на кожному сайті зменшує підготовку та помилки
- VRF забезпечує ізоляцію: Але додайте складність конфігурації на кожному ярусі
- Підмережа schemas: Випереджена адресація зменшує когнітивне навантаження
- Розподіл залежить від потреб: L3 суміжні, MCLAG / LACP, або хребта / лупа
- Правий розмір для сайту: Не переважаючи дрібні сайти
Встановивши ці візерунки і застосовуючи їх послідовно, організації можуть будувати мережі, які масштабуються від однієї філії до глобального підприємства.
Версія статті 2.0 Опубліковано 2026-02-02 Оновлено з схемами PlantUML nwdiag