◇ OpenCyber Academy
Ingeniería · Capítulo 36 · Español

Capítulo 36 — Seguridad de TO, IoT y sistemas ciberfísicos: rendimiento y escala

Aprendizaje gratuito y abierto para quienes desean proteger a las personas y la tecnología. No se necesita una cuenta para estudiar ni consultar las respuestas.

Capítulo 36 — Seguridad de TO, IoT y sistemas ciberfísicos: rendimiento y escala

Mapa de la lección

Lección 36 publicada. Mapa, ejemplo, EX106.

flowchart TD
  N0["Resultados de aprendizaje"]
  N1["36.1 El tiempo de ciclo es de primera categoría"]
  N2["36.2 Tráfico de evaluación"]
  N3["36.3 Canarios"]
  N4["Nota práctica"]
  N5["36.1b Equidad y calentamiento"]
  N6["Nota de campo: calendario de calentamiento"]
  N7["Síntesis del capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Ejemplo resuelto"]
  EX --> Q["Ejercicio EX106"]

Dibujo lógico

flowchart LR
  N0["Resultados de aprendizaje"]
  N1["36.1 El tiempo de ciclo es de primera categoría"]
  N2["36.2 Tráfico de evaluación"]
  N3["36.3 Canarios"]
  N4["Nota práctica"]
  N5["36.1b Equidad y calentamiento"]
  N6["Nota de campo: calendario de calentamiento"]
  N7["Síntesis del capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX106"]
[Resultados de aprendizaje]
    |
    v
[36.1 El tiempo de ciclo es de primera categoría]
    |
    v
[36.2 Tráfico de evaluación]
    |
    v
[36.3 Canarios]
    |
    v
[Nota práctica]
    |
    v
[36.1b Equidad y calentamiento]
    |
    v
[Nota de campo: calendario de calentamiento]
    |
    v
[Síntesis del capítulo]
    |
    v
[Ejemplo resuelto] --> [Ejercicio EX106]

Resultados de aprendizaje

Usted podrá (1) dimensionar los monitores dentro de los presupuestos de tiempo de ciclo; (2) aplicar la lógica del cubo de testigos al tráfico de evaluación; (3) medir el impacto en la planta con un canario.

36.1 El tiempo de ciclo es de primera categoría

Los objetivos de rendimiento que ignoran el presupuesto de ciclo del PLC son errores. Dimensione las canalizaciones de decodificación para que el tiempo en el cable más el de decodificación se mantenga dentro del presupuesto medido en el capítulo 3.

"""Lab: does a polling schedule fit the PLC scan/communication budget? (synthetic)"""
link_bps = 115200; bits_per_byte = 10           # RS-485 serial, 8N1 + start bit
polls = [("T-1 level", 8), ("T-2 level", 8), ("R-101 block", 40), ("pump status", 8), ("historian sweep", 120)]
overhead = 12                                    # bytes of request+framing per poll (assumed)
total = sum(n + overhead for _, n in polls)
t = total * bits_per_byte / link_bps
print(f"bytes per cycle={total} time per cycle={t*1000:.1f} ms")
for target in (100, 50):
    print(f"cycle budget {target} ms -> {'fits' if t*1000 <= target else 'OVERRUN'}")

Salida esperada:

bytes per cycle=244 time per cycle=21.2 ms
cycle budget 100 ms -> fits
cycle budget 50 ms -> fits

En ABP, la línea troncal RS-485 hacia el PLC-A funciona con un ciclo de sondeo de 21 ms dentro de un ciclo de control de 100 ms, y la condición de parada salta si el tiempo de ciclo llega a 50 ms. Lena dimensiona el monitor de modo que la derivación, la decodificación y el registro no añadan nada al tiempo en el cable, porque la derivación es pasiva y el decodificador se ejecuta en su propio equipo. Las pruebas de carga en el banco reproducen a doble velocidad un día completo de tráfico capturado para confirmar que el decodificador nunca se queda atrás respecto a la línea troncal.

36.2 Tráfico de evaluación

Cuando se autorizan métodos activos, limite su tasa para que no puedan dejar sin recursos al tráfico de control. Prefiera los métodos de solo escucha; cuando deba sondear, comparta un presupuesto global entre los escáneres. Durante las ventanas de evaluación del CNHP en ABP, solo una herramienta activa puede sondear la línea troncal a la vez, y su tasa de solicitudes se escribe en el permiso antes de empezar. El descubrimiento pasivo desde la derivación cubre la mayor parte del inventario, de modo que el sondeo activo se limita a los pocos dispositivos que no hablan por sí mismos. Cada herramienta informa de su tasa al presupuesto compartido, y el responsable de la ventana puede pausar todos los métodos activos con un solo interruptor si sube el tiempo de ciclo.

36.3 Canarios

Una solicitud canario sintética o una sonda del tiempo de ciclo cada minuto sigue la salud del sistema; las condiciones de parada saltan al alcanzar el umbral (capítulo 33).

Caso sintético — Ashford Batch Plant. Con ciclos de 21 ms en la línea troncal RS-485, Lena dejó margen por debajo de 50 ms para que un pico de decodificación no activara la parada.

El canario de ABP lee cada minuto un registro de estado inofensivo del PLC-A y anota el tiempo de respuesta junto al tiempo de ciclo de la línea troncal. Si cualquiera de los dos se acerca a su umbral, se avisa al responsable de la ventana antes de llegar a la condición de parada, lo que da tiempo para pausar el trabajo activo con calma en lugar de reaccionar a una parada automática.

36.4 Errores y límites

Los escáneres distribuidos necesitan un presupuesto global coordinado o multiplican el límite por N. En ABP, dos escáneres funcionaron una vez desde equipos distintos, cada uno dentro de su propia tasa, y juntos superaron el presupuesto de la línea troncal. Lena trasladó el presupuesto a un único coordinador que concede testigos a cada escáner, de modo que el total se mantiene dentro del permiso sin importar cuántas herramientas estén funcionando. Un escáner que no puede contactar con el coordinador no puede enviar nada, lo que mantiene seguro el fallo en lugar de dejar que cada herramienta vuelva a su propio límite.

Nota práctica

Publique una nota sobre la economía de los límites de tasa: coste de esperar frente a coste de interrumpir un lote. La mayoría de los argumentos para subir los límites se disuelven cuando se pone por escrito el coste de la interrupción.

36.1b Equidad y calentamiento

Cuando varios métodos comparten un presupuesto, un enumerador ruidoso puede dejar sin recursos a una revisión de configuración silenciosa. Pondere o separe los presupuestos por clase de método. Aumente el tráfico de forma gradual al inicio de la ventana y vacíelo antes de la parada definitiva. Vaciar significa ninguna solicitud nueva en los últimos diez minutos, para que las respuestas en curso lleguen antes de la parada. Documente quién puede subir un límite de tasa y qué tipo de ticket AUTH se requiere. Un límite elevado caduca al final de la ventana salvo que se renueve con un ticket nuevo.

Lena aplica ambos presupuestos en el coordinador.

Nota de campo: calendario de calentamiento

El planificador aumenta ahora los sondeos de evaluación de forma gradual durante cinco minutos al inicio de la ventana. Los arranques instantáneos a plena tasa habían disparado alarmas de vibración no relacionadas en un patín vecino. El calentamiento es una cortesía hacia el proceso y hacia las personas responsables de él.

36.5 Ejemplo resuelto: medir la carga de la monitorización en el PLC-A (ABP sintética)

Un sondeador propuesto de la salud de los activos leería 120 registros de retención del PLC-A cada segundo. En el controlador de banco, Lena mide el tiempo de escaneo con y sin el sondeador: 18 ms de base, 23 ms con el sondeo, frente a un temporizador de vigilancia de 50 ms. El aumento es aceptable en el banco, pero aun así limita el sondeador a 120 registros cada 5 segundos en producción, añade un canario en una línea antes del despliegue en toda la planta y genera una alarma si el tiempo de escaneo supera 30 ms. El tráfico de evaluación recibe el mismo trato: toda herramienta de prueba debe declarar su tasa de solicitudes, y el permiso fija un máximo.

Ejercicios — capítulo 36

Síntesis del capítulo

Primero el presupuesto, después la escala, siempre el canario.

Siga estudiando — capítulo 36 de 50

← Capítulo 35 (borrador) · Índice de capítulos del curso · Capítulo 37 (borrador) →

Respuestas desarrolladas

EX106. bytes per cycle=244; tiempo por ciclo ≈ 21,2 ms a 115200 con 10 bits/byte.

EX107. Unos 29 ms de margen absorben los picos de decodificación y los reintentos; gastarlo todo no deja margen para que la condición de parada tenga sentido.

EX108. Cada uno puede enviar 2/s → ~6/s en total, el triple del permiso: hace falta un limitador compartido.