Modular Network Design: A Scalable Architecture Framework
모듈형 네트워크 설계: Scalable Architecture Framework
Module Network Design에 대한 소개
Network modularity는 단말 구조보다 상호 연결, 목적 내장 세그먼트로 네트워크 설계의 실천입니다. 각 모듈은 특정 함수를 정의하고, 경계를 정의하고, 잘 밑에 서있는 공용영역을 통해서 인접한 단위에 연결합니다. 이 접근법은 반복적인 엔지니어링 분야로 예술의 네트워크 디자인을 변화시킵니다.
Modularity의 힘은 그것의 능력에서 창조합니다예측 가능한 패턴조직 전체 인프라 발자국에 걸쳐 지속적으로 적용 할 수 있습니다. 수천 개의 작은 사이트, 수천 개의 중간 사이트, 또는 수백 개의 대형 기업 캠퍼스.
왜 모듈성 물질
모든 네트워크 규모에 대한 이점
| 특전 | 작은 사이트 | 중형 사이트 | 대형 사이트 | |---------|-------|-------|-------|-------| ·문제 해결| 단일 엔지니어는 전체 지리학을 이해할 수 있습니다 | 팀은 모듈을 전문으로 할 수 있습니다 | 모듈 소유자 간의 명확한 에스컬레이션 경로 | ·예측 가능한 Scaling| 필요한 모듈 추가 | Clone 입증된 패턴 | 재설계 없이 확장 | ·일관된 보안| 그 외의 정책 | 제복 준수 자세 | 감사의 경계 | ·운영 효율성| 템플릿 기반 배포 | 자동화 제공 | 표준화된 변경 관리 | ·비용 제어| 각 모듈 OK | 모듈별 대량구매 | 생활사이클 관리|
확장 도전
조직은 거의 정적 유지. 모듈 디자인은 수용해야 합니다:
- 10,000+ 작은 사이트: 지사, 소매점, 원격시설
- 1,000+ 중간 위치: 지역 사무소, 유통 센터, 제조 공장
- 100+ 큰 사이트: 본사, 데이터 센터, 주요 캠퍼스
모듈성 없이, 각 사이트는 사용자 지정 문서, 전문 교육, One-off 문제 해결을 필요로 하는 독특한 Snowflake가 됩니다. 모듈 식으로 패턴을 이해하는 엔지니어는 모든 사이트에서 효과적으로 작동 할 수 있습니다.
핵심 네트워크 모듈
모듈 1: 인터넷 가장자리 세그먼트
인터넷 가장자리는 당신의 조직이 외부 세계를 만납니다. 이 단위는 포함합니다:
- WAN/인터넷 회로(MPLS, DIA, 광대역, LTE/5G)
- Edge 라우터(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 사이트맵
중간 및 대형 사이트를 위해 내부 Edge는 보안 영역의 전환점으로 제어 노출을 요구하거나 서비스를 위해 집계 층을 제공합니다.
@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
내부 가장자리에서 일반적으로 서비스 :
- 무선 LAN 컨트롤러 (WLC)
- 웹 프록시 및 콘텐츠 필터
- VPN 집중 장치
- DNS/DHCP 인프라
- 짐 밸런서
- 호스트를 점프 / bastion 서버
단위 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
핵심 디자인 원리:
- 직접 부착된 end-user 장치 없음
- L3 routing between core switch (연간 트리 없음)
- Equal-cost multipath (ECMP) 부하 배포
- 빠른 융합 프로토콜
단위 4: 배급 층
배급 층은 접근 스위치를 집계하고 정책을 시행합니다. 이것은 네트워크 설계 선택이 사이트 요구 사항에 따라 가장 변화가 있습니다.
배급 층 변동
Variation 1: L3 Adjacent (출입된 접근)
이 디자인에서, 배급 및 접근 층은 입니다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
Subnet 할당 예제:
| 링크 | 서브넷 | |------|-------| | 핵심 배포 | 10.x.1.0/30, 10.x.1.4/30 | 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 | 액세스-1 사용자 VLAN | 10.x.32.0/24 | | 액세스-2 사용자 VLAN | 10.x.33.0/24 |
이점:
- 각 액세스 스위치의 방송 도메인 격리
- 문제 해결 (subnet에 포함 된 조직)
- 배포 및 액세스 사이의 스팬 없음
- 배급 층에서 가능한 요약
고려 사항:
- Requires L3-capable 접근 스위치
- 각 접근 스위치에 DHCP 릴레이 윤곽
- 더 복잡한 IP 주소 관리
Variation 2 : LACP 트렁크가있는 MCLAG
이 디자인 사용Multi-Chassis 링크 집합 (MCLAG)관련 링크LACP 채권트렁크 VLAN을 운반하는 스위치에 접근하십시오.
공급 업체: 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 배치 (배달 쌍에 VRRP VIP):
- VLAN 100: 10.x.32.1/24
- VLAN 110: 10.x.64.1/24
- VLAN 120: 10.x.96.1/24
VLAN 간선 윤곽:
| 항구관 | VLAN | 관광지 | |--------|-------|-------| | Po1(MCLAG) | 100,110,120 | 액세스-1 | 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 인포메이션 | 네이티브 VLAN | 999엔 | |
MCLAG 이점:
- Active-active forwarding (활용되는 제 업 링크)
- 서브초 실패
- 접근 관점에서 단일 논리 스위치
- 스팬 블록 없음
고려 사항:
- VLANs는 다수 접근 스위치 (대형 방송 도메인)를 경간합니다
- MCLAG 동료 링크는 병목이 될 수 있습니다
- STP는 반복 예방 백업으로 아직도 요구됩니다
Variation 3: Spine/Leaf Datacenter를 위한 국경 잎
Datacenter 환경에서, 유통층은Border 잎기업 네트워크의 나머지에 spine/leaf 직물을 연결하십시오.
@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 직물 세부사항:
| 부품 | 기능 | |-----------|------| ·이름 *| eBGP(스위치 당 ASN) 또는 OSPF | ·오버레이| EVPN 제어 평면 VXLAN | ·Border 잎| VXLAN-to-VLAN 게이트웨이, 외부 노선, Inter-VRF 라우팅 | ·잎 작업대| 컴퓨터, 스토리지, 음성/UC, 인프라 |
이점:
- 대규모 (필요한 잎 쌍을 추가하십시오)
- Non-blocking 직물 건축
- VRF/VNI를 통해 다 강렬
- 최적의 동서 트래픽 패턴
고려 사항:
- VXLAN/EVPN의 운영 복잡성
- 자주 묻는 질문
- 높은 장비 비용
모듈 5: 접근 층
Access layer는 장치가 연결되는 곳에 있습니다. 배급 topology의 관계 없이, 접근 스위치는 제공합니다:
@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 근원 감시
완전한 모듈 Topology
모든 모듈이 전체 엔터프라이즈 네트워크를 형성하도록 연결하는 방법:
@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
VRF 고립을 가진 IP 주소 전략
멀티 세그먼트의 도전, 멀티-VRF 디자인
네트워크가 여러 보안 영역, 비즈니스 단위, 또는 준수 경계를 포함 할 때,VRF (가상 여정과 운송)노선 테이블 고립을 제공합니다. 그러나 여러 계층을 통해 VRF를 확장하면 복잡성을 추가합니다
- 각 L3 홉은 transit 서브넷을 요구합니다
- Sub-interfaces 다중 구성 복잡성
- 문제 해결 여러 라우팅 테이블
- 모든 계층에서 VRF 회원을 추적해야 합니다
서브넷 Schema 전략
잘 디자인된 subnet 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
전송 세그먼트 세부 사항 (10.0.0.0/23 - 510 사용 가능한 IP):
| 서브넷 | 링크 Description |-------|-----------------| | 10.0.0.0/30 | FW-Inside → 내선 | | 10.0.0.4/30 | FW-Inside → 내부 디스크 | | 10.0.0.8/30 | 내부-Edge-A → 핵심-A | | 10.0.0.12/30 | 내부-Edge-A → 핵심-B | | 10.0.0.16/30 | 내부-Edge-B → 핵심-A | | 10.0.0.20/30 | 내부-Edge-B → 핵심-B | | 10.0.0.24/30 | 핵심-A → 유통-A | | 10.0.0.28/30 | 핵심-A → 유통-B | | 10.0.0.32/30 | 핵심-B → 유통-A | | 10.0.0.36/30 | 핵심-B → 유통-B | | 10.0.0.40/30 | 유통-A → 액세스-SW-1 | | 10.0.0.44/30 | 유통-B → 액세스-SW-1 | | (주)Pattern
참고 :/31 subnets (RFC 3021)는 포인트 투 포인트 링크, 주소 공간에 사용할 수 있습니다.
패턴 인식 혜택
서브넷 패턴이 VRF에 따라 일관성있을 때:
| 무엇을 알 수 있습니다 | 무엇을 할 수 있습니까 |---------|-------------------| | 기업용 트랜지션 링크는 10.0.0.40/30 인|고객이 해당합니다 10.1.0.40/30 인| | 액세스-SW-5 사용자는 10.0.36.0/24 | 동일한 스위치의 보안 카메라는 10.2.36.0/24 | | 사이트 알파는 10.0.0.0/13 | 사이트 베타는 10.8.0.0/13 |
이것은 엔지니어를 허용합니다:
- 컨설팅 문서없이 IP 주소 예측
- 즉시 misconfigured subnets 인식
- VRF를 통해 작업하는 자동화 템플릿 만들기
- 패턴에 새로운 직원을 훈련, memorization하지
사이트 크기 템플릿
작은 사이트 템플릿 (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
작은 사이트 디자인 노트:
- Collapsed 디자인: 최소 하드웨어의 모든 기능
- 서브넷: 사이트 당 /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
중간 사이트 디자인 노트:
- 부품 모듈성: Distinct Edge 및 액세스 계층
- 서브넷: /21 사이트 당 (2,046 IPs)
- 이름 *: 10.50.0.0/21 (사이트 050)
큰 사이트 템플릿 (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
큰 사이트 디자인 노트:
- 풀 모듈: 모든 계층 물리적으로 분리
- 서브넷: 사이트당 /13~15(VRF)
- 이름 *: 10.0.0.0/13 (HQ) - 524,286의 IP
VRF 및 L3 세그먼트 : 혜택 및 복잡성
Sub-Interfaces와 L3 세그먼트의 이점
- 보안 고립: VRF간의 교통은 방화벽 또는 정책 장치를 가로지르아야 합니다
- 폭발 반경 Containment: Compromised 세그먼트는 다른 VRFs에 직접 도달할 수 없습니다
- 규정 준수: 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
윤곽 머리 위:
- 경로 당 VRF 당 5개의 잠수함
- 4개의 VRFs × 5 이하ints = 스위치 당 20의 sub-interfaces
- 각 VRF에 있는 의정서 adjacencies
- Inter-VRF 트래픽을 위한 Route-leaking 또는 방화벽 규칙
Mitigation 전략
- 제한 VRF 조사: 진정한 고립 요구를위한 VRFs 만 만듭니다
- Inter-VRF 라우팅: 단일 방화벽 정책 포인트 vs. 분산
- VXLAN/EVPN 사용: 오버레이는 물리적 sub-interface sprawl을 감소
- Automate 제공: 템플릿은 일관된 구성을 보장합니다
- 문서 패턴: 일단 배운 후, 패턴이 더 빠릅니다
요약: Scalable Network 패턴 구축
모듈형 네트워크 설계의 목표는반복가능한 본다음을 수행할 수 있습니다:
| 사이트 맵 | 패턴 | |-------|-------|---------| | 소인 | 10,000+ | 소멸 UTM + 단 하나 스위치, 현장별 /24 | | Medium | 1,000+ | 가장자리 + MCLAG 배포 + 액세스, /21 사이트마다 | | 대형 | 100+ | 전체 모듈형(Edge, Internal Edge, Core, Distribution variables, DC fabric), 사이트별 /13-/15 |
키 테이크아웃
- Modules는 경계를 만듭니다: 각 모듈에는 정의된 목적과 인터페이스가 있습니다
- 패턴은 스케일을 활성화: 각 사이트에서 동일한 디자인은 훈련 및 오류를 감소시킵니다
- VRFs는 고립을 제공합니다: 각 계층의 구성 복잡성을 추가합니다
- Subnet 스키마 문제: 예측 가능한 주소는 인지적 부하를 감소시킵니다
- 배포는 필요에 따라 다릅니다: L3 인접, MCLAG / LACP 또는 회전 / leaf
- 사이트 오른쪽 크기: 댄텍터 중소기업
이러한 패턴을 수립하고 지속적으로 적용함으로써 조직은 단일 지점 사무실에서 글로벌 기업으로 확장하는 네트워크를 구축 할 수 있으며 운영 단순화 및 보안 자세를 유지하면서.
제2조 | 출판 2026-02-02 | PlantUML nwdiag 다이어그램 업데이트