# matteogradinaru/isp-and-enterprise-network architecture

> Architecture diagram of the GitHub repository matteogradinaru/isp-and-enterprise-network, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/matteogradinaru/isp-and-enterprise-network
- Repository: https://github.com/matteogradinaru/isp-and-enterprise-network

## Overview

This repository is a documentation-and-configuration lab, not an executable software application. An engineer uses the Cisco IOSv configurations in GNS3 to explore two documented network designs: dual-ISP routing with VRF-Lite, and an MPLS service-provider backbone with tenant VPNs and IPsec. The root README documents the capabilities and protocol relationships; the tree identifies device configuration sets. Device-to-device links are omitted because no topology wiring was provided, and the individual configurations were not sampled.

Main entry points: [`enterprise-dual-isp/README.md`](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/enterprise-dual-isp/README.md) (Dual-ISP topology), [`mpls-service-provider/README.md`](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/mpls-service-provider/README.md) (MPLS topology), [`enterprise-dual-isp/configs`](https://github.com/matteogradinaru/isp-and-enterprise-network/tree/main/enterprise-dual-isp/configs) (Router configurations), [`README.md`](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md) (BGP failover)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_dual["Dual ISP"]
  node_dual_configs["Router configurations"]
  node_dual_topology["Dual-ISP topology<br/>[README.md]"]
  node_isis_hierarchy["IS-IS hierarchy<br/>[README.md]"]
  node_bgp_failover["BGP failover<br/>[README.md]"]
  node_vrf_lite["VRF-Lite isolation<br/>[README.md]"]
end

subgraph group_mpls["MPLS Provider"]
  node_mpls_configs["Router configurations"]
  node_mpls_topology["MPLS topology<br/>[README.md]"]
  node_mpls_core["MPLS / LDP core<br/>[README.md]"]
  node_vpnv4["MP-BGP VPNv4<br/>[README.md]"]
  node_l3vpn["Tenant L3VPN<br/>[README.md]"]
  node_ipsec["IKEv2 / IPsec<br/>[README.md]"]
end

subgraph group_capabilities["Network capabilities"]
  node_policy["BGP traffic policy<br/>[README.md]"]
  node_isis["IS-IS routing<br/>[README.md]"]
end

node_engineer(("Network engineer"))
node_gns3["GNS3 / IOSv"]

node_engineer -->|"uses"| node_dual_configs
node_engineer -->|"uses"| node_mpls_configs
node_dual_configs -->|"configures"| node_dual_topology
node_mpls_configs -->|"configures"| node_mpls_topology
node_dual_topology -->|"emulates on"| node_gns3
node_mpls_topology -->|"emulates on"| node_gns3
node_dual_topology -->|"uses"| node_isis_hierarchy
node_dual_topology -->|"uses"| node_bgp_failover
node_dual_topology -->|"provides"| node_vrf_lite
node_bgp_failover -->|"uses"| node_policy
node_mpls_topology -->|"uses"| node_mpls_core
node_mpls_topology -->|"uses"| node_vpnv4
node_vpnv4 -->|"enables"| node_l3vpn
node_mpls_topology -->|"includes"| node_ipsec
node_mpls_core -->|"uses"| node_isis

click node_dual_configs "https://github.com/matteogradinaru/isp-and-enterprise-network/tree/main/enterprise-dual-isp/configs"
click node_dual_topology "https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/enterprise-dual-isp/README.md"
click node_isis_hierarchy "https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md"
click node_bgp_failover "https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md"
click node_vrf_lite "https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md"
click node_mpls_configs "https://github.com/matteogradinaru/isp-and-enterprise-network/tree/main/mpls-service-provider/configs"
click node_mpls_topology "https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/mpls-service-provider/README.md"
click node_mpls_core "https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md"
click node_vpnv4 "https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md"
click node_l3vpn "https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md"
click node_ipsec "https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md"
click node_policy "https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md"
click node_isis "https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_dual_configs,node_dual_topology,node_isis_hierarchy,node_bgp_failover,node_vrf_lite toneBlue
class node_mpls_configs,node_mpls_topology,node_mpls_core,node_vpnv4,node_l3vpn,node_ipsec toneAmber
class node_policy,node_isis toneMint
class node_engineer,node_gns3 toneIndigo
```

## Components

### Dual ISP

- [Router configurations](https://github.com/matteogradinaru/isp-and-enterprise-network/tree/main/enterprise-dual-isp/configs): `enterprise-dual-isp/configs`
- [Dual-ISP topology](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/enterprise-dual-isp/README.md): `enterprise-dual-isp/README.md`
- [IS-IS hierarchy](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md): `README.md`
- [BGP failover](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md): `README.md`
- [VRF-Lite isolation](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md): `README.md`

### MPLS Provider

- [Router configurations](https://github.com/matteogradinaru/isp-and-enterprise-network/tree/main/mpls-service-provider/configs): `mpls-service-provider/configs`
- [MPLS topology](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/mpls-service-provider/README.md): `mpls-service-provider/README.md`
- [MPLS / LDP core](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md): `README.md`
- [MP-BGP VPNv4](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md): `README.md`
- [Tenant L3VPN](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md): `README.md`
- [IKEv2 / IPsec](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md): `README.md`

### Network capabilities

- [BGP traffic policy](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md): `README.md`
- [IS-IS routing](https://github.com/matteogradinaru/isp-and-enterprise-network/blob/main/README.md): `README.md`

### Other components

- **Network engineer**
- **GNS3 / IOSv**

## Connections

- Network engineer → Router configurations: uses
- Network engineer → Router configurations: uses
- Router configurations → Dual-ISP topology: configures
- Router configurations → MPLS topology: configures
- Dual-ISP topology → GNS3 / IOSv: emulates on
- MPLS topology → GNS3 / IOSv: emulates on
- Dual-ISP topology → IS-IS hierarchy: uses
- Dual-ISP topology → BGP failover: uses
- Dual-ISP topology → VRF-Lite isolation: provides
- BGP failover → BGP traffic policy: uses
- MPLS topology → MPLS / LDP core: uses
- MPLS topology → MP-BGP VPNv4: uses
- MP-BGP VPNv4 → Tenant L3VPN: enables
- MPLS topology → IKEv2 / IPsec: includes
- MPLS / LDP core → IS-IS routing: uses
