NDIS_QOS_CLASSIFICATION_ELEMENT 구조체(ntddndis.h)

NDIS_QOS_CLASSIFICATION_ELEMENT 구조는 IEEE 802.1 DCB(데이터 센터 브리징) 인터페이스를 지원하는 네트워크 어댑터에 대한 NDIS QoS(서비스 품질) 트래픽 분류를 지정합니다.

각 트래픽 분류는 다음을 지정합니다.

  • 송신 패킷 데이터 내의 데이터 패턴을 기반으로 하는 분류 조건 입니다.

    NDIS 6.30부터 분류 조건은 UDP 또는 TCP 대상 포트 또는 MAC(미디어 액세스 제어) EtherType과 같은 16비트 값을 기반으로 합니다.

  • 송신 패킷을 처리하는 데 사용할 트래픽 클래스를 정의하는 분류 작업 입니다.

    NDIS 6.30부터 분류 작업은 802.1p 우선 순위 수준을 지정합니다.

예를 들어 트래픽 분류는 대상 TCP 포트 번호 3260(조건)에 대한 모든 송신 패킷에 802.1p 우선 순위 수준 3(작업)이 할당되도록 지정할 수 있습니다.

구문

typedef struct _NDIS_QOS_CLASSIFICATION_ELEMENT {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  USHORT             ConditionSelector;
  USHORT             ConditionField;
  USHORT             ActionSelector;
  USHORT             ActionField;
} NDIS_QOS_CLASSIFICATION_ELEMENT, *PNDIS_QOS_CLASSIFICATION_ELEMENT;

멤버

Header

NDIS_QOS_CLASSIFICATION_ELEMENT 구조체의 형식, 수정 버전 및 크기입니다. 이 멤버는 NDIS_OBJECT_HEADER 구조체로 형식이 지정됩니다.

미니포트 드라이버는 헤더Type 멤버를 NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT 설정해야 합니다. NDIS_QOS_CLASSIFICATION_ELEMENT 구조체의 버전을 지정하려면 드라이버가 HeaderRevision 멤버를 다음 값으로 설정해야 합니다.

NDIS_QOS_CLASSIFICATION_ELEMENT_REVISION_1

NDIS 6.30의 원래 버전입니다.

Size 멤버를 NDIS_SIZEOF_QOS_CLASSIFICATION_ELEMENT_REVISION_1 설정합니다.

Flags

미니포트 드라이버가 지원하는 NDIS QoS 트래픽 분류의 상태를 지정하는 플래그의 비트 OR을 포함하는 ULONG 값입니다. 다음 플래그가 정의됩니다.

NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT

이 플래그가 설정되면 미니포트 드라이버는 NDIS_QOS_CLASSIFICATION_ELEMENT 구조에 지정된 트래픽 분류 매개 변수를 허용합니다. 드라이버가 매개 변수를 수락하는 경우 매개 변수에 지정된 대로 트래픽 분류를 수행하도록 네트워크 어댑터를 구성해야 합니다.

참고 이 플래그는 미니포트 드라이버가 OID_QOS_PARAMETERS OID 메서드 요청에서 NDIS로 반환하는 NDIS_QOS_CLASSIFICATION_ELEMENT 구조에서만 설정됩니다.
 

ConditionSelector

ConditionField 멤버에 포함된 데이터 패턴의 형식을 지정하는 USHORT 값입니다. 예를 들어 데이터 패턴 형식은 ConditionField 멤버에 의해 값이 지정된 대상 UDP 포트를 지정할 수 있습니다.

자세한 내용은 ConditionSelector 및 ConditionField 멤버 설정 지침을 참조하세요.

ConditionField

ConditionSelector 멤버가 형식을 지정하는 데이터 패턴을 포함하는 USHORT 값입니다.

자세한 내용은 ConditionSelector 및 ConditionField 멤버 설정 지침을 참조하세요.

ActionSelector

ActionField 멤버에 포함된 작업 데이터의 형식을 지정하는 USHORT 값입니다. NDIS 6.30부터 작업 데이터 형식은 ConditionField 멤버가 값을 지정하는 802.1p 우선 순위 수준을 지정합니다.

자세한 내용은 ActionSelector 및 ActionField 멤버 설정 지침을 참조하세요.

ActionField

ActionSelector 멤버가 형식을 지정하는 작업 값을 포함하는 USHORT 값입니다.

자세한 내용은 ActionSelector 및 ActionField 멤버 설정 지침을 참조하세요.

설명

트래픽 분류는 네트워크 어댑터가 송신 패킷 데이터에 적용되는 조건작업을 지정합니다. 어댑터는 송신 패킷 데이터를 검사하고 일치하는 분류 조건을 찾으면 해당 작업을 송신 패킷에 적용합니다.

참고 NDIS 6.30부터 모든 작업은 802.1p 우선 순위 수준을 기반으로 합니다. 그러나 네트워크 어댑터가 우선 순위 수준을 결정한 후에는 우선 순위 수준과 연결된 NDIS QoS 트래픽 클래스에 대한 송신 정책을 사용해야 합니다. 우선 순위 수준과 트래픽 클래스의 연결은 NDIS_QOS_PARAMETERS 구조에 지정됩니다.
 
NDIS_QOS_CLASSIFICATION_ELEMENT 구조체는 NDIS_QOS_PARAMETERS 구조에 지정된 배열 내의 각 트래픽 분류 요소를 지정합니다. 이 구조는 다음 OID 요청에 사용됩니다. 또한 미니포트 드라이버는 다음 NDIS 상태 표시에 NDIS_QOS_CLASSIFICATION_ELEMENT 구조의 배열을 포함하는 NDIS_QOS_PARAMETERS 구조를 반환합니다. 자세한 내용은 NDIS QoS 트래픽 분류를 참조하세요.

ConditionSelector 및 ConditionField 멤버 설정 지침

다음 표에서는 ConditionSelectorConditionField 멤버의 값 범위를 정의합니다.
ConditionSelector 값 ConditionField 값
NDIS_QOS_CONDITION_RESERVED ConditionField 멤버는 0으로 설정해야 합니다.
참고 이 조건은 향후 사용을 위해 예약되어 있습니다.
 
NDIS_QOS_CONDITION_DEFAULT ConditionField 멤버는 0으로 설정해야 합니다.
NDIS_QOS_CONDITION_TCP_PORT ConditionField 멤버에는 16비트 대상 TCP 포트 값이 포함됩니다.
NDIS_QOS_CONDITION_UDP_PORT ConditionField 멤버에는 16비트 대상 UDP 포트 값이 포함됩니다.
NDIS_QOS_CONDITION_TCP_OR_UDP_PORT ConditionField 멤버에는 16비트 대상 TCP 또는 UDP 포트 값이 포함됩니다.
NDIS_QOS_CONDITION_ETHERTYPE ConditionField 멤버에는 16비트 IEEE EtherType 값이 포함됩니다.
참고 네트워크 어댑터는 EtherType을 검사하기 위해 패킷의 프레임 레이아웃을 결정해야 합니다. 예를 들어 EtherType 필드의 위치는 이더넷 II와 802.3 프레임 간에 다릅니다.
 
NDIS_QOS_CONDITION_NETDIRECT_PORT ConditionField 멤버에는 16비트 NetworkDirect 포트 값이 포함됩니다.
 

ConditionSelector 멤버에 NDIS_QOS_CONDITION_DEFAULT 값이 포함된 경우 다른 분류 조건과 일치하지 않는 모든 송신 패킷에 연결된 분류 작업을 적용해야 합니다. DCB 구성 요소가 OID_QOS_PARAMETERS OID 메서드 요청을 발급하면 conditionSelectorNDIS_QOS_PARAMETERS 배열의 첫 번째 NDIS_QOS_CLASSIFICATION_ELEMENT 구조에서만 NDIS_QOS_CONDITION_DEFAULT 설정할 수 있습니다.

ConditionSelector 멤버에 NDIS_QOS_CONDITION_NETDIRECT_PORT 값이 포함된 경우 미니포트 드라이버는 NetworkDirect 연결의 원본 또는 대상 포트와 ConditionField 멤버와 일치해야 합니다. 미니포트 드라이버가 NetDirect 연결을 수락하는 경우 드라이버는 해당 연결을 통해 전송되는 패킷의 원본 포트와 ConditionField 멤버와 일치해야 합니다. 미니포트 드라이버가 NetDirect 연결을 시작하는 경우 해당 연결을 통해 보내는 패킷의 대상 포트와 ConditionField 멤버와 일치해야 합니다.

DCB 구성 요소에 대한 자세한 내용은 데이터 센터 브리징을 위한 NDIS QoS 아키텍처를 참조하세요.

ActionSelector 및 ActionField 멤버 설정 지침

다음 표에서는 ActionSelectorActionField 멤버의 값 범위를 정의합니다.
ActionSelector 값 ActionField 값
NDIS_QOS_ACTION_PRIORITY ActionField 멤버에는 3비트 IEEE 802.1p 우선 순위 수준 값이 포함됩니다. 이러한 우선 순위 수준에 대한 자세한 내용은 IEEE 802.1p 우선 순위 수준을 참조하세요.
 

NDIS 6.30부터 트래픽 분류 작업은 송신 패킷이 할당되는 IEEE 802.1p 우선 순위 수준을 정의합니다. 네트워크 어댑터가 송신 패킷에 우선 순위 수준을 할당하는 경우 어댑터는 지정된 우선 순위 수준과 연결된 NDIS QoS 트래픽 클래스에 대한 매개 변수도 적용합니다. 이러한 매개 변수는 네트워크 어댑터가 패킷을 전송하는 방법을 결정하고 대역폭 할당 및 TSA(전송 선택 알고리즘)를 포함합니다.

NDIS QoS 트래픽 클래스에 대한 자세한 내용은 NDIS QoS 트래픽 클래스를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.30 이상에서 지원됩니다.
머리글 ntddndis.h(Ndis.h 포함)

추가 정보

NDIS_OBJECT_HEADER

NDIS_QOS_PARAMETERS

NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE

NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE

OID_QOS_OPERATIONAL_PARAMETERS

OID_QOS_PARAMETERS

OID_QOS_REMOTE_PARAMETERS