Design de rede modular: um quadro de arquitetura escalável

Introdução ao Design de Rede Modular

A modularidade da rede é a prática de projetar redes como segmentos interconectados, construídos para fins e não estruturas monolíticas. Cada módulo serve uma função específica, tem limites definidos, e se conecta a módulos adjacentes através de interfaces bem entendidas. Esta abordagem transforma o design de rede de uma arte em uma disciplina de engenharia repetitiva.

O poder da modularidade reside na sua capacidade de criarpadrões previsíveisque pode ser aplicado de forma consistente em toda a pegada de infraestrutura de uma organização, seja em dezenas de milhares de sites pequenos, milhares de sites médios ou centenas de grandes campi empresariais.

Por que a modularidade importa

Benefícios em todas as escalas de rede

Benefícios Pequenos Sites Médios ----------------------------------------- □Solução simplificada de problemasO único engenheiro pode entender toda a topologia As equipes podem se especializar pelo módulo □Escala previsívelAdicionar os módulos conforme necessário Clone padrões comprovados □Segurança consistenteAs mesmas políticas em toda a parte □Eficiência operacional□ Implantação baseada em modelos □ Provisionamento automatizado □ Gestão de alterações padronizadas □Controlo de Custos• Tamanho certo de cada módulo

O Desafio de Escala

As organizações raramente permanecem estáticas. Um design modular deve acomodar:

Sem modularidade, cada site se torna um floco de neve único que requer documentação personalizada, treinamento especializado e solução de problemas. Com a modularidade, um engenheiro que entende o padrão pode trabalhar eficazmente em qualquer local.


Módulos de rede principais

Módulo 1: Segmento da borda da Internet

A Internet Edge é onde sua organização encontra o mundo exterior. Este módulo contém:

@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

Princípios-chave de desenho:


Módulo 2: Contorno interno / DMZ Nível

Para sites de médio e grande porte, a borda interna fornece uma camada de agregação para serviços que exigem exposição controlada ou servem como pontos de transição entre zonas de segurança.

@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

Serviços tipicamente em borda interna:


Módulo 3: Camada Principal

O núcleo é a espinha dorsal de alta velocidade que interliga todos os outros módulos. Deve ser otimizado para:

@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

Princípios de Desenho Principais:


Módulo 4: Camada de Distribuição

A camada de Distribuição agrega os switches de acesso e impõe a política. É aqui que as escolhas de design de rede têm mais variação com base nos requisitos do site.


Variações dos níveis de distribuição

Variação 1: L3 Adjacente (Acesso Ruído)

Neste projeto, as camadas de distribuição e acesso sãoL3 adjacente—cada interruptor de acesso tem a sua própria sub-rede IP e rotas diretamente para a distribuição.

@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

Exemplo de atribuição de sub- rede:

□ Ligação ------------------ Distribuição para o núcleo * Dist-A to Access-1 * 10.x.2.0/30 * * Dist-B to Access-1 * 10.x.2.4/30 * Acesso-1 VLAN do usuário Acesso-2 VLAN do usuário

Benefícios:

Considerações:


Variação 2: MCLAG com troncos LACP

Este desenho utilizaAgregação de Ligação Multi- Chassis (MCLAG)na distribuição comObrigações LACPpara aceder aos interruptores que transportam VLANs em tronco.

Terminologia do Fornecedor: Cisco chama este vPC (Virtual Port Channel), Arista usa MLAG, Juniper usa MC-LAG e HPE/Aruba usa VSX. O comportamento funcional é similar entre os fornecedores.

@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

Colocação SVI (VRRP VIP em Pare de Distribuição):

Configuração do tronco do VLAN:

Porto-Channel, VLANs, Destino ----------------------------- * Po1 (MCLAG) * 100,110,120 * Access-1 * * Po2 (MCLAG) * 100,110,120,130 * Access-2 * • Po3 (MCLAG) □ VLAN nativo

Benefícios MCLAG:

Considerações:


Variação 3: Folha de fronteira para o Datacenter da Espinha/Folha

Em ambientes datacenter, a camada de distribuição torna-se oFolha de Fronteiraligar o tecido da coluna/folha ao resto da rede empresarial.

@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

Detalhes do Tecido do Datacenter:

□ Componente ------------------------ □UnderlayeBGP (ASN por switch) ou OSPF □SobreposiçãoVXLAN com plano de controle EVPN □Folha de Fronteira• Gateway VXLAN-to-VLAN, rotas externas, roteamento Inter-VRF □Cargas de trabalho de folhasCalcular, Armazenar, Voz/UC, Infraestrutura

Benefícios:

Considerações:


Módulo 5: Camada de acesso

A camada de acesso é onde os dispositivos finais se conectam. Independentemente da topologia de distribuição, os switches de acesso fornecem:

@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

Recursos de segurança de camada de acesso:


Topologia Modular Completa

Veja como todos os módulos se conectam para formar uma rede corporativa completa:

@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

Estratégia de endereço IP com isolamento VRF

O desafio de multissegmento, design multi-VRF

Quando as redes crescerem para incluir várias zonas de segurança, unidades de negócio ou limites de conformidade,VRF (Roteamento Virtual e Encaminhamento)fornece isolamento da tabela de rotas. No entanto, estender os FRVs através de múltiplos níveis adiciona complexidade:

Estratégia de Esquema da Sub- Rede

Um esquema de subnet bem desenhado torna padrões reconhecíveis, reduzindo os erros de carga cognitiva e configuração.

Exemplo: Grande site de fabricação (10.0.0.0/13)

Alocação do site:10.0.0.0/13 (Fabricante Site Alpha) - 524.286 hosts utilizáveis

@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

Detalhe do segmento de trânsito (10.0.0.0/23 - 510 IPs utilizáveis):

Descrição do link ------------------ • 10.0.0.0/30 • FW-Inside → Internal-Edge-A • 10.0.0.4/30 • FW-Inside → Interno-Edge-B • 10.0.0.8/30 • Internal-Edge-A → Core-A • 10.0.0.12/30 • Internal-Edge-A → Core-B • 10.0.0.16/30 • Internal-Edge-B → Núcleo-A • 10.0.0.20/30 • Internal-Edge-B → Core-B • 10.0.0.24/30 • Core-A → Distribuição-A • 10.0.0.28/30 • Core-A → Distribuição-B • 10.0.0.32/30 • Núcleo-B → Distribuição-A • 10.0.0.36/30 • Núcleo-B → Distribuição-B • 10.0.0.40/30 • Distribuição-A → Acesso-SW-1 • 10.0.0.44/30 • Distribuição-B → Acesso-SW-1 ... (O padrão continua)

Nota:/31 subredes (RFC 3021) também podem ser usadas para links ponto-a-ponto, conservando espaço de endereço.

Benefícios de Reconhecimento de Padrão

Quando os padrões de sub- rede são consistentes entre os VRFs:

O que você sabe O que você pode inferir ---------------------------- O link de trânsito em usos corporativos 10.0.0.40/30 equivalente de convidado é 10.1.0.40/30 Os usuários do Access-SW-5 estão em 10.0.36.0/24 .As câmeras de segurança no mesmo interruptor são 10.2.36.0/24 O site Alpha é 10.0.0.0/13 O site Beta poderia ser 10.8.0.0/13

Isto permite aos engenheiros:


Modelos de Tamanho do Site

Modelo de Sítio Pequeno (Office Branch)

@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

Notas pequenas do projeto do site:

Modelo de Site Médio (Office Regional)

@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

Notas de Desenho Médio do Site:

Modelo de Site Grande (Sede/Campo)

@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

Notas do projeto grande do local:


Segmentação VRF e L3: Benefícios e Complexidade

Benefícios da Segmentação L3 com Sub-Interfaces

  1. Isolamento de segurança: Tráfego entre VRFs deve atravessar um firewall ou dispositivo de política
  2. Contenção de raios de explosão: segmento comprometido não pode alcançar diretamente outros FRVs
  3. Limites de conformidade: Redes PCI, HIPAA ou OT em domínios separados de roteamento
  4. Engenharia do Tráfego: Diferentes políticas de roteamento por FRV

O Comércio de Complexidade

Quando os segmentos devem se estender através de várias camadas, cada limite L3 adiciona sobrecarga de configuração:

@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

Configuração Overhead:

Estratégias de Mitigação

  1. Limite de contagem de FRV: Crie apenas FRVs para requisitos de isolamento genuínos
  2. Centralizar o roteamento inter-VRF: Ponto de política de firewall único vs. distribuído
  3. Usar VXLAN/EVPN: Sobreposição reduz a expansão física da sub-interface
  4. Automatizar o provisionamento: Modelos garantem configuração consistente
  5. Documentar o padrão: Uma vez aprendido, padrões são mais rápidos do que a pesquisa

Resumo: Construindo um padrão de rede escalável

O objetivo do design de rede modular é criar umpadrão repetivelque permite:

Varredura de locais -------------------------- □ Pequeno □ 10.000+ □ Recolher UTM + interruptor único, /24 por local □ Médio □ 1.000+ □ Borda + distribuição MCLAG + acesso, /21 por site (Edge, borda interna, núcleo, variantes de distribuição, tecido DC), 1/13-/15 por local

Tiras de Chaves

  1. Módulos criam limites: Cada módulo tem uma finalidade e interface definidas
  2. Os padrões permitem a escala: O mesmo design em cada local reduz o treinamento e erros
  3. Os FRV proporcionam isolamento: Mas adicione complexidade de configuração em cada nível
  4. Esquemas de sub-rede: O tratamento previsível reduz a carga cognitiva
  5. Distribuição varia por necessidade: L3 adjacente, MCLAG/LACP, ou coluna/folha
  6. Tamanho certo para o site: Não super-engenheira sites pequenos

Ao estabelecer esses padrões e aplicá-los de forma consistente, as organizações podem construir redes que vão de uma única filial para uma empresa global, mantendo a simplicidade operacional e a postura de segurança.


Artigo versão 2.0 Publicado em 2026-02-02 Atualizado com diagramas PlantumL nwdiag