Posts etiquetados ‘Formato’

Esta entrada es un resumen del Acuerdo de Implementación del OIF para OFP (OTN over Packet Fabric Protocol). Se trata de un documento de gran complejidad dirigido a los expertos. Se necesita conocimiento previo de la espeficiación G.709 de la ITU para sacarle el máximo partido a esta documentación.

Iré publicando los diferentes apartados en varias entradas, para facilitar su análisis y comprensión. Por favor, si detectas algún error o traducción mejorable, por favor indícamelo. Gracias de antemano

Formato de Paquete

En la siguiente figura se puede observar el formato de la trama de paquete del OFP.

 

  • Contiene un campo opcional de 0 a 12 bytes para las sobrecargas del usuario específio y de la matriz. No son ámbito del documento.
  • A continuación un campo de 4 bytes que contiene la cabecera OFP
  • Por último un campo que contiene la carga útil de las ODUk/ODUflex, cuyo tamaño es Bnom±1 byte. Bnom puede configurarse por software, de manera que se optimice el tamaño del paquete con las características de la matriz de conmutación de paquetes.

Veamos con más detalles los campos que forman la cabecera OFP:

  • Timestamp. Es un contador de 16 bits que registra el tiempo de creación de cada paquete en relación al sistema de pulso de trama de 8 KHz (SYNC)  en saltos de ciclos del reloj del sistema de referencia de 311.04MHz (REFCLK) . El rango de Timestamp se encuentra entre 0 y 38879.
  • RSV 1. Es un campo de 6 bits reservado para la futura estandarización. Por ejemplo, se podría combinar con el campo SQ formando una mayor secuencia numérica que podría encargarse de gestionar matrices de paquetes que tendrían que encargarse de entregar paquetes fuera de servicio.
  • SQ. Es una secuencia numérica de 2 bits utilizada para detectar paquetes descartados por la matriz de conmutación, debido por ejemplo a congestión o bits erróneos.  SQ es un contador binario que se incrementa con cada paquete por ODUk/ODUflex.

  • PPSI 1 . Es un campo de dos bits que registra el tamaño del paquete previo. Cuando el paquete previo ha sido descartado por la matriz de conmutación, la tarjeta de línea de salida puede usar PPSI 1 para construir un paquete de reemplazo del tamaño indicado para evitar tener que cambiar el alineamiento de trama del flujo de la  ODUk/ODUflex.

    • PPSI 1 = ‘b00 : El tamaño del paquete previo es de  Bnom bytes

    • PPSI 1 = ‘b01 : El tamaño del paquete previo es de Bnom+1 bytes

    • PPSI 1 = ‘b10 : Reservado

    • PPSI 1 = ‘b11 : El tamaño del paquete previo es de Bnom-1 bytes

  • CSI . Es un campo opcional destinado a la indicación del estado del cliente, que puede ser usado por aplicaciones APS rápidas. CSI transporta el estado del flujo de la ODUk/ODUflex

    • CSI = ‘b000 : Fuerza a la matriz de conmutación a seleccionar esta ODUk/ODUflex  incluso si el flujo alternativo se encuentra en el estado Sin Defectos

    • CSI = ‘b001 : Sin Defectos detectado. Este es el valor por defecto cuando no se usa este campo.

    • CSI = ‘b010 : Signal Degradada detectada

    • CSI = ‘b011 : Fallo de la Señal detectado
    • CSI = ‘b100 : Fallo del servidor de la Señal detectado
    • CSI = ‘b111 :  Fuerza a la matriz de conmutación a no seleccionar esta ODUk/ODUflex sin tener en cuenta el estado del flujo alternativo.
    • CSI = ‘b101 and ‘b110 : Reservado
  • PPSI 2. Es un campo de 2 bits opcional que registra el tamaño del paquete anterior al previo. Cuando dos paquetes consecutivos son descartados por la matriz de conmutación, la tarjeta de línea de salida puede usar PPSI 1 y PPSI 2 para construir dos paquetes de reemplazo del tamaño indicado de manera que se evite  cualquier cambio en el alineamiento de la trama del flujo de la ODUk/ODUflex.
    • PPSI 2 = ‘b00 : El tamaño del paquete anterior al previo es Bnom bytes. Cuando no se usa este campo, adopta este valor por defecto.
    • PPSI 2 = ‘b01 : El tamaño del paquete anterior al previo es Bnom+1 bytes
    • PPSI 2 = ‘b10 : Reservado
    • PPSI 2 = ‘b11 : El tamaño del paquete anterior al previo es Bnom-1 bytes
  • P . Es un campo de paridad impar de 1 bit, que se calcula sobre la cabecera completa del OFP, desde Timestamp a PP
  • Carga adicional para el usuario específico y la matriz. Es un campo opcional de 0 a 12 bytes reservado para datos propietarios del usuario y de la matriz. La especificación de este campo queda fuera del ámbito del documento.
  • Carga útil. Es un campo que transporta  Bnom-1, Bnom, o Bnom+1 bytes de un flujo de ODUk/ODUflex

 En la siguiente figura se muestran el bit de orden de los bits de la  ODUk/ODUflex en ITU G.709 y en este acuerdo de implementación.

El bit más significativo se transmite primero en G.709 y se le asigna el bit 1. El bit menos significativo se transmite el último y se le asigna el bit 8. Los bits correspondientes en el byte de la carga útil son bits  [7] y [0], respectivamente. Los octetos ODUk/ODUflex son insertados en el campo de carga útil en el orden de transmisión.