Compartir a través de


Extensión QoS de Winsock ATM

En esta sección se describe la estructura de calidad de servicio específica del protocolo (QOS) para ATM, que se encuentra en el campo ProviderSpecific de la estructura de QOS de. Tenga en cuenta que el uso de esta estructura de de QOS específica de ATM es opcional por parte de los clientes de Windows Sockets 2 y el proveedor de servicios ATM es necesario para asignar la estructura genérica FLOWSPEC a los elementos de información de Q.2931 adecuados. Sin embargo, si se especifican tanto la estructura de FLOW SPEC genérica como la estructura de QOS específica de ATM, el valor especificado en la estructura QOS específico de ATM debe tener prioridad si hay conflictos. Consulte la sección 2.7 de especificación de API de Windows Sockets 2 para obtener más información sobre las disposiciones de QoS y estructura de FLOWSPEC.

La estructura de QOS específica del protocolo para ATM es una concatenación de estructuras de elemento de información Q.2931 (IE), que se definen en el texto siguiente. Si una aplicación omite un IE que uni 3.x exige, el proveedor de servicios debe insertar un valor predeterminado razonable, tomando la información en la estructura FLOWSPEC en cuenta si procede.

El control de las IE repetidas depende del propio IE. Si se repite un IE y es uno que se puede repetir según la especificación UNI del foro ATM, el proveedor debe controlarlo correctamente. En este caso, el orden de la lista determina el orden de preferencia, con elementos que aparecen anteriormente en la lista siendo más preferidos. Si se repite un IE y esto no se permite según la especificación uni del foro ATM, el proveedor puede producir un error en la solicitud del cliente (la opción preferida) o usar el último IE de ese tipo encontrado.

Cada estructura de IE individual tiene el formato siguiente y se identifica mediante el campo IEType:

typedef struct {
    Q2931_IE_TYPE IEType;
    ULONG         IELength;
    UCHAR         IE[1];
} Q2931_IE;

Los valores legales del campo IEType se definen como:

typedef enum {
    IE_AALParameters,
    IE_TrafficDescriptor,
    IE_BroadbandBearerCapability,
    IE_BHLI,
    IE_BLLI,
    IE_CalledPartyNumber,
    IE_CalledPartySubaddress,
    IE_CallingPartyNumber,
    IE_CallingPartySubaddress,
    IE_Cause,
    IE_QOSClass,
    IE_TransitNetworkSelection,
} Q2931_IE_TYPE;

El campo IE se superpone mediante una estructura IE específica y el campo IELength es la longitud total en bytes de la estructura de IE, incluido el IEType y campos IELength. La semántica y los valores legales de cada elemento de estas estructuras de IE son por especificación ATM UNI 3.x. SAP_FIELD_ABSENT se pueden usar para aquellos elementos que son opcionales para una estructura IE determinada, según la especificación ATM UNI 3.x.