Modular Network Design: A Scalable Architecture Framework
モジュラーネットワーク設計:スケーラブルなアーキテクチャフレームワーク
モジュラーネットワークデザインの紹介
ネットワークのモジュラー性は、モノリシック構造ではなく、相互接続、目的構築されたセグメントとしてネットワークの設計の実践です。 各モジュールは、特定の機能を提供し、境界を定義し、よく定義されたインターフェイスを通して隣接するモジュールに接続します。 このアプローチは、アートから繰り返し可能なエンジニアリング分野へとネットワーク設計を変革します.
モジュラーの力は作り出す能力にあります予測可能なパターン組織全体のインフラストラクチャのフットプリント全体に一貫して適用することができます。何千もの小さなサイト、何千もの中規模のサイト、または数百の大規模な企業キャンパスに及ぶ場合でも.
なぜモジュラー性マットレス
すべてのネットワーク・スケールを渡る利点
| 特典 | 小さいサイト | 中サイト | 大型サイト | |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- お問い合わせ簡単なトラブルシューティング| シングルエンジニアはトポロジー全体を理解することができます | チームではモジュールを専門としています | モジュールの所有者間の明確なエスカレーションパス | お問い合わせ予測可能なスケーリング| 必要に応じてモジュールを追加 | 実証済みのパターンのクローン作成 | 再設計せずに拡張 | お問い合わせ一貫したセキュリティ| どこでも同じ方針 | 均一順守姿勢 | 監査可能な限界 | お問い合わせ操作効率| テンプレートベースの展開 | 自動プロビジョニング | 標準化変更管理 | お問い合わせコストコントロール| 各モジュールのサイズ | モジュールタイプ別一括購入 | タイヤ別ライフサイクル管理 |
スケーリングチャレンジ
組織は、静的にとどまりません。 モジュラー設計は収容しなければなりません:
- 10,000以上の小さなサイト: 支店、店舗所在地、リモート施設
- 1,000以上の媒体サイト: 地域事務所、物流センター、製造工場
- 100以上の大型サイト: 本社、データセンター、主要キャンパス
モジュラー性がなければ、各サイトは、カスタムドキュメント、専門トレーニング、ワンオフトラブルシューティングを必要とするユニークなスノーフレークになります。 モジュラー性によって、パターンを理解しているエンジニアは、任意のサイトで効果的に動作させることができます.
コアネットワークモジュール
モジュール1:インターネットエッジセグメント
インターネットエッジは、組織が外部の世界を満たしている場所です。 このモジュールは下記のものを含んでいます:
- WAN/インターネット回路(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
内部の端で典型的なサービス:
- 無線LANコントローラー(WLC)
- Webプロキシとコンテンツフィルタ
- 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ルーティング(スパンニングツリーなし)
- 負荷配分のためのEqual-costのmultipath (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
サブネットの配分の例:
| リンク | サブネット | お問い合わせ | コアへの配布 | 10.x.1.0/30 10.x.1.4/30 | | 特急アクセスA | 10.x2.0/30 | | アクセス1 | 10.x2.4/30 | | アクセス-1 ご利用プラン | 10.x32.0/24 | | アクセス2 ご利用プラン | 10.x33.0/24 |
利点:
- 各アクセススイッチで放送ドメインの分離
- 簡易トラブルシューティング(サブネットに含まれている項目)
- 配布とアクセスの間のスパンニングツリーなし
- 分布層での増幅が可能
検討:
- L3対応アクセススイッチが必要です
- 各アクセススイッチのDHCPリレー構成
- 複雑なIPアドレス管理
バリエーション2:LACPトランク付きMCLAG
この設計は使用しますマルチシャーシリンク集計(MCLAG)配布とLACPボンドトランクされたVLANを運ぶアクセス スイッチ.
ベンダー用語集: Cisco は、この vPC (仮想ポートチャネル) を呼び出し、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トランク構成:
| 港チャンネル | プラン | 目的地 | お問い合わせ | Po1(MCLAG) | 100,110,120 | アクセス-1 | | Po2(MCLAG) | 100,110,120 | アクセス-2 | | ポー3(MCLAG) | 100,110 | アクセス-3 | | ネイティブプラン | 999 | | | |
MCLAGの利点:
- アクティブ・アクティブ・フォワーディング(第2アップリンク)
- サブ秒フェイルオーバー
- アクセスの視点からの単一論理スイッチ
- スパンニングツリーブロックなし
検討:
- VLANs は複数のアクセス スイッチ(より大きい放送ドメイン)にスパンします
- MCLAG の仲間のリンクはネックになることができます
- STPはループ防止バックアップとしてまだ必要
バリエーション3:Spine/Leaf Datacenter用ボーダーリーフ
データセンター環境では、分布層がボーダーリーフ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
データセンターの生地の細部:
| 製品情報 | 機能 | お問い合わせ お問い合わせアンダーレイ| eBGP(スイッチごとのASN)・OSPF | お問い合わせオーバーレイ| EVPN制御平面搭載VXLAN | お問い合わせボーダーリーフ| VXLAN-to-VLANゲートウェイ、外部ルート、インターVRFルーティング | お問い合わせリーフワークロード| コンピューティング・ストレージ・音声・UC・インフラ |
利点:
- 大規模な水平スケール(必要に応じてリーフペアを追加)
- ノンブロッキングファブリックアーキテクチャ
- 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
VRFの分離のIPアドレスの作戦
マルチセグメントの挑戦、マルチVRFデザイン
複数のセキュリティゾーン、ビジネスユニット、またはコンプライアンス境界を含むネットワークが成長する場合、,VRF(バーチャルルーティングとフォワード)ルートテーブルの分離を提供します。 しかし、複数の層でVRFを拡張すると、複雑さが増します
- 各L3ホップはトランジットサブネットを必要とします
- サブインターフェイスの多重構成の複雑さ
- トラブルシューティングは複数のルーティングテーブルに及ぶ
- ドキュメンテーションは、すべての階層でVRF会員を追跡しなければなりません
サブネットスキーマ戦略
よく設計されたサブネットスキーマは、認知負荷と構成エラーを軽減し、パターンを認識しやすくなります.
例:大型製造サイト(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):
| サブネット | リンク概要 | |--------|------------------| | 10.0.0.0/30 | FW-Inside → 内部エッジA | | 10.0.0.4/30 | FWインサイド → 内部エッジB | | 10.0.0.8/30 | 内部エッジA → コアA | | 10.0.0.12/30 | 内部エッジA → コアB | | 10.0.0.16/30 | 内部エッジB → コアA | | 10.0.0.20/30 | 内部エッジ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 | 配布A → アクセスSW-1 | | 10.0.0.44/30 | 配布B → アクセスSW-1 | | ・・・ | (パターンが続く) |
注意:/31 サブネット(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アドレスを予測
- 誤構成されたサブネットをすぐに認識
- 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)
中型サイトテンプレート(地域事務所)
@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
媒体の場所の設計ノート:
- 部分的なモジュラー性: エッジとアクセスティアを分散
- サブネット: 1サイトあたりの21,046 IPs
- 事例紹介: 10.50.0.0/21 (サイト 050)
大型サイトテンプレート(本社/キャンパス)
@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セグメンテーションの利点
- セキュリティの分離: VRF間のトラフィックは、ファイアウォールやポリシーデバイスを横断する必要があります
- ブラスト半径の汚染: 妥協された区分は他の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の潜水艦=スイッチごとの20のサブインターフェイス
- 各VRFでプロトコルのアタッチ
- 相互VRFの交通のためのルート取得またはファイアウォールルール
緩和戦略
- VRFカウントを制限する: 本物の分離の条件のためのVRFsだけを作成して下さい
- Inter-VRF ルーティングを一元化: シングルファイアウォールポリシーポイントと分散
- VXLAN/EVPNを使用する: オーバーレイは、物理的なサブインターフェイスのスプロールを削減
- 暫定の自動化: テンプレートは一貫した構成を保証します
- パターンを文書化: 学習したら、パターンは検索よりも速くなります
概要:スケーラブルなネットワークパターンの構築
モジュラーネットワークの設計の目的は作成することです繰り返しパターンこれにより:
| スケール | サイト | パターン | お問い合わせ | 小さい | 10,000+ | 崩壊 UTM + シングルスイッチ 1サイトにつき/24 | | ミディアム | 1,000以上 | エッジ + MCLAG 配布物 + アクセス | 1サイトあたりの/21 | | 大型 | 100+ | フルモジュラー(エッジ、内部エッジ、コア、配電バリアント、DCファブリック)、1サイトあたり/13〜15 |
キーテイクアウト
- モジュールは境界を作成します: 各モジュールに定義された目的およびインターフェイスがあります
- パターンはスケールを可能にします: トレーニングとエラーを削減し、あらゆる場所で同じ設計
- VRFsは分離を提供します: しかし、各階層に構成の複雑性を追加します
- Subnet スキーマの問題: 予測可能なアドレス処理により、認知負荷を軽減
- 供給は必要性によって変わります: 隣接するL3、MCLAG/LACP、またはスピン/リーフ
- サイトの右サイズ: エンジニアの小規模なサイトを上回らない
これらのパターンを確立し、それらを一貫して適用することにより、組織は、単一のブランチオフィスからグローバル企業にスケールするネットワークを構築することができます.
記事版 2.0 | 公開 2026-02-02 | 更新済み プラントUML nwdiag 図