|
6 | 6 |
|
7 | 7 | NetGraph is a scenario-based network modeling and analysis framework written in Python. It allows you to design, simulate, and evaluate complex network topologies - ranging from small test cases to massive Data Center fabrics and WAN networks. |
8 | 8 |
|
9 | | -## Key Features |
10 | | - |
11 | | -- **Scenario-Based Modeling** [DONE]: Define complete network scenarios in YAML with topology, failures, traffic, and workflow |
12 | | -- **Hierarchical Blueprints** [DONE]: Reusable network templates with nested structures and parameterization |
13 | | -- **Demand Placement** [DONE]: Place traffic demands on the network with various flow placement strategies (e.g., shortest path only, ECMP/UCMP, etc.) |
14 | | -- **Capacity Calculation** [DONE]: Calculate capacity with different flow placement strategies |
15 | | -- **Failure Simulation** [DONE]: Model component and risk groups failures for availability analysis |
16 | | -- **Network Analysis** [IN PROGRESS]: Analyze capacity, failure tolerance, and efficiency |
| 9 | +## Roadmap |
| 10 | + |
| 11 | +- ✅ **Fundamental Components**: StrictMultiGraph, base pathfinding and flow algorithms |
| 12 | +- ✅ **Scenario-Based Modeling**: YAML-based scenarios with Domain-Specific Language (DSL) describing topology, failures, traffic, and workflow |
| 13 | +- ✅ **Hierarchical Blueprints**: Reusable network templates with nested structures and parameterization |
| 14 | +- ✅ **JupyterLab Support**: Run NetGraph in a containerized environment with JupyterLab for interactive analysis |
| 15 | +- ✅ **Demand Placement**: Place traffic demands on the network with various flow placement strategies (e.g., shortest path only, ECMP/UCMP, etc.) |
| 16 | +- ✅ **Capacity Calculation**: Calculate MaxFlow with different flow placement strategies |
| 17 | +- 🚧 **Failure Simulation**: Model component and risk groups failures for availability analysis with Monte Carlo simulation |
| 18 | +- 🚧 **Network Analysis**: Workflow steps and tools to analyze capacity, failure tolerance, and power/cost efficiency of network designs |
| 19 | +- 🚧 **Command Line Interface**: Execute scenarios from terminal with JSON output for simple automation |
| 20 | +- 🚧 **Python API**: API for programmatic access to scenario components and network analysis tools |
| 21 | +- 🚧 **Documentation and Examples**: Comprehensive guides and use cases |
| 22 | +- ❌ **Components Library**: Hardware/optics modeling with cost, power consumption, and capacity specifications |
| 23 | +- ❓ **Visualization**: Graphical representation of scenarios and results |
| 24 | + |
| 25 | +### Status Legend |
| 26 | +- ✅ **Done**: Feature implemented and tested |
| 27 | +- 🚧 **In Progress**: Feature under development |
| 28 | +- ❌ **Planned**: Feature planned but not yet started |
| 29 | +- ❓ **Future Consideration**: Feature may be added later |
17 | 30 |
|
18 | 31 | ## Quick Start |
19 | 32 |
|
|
0 commit comments