# otn_sim_pro **Repository Path**: sps1/otn_sim_pro ## Basic Information - **Project Name**: otn_sim_pro - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-23 - **Last Updated**: 2025-12-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OTN Advanced Fault Simulation System | OTN高级故障仿真系统 A sophisticated OTN (Optical Transport Network) fault simulation system that implements advanced fault propagation algorithms based on Graph Theory and OTN Layer Hierarchy. This system provides realistic alarm generation and propagation analysis with 20 predefined fault scenarios. 基于图论和OTN层层次结构的高级OTN(光传送网)故障仿真系统,实现了先进的故障传播算法。本系统提供20种预定义故障场景的真实告警生成和传播分析。 ## 🌟 System Features | 系统特性 ### Advanced Fault Propagation Engine | 高级故障传播引擎 - **Graph Theory-Based Algorithm**: Sophisticated fault propagation based on network topology | **基于图论的算法**:基于网络拓扑的先进故障传播 - **OTN Layer Hierarchy**: Multi-layer alarm propagation (Physical, OTS, OTU, ODU, OCH) | **OTN层层次结构**:多层告警传播(物理层、OTS、OTU、ODU、OCH) - **20 Fault Scenarios**: Comprehensive fault scenarios covering physical, equipment, and protocol failures | **20种故障场景**:全面的故障场景,涵盖物理层、设备和协议故障 - **Bidirectional Propagation**: Downstream AIS and upstream BDI propagation | **双向传播**:下游AIS和上游BDI传播 ### Network Topology Management | 网络拓扑管理 - **Linear Chain Topology**: End-to-end linear network configuration | **线性链路拓扑**:端到端线性网络配置 - **Ring Topology**: Circular network with redundant paths | **环形拓扑**:具有冗余路径的环形网络 - **Mesh Topology**: Highly connected network with configurable density (0.2-0.8) | **网状拓扑**:高连接度网络,可配置密度(0.2-0.8) - **Dynamic Node Generation**: Support for 6-20 nodes with automatic port allocation | **动态节点生成**:支持6-20个节点,自动端口分配 ### Service Path Management | 业务路径管理 - **Long Path Service**: Creates services covering 80%+ of network nodes using advanced path-finding | **长路径业务**:使用高级路径查找创建覆盖80%+网络节点的业务 - **Random Services**: Generate multiple services with random source-destination pairs | **随机业务**:生成多个随机源-目标对的业务 - **Custom End-to-End**: User-defined service paths between specific nodes | **自定义端到端**:用户定义的特定节点间业务路径 - **Service Impact Tracking**: Real-time monitoring of service states during failures | **业务影响跟踪**:故障期间业务状态的实时监控 ### Comprehensive Alarm System | 全面告警系统 - **80+ Alarm Types**: Extensive alarm definitions including R_LOS, OTUk_AIS, ODUk_PM_BDI, etc. | **80+种告警类型**:广泛的告警定义,包括R_LOS、OTUk_AIS、ODUk_PM_BDI等 - **Multi-Layer Coverage**: Physical, OTS, OTU, ODU, OCH, Equipment, Software, Protocol layers | **多层覆盖**:物理层、OTS、OTU、ODU、OCH、设备、软件、协议层 - **Severity Levels**: Critical (紧急), Major (重要), Minor (次要), Warning (提示) | **严重等级**:紧急、重要、次要、提示 - **Chinese Interface**: Native Chinese alarm display with detailed location information | **中文界面**:原生中文告警显示,带详细定位信息 ### Interactive Visualization | 交互式可视化 - **Real-time Network Topology**: Dynamic graph visualization with color-coded alarm states | **实时网络拓扑**:动态图形可视化,带颜色编码的告警状态 - **Fault Source Identification**: Visual highlighting of primary fault locations | **故障源识别**:主要故障位置的可视化高亮 - **Propagation Visualization**: Clear display of downstream (AIS) and upstream (BDI) propagation | **传播可视化**:下游(AIS)和上游(BDI)传播的清晰显示 - **Network Density Metrics**: Real-time calculation of network connectivity and density | **网络密度指标**:网络连接度和密度的实时计算 ### Streamlit Web Interface | Streamlit Web界面 - **Modern UI Design**: Clean, professional interface with sidebar controls | **现代UI设计**:清晰、专业的界面,带侧边栏控件 - **Responsive Layout**: Wide layout optimized for network visualization | **响应式布局**:为网络可视化优化的宽布局 - **Real-time Updates**: Instant feedback on topology changes and fault injection | **实时更新**:拓扑变更和故障注入的即时反馈 - **Export Capabilities**: CSV export of alarm logs with Chinese encoding support | **导出功能**:告警日志CSV导出,支持中文编码 ## 🚀 Quick Start | 快速开始 ### System Requirements | 系统要求 - Python 3.8 or higher | Python 3.8 或更高版本 - pip package manager | pip 包管理器 - Modern web browser | 现代网络浏览器 ### Installation Steps | 安装步骤 1. **Clone Repository | 克隆仓库** ```bash git clone cd otn_sim_pro ``` 2. **Install Dependencies | 安装依赖** ```bash pip install -r requirements.txt ``` 3. **Run Application | 运行应用** ```bash # Run the advanced OTN fault simulation system streamlit run otn_advanced_sim.py ``` The application will open in your browser at `http://localhost:8501` 应用将在浏览器中打开,访问地址为 `http://localhost:8501` ## 📋 Dependencies | 依赖要求 ### Core Dependencies | 核心依赖 - `streamlit>=1.28.0` - Web application framework | Web应用框架 - `networkx>=3.3` - Network graph operations | 网络图操作 - `numpy>=1.21.6` - Numerical computing | 数值计算 - `plotly>=5.15.0` - Interactive charts | 交互式图表 - `pyvis>=0.3.2` - Network visualization | 网络可视化 - `pandas>=2.0.0` - Data processing | 数据处理 ### Web Framework | Web框架 - `altair>=4.0.0` - Data visualization | 数据可视化 - `tornado>=6.0.0` - Web server | Web服务器 ### Optional Dependencies | 可选依赖 - `psutil>=5.9.4` - System monitoring (optional) | 系统监控(可选) - `matplotlib>=3.5.3` - Additional plotting options (optional) | 额外绘图选项(可选) ## 🎮 Usage Guide | 使用指南 ### 1. Network Generation | 网络生成 1. Select topology type (MESH, RING, STAR) | 选择拓扑类型(MESH、RING、STAR) 2. Set number of nodes (5-20) | 设置节点数量(5-20) 3. For MESH topology, adjust connectivity factor | 对于MESH拓扑,调整连接度因子 4. Click "Generate Network" to create topology | 点击"生成网络"创建拓扑 ### 2. Service Configuration | 业务配置 1. Set number of services to create | 设置要创建的业务数量 2. Choose path length preference (long/short paths) | 选择路径长度偏好(长路径/短路径) 3. Click "Provision Services" to establish service paths | 点击"配置业务"建立业务路径 4. View service details in the Services tab | 在业务标签页查看业务详情 ### 3. Fault Injection | 故障注入 1. Select a network link from the dropdown menu | 从下拉菜单中选择网络链路 2. Click "Inject Fault" to simulate failure | 点击"注入故障"模拟故障 3. Observe alarm propagation through the network | 观察告警在网络中的传播 4. Analyze affected services in the Alarms tab | 在告警标签页分析受影响的业务 ### 4. Fault Scenario Simulation (20 Scenarios) | 故障场景仿真(20种场景) 1. Access the Scenario Selection panel | 访问场景选择面板 2. Choose from 20 predefined fault scenarios | 从20种预定义故障场景中选择 3. Options include: S01 Fiber Cut, S02 Node Power Failure, S03 Optical Amplifier Failure, etc. | 选项包括:S01 光纤断裂、S02 节点电源故障、S03 光放大器故障等 4. View detailed alarm propagation and correlation | 查看详细的告警传播和关联 ### 5. OSNR Analysis | OSNR分析 1. Set OSNR warning threshold (10-25 dB) | 设置OSNR警告阈值(10-25 dB) 2. Click "Analyze OSNR" to evaluate link quality | 点击"分析OSNR"评估链路质量 3. View OSNR distribution and quality metrics | 查看OSNR分布和质量指标 4. Identify links requiring attention | 识别需要关注的链路 ### 6. Data Export | 数据导出 - View detailed alarm logs in the Alarms tab | 在告警标签页查看详细告警日志 - Click "Export Alarm Logs (CSV)" to download data | 点击"导出告警日志(CSV)"下载数据 - Use exported data for further analysis or reporting | 使用导出的数据进行进一步分析或报告 ## 🏗️ Project Structure | 项目结构 ``` otn_sim_pro/ ├── otn_advanced_sim.py # Main advanced fault simulation system | 主要高级故障仿真系统 ├── requirements.txt # Python dependencies | Python依赖 ├── core/ # Core simulation modules | 核心仿真模块 │ ├── network_graph.py # Network topology management | 网络拓扑管理 │ ├── physics.py # Physical layer calculations | 物理层计算 │ ├── service_manager.py # Service lifecycle management | 业务生命周期管理 │ ├── simulation_engine.py # Core simulation coordination | 核心仿真协调器 │ ├── enhanced_propagator.py # Enhanced alarm propagation engine | 增强告警传播引擎 │ └── frontend_integration.py # Frontend-backend integration | 前后端集成 └── ui/ # User interface modules | 用户界面模块 └── graph_viz.py # Network visualization components | 网络可视化组件 ``` ## 🔧 Technical Architecture | 技术架构 ### Core Components | 核心组件 1. **NetworkGraph** (`core/network_graph.py`) - Manages network topology creation and operations | 管理网络拓扑创建和操作 - Supports multiple topology types with customizable parameters | 支持多种可自定义参数的拓扑类型 - Provides path finding and network analysis capabilities | 提供路径查找和网络分析功能 2. **ServiceManager** (`core/service_manager.py`) - Handles service lifecycle management | 处理业务生命周期管理 - Creates realistic network service paths | 创建真实的网络业务路径 - Tracks service states and dependencies | 跟踪业务状态和依赖关系 3. **Enhanced Alarm Propagator** (`core/enhanced_propagator.py`) - Advanced alarm propagation simulation with 20 predefined scenarios | 高级告警传播仿真,包含20种预定义场景 - Models realistic fault behavior in OTN networks | 建模OTN网络中的真实故障行为 - Generates detailed alarm logs with appropriate severity classification | 生成具有适当严重性分类的详细告警日志 4. **Simulation Engine** (`core/simulation_engine.py`) - Coordinates backend simulation processes | 协调后端仿真进程 - Manages simulation state and event sequencing | 管理仿真状态和事件排序 5. **Frontend Integration** (`core/frontend_integration.py`) - Bridges core functionality with UI components | 连接核心功能与UI组件 - Handles data transformation for visualization | 处理可视化所需的数据转换 6. **NetworkVisualizer** (`ui/graph_viz.py`) - Interactive network visualization using PyVis | 使用PyVis的交互式网络可视化 - Real-time status updates and highlighting | 实时状态更新和高亮显示 - Network graph export functionality | 网络图的导出功能 ### Key Features | 关键特性 - **Realistic Alarm Behavior**: Simulates actual OTN alarm propagation patterns | **真实告警行为**:模拟实际的OTN告警传播模式 - **Service Impact Analysis**: Tracks how network faults affect customer services | **业务影响分析**:跟踪网络故障如何影响客户业务 - **Physical Layer Modeling**: Includes OSNR calculation and fiber characteristics | **物理层建模**:包括OSNR计算和光纤特性 - **Interactive Dashboard**: Real-time visualization and analysis tools | **交互式仪表板**:实时可视化和分析工具 - **Multi-language Support**: English and Chinese interfaces | **多语言支持**:英文和中文界面 - **20 Fault Scenarios**: Comprehensive fault simulation covering all major OTN failure modes | **20种故障场景**:全面的故障仿真,涵盖所有主要OTN故障模式 ## 📝 Supported Fault Scenarios (20 Total) | 支持的故障场景(共20种) ### Physical Layer Failures | 物理层故障 (S01-S10) - **S01: Fiber Cut** - Physical fiber cable breakage | **S01: 光纤断裂** - 光缆断裂 - Primary Alarms: OTS_LOS, R_LOS | 主要告警:OTS_LOS, R_LOS - Downstream: OTUk_AIS, ODUk_PM_AIS, ODUk_PM_SSF | 下游:OTUk_AIS, ODUk_PM_AIS, ODUk_PM_SSF - Upstream: OTS_BDI, OTUk_BDI, ODUk_PM_BDI | 上游:OTS_BDI, OTUk_BDI, ODUk_PM_BDI - **S02: Line Attenuation High** - Excessive fiber attenuation | **S02: 线路衰减过高** - 过度的光纤衰减 - Primary: IN_PWR_LOW | 主要:IN_PWR_LOW - Downstream: BEFFEC_EXC, OTUk_DEG | 下游:BEFFEC_EXC, OTUk_DEG - **S03: Input Power Overload** - Excessive input optical power | **S03: 输入功率过载** - 过度的输入光功率 - Primary: IN_PWR_HIGH | 主要:IN_PWR_HIGH - Downstream: B1_EXC, OTUk_LOF | 下游:B1_EXC, OTUk_LOF - **S04: Mux/Demux Failure** - WDM multiplexer failure | **S04: 复用/解复用器故障** - WDM复用器故障 - Primary: MUT_LOS | 主要:MUT_LOS - Downstream: OCH_OCI | 下游:OCH_OCI - **S05-S10**: Various laser, amplifier, and equipment failures | **S05-S10**:各种激光器、放大器和设备故障 ### Electrical/Protocol Layer Failures | 电气/协议层故障 (S11-S20) - **S11: Backplane Bus Fail** - Internal communication failure | **S11: 背板总线故障** - 内部通信故障 - Primary: BUS_ERR | 主要:BUS_ERR - Downstream: XCP_DEGRADE | 下游:XCP_DEGRADE - **S12-S20**: Software, protocol, and degradation scenarios | **S12-S20**:软件、协议和降级场景 - Including upgrade failures, DCN conflicts, APS failures, PTP sync issues, etc. - 包括升级故障、DCN冲突、APS故障、PTP同步问题等 ## 🎯 Application Scenarios | 应用场景 ### Network Operations Center (NOC) | 网络运营中心(NOC) - Train operators on alarm correlation and root cause analysis | 培训操作员告警关联和根因分析 - Test alarm handling procedures in a safe environment | 在安全环境中测试告警处理程序 - Improve network monitoring and response capabilities | 提高网络监控和响应能力 ### Network Planning | 网络规划 - Evaluate network resilience under different fault scenarios | 评估不同故障场景下的网络弹性 - Optimize service routing for improved reliability | 优化业务路由以提高可靠性 - Plan network expansions with fault tolerance capabilities | 规划具有容错能力的网络扩展 ### Training & Education | 培训与教育 - Teach OTN network concepts and alarm behavior | 教授OTN网络概念和告警行为 - Demonstrate network fault impacts on services | 演示网络故障对业务的影响 - Provide hands-on experience with network management tools | 提供网络管理工具的实践经验 ### R&D and Testing | 研发与测试 - Validate new alarm correlation algorithms | 验证新的告警关联算法 - Test network element alarm behavior | 测试网元告警行为 - Develop and validate network resilience strategies | 开发和验证网络弹性策略 ## 📊 支持的拓扑 ### MESH网络(网状) - 具有冗余路径的高度连接拓扑 - 可配置的连接度因子(0.1-0.8) - 适用于骨干网络 ### RING网络(环形) - 具有保护切换的环形拓扑 - 常见于城域网 - 提供1+1保护能力 ### STAR网络(星型) - 具有辐条连接的中心枢纽 - 适用于接入网 - 简化故障隔离 ## 🚨 告警类型 ### LOS(信号丢失) - **严重性**:紧急 - **原因**:光信号完全丢失 - **影响**:业务中断 ### AIS(告警指示信号) - **严重性**:重要 - **原因**:下游故障指示 - **影响**:业务降级 ### RDI(远端缺陷指示) - **严重性**:重要 - **原因**:返回路径故障指示 - **影响**:双向业务影响 ### OSNR警告 - **严重性**:次要 - **原因**:信号质量差 - **影响**:潜在业务降级 ## 🔬 OSNR分析 系统提供基于以下因素的真实OSNR(光信噪比)计算: - 光纤距离和衰减 - 光纤类型特性(G.652、G.655) - 放大器噪声累积 - 可配置的警告阈值 ## 📈 性能指标 ### 网络统计 - 节点和链路计数 - 连接度指标 - 拓扑分析 ### 业务指标 - 活跃与故障业务 - 路径长度分布 - 业务影响评估 ### 告警统计 - 总告警数量 - 严重性分布 - 类型分布 - 时序分析 ## 🤝 贡献 本项目专为OTN网络仿真和分析而设计。欢迎以下方面的贡献: - 额外的拓扑类型 - 增强的告警传播算法 - 改进的可视化功能 - 扩展的分析能力 ## 📝 许可证 请参考LICENSE文件了解许可信息。 ## 🆘 支持 如有问题、功能请求或建议,请: 1. 查看现有文档 2. 查看代码注释和内置帮助 3. 创建详细描述的问题 ## 🔮 Future Enhancements | 未来增强 - Advanced protection switching simulation (1+1, 1:1, SNCP) | 高级保护切换仿真(1+1, 1:1, SNCP) - Multi-vendor equipment simulation with specific alarm behaviors | 多厂商设备仿真,带特定告警行为 - Machine learning-based fault prediction and root cause analysis | 基于机器学习的故障预测和根因分析 - Real-time network data integration from live NMS systems | 从实时NMS系统集成网络数据 - Extended alarm correlation with external data sources | 扩展的外部数据源告警关联 - Support for additional topology types (Tree, Hybrid, Partial Mesh) | 支持更多拓扑类型(树形、混合、部分网状) - Advanced analytics dashboard with historical trend analysis | 高级分析仪表板,带历史趋势分析 - Cloud-based collaborative simulation platform | 云协作仿真平台 - Mobile-responsive interface for field operations | 适应现场操作的移动响应界面 - Integration with ticketing systems for automated fault handling | 与工单系统集成,实现自动化故障处理 ## 📊 Version History | 版本历史 - **v1.0** - Current version with advanced fault propagation, 20 scenarios, and Streamlit interface | 当前版本,包含高级故障传播、20种场景和Streamlit界面 - Core features: Graph-based propagation, OTN layer hierarchy, Chinese alarm support | 核心功能:基于图的传播、OTN层层次结构、中文告警支持 ## 📞 Contact & Support | 联系与支持 For questions, feature requests, or suggestions: 如有问题、功能请求或建议: 1. View existing documentation | 查看现有文档 2. Check code comments and built-in help | 查看代码注释和内置帮助 3. Create an issue with detailed description | 创建详细描述的问题 --- **OTN Alarm Simulation System** - Professional network fault analysis and training tool for modern OTN networks. **OTN告警仿真系统** - 现代OTN网络的专业网络故障分析和培训工具。