# 📡 Documentación de Red FTTH - CTNETOSP

## Índice
1. [Visión General](#visión-general)
2. [Arquitectura de Red](#arquitectura-de-red)
3. [Componentes del Sistema](#componentes-del-sistema)
4. [Procesos Operativos](#procesos-operativos)
5. [Guías de Instalación](#guías-de-instalación)
6. [Monitoreo y Mantenimiento](#monitoreo-y-mantenimiento)
7. [Troubleshooting](#troubleshooting)

---

## Visión General

### ¿Qué es FTTH?
**Fiber To The Home** (Fibra hasta el Hogar) es una tecnología de acceso que utiliza fibra óptica desde la central del proveedor hasta el domicilio del suscriptor.

### Tecnología Utilizada
- **GPON** (Gigabit Passive Optical Network)
- Velocidad: Hasta 2.5 Gbps downstream / 1.25 Gbps upstream
- Alcance: Hasta 20 km desde la OLT
- Ratio de división: Hasta 1:128 (típicamente 1:32 o 1:64)

---

## Arquitectura de Red

```
┌─────────────────────────────────────────────────────────────────────────┐
│                          ARQUITECTURA FTTH-GPON                         │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  ┌─────────┐                                                            │
│  │ INTERNET│                                                            │
│  └────┬────┘                                                            │
│       │                                                                 │
│  ┌────▼────┐     NIVEL 0: CORE                                          │
│  │  CORE   │     - Routers de borde                                     │
│  │ NETWORK │     - Firewalls                                            │
│  └────┬────┘     - Servidores (RADIUS, etc)                             │
│       │                                                                 │
│  ─────┼─────────────────────────────────────────────────────────────    │
│       │                                                                 │
│  ┌────▼────┐     NIVEL 1: ACCESO ÓPTICO (OLT)                           │
│  │   OLT   │     - Optical Line Terminal                                │
│  │  GPON   │     - 8-16 puertos PON por equipo                          │
│  └────┬────┘     - Ubicada en central o nodo                            │
│       │                                                                 │
│  ─────┼─────────────────────────────────────────────────────────────    │
│       │ Fibra Troncal (Feeder)                                          │
│       │                                                                 │
│  ┌────▼────┐     NIVEL 2: DISTRIBUCIÓN (SPLITTER)                       │
│  │  NAP/   │     - Network Access Point                                 │
│  │ SPLITTER│     - División pasiva 1:8, 1:16, 1:32                      │
│  └────┬────┘     - Ubicadas en postes/cajas enterradas                  │
│       │                                                                 │
│  ─────┼─────────────────────────────────────────────────────────────    │
│       │ Fibra Drop (Última milla)                                       │
│       │                                                                 │
│  ┌────▼────┐     NIVEL 3: CLIENTE (ONT/ONU)                             │
│  │   ONU   │     - Optical Network Unit                                 │
│  │  FTTH   │     - Equipo en domicilio del cliente                      │
│  └─────────┘     - Proporciona Ethernet/WiFi                            │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘
```

### Niveles de la Red

| Nivel | Componente | Función | Ubicación |
|-------|------------|---------|-----------|
| 0 | Core Network | Conectividad Internet, routing | Data Center |
| 1 | OLT | Terminal de línea óptica | Central/Nodo |
| 2 | Splitter/NAP | División de señal óptica | Campo (postes) |
| 3 | ONU/ONT | Conversión óptico-eléctrico | Cliente |

---

## Componentes del Sistema

### 1. OLT (Optical Line Terminal)

**Ubicación en sistema:** `modules/infrastructure/olts.php`

#### Especificaciones
- Puertos PON: 8-16 típicamente
- Alcance por puerto: 20 km
- Capacidad por puerto: 64-128 ONUs

#### Gestión en CTNETOSP
```php
// Clase de gestión: includes/GponApi.php
$gpon = new GponApi($pdo);
$gpon->syncOlt($oltId);  // Sincronizar via SNMP
$gpon->getStats();       // Obtener estadísticas
```

#### Tabla de Base de Datos
```sql
-- Tabla: gpon_olts
CREATE TABLE gpon_olts (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100),
    ip VARCHAR(45),
    snmp_community VARCHAR(50),
    snmp_version ENUM('1', '2c'),
    is_active TINYINT DEFAULT 1,
    last_status ENUM('up', 'down'),
    last_sync DATETIME,
    total_onus INT DEFAULT 0,
    online_onus INT DEFAULT 0
);
```

---

### 2. NAP (Network Access Point) / Splitter

**Ubicación en sistema:** `modules/infrastructure/naps.php`

#### Tipos de Splitter
| Tipo | Puertos | Uso Recomendado |
|------|---------|-----------------|
| 1:4 | 4 | Zonas de baja densidad |
| 1:8 | 8 | Uso general (recomendado) |
| 1:16 | 16 | Alta densidad |
| 1:32 | 32 | Muy alta densidad |

#### Tabla de Base de Datos
```sql
-- Tabla: gpon_naps
CREATE TABLE gpon_naps (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100),
    code VARCHAR(20),
    olt_id INT,
    pon_port INT,
    splitter_type ENUM('1:2', '1:4', '1:8', '1:16', '1:32', '1:64'),
    capacity INT,
    zone VARCHAR(100),
    address TEXT,
    latitude DECIMAL(10,8),
    longitude DECIMAL(11,8),
    status ENUM('active', 'inactive', 'maintenance'),
    installation_date DATE,
    FOREIGN KEY (olt_id) REFERENCES gpon_olts(id)
);
```

---

### 3. ONU (Optical Network Unit)

**Ubicación en sistema:** `modules/infrastructure/onus.php`

#### Información Monitoreada
- Estado (online/offline)
- Potencia TX/RX (dBm)
- Calidad de señal
- Tiempo de actividad

#### Tabla de Base de Datos
```sql
-- Tabla: gpon_onus
CREATE TABLE gpon_onus (
    id INT PRIMARY KEY AUTO_INCREMENT,
    olt_id INT,
    onu_index INT,
    name VARCHAR(100),
    serial VARCHAR(50),
    mac_address VARCHAR(17),
    status ENUM('online', 'offline'),
    tx_dbm DECIMAL(5,2),
    rx_dbm DECIMAL(5,2),
    signal_quality ENUM('good', 'warning', 'critical'),
    uptime_seconds BIGINT,
    nap_id INT,
    nap_port INT,
    created_at DATETIME,
    updated_at DATETIME,
    FOREIGN KEY (olt_id) REFERENCES gpon_olts(id),
    FOREIGN KEY (nap_id) REFERENCES gpon_naps(id)
);
```

---

## Procesos Operativos

### Flujo de Instalación de Cliente

```
1. PLANIFICACIÓN
   └── Verificar cobertura
       └── Identificar NAP más cercana
           └── Verificar disponibilidad de puertos

2. INSTALACIÓN FÍSICA
   └── Tender fibra drop (última milla)
       └── Fusionar/conectar en NAP
           └── Instalar roseta óptica en cliente
               └── Conectar ONU

3. ACTIVACIÓN
   └── Verificar detección en OLT
       └── Configurar perfil GPON
           └── Asignar VLAN y velocidad
               └── Verificar conectividad

4. DOCUMENTACIÓN
   └── Registrar ONU en sistema
       └── Asignar a NAP correspondiente
           └── Vincular con suscriptor
```

### Proceso de Sincronización SNMP

```php
// Sincronización automática (vía cron)
// Archivo: cron/sync_gpon.php

$gpon = new GponApi($pdo);
$result = $gpon->syncAllOlts();

// Se ejecuta cada 5 minutos
// Crontab: */5 * * * * php /path/to/cron/sync_gpon.php
```

---

## Guías de Instalación

### Instalación de Nueva NAP

1. **Selección de Ubicación**
   - Cercana a concentración de clientes
   - Accesible para mantenimiento
   - Protegida de elementos

2. **Conexión a Red Troncal**
   - Identificar fibra del puerto PON asignado
   - Fusionar/conectar al splitter
   - Verificar potencia óptica

3. **Registro en Sistema**
   ```
   Ir a: Infraestructura → NAPs → Nueva NAP
   - Nombre descriptivo
   - Código único
   - Asignar OLT y puerto PON
   - Tipo de splitter
   - Coordenadas GPS
   - Zona/Sector
   ```

4. **Pruebas**
   - Medir potencia en cada puerto
   - Documentar valores

### Instalación de ONU/Cliente

1. **Verificar potencia en NAP**
   - Mínimo: -27 dBm
   - Óptimo: -20 a -25 dBm

2. **Tender fibra drop**
   - Máximo recomendado: 500m
   - Proteger de tensiones mecánicas

3. **Conectar ONU**
   - Verificar LED de señal
   - Sincronización automática

4. **Registrar en sistema**
   ```
   La ONU aparecerá automáticamente tras sincronización
   Ir a: Infraestructura → ONUs → [Nueva ONU]
   - Asignar a NAP
   - Asignar puerto dentro de NAP
   - Vincular con cliente (si aplica)
   ```

---

## Monitoreo y Mantenimiento

### Indicadores Clave (KPIs)

| Métrica | Valor Óptimo | Alerta | Crítico |
|---------|--------------|--------|---------|
| Potencia RX ONU | -20 a -25 dBm | -25 a -27 dBm | < -27 dBm |
| % ONUs Online | > 98% | 95-98% | < 95% |
| Ocupación NAP | < 80% | 80-90% | > 90% |
| Latencia | < 5ms | 5-20ms | > 20ms |

### Dashboard de Monitoreo

**Acceso:** `modules/infrastructure/index.php`

Muestra en tiempo real:
- Estado de OLTs (UP/DOWN)
- ONUs totales y online
- ONUs con señal crítica
- Dispositivos offline

### Alertas Automáticas

El sistema genera alertas para:
- OLT caída
- ONU con señal crítica (< -27 dBm)
- NAP saturada (> 80%)
- Múltiples ONUs offline en misma NAP

---

## Troubleshooting

### Problema: ONU Offline

```
PASO 1: Verificar físicamente
├── ¿LED de PON encendido?
│   ├── SÍ → Problema de configuración
│   └── NO → Problema físico (continuar)
│
├── Verificar conexiones
│   ├── Conector en ONU limpio
│   ├── Roseta óptica conectada
│   └── Cable drop sin daños visibles
│
└── Verificar en NAP
    ├── Puerto asignado correcto
    └── Fusión/conexión en buen estado
```

### Problema: Señal Baja (< -27 dBm)

```
CAUSAS POSIBLES:
1. Distancia excesiva (>20km)
2. Fusiones de mala calidad
3. Conectores sucios
4. Fibra dañada (micro-curvas, cortes)
5. Splitter defectuoso

SOLUCIÓN:
1. Limpiar conectores
2. Medir potencia en cada punto
3. Identificar tramo con pérdida excesiva
4. Re-fusionar o reemplazar segmento
```

### Problema: OLT No Responde a SNMP

```
VERIFICAR:
1. Conectividad IP (ping)
2. Community string correcta
3. Versión SNMP compatible
4. Firewall/ACL en OLT
5. Puerto SNMP (161/UDP)

SOLUCIÓN:
1. Verificar configuración en olts.php
2. Probar SNMP desde línea de comandos:
   snmpwalk -v2c -c [community] [ip] .1.3.6
```

---

## Anexos

### Estructura de Base de Datos

```sql
-- Ver esquema completo
SHOW CREATE TABLE gpon_olts;
SHOW CREATE TABLE gpon_naps;
SHOW CREATE TABLE gpon_onus;
SHOW CREATE TABLE gpon_signal_history;
```

### URLs del Sistema

| Módulo | URL |
|--------|-----|
| Dashboard Infraestructura | `/modules/infrastructure/` |
| Gestión OLTs | `/modules/infrastructure/olts.php` |
| Gestión NAPs | `/modules/infrastructure/naps.php` |
| Lista ONUs | `/modules/infrastructure/onus.php` |
| Documentación Visual | `/modules/infrastructure/fiber_documentation.php` |
| Planificador | `/modules/infrastructure/deployment_planner.php` |
| Mapa de Red | `/modules/topology/network-map.php` |

### Contacto Soporte Técnico

- **Sistema:** CTNETOSP
- **Versión:** 2.0
- **Documentación generada:** Enero 2026

---

*Este documento es parte del sistema CTNETOSP y se actualiza automáticamente.*
