El protocolo de transmisión de control de flujo (SCTP) tiene una estructura de paquete básica más simple que TCP . Cada uno consta de dos secciones básicas:
- El encabezado común , que ocupa los primeros 12 bytes. En el diagrama adjunto, este encabezado está resaltado en azul.
- Los fragmentos de datos , que conforman la porción restante del paquete. En el diagrama, el primer fragmento está resaltado en verde y el último de los N fragmentos (Fragmento N ) está resaltado en rojo. Existen varios tipos, incluyendo datos de carga útil y diferentes mensajes de control.
Encabezado común
Todos los paquetes SCTP requieren la sección de encabezado común (que se muestra con un fondo azul).
- Puerto de origen
- Este campo identifica el puerto de envío.
- Puerto de destino
- Este campo identifica el puerto de recepción que los hosts utilizan para enrutar el paquete al punto final/aplicación correspondiente.
- Etiqueta de verificación
- Un valor aleatorio de 32 bits creado durante la inicialización para distinguir los paquetes obsoletos de una conexión anterior.
Trozos
Cada paquete SCTP consta, además de la cabecera común, de fragmentos . Cada fragmento tiene un formato común, pero su contenido puede variar. Los bytes verdes en el diagrama anterior representan un fragmento.
- Tipo de fragmento
- Un valor de 8 bits predefinido por la IETF para identificar el contenido del campo de valor del fragmento.
- Banderas de fragmentos
- Ocho bits de indicador cuya definición varía según el tipo de bloque. El valor predeterminado es cero.
- Longitud del trozo
- Un valor sin signo de 16 bits que especifica la longitud total del fragmento en bytes (sin incluir el relleno) e incluye los campos de tipo de fragmento, indicadores, longitud y valor.
- Datos de fragmentos
- Campo de datos de uso general cuya definición varía según el tipo de fragmento.
Si la longitud del fragmento no equivale a un múltiplo de 4 bytes, el protocolo rellena implícitamente el fragmento con ceros al final.
Además, cada tipo de fragmento puede definir un conjunto de parámetros que incluye dentro del campo de valor del fragmento (y, en consecuencia, su longitud en la longitud del fragmento).
Existen dos tipos de parámetros:
- parámetros fijos: deben aparecer y en el orden especificado,
- Parámetros de longitud variable u opcionales: aparecen después de los parámetros fijos y pueden aparecer en cualquier orden y en cualquier cantidad.
Para los parámetros opcionales o de longitud variable, los campos de tipo, longitud y valor se comportan igual que sus equivalentes en bloques. El tamaño mínimo del parámetro es de 4 bytes, y esto ocurre cuando el campo de valor está vacío y el parámetro consta únicamente de los campos de tipo y longitud.
Lista de tipos de fragmentos
El RFC 2960 define la siguiente lista de tipos de fragmentos. En las siguientes subsecciones se proporciona información más detallada sobre cada tipo.
A continuación de esta tabla se definen cada fragmento y sus parámetros. Tenga en cuenta el siguiente esquema de colores:
- gris: campos de fragmentos,
- rojo: parámetros fijos,
- verde/azul: parámetros opcionales/de longitud variable que alternan los colores.
fragmento de DATOS
- Tipo de fragmento
- siempre 0 para los datos de carga útil (DATOS)
- Banderas de fragmentos
- Actualmente haySolo se utilizaron 4 banderas
- El fragmento SACK debe devolverse sin demora.
- U — Si está activada, indica que estos datos constituyen un fragmento desordenado y que el número de secuencia del flujo no es válido. Si un fragmento desordenado se divide en fragmentos, cada fragmento tendrá esta bandera activada.
- B — Si está activada, esta bandera marca el inicio del fragmento. Un fragmento no fragmentado tiene esta bandera activada.
- E — Si está activada, esta bandera marca el final del fragmento. Un fragmento no fragmentado tiene esta bandera activada.
- Longitud del trozo
- La longitud del fragmento tiene un valor mínimo de 17, ya que no se permiten datos de tamaño inferior a un byte.
- Parámetros fijos:
- Número de secuencia de transmisión (TSN)
- El número de secuencia para todo el flujo de DATOS (utilizado en la fragmentación para el reensamblaje).
- Identificador de flujo
- Identificador del flujo al que pertenece este fragmento de datos.
- Número de secuencia de flujo
- Identificador del número de secuencia del mensaje en este flujo. Si un mensaje está fragmentado, este valor se conserva para todos los fragmentos.
- identificador de protocolo de carga útil
- Identificador de protocolo específico de la aplicación. [ 4 ] SCTP no lo utiliza ni lo modifica. Sin embargo, los dispositivos a lo largo de la ruta o los puntos finales pueden utilizarlo. Un valor de 0 indica que no se especifica ningún protocolo de carga útil.
- Datos
- Datos específicos de la aplicación.
- Parámetros opcionales: ninguno.
Fragmento INIT
- Tipo de fragmento
- siempre 1 para la iniciación (INIT).
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Esta es la longitud del fragmento, que tiene un valor mínimo de 20 cuando el valor del fragmento está vacío y no se utilizan parámetros opcionales.
- Los parámetros fijos tienen el mismo significado que INIT ACK:
- Etiqueta de inicio
- Número sin signo de 32 bits que se utiliza en cada paquete SCTP en la etiqueta de verificación dentro del encabezado común.
- Crédito de ventana del receptor anunciado (a_rwnd)
- Cantidad de espacio de búfer dedicado a esta asociación que nunca debe reducirse.
- Número de flujos salientes
- Número de flujos salientes (desde el remitente del INIT) que desea utilizar para esta asociación. Cero es un valor no válido, y el receptor debe ABORTAR la asociación al recibir un cero.
- Número de flujos entrantes
- Idéntico al número de flujos salientes, pero con respecto al número de flujos entrantes. No se negocia el número establecido, sino que se debe utilizar el mínimo entre el solicitado y el ofrecido.
- TSN inicial
- Número de secuencia de transmisión inicial que se utilizará y que puede ser cualquier valor.
- Los parámetros opcionales aparecen con colores de fondo alternos de verde y azul:
- Tipo de parámetro = 5
- Este parámetro enumera todas las direcciones IPv4 utilizadas en el extremo emisor. Si se trata de una conexión con múltiples interfaces de red, se puede incluir la dirección IP de cada una.
- Tipo de parámetro = 6
- Este parámetro enumera todas las direcciones IPv6 utilizadas en el extremo emisor. Si se trata de una conexión con múltiples interfaces de red, se puede incluir la dirección IP de cada una.
- Tipo de parámetro = 9
- Este parámetro proporciona un incremento sugerido en la duración que el receptor debería agregar a la duración predeterminada de su cookie (en milisegundos).
- Tipo de parámetro = 11
- Este parámetro es un nombre de host, tal como se define en la RFC 1123, sección 2.1. La resolución real de este nombre está fuera del alcance de SCTP. Además, debe incluirse un carácter nulo de terminación, el cual debe figurar en la longitud del parámetro.
- Tipo de parámetro = 12
- Este parámetro enumera los tipos de direcciones que admite el remitente (por ejemplo, IPv4 = 5, IPv6 = 6, nombre de host = 11).
- Tipo de parámetro = 32768
- Este parámetro está reservado para la compatibilidad con notificaciones explícitas de congestión .
Fragmento INIT ACK
El fragmento INIT ACK replica el fragmento INIT, excepto que el tipo de fragmento siempre es 2.
- Parámetros obligatorios, solo en INIT ACK:
- Tipo de parámetro = 7 (cookie de estado)
- La cookie de estado contiene la información mínima necesaria para recrear el bloque de control de transmisión y está firmada con la clave privada del remitente. No se especifica el formato de la cookie.
trozo de SACO
- Tipo de fragmento
- Siempre 3 para el reconocimiento selectivo (SACK).
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Esta es la longitud del fragmento, que tiene un valor mínimo de 16 cuando no se envían huecos ni duplicados.
- Parámetros fijos:
- Reconocimiento acumulativo de TSN
- Confirma todos los números de secuencia hasta este número inclusive. Los fragmentos con TSN superiores a este número aún no se han recibido, excepto aquellos incluidos en los bloques ACK de intervalo opcionales (véase más abajo).
- Crédito de ventana del receptor anunciado
- Cantidad de espacio de búfer dedicado a esta asociación que nunca debe reducirse.
- Número de bloques ACK de brecha
- Indica el número de bloques ACK de huecos (es decir, pares de TSN de inicio y fin) incluidos en este fragmento.
- Número de TSN duplicados
- Indica el número de TSN duplicados reportados en este fragmento.
- Los parámetros opcionales aparecen con colores de fondo alternos de verde y azul:
- Bloque de brecha ACK # N inicio
- Indica un desplazamiento positivo (con referencia al valor acumulado de ACK de TSN) al primer TSN de un bloque adicional de TSN que se confirman.
- Bloque de brecha ACK # N final
- Indica un desplazamiento positivo (con referencia al valor acumulado de TSN ACK) al último TSN de un bloque adicional de TSN que se confirman.
- Número de TSN duplicado X
- Un TSN que se recibió más de una vez. Un TSN aparecerá en esta lista cada vez que se reciba después de la primera vez.
fragmento de LATIDO DEL CORAZÓN
- Tipo de fragmento
- Para el latido cardíaco (HEARTBEAT), este valor siempre es 4.
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Esta es la longitud del fragmento, que tiene un valor mínimo de 8 sin ningún valor de parámetro añadido.
- Parámetros fijos: Ninguno
- Los parámetros opcionales se muestran con colores de fondo alternos de verde y azul:
- Tipo de parámetro = 1
- Este parámetro contiene la información de latido específica del remitente.
LATIDO DEL CORAZÓN ACK fragmento
- Tipo de fragmento
- Para el reconocimiento de latidos (HEARTBEAT ACK), este valor siempre es 5.
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Esta es la longitud del fragmento, que tiene un valor mínimo de 8 sin ningún valor de parámetro añadido.
- Parámetros fijos: Ninguno
- Los parámetros opcionales se muestran con colores de fondo alternos de verde y azul:
- Tipo de parámetro = 1
- Este parámetro contiene la información de latido específica del remitente recibida en la solicitud.
Fragmento ABORTAR
- Tipo de fragmento
- siempre 6 para abortar (ABORTAR).
- Banderas de fragmentos
- Actualmente solo se utiliza una bandera:
- T
- Se activa si el remitente envió su propia etiqueta de verificación (que el receptor debe comprobar); no se activa si el remitente envió la etiqueta de verificación del interlocutor (que debe comprobarse de todos modos).
- Longitud del trozo
- Esta es la longitud del fragmento, que tiene un valor mínimo de 4 y no se indican causas de error.
- Los parámetros opcionales (las causas del error) se definen en el bloque ERROR.
fragmento APAGADO
- Tipo de fragmento
- Para el apagado (SHUTDOWN), este valor siempre es 7.
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Esta es la longitud del fragmento, que tiene una longitud fija de 8.
- Parámetros fijos:
- Reconocimiento acumulativo de TSN
- Contiene el último TSN recibido en secuencia por el remitente.
APAGADO ACK fragmento
- Tipo de fragmento
- Para el acuse de recibo de apagado (SHUTDOWN ACK), este valor siempre es 8.
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Esta es la longitud del fragmento, que tiene una longitud fija de 4.
Fragmento de ERROR
- Tipo de fragmento
- Para el error (ERROR), este valor siempre es 9.
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Esta es la longitud del fragmento, que tiene un valor mínimo de 8 cuando se envía un solo error sin ningún valor de parámetro. El tamaño es de 4 bytes más el tamaño de todas las causas de error.
- Parámetros fijos: Ninguno.
- Los parámetros opcionales se muestran con colores de fondo alternos de verde y azul:
- Tipo de parámetro = 1
- Este parámetro indica que el remitente recibió un identificador de flujo no válido.
- Tipo de parámetro = 2
- Este parámetro indica que el remitente recibió un fragmento INIT o INIT ACK con parámetros obligatorios faltantes.
- Tipo de parámetro = 3
- Este parámetro indica la recepción de una cookie de estado válida, pero que estaba caducada por un número determinado de microsegundos.
- Tipo de parámetro = 4
- Este parámetro indica que el remitente se ha quedado sin recursos; esto suele ir acompañado de un fragmento ABORT.
- Tipo de parámetro = 5
- Este parámetro identifica una dirección que el remitente no pudo resolver (posiblemente porque no admite el tipo de dirección); esto suele acompañar a un fragmento ABORT.
- Tipo de parámetro = 6
- Este parámetro identifica un fragmento no reconocido cuando los bits más significativos del tipo de fragmento son 01 u 11.
- Tipo de parámetro = 7
- Este parámetro identifica un parámetro obligatorio en un fragmento INIT o INIT ACK que tiene un valor no válido.
- Tipo de parámetro = 8
- Este parámetro está dirigido al originador de un fragmento INIT ACK que contenía un parámetro no reconocido.
- Tipo de parámetro = 9
- Este parámetro indica que un fragmento DATA no contenía datos de usuario; esto suele acompañar a un fragmento ABORT.
- Tipo de parámetro = 10
- Este parámetro indica que el remitente recibió un COOKIE ECHO mientras el punto final se encontraba en un estado SHUTDOWN-ACK-SENT.
trozo de ECO DE GALLETA
- Tipo de fragmento
- siempre 10 para cookie echo (COOKIE ECHO).
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Esta es la longitud del fragmento.
- Valor del fragmento
- Contiene los datos de las cookies.
trozo de galleta ACK
- Tipo de fragmento
- Para el reconocimiento de cookies (COOKIE ACK), este valor siempre es 11.
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Esta es la longitud del fragmento y siempre es 4.
Fragmento ECNE
Aún no está definido.
trozo CWR
Aún no está definido.
APAGADO COMPLETO fragmento
- Tipo de fragmento
- Para el apagado completo (SHUTDOWN COMPLETE), este valor siempre es 14.
- Banderas de fragmentos
- Actualmente solo hay una bandera definida.
- T
- Se establece si el remitente no tenía un TCB; no se establece si el remitente tenía uno (que destruyó).
- Longitud del trozo
- Esta es la longitud del fragmento, que tiene una longitud fija de 4.
fragmento AUTH
- Tipo de fragmento
- Para el fragmento de autenticación (AUTH), este valor siempre es 15.
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Longitud del HMAC + 8.
- Parámetros fijos:
- Identificador de clave compartida
- Identifica la clave compartida que se utilizó.
- identificador HMAC
- identifica el tipo de HMAC utilizado. [ 5 ]
- HMAC
- Valor HMAC . Puede que no sea un múltiplo de 4 bytes. El protocolo SCTP se encarga del relleno hasta un límite de 4 bytes. [ 6 ]
- Parámetros opcionales: ninguno
trozo ASCONF-ACK
- Tipo de fragmento
- Siempre 128 para el fragmento de confirmación de reconfiguración de dirección (ASCONF-ACK).
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Depende del número y la longitud de las respuestas de los parámetros ASCONF incluidas.
- Parámetros fijos:
- Número de secuencia
- El número de secuencia del paquete ASCONF que se está confirmando.
- Parámetros opcionales:
- Respuesta del parámetro ASCONF 1.. N
- Respuestas de parámetros de reconfiguración de direcciones (longitud variable).
Fragmento RE-CONFIG
- Tipo de fragmento
- siempre 130 para el fragmento de reconfiguración de flujo (RE-CONFIG).
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Depende del número y la longitud de los parámetros de reconfiguración.
- Parámetros fijos:
- Parámetro de reconfiguración 1
- Primer parámetro de reconfiguración de flujo.
- Parámetros opcionales:
- Parámetro de reconfiguración 2
- Segundo parámetro de reconfiguración de flujo.
En este fragmento pueden aparecer como máximo dos parámetros de reconfiguración de los que se mencionan a continuación. No todas las combinaciones son válidas; consulte la RFC 6525 para obtener más información.
Parámetro de solicitud de restablecimiento del número de seguro social saliente
Este parámetro lo utiliza el remitente para informar al receptor de que desea restablecer los números de secuencia (o los identificadores de mensaje si se utiliza I-DATA) de sus flujos salientes.
- Tipo de parámetro
- Siempre 13 para el parámetro de solicitud de restablecimiento del SSN saliente.
- Longitud del parámetro
- 16 + 2 N .
- Parámetros fijos:
- Número de secuencia de la solicitud de reconfiguración
- Número de secuencia de esta solicitud de reconfiguración.
- Número de secuencia de respuesta de reconfiguración
- Número de secuencia de la última solicitud de reconfiguración recibida.
- Último número de serie temporal (TSN) asignado al remitente
- Último TSN asignado por el remitente (estrictamente hablando: uno menos que el siguiente TSN que se asignará).
- Parámetros opcionales:
- Corriente número 1.. N
- Números de flujo para los que se debe restablecer el SSN o MID. Si no se especifica ninguno, se restablecerán todos los SSN/MID.
Parámetro de solicitud de restablecimiento de SSN entrante
Este parámetro lo utiliza el remitente para solicitar al receptor que restablezca los números de secuencia (o los identificadores de mensaje si se utiliza I-DATA) de sus flujos salientes.
- Tipo de parámetro
- Siempre 14 para el parámetro de solicitud de restablecimiento del SSN entrante.
- Longitud del parámetro
- 8 + 2 N .
- Parámetros fijos:
- Número de secuencia de la solicitud de reconfiguración
- Número de secuencia de esta solicitud de reconfiguración.
- Parámetros opcionales:
- Corriente número 1.. N
- Números de flujo para los que se debe restablecer el SSN o MID. Si no se especifica ninguno, se restablecerán todos los SSN/MID.
Parámetro de solicitud de restablecimiento de SSN/TSN
Este parámetro lo utiliza el remitente para informar al receptor de que desea restablecer todos los TSN y todos los SSN/MID para todas las transmisiones.
- Tipo de parámetro
- siempre 15 para el parámetro de solicitud de restablecimiento de SSN/TSN
- Longitud del parámetro
- 8
- Parámetros fijos:
- Número de secuencia de la solicitud de reconfiguración
- Número de secuencia de esta solicitud de reconfiguración.
- Parámetros opcionales: ninguno
Parámetro de respuesta de reconfiguración
Este parámetro se utiliza como respuesta a una solicitud de reconfiguración, excepto posiblemente para una solicitud entrante de restablecimiento del número de la seguridad social (SSN), que genera un parámetro de solicitud saliente de restablecimiento del SSN si se concede.
- Tipo de parámetro
- siempre 16 para el parámetro de respuesta de reconfiguración
- Longitud del parámetro
- 12 o 20
- Parámetros fijos:
- Número de secuencia de respuesta de reconfiguración
- Número de secuencia de la solicitud de reconfiguración correspondiente.
- Resultado
- Código de resultado
- Parámetros opcionales: (deben estar presentes ambos o ninguno)
- El próximo TSN del remitente
- Siguiente TSN que utilizará el remitente de la respuesta. Solo en respuesta a una solicitud de restablecimiento de SSN/TSN.
- El próximo TSN del receptor
- Siguiente TSN que debe usar el receptor de la respuesta. Solo en respuesta a una solicitud de restablecimiento de SSN/TSN.
Agregar parámetro de solicitud de flujos salientes
Este parámetro lo utiliza el remitente para solicitar que se añadan flujos salientes adicionales a la asociación (es decir, flujos entrantes para el receptor).
- Tipo de parámetro
- siempre 17 para el parámetro de solicitud de agregar flujos salientes
- Longitud del parámetro
- 12
- Parámetros fijos:
- Número de secuencia de la solicitud de reconfiguración
- Número de secuencia de esta solicitud de reconfiguración.
- Número de nuevas transmisiones
- Número de flujos salientes (del remitente al receptor) que se añadirán a la asociación.
- Parámetros opcionales: ninguno
Agregar parámetro de solicitud de flujos entrantes
Este parámetro lo utiliza el remitente para solicitar que se añadan flujos entrantes adicionales a la asociación (es decir, flujos salientes para el receptor).
- Tipo de parámetro
- siempre 18 para el parámetro de solicitud de agregar flujos entrantes
- Longitud del parámetro
- 12
- Parámetros fijos:
- Número de secuencia de la solicitud de reconfiguración
- Número de secuencia de esta solicitud de reconfiguración.
- Número de nuevas transmisiones
- Número de flujos entrantes (del receptor al emisor) que se añadirán a la asociación.
- Parámetros opcionales: ninguno
trozo PAD
El fragmento PAD se introdujo para facilitar el descubrimiento de la MTU de ruta , [ 7 ] permitiendo que un remitente aumente arbitrariamente el tamaño de un paquete SCTP.
- Tipo de fragmento
- siempre 132 para el bloque de relleno (PAD).
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Depende del tamaño de los datos de relleno. La longitud mínima es de 4 bytes.
- Parámetros fijos: ninguno
- Parámetros opcionales:
- Datos de relleno
- Los datos arbitrarios serán ignorados y descartados sin contemplaciones por el receptor.
Fragmento I-DATA
El fragmento I-DATA se introdujo para evitar que un mensaje grande en un flujo bloquee la transmisión de mensajes en todos los demás flujos: SCTP utiliza principalmente el TSN para lograr confiabilidad. En algunos casos, el TSN también es necesario para distinguir diferentes fragmentos DATA. [ 8 ] Cuando un mensaje se fragmenta, el TSN DATA también funciona como un número de secuencia de fragmento. Esto significa que todos los fragmentos de un mensaje deben enviarse utilizando TSN consecutivos, bloqueando efectivamente todos los demás datos. El fragmento I-DATA separa los diferentes usos del TSN en los fragmentos DATA.
Dado que los fragmentos DATA e I-DATA no son compatibles, no se pueden utilizar ambos en la misma asociación.
- Tipo de fragmento
- siempre 64 para datos de carga útil que admiten entrelazado (I-DATA).
- Banderas de fragmentos
- Actualmente haySolo se utilizaron 4 banderas
- El fragmento SACK debe devolverse sin demora.
- U — Si está activada, indica que estos datos constituyen un fragmento desordenado. Si un fragmento desordenado se divide en fragmentos, cada fragmento tendrá esta bandera activada.
- B — Si está activada, esta bandera marca el inicio del fragmento. Un fragmento no fragmentado tiene esta bandera activada.
- E — Si está activada, esta bandera marca el final del fragmento. Un fragmento no fragmentado tiene esta bandera activada.
- Longitud del trozo
- La longitud del fragmento tiene un valor mínimo de 21, ya que no se permiten datos de tamaño inferior a un byte.
- Parámetros fijos:
- Número de secuencia de transmisión (TSN)
- El número de secuencia para todo el flujo de DATOS (utilizado para acuse de recibo y retransmisión).
- Identificador de flujo
- Identificador del flujo al que pertenece este fragmento de datos.
- Identificador de mensaje (MID)
- Identificador del mensaje en este flujo. Si un mensaje está fragmentado, se utiliza el mismo valor para todos los fragmentos. Para mensajes ordenados, el MID también especifica el orden en que deben entregarse a la capa superior. Los mensajes ordenados y no ordenados en el mismo flujo utilizan secuencias MID independientes.
- identificador de protocolo de carga útil
- Identificador de protocolo específico de la aplicación, [ 4 ] presente solo si se activa el indicador B. SCTP no lo utiliza ni lo modifica. Sin embargo, los dispositivos a lo largo de la ruta o los puntos finales pueden utilizarlo. Un valor de 0 indica que no se especifica ningún protocolo de carga útil.
- Número de secuencia del fragmento
- Número de fragmento para paquetes fragmentados. Solo está presente si el indicador B no está activado. Si el indicador B está activado, el número de secuencia de fragmento es implícitamente cero y el identificador del protocolo de carga útil ocupa ese espacio.
- Datos
- Datos específicos de la aplicación.
- Parámetros opcionales: ninguno.
Fragmento FORWARD-TSN
El fragmento FORWARD-TSN se introdujo para admitir la falta de fiabilidad selectiva: permite al remitente indicar al receptor que no retransmitirá cierta cantidad de fragmentos y solicita que el receptor considere todos esos fragmentos como recibidos.
- Tipo de fragmento
- siempre 192 para el fragmento TSN de avance (FORWARD-TSN).
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Depende del número de nuevos números de secuencia de flujo incluidos.
- Parámetros fijos:
- Nuevo número de secuencia de transmisión acumulativa (TSN)
- El siguiente TSN que el receptor debe esperar. Cualquier TSN anterior debe considerarse recibido.
- Parámetros opcionales:
- Identificador de flujo 1.. N
- Identificadores de los flujos que fueron omitidos por este fragmento.
- Secuencia de flujo 1.. N
- Nuevos números de secuencia de flujo asociados a los flujos que se omitieron.
trozo ASCONF
- Tipo de fragmento
- siempre 193 para el fragmento de reconfiguración de direcciones (ASCONF).
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Depende del tipo de dirección IP y del número y la longitud de los parámetros ASCONF incluidos.
- Parámetros fijos:
- Número de secuencia
- El número de secuencia del paquete ASCONF.
- Parámetro de dirección
- tipo de parámetro : Tipo de dirección en el parámetro de dirección: 5 para IPv4, 6 para IPv6.
- Parámetro de dirección
- Longitud del parámetro : Longitud del parámetro de dirección: 8 para IPv4, 20 para IPv6.
- Parámetro de dirección
- Dirección IP : 4 bytes para IPv4, 16 bytes para IPv6.
- Parámetros opcionales:
- Parámetro ASCONF 1.. N
- Parámetros de reconfiguración de direcciones (longitud variable).
Fragmento I-FORWARD-TSN
El fragmento I-FORWARD-TSN se introdujo para usarse en lugar de FORWARD-TSN cuando se usa I-DATA en lugar de DATA.
- Tipo de fragmento
- siempre 194 para el fragmento TSN de avance con soporte para intercalación (I-FORWARD-TSN).
- Banderas de fragmentos
- Actualmente no se utilizan banderas.
- Longitud del trozo
- Depende del número de identificadores de mensajes de flujo nuevos incluidos.
- Parámetros fijos:
- Nuevo número de secuencia de transmisión acumulativa (TSN)
- El siguiente TSN que el receptor debe esperar. Cualquier TSN anterior debe considerarse recibido.
- Parámetros opcionales:
- Identificador de flujo 1.. N
- Identificadores de los flujos que fueron omitidos por este fragmento.
- U
- 0 si el nuevo identificador de mensaje está asociado con los mensajes ordenados, 1 si está asociado con los mensajes no ordenados en el flujo.
- Identificador de mensaje 1.. N
- Nuevos identificadores de mensajes asociados a las secuencias que se omitieron.
Notas
- ↑ Castagnoli, G.; S. Brauer; M. Herrmann (junio de 1993). "Optimización de códigos de verificación de redundancia cíclica con 24 y 32 bits de paridad". IEEE Transactions on Communications . 41 (6): 883. doi : 10.1109/26.231911 .El trabajo de Castagnoli et al. sobre la selección algorítmica de polinomios CRC.
- ↑ Koopman, P. (junio de 2002). «Códigos de redundancia cíclica de 32 bits para aplicaciones de Internet» . Actas de la Conferencia Internacional sobre Sistemas y Redes Confiables . págs. 459–468 . doi : 10.1109/DSN.2002.1028931 . ISBN 0-7695-1597-5. S2CID 14775606 . Verificación de los resultados de Castagnoli mediante búsqueda exhaustiva y algunos nuevos polinomios válidos.
- 1 2 Véase https://www.iana.org/assignments/sctp-parameters/sctp-parameters.xhtml ; posiblemente se haya utilizado en un borrador de Internet.
- 1 2 Consulte https://www.iana.org/assignments/sctp-parameters/sctp-parameters.xhtml#sctp-parameters-25 para obtener una lista de los PPID asignados.
- ↑ Consulte https://www.iana.org/assignments/sctp-parameters/sctp-parameters.xhtml#sctp-parameters-26 para obtener una lista de los identificadores HMAC asignados.
- ↑ Aunque RFC 4895 menciona el relleno, estrictamente hablando, el relleno no forma parte del bloque AUTH: no está incluido en la longitud del bloque, y su presencia ya está garantizada por el propio protocolo SCTP, según lo estipulado en RFC 4960 (sección 3.2) .
- ↑ RFC 4821 - Detección de MTU de ruta de la capa de empaquetamiento
- ↑ El orden de dos fragmentos ordenados puede depender de la combinación de TSN y SSN, y dos fragmentos no ordenados que de otro modo serían idénticos solo se pueden distinguir por sus TSN.
Referencias
- RFC 8260 Planificadores de flujo e intercalación de mensajes de usuario para el protocolo de transmisión de control de flujo
- RFC 7053 Extensión SACK-IMMEDIATELY para el protocolo de transmisión de control de flujo
- RFC 6525 Protocolo de transmisión de control de flujo (SCTP) Reconfiguración de flujo
- RFC 5061 Protocolo de transmisión de control de flujo (SCTP) Reconfiguración dinámica de direcciones
- RFC 4960 Protocolo de transmisión de control de flujo (Obsoleto: 2960, 3309)
- RFC 4895 Fragmentos autenticados para el protocolo de transmisión de control de flujo (SCTP)
- RFC 4821 Descubrimiento de la MTU de la ruta de la capa de empaquetamiento
- RFC 4820: Fragmento de relleno y parámetro para el protocolo de transmisión de control de flujo (SCTP)
- Erratas y problemas de la especificación del protocolo de transmisión de control de flujo (SCTP) RFC 4460
- RFC 3873 Base de información de gestión (MIB ) del protocolo de transmisión de control de flujo (SCTP )
- RFC 3758 Extensión de confiabilidad parcial del protocolo de transmisión de control de flujo (SCTP)
- RFC 3554 Sobre el uso del protocolo de transmisión de control de flujo (SCTP) con IPsec
- RFC 3436 Seguridad de la capa de transporte sobre el protocolo de transmisión de control de flujo
- RFC 3309 Cambio de suma de comprobación del protocolo de transmisión de control de flujo (SCTP)
- RFC 3286 Introducción al protocolo de transmisión de control de flujo
- Declaración de aplicabilidad del protocolo de transmisión de control de flujo RFC 3257
- Protocolo de transmisión de control de flujo RFC 2960
- Protocolos de Internet
- Estándares de Internet
- protocolos de la capa de transporte