¿Se puede forzar a 64b/66b a salir del balance de DC por datos maliciosos?

A diferencia de 8b/10b y 64b/67b, 64b/66b se basa completamente en el codificador para garantizar el equilibrio de CC. Esto plantea la pregunta: ¿puede un flujo de datos malicioso obligar a la línea a dejar el equilibrio de CC? ¿O necesitaría acceso a información que no está expuesta por la NIC?

Respuestas (2)

Si, absolutamente. El codificador produce 64 bits de salida a partir de 64 bits de entrada, lo que significa que hay un mapeo 1:1 de entradas y salidas y, por lo tanto, hay una entrada que produce todos los 1 como salida. El preámbulo forzará un solo "0" en cada cuadro, pero aún así, el equilibrio de CC estará muy lejos.

En cuanto al estado, el codificador es autosincrónico en función de los datos en banda y requiere 64 fotogramas para sincronizarse. Lo que significa que si envía 64 tramas secuenciales (512 bytes de datos), sabrá el estado exacto del codificador. Esto es trivial de lograr: simplemente envíe un solo paquete Ethernet largo.

Lo que he leído es que no es posible que un solo paquete atasque el codificador con 1 paquete. ¿Hay algún dato transmitido entre paquetes que no sea parte de ningún paquete ni esté configurado en un valor predecible?

Según IEEE-802.3:

Sección 49.2.6 Scrambler: para ayudar a la sincronización de bloques en el receptor para la capacidad EEE cuando se utiliza la Cláusula 74 FEC, cuando scrambler_bypass es TRUE, el PCS debe pasar los datos no codificados desde la entrada del codificador en lugar de los datos codificados desde la salida del codificador. El modificador deberá continuar avanzando normalmente.

Por lo tanto, puede omitir el codificador. Si hace eso, ciertamente puede afectar el equilibrio de DC.

Sección 50.3.3 Codificación: El uso del codificador está destinado a proporcionar equilibrio de CC (es decir, un número igual de 1 y 0 en promedio) y suficiente densidad de transición dentro del flujo de bits transmitido en el medio.

Entonces, si usa el codificador, debe (¿de alguna manera?) manipular la función de transferencia: G (x) = 1 + x ^ 39 + x ^ 58 para manipular el equilibrio de CC.

Tal vez sabías esto último en base a tu pregunta, pero tal vez no sabías que podías pasar por alto el codificador (?)... aunque, ¿tienes acceso a la configuración? Principalmente, solo intenta compartir información relevante de IEEE-802.3 que de otra manera no tendría.

encontre esto tambien:

scr_bypass_enable: una variable booleana utilizada para indicar al diagrama de estado LPI de transmisión que se requiere la opción de derivación del codificador. El PHY establecerá scr_bypass_enable = TRUE si la Cláusula 74 FEC está en uso. El PHY establecerá scr_bypass_enable = FALSE si este FEC no está en uso.