Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

CoS 명시적 혼잡 알림

ECN(Explicit Congestion Notification)을 사용하면 TCP/IP 기반 네트워크에서 두 엔드포인트 간의 종단 간 혼잡 알림을 받을 수 있습니다. 두 엔드포인트는 ECN 지원 발신자와 ECN 지원 수신자입니다. ECN이 제대로 작동하려면 두 엔드포인트와 엔드포인트 사이의 모든 중간 디바이스에서 ECN이 활성화되어야 합니다. ECN을 지원하지 않는 전송 경로의 모든 디바이스는 종단 간 ECN 기능을 중단합니다.

ECN은 패킷 손실과 지연을 줄이기 위해 패킷 손실 및 지연을 줄이기 위해 패킷 손실 없이 혼잡이 해소될 때까지 전송 속도를 늦추게 함으로써 혼잡에 대해 네트워크에 알립니다. RFC 3168, IP에 ECN(Explicit Congestion Notification) 추가는 ECN을 정의합니다.

ECN은 기본적으로 비활성화되어 있습니다. 다른 트래픽 유형은 다른 혼잡 알림 방법을 사용하기 때문에 일반적으로 최선의 트래픽을 처리하는 대기열에서만 ECN을 활성화합니다. 무손실 트래픽은 우선순위 기반 플로우 제어(PFC)를 사용하고 엄격 우선 순위 트래픽은 구성된 최대 속도 지점까지 필요한 모든 포트 대역폭을 수신합니다.

대기열 스케줄러 구성에서 ECN을 활성화하고, 스케줄러를 포워딩 클래스(대기열)에 매핑한 다음, 스케줄러를 인터페이스에 적용하여 개별 출력 대기열(포워딩 클래스로 표시)에서 ECN을 활성화합니다.

ECN에는 정적 ECN과 동적 ECN(D-ECN)의 두 가지 유형이 있습니다. 정적 ECN에서는 혼잡 알림을 트리거하는 임계값을 수동으로 구성해야 하며, 설정을 변경할 때까지 임계값은 동일하게 유지됩니다. 동적 ECN은 대기열 길이 및 트래픽 패턴과 같은 실시간 조건을 기반으로 임계값을 자동으로 조정합니다.

지원되는 디바이스에서는 두 ECN 버전을 동시에 디바이스에서 활성화할 수 있지만, 특정 대기열에는 한 번에 하나의 버전만 할당할 수 있습니다.

메모:

ECN이 대기열에서 작동하려면 WRED(Weighted Random Early Detection) 패킷 드롭 프로파일도 대기열에 적용해야 합니다.

ECN 작동 방식

ECN이 없으면 디바이스는 TCP/IP 패킷을 삭제하여 네트워크 혼잡에 대응합니다. 손실된 패킷은 네트워크에 혼잡이 발생하고 있다는 신호입니다. IP 네트워크의 디바이스는 혼잡을 해소할 수 있도록 패킷 전송 속도를 줄여 TCP 패킷 드롭에 대응합니다. 그러나 혼잡 알림 및 관리의 패킷 드롭 방식에는 몇 가지 단점이 있습니다. 예를 들어, 패킷은 손실되어 재전송되어야 합니다. 또한 버스트성 트래픽으로 인해 네트워크가 전송 속도를 너무 많이 줄여 대역폭 활용이 비효율적일 수 있습니다.

ECN은 네트워크 혼잡 신호를 보내기 위해 패킷을 드롭하는 대신, 패킷을 드롭하지 않고 네트워크 혼잡 신호를 보내기 위해 패킷을 표시합니다. ECN이 작동하려면 두 ECN 지원 엔드포인트 사이의 경로에 있는 모든 디바이스에 ECN이 활성화되어 있어야 합니다. ECN은 엔드포인트 간에 TCP 연결을 설정하는 동안 협상됩니다.

ECN 지원 디바이스는 대기열에 적용된 WRED 패킷 드롭 프로파일 구성을 기반으로 대기열 혼잡 상태를 결정하므로 각 ECN 지원 대기열에도 WRED 드롭 프로파일이 있어야 합니다. 대기열이 WRED 드롭 프로파일의 패킷 드롭 확률이 0보다 큰 수준까지 채워지면 디바이스가 패킷에 혼잡이 발생한 것으로 표시할 수 있습니다. 디바이스가 패킷에 혼잡이 발생한 것으로 표시하는지 여부는 해당 채우기 수준에서 대기열이 떨어질 확률과 동일합니다.

ECN은 IP 헤더의 차별화된 서비스(DiffServ) 필드에서 가장 중요하지 않은 두 비트를 표시하여 혼잡 발생 여부를 알립니다. DiffServ 필드의 최상위 6비트에는 DSCP(Differentiated Services Code Point) 비트가 포함됩니다. 두 ECN 비트의 상태는 패킷이 ECN 지원 패킷인지 여부와 혼잡이 발생했는지 여부를 나타냅니다.

ECN 지원 발신자는 패킷을 ECN 지원 패킷으로 표시합니다. 발신자가 ECN을 지원하지 않는 경우 패킷을 ECN을 지원하지 않는 것으로 표시합니다. ECN 가능 패킷이 디바이스의 송신 대기열에서 혼잡을 경험하는 경우, 디바이스는 패킷에 혼잡이 발생한 것으로 표시합니다. 패킷이 ECN 지원 수신기(대상 엔드포인트)에 도달하면 수신자는 혼잡을 나타내도록 표시된 패킷을 전송하여 발신자(소스 엔드포인트)에게 혼잡 표시기를 에코합니다.

수신기로부터 혼잡 표시기를 수신한 후 소스 엔드포인트는 전송 속도를 줄여 혼잡을 완화합니다. 이는 TCP 혼잡 알림 및 관리 결과와 유사하지만, 패킷을 드롭하여 네트워크 혼잡 신호를 보내는 대신 ECN이 패킷을 표시하고 수신자는 발신자에게 혼잡 알림을 에코합니다. 패킷이 드롭되지 않기 때문에 패킷을 재전송할 필요가 없습니다.

DiffServ 필드의 ECN 비트

DiffServ 필드에 있는 2개의 ECN 비트는 패킷이 ECT(ECN 가능 전송) 패킷으로 표시되는지 여부, 즉 전송 프로토콜의 두 엔드포인트가 모두 ECN을 지원하는지, 그리고 표 1에 표시된 것처럼 혼잡 경험(CE)이 있는지 여부를 결정하는 4개의 코드를 제공합니다.

표 1: ECN 비트 코드

ECN 비트(코드)

의미

00

Non-ECT—패킷이 ECN 지원 불가로 표시됩니다

01

ECT(1) - 전송 프로토콜의 엔드포인트는 ECN을 지원합니다

10

ECT(0) - 전송 프로토콜의 엔드포인트는 ECN을 지원합니다

11

CE—혼잡 경험

코드 01과 코드 10은 전송 프로토콜의 송수신 엔드포인트가 ECN을 지원한다는 동일한 의미를 갖습니다. 이 코드 간에는 차이가 없습니다.

엔드투엔드 ECN 동작

송신 및 수신 엔드포인트가 ECN을 협상한 후 송신 엔드포인트는 DiffServ ECN 필드를 ECT(1) (01) 또는 ECT(0) (10)로 설정하여 패킷을 ECN 지원으로 표시합니다. 엔드포인트 사이의 모든 중간 디바이스에는 ECN이 활성화되어 있어야 하며, 그렇지 않으면 ECN이 작동하지 않습니다.

패킷이 디바이스를 트래버스하고 WRED 패킷 드롭 메커니즘을 사용하는 출력 대기열에서 혼잡을 경험하면, 디바이스는 DiffServ ECN 필드를 CE(11)로 설정하여 패킷이 혼잡 경험하는 것으로 표시합니다. TCP 혼잡 알림과 같이 패킷을 드롭하는 대신 디바이스가 패킷을 전달합니다.

메모:

송신 대기열에서 WRED 알고리즘은 대기열 채우기 수준(대기열이 얼마나 꽉 찼는지)에 따라 패킷이 드롭 적격한지 여부를 결정합니다. 패킷이 드롭 적격하고 ECN 지원으로 표시된 경우 패킷은 CE로 표시되고 포워딩될 수 있습니다. 패킷이 드롭 가능하며 ECN 지원으로 표시되지 않은 경우 드롭될 수 있습니다. WRED 알고리즘에 대한 자세한 내용은 ECN 임계값의 WRED 드롭 프로파일 제어를 참조하십시오.

패킷이 수신자 엔드포인트에 도달하면 CE 마크는 수신자에게 네트워크 혼잡이 있음을 알려줍니다. 그런 다음 수신자는 네트워크에 혼잡이 있음을 나타내는 메시지를 발신자에게 보냅니다(에코). 발신자는 혼잡 알림 메시지를 인지하고 전송 속도를 낮춥니다. 그림 1 은 ECN이 네트워크 혼잡을 완화하는 방법을 요약한 것입니다.

그림 1: 명시적 혼잡 알림 Explicit Congestion Notification

엔드투엔드 ECN 동작에는 다음이 포함됩니다.

  1. ECN 가능 발신자와 수신자는 연결 설정 중에 ECN 기능을 협상합니다.

  2. ECN 기능의 성공적인 협상 후, ECN 가능 발신자는 ECT 필드가 설정된 IP 패킷을 수신자에게 보냅니다.

    메모:

    송신자와 수신자 사이의 경로에 있는 모든 중간 디바이스에서 ECN을 활성화해야 합니다.

  3. 디바이스 송신 대기열의 WRED 알고리즘이 대기열에 혼잡이 발생하고 패킷이 드롭 적격하다고 판단하는 경우, 디바이스는 패킷을 "혼잡 경험"(CE)으로 표시하여 수신기에 네트워크에 혼잡이 있음을 나타낼 수 있습니다. 패킷이 이미 CE 마킹된 경우(다른 디바이스 송신 시 혼잡이 이미 발생한 경우) 디바이스는 CE 마크가 있는 패킷을 전달합니다.

    송신 대기열에 혼잡이 없는 경우, 디바이스는 패킷을 전달하고 ECN 비트의 ECT 지원 표시를 변경하지 않으므로 패킷은 여전히 ECN 지원으로 표시되지만 혼잡이 발생하지 않는 것으로 표시됩니다.

  4. 수신자는 혼잡 경로를 따라 혼잡이 발생했음을 나타내기 위해 CE라고 표시된 패킷을 수신합니다.

  5. 수신자는 TCP 헤더의 플래그 필드에 표시된 ECE 비트(비트 9)를 사용하여 패킷을 발신자에게 다시 에코(전송)합니다. ECE 비트는 ECN 에코 플래그 비트로, 발신자에게 네트워크에 혼잡이 있음을 알립니다.

  6. 발신자는 데이터 전송 속도를 줄이고 TCP 헤더의 플래그 필드에 CWR 비트(비트 8)가 표시된 패킷을 수신자에게 보냅니다. CWR 비트는 혼잡 경험 알림이 수신되었음을 수신자에게 인정하는 혼잡 창 감소 플래그 비트입니다.

  7. 수신자가 CWR 플래그를 수신하면 수신자는 발신자에 대한 응답에서 ECE 비트 설정을 중단합니다.

표 2 에는 ECN 지원 대기열의 트래픽 동작이 요약되어 있습니다.

표 2: ECN 지원 대기열의 트래픽 동작

ECN 비트의 수신 IP 패킷 마킹

출력 대기열의 ECN 구성

WRED 알고리즘이 패킷이 삭제 가능하다고 판단하는 경우 작업

ECN 비트의 발신 패킷 마킹

비ECT (00)

상관 없다

방울.

표시된 ECN 비트가 없습니다.

ECT(10 또는 01)

ECN 비활성화

방울

패킷 삭제됨—표시된 ECN 비트가 없음

ECT(10 또는 01)

ECN 활성화

떨어뜨리지 마십시오. 패킷을 혼잡이 발생한 것으로 표시합니다(CE, 비트 11).

혼잡을 나타내기 위해 ECT(11)로 표시된 패킷

CE (11)

ECN 비활성화

방울

패킷 삭제됨—표시된 ECN 비트가 없음

CE (11)

ECN 활성화

떨어뜨리지 마십시오. 패킷이 이미 혼잡을 겪고 있는 것으로 표시되어 ECN 표시를 변경하지 않고 패킷을 전달합니다.

혼잡을 나타내기 위해 ECT(11)로 표시된 패킷

대기열에 매핑된 WRED 드롭 프로파일에 정의된 대로 출력 대기열이 혼잡을 경험하지 않으면 모든 패킷이 전달되고 패킷이 손실되지 않습니다.

PFC 및 이더넷 일시 중지와 ECN 비교

ECN은 IP 트래픽을 위한 엔드투엔드 네트워크 혼잡 알림 메커니즘입니다. 우선순위 기반 플로우 제어(PFC)(IEEE 802.1Qbb) 및 이더넷 일시 중지(IEEE 802.3X)는 서로 다른 유형의 혼잡 관리 메커니즘입니다.

ECN에서는 출력 대기열에도 연관된 WRED 패킷 드롭 프로파일이 있어야 합니다. PFC가 활성화된 트래픽에 사용되는 출력 대기열에는 연관된 WRED 드롭 프로파일이 없어야 합니다. 이더넷 일시 중지가 활성화된 인터페이스에는 연관된 WRED 드롭 프로파일이 없어야 합니다.

PFC는 무손실 트래픽을 지원하는 피어 투 피어 플로우 제어 메커니즘입니다. PFC를 사용하면 혼잡 기간 동안 연결된 피어 디바이스가 플로우 전송을 일시 중지할 수 있습니다. PFC를 사용하면 링크의 모든 트래픽 대신 링크의 지정된 플로우 유형에서 트래픽을 일시 중지할 수 있습니다. 예를 들어, 포워딩 클래스와 같은 무손실 트래픽 클래스에서 PFC를 fcoe 활성화할 수 있습니다(활성화해야 합니다). 이더넷 PAUSE는 피어 투 피어 플로우 제어 메커니즘이기도 하지만, 이더넷 일시 중지는 지정된 트래픽 흐름만 일시 중지하는 대신 물리적 링크의 모든 트래픽을 일시 중지합니다.

PFC 및 이더넷 PAUSE를 사용하면 플로우의 송수신 엔드포인트가 중간 디바이스 간에 혼잡 정보를 서로 통신하지 않습니다. 대신 PFC는 DCB(Data Center Bridging) 표준을 지원하는 두 PFC 지원 피어 디바이스(예: 디바이스) 간의 흐름을 제어합니다. PFC는 플로우 출력 대기열이 혼잡해질 때 연결된 피어에 일시 중지 메시지를 보내는 방식으로 작동합니다. Ethernet PAUSE는 혼잡 기간 동안 링크의 모든 트래픽을 일시 중지하는 것으로, DCB가 필요하지 않습니다.

PFC는 다음과 같은 방식으로 작동합니다. 디바이스 출력 대기열이 특정 임계값까지 채워지면 디바이스는 데이터를 전송하는 연결된 피어 디바이스에 PFC 일시 중지 메시지를 보냅니다. pause 메시지는 전송 디바이스에 flow 전송을 일시 중지하도록 지시합니다. 혼잡이 해소되면 디바이스는 또 다른 PFC 메시지를 전송하여 연결된 피어에 전송을 재개하도록 지시합니다. (전송 디바이스의 출력 대기열도 특정 임계값에 도달하면 해당 디바이스는 전송 중인 연결된 피어에 PFC 일시 중지 메시지를 보낼 수 있습니다. 이러한 방식으로 PFC는 네트워크를 통해 전송 일시 중지를 다시 전파할 수 있습니다.)

자세한 내용은 CoS 플로우 제어(이더넷 일시 중지 및 PFC) 이해를 참조하십시오. 레이어 3 인터페이스에서 PFC 기능 이해를 참조할 수도 있습니다.

ECN 임계값의 WRED 드롭 프로파일 제어

WRED 드롭 프로파일을 포워딩 클래스(출력 대기열에 매핑됨)에 적용하여 디바이스가 ECN 지원 패킷을 표시하는 방법을 제어합니다. 스케줄러 맵은 드롭 프로필을 스케줄러 및 포워딩 클래스와 연결한 다음 스케줄러 맵을 인터페이스에 적용하여 해당 인터페이스에서 포워딩 클래스에 대한 스케줄링 속성을 구현합니다.

드롭 프로파일은 대기열 채우기 수준(대기열 충만률 비율)과 드롭 확률(패킷이 드롭될 확률 비율) 쌍을 정의합니다. 대기열이 지정된 수준으로 채워지면 드롭 프로파일과 일치하는 트래픽은 해당 채우기 수준과 짝을 이루는 드롭 확률을 갖습니다. 드롭 프로필을 구성할 때, 채우기 수준과 드롭 확률 쌍을 구성하여 서로 다른 수준의 대기열 충만도에서 패킷이 드롭되는 방식을 제어합니다.

첫 번째 채우기 수준과 놓기 확률 쌍은 놓기 시작점입니다. 대기열이 첫 번째 채우기 수준에 도달할 때까지 패킷은 삭제되지 않습니다. 대기열이 첫 번째 채우기 수준에 도달하면 채우기 수준을 초과하는 패킷은 채우기 수준과 짝을 이루는 삭제 확률과 동일한 삭제 확률이 있습니다.

마지막 채우기 수준과 놓기 확률 쌍은 놓기 끝점입니다. 대기열이 마지막 채우기 수준에 도달하면, ECN에 대해 구성되지 않는 한 모든 패킷이 삭제됩니다.

메모:

무손실 대기열(패킷 드롭 속성으로 no-loss 구성된 포워딩 클래스) 및 strict-high 우선 순위 대기열은 드롭 프로파일을 사용하지 않습니다. 무손실 큐는 PFC를 사용하여 트래픽 흐름을 제어합니다. 엄격한 우선 순위 대기열은 구성된 최대 대역폭 제한까지 필요한 모든 포트 대역폭을 수신합니다.

장치마다 드롭 프로파일에서 서로 다른 양의 충전 레벨/드롭 확률 쌍을 지원합니다.

메모:

마지막 채우기 레벨을 100%로 구성하지 마십시오.

드롭 프로파일 구성은 다음과 같이 ECN 패킷에 영향을 미칩니다.

  • 드롭 시작점 - ECN 가능 패킷은 혼잡 경험(CE)으로 표시될 수 있습니다.

  • 드롭 엔드포인트—ECN 지원 패킷은 항상 CE로 표시됩니다.

대기열이 드롭 시작 지점에서 드롭 종료 지점으로 채워지므로, 드롭 프로파일을 best-effort 트래픽에 적용하는 경우 ECN 패킷이 CE로 표시될 확률은 비 ECN 패킷이 드롭될 확률과 동일합니다. 대기열이 채워지면 ECN 패킷이 CE로 표시될 확률이 증가합니다. 이는 삭제 프로파일을 best-effort 트래픽에 적용할 때 비 ECN 패킷이 삭제될 확률이 증가하는 것과 같습니다.

드롭 엔드 포인트에서 모든 ECN 패킷은 CE로 표시되지만 ECN 패킷은 드롭되지 않습니다. 대기열 채우기 레벨이 드롭 엔드포인트를 초과하면 모든 ECN 패킷이 CE로 표시됩니다. 이 시점에서 모든 비 ECN 패킷은 삭제됩니다. 대기열이 완전히 꽉 차면 ECN 패킷(및 다른 모든 패킷)이 tail-drop됩니다.

WRED 패킷 드롭 프로파일을 구성하고 이를 출력 대기열에 적용하려면(ETS를 지원하는 디바이스에서 계층 스케줄링 사용):

  1. 문을 set class-of-service drop-profiles profile-name interpolate fill-level drop-start-point fill-level drop-end-point drop-probability 0 drop-probability percentage사용하여 드롭 프로파일을 구성합니다.

  2. 문을 set class-of-service schedulers scheduler-name drop-profile-map loss-priority (low | medium-high | high) protocol any drop-profile profile-name사용하여 드롭 프로필을 대기열 스케줄러에 매핑합니다. 드롭 프로파일의 이름은 1단계에서 구성한 WRED 프로파일의 이름입니다.

  3. 2단계에서 드롭 프로파일과 연결하는 스케줄러를 문을 set class-of-service scheduler-maps map-name forwarding-class forwarding-class-name scheduler scheduler-name사용하여 출력 대기열에 매핑합니다. 포워딩 클래스는 출력 대기열을 식별합니다. 포워딩 클래스는 기본적으로 출력 대기열에 매핑되며 명시적 사용자 구성에 의해 다른 대기열에 다시 매핑될 수 있습니다. 스케줄러 이름은 2단계에서 구성한 스케줄러입니다.

  4. 문을 set class-of-service traffic-control-profiles tcp-name scheduler-map map-name사용하여 스케줄러 맵을 트래픽 제어 프로필과 연결합니다. 스케줄러 맵 이름은 3단계에서 구성된 이름입니다.

  5. 문을 set class-of-service interface interface-name forwarding-class-set forwarding-class-set-name output-traffic-control-profile tcp-name사용하여 트래픽 제어 프로필을 인터페이스와 연결합니다. 출력 트래픽 제어 프로필 이름은 4단계에서 구성한 트래픽 제어 프로필의 이름입니다.

    인터페이스는 트래픽 제어 프로필의 스케줄러 맵을 사용하여 드롭 프로필(및 enable ECN 속성을 포함한 기타 속성)을 해당 인터페이스의 출력 대기열(포워딩 클래스)에 적용합니다. 서로 다른 트래픽 제어 프로필을 사용하여 서로 다른 스케줄러를 서로 다른 인터페이스에 매핑할 수 있기 때문에, 서로 다른 인터페이스에서 동일한 대기열 번호가 서로 다른 방식으로 트래픽을 처리할 수 있습니다.

WRED 패킷 드롭 프로파일을 구성하고 포트 스케줄링을 지원하는 디바이스의 출력 대기열에 적용할 수 있습니다(ETS 계층적 스케줄링은 지원되지 않거나 사용되지 않음). WRED 패킷 드롭 프로파일을 구성하고 포트 스케줄링을 지원하는 디바이스의 출력 대기열에 적용하려면(ETS 계층적 스케줄링은 지원되지 않거나 사용되지 않음):

  1. 문을 set class-of-service drop-profiles profile-name interpolate fill-level level1 level2 ... level32 drop-probability probability1 probability2 ... probability32사용하여 드롭 프로파일을 구성합니다. 충전 수준/드롭 확률 쌍을 최소 2개 또는 최대 32쌍까지 지정할 수 있습니다.

  2. 문을 set class-of-service schedulers scheduler-name drop-profile-map loss-priority (low | medium-high | high) drop-profile profile-name사용하여 드롭 프로필을 대기열 스케줄러에 매핑합니다. 드롭 프로파일의 이름은 1단계에서 구성한 WRED 프로파일의 이름입니다.

  3. 2단계에서 드롭 프로파일과 연결하는 스케줄러를 문을 set class-of-service scheduler-maps map-name forwarding-class forwarding-class-name scheduler scheduler-name사용하여 출력 대기열에 매핑합니다. 포워딩 클래스는 출력 대기열을 식별합니다. 포워딩 클래스는 기본적으로 출력 대기열에 매핑되며 명시적 사용자 구성에 의해 다른 대기열에 다시 매핑될 수 있습니다. 스케줄러 이름은 2단계에서 구성한 스케줄러입니다.

  4. 문을 set class-of-service interfaces interface-name scheduler-map scheduler-map-name사용하여 스케줄러 맵을 인터페이스와 연결합니다.

    인터페이스는 스케줄러 맵을 사용하여 드롭 프로필(및 기타 속성)을 해당 인터페이스의 포워딩 클래스에 매핑된 출력 대기열에 적용합니다. 서로 다른 인터페이스에서 서로 다른 스케줄러 맵을 사용할 수 있기 때문에, 서로 다른 인터페이스에서 동일한 대기열 번호가 서로 다른 방식으로 트래픽을 처리할 수 있습니다.

동적 ECN

동적 ECN은 혼잡 알림 이벤트를 트리거하는 임계값을 자동화하는 방법을 제공하여 ECN 기능 세트를 향상시킵니다. Junos OS Evolved는 대기열 길이, 트래픽 패턴 같은 실시간 조건을 모니터링하여 임계값 조정 여부를 평가합니다. 그 결과 정적 ECN보다 혼잡 이벤트에 더 빠르게 응답하고 혼잡 제어 효율성을 향상시킵니다.

D-ECN은 정적 ECN보다 구현하기가 더 어려우며 적극적인 모니터링이 필요합니다. 네트워크 조건과 구성을 평가하여 D-ECN이 네트워크에 가장 적합한지 결정해야 합니다.

기능 탐색기를 확인하여 디바이스가 D-ECN을 지원하는지 확인할 수 있습니다.

지원, 제한 사항 및 참고 사항

대기열에 매핑된 WRED 알고리즘이 적격한 패킷 드롭을 찾지 못하면 ECN 구성 및 ECN 비트 표시는 중요하지 않습니다. 패킷 전송 동작은 ECN이 활성화되지 않은 경우와 동일합니다.

ECN은 기본적으로 비활성화되어 있습니다. 일반적으로 최선형 트래픽을 처리하는 대기열에서만 ECN을 활성화하고, 무손실 트래픽 또는 strict-high 우선 순위 트래픽을 처리하는 대기열에서는 ECN을 활성화하지 않습니다.

ECN은 다음을 지원합니다.

  • IPv4 및 IPv6 패킷

  • 태그 처리되지 않은 패킷, 단일 태그 처리된 패킷, 이중 태그 처리된 패킷

  • IP 터널링된 패킷의 외부 IP 헤더(내부 IP 헤더 제외)

ECN은 다음을 지원하지 않습니다.

  • MPLS 캡슐화를 사용하는 IP 패킷

  • IP 터널링된 패킷의 내부 IP 헤더(그러나 ECN은 외부 IP 헤더에서 작동함)

  • 멀티캐스트, 브로드캐스트 및 대상 조회 실패(DLF) 트래픽

  • 비 IP 트래픽

메모:

비-ECT 트래픽에 WRED 드롭 프로파일을 적용하려면, ECN이 활성화되지 않은 다른 출력 대기열에 비 ECT 트래픽을 할당하도록 다중 필드(MF) 분류기를 구성한 다음 해당 대기열에 WRED 드롭 프로파일을 적용합니다.

플랫폼별 동작

기능 탐색기를 사용하여 ECN에 대한 플랫폼 및 릴리스 지원을 확인합니다.

다음 표를 사용하여 이 기능에 대한 플랫폼별 동작을 검토합니다.

플랫폼

다름

PTX10001-36MR, PTX10004, PTX10008, PTX10016

스케줄러에 대한 버퍼 속도와 낮은 백분율 드롭 프로파일을 정의하여 낮은 임계값 ECN(버퍼가 채워지기 시작하자마자 ECN 마킹 시작)을 구현할 수 있습니다.

버퍼 속도는 버퍼 크기 계산을 위한 기본 속도 역할을 합니다. 버퍼 속도는 VOQ의 목표 속도이며, 이는 일반적인 혼잡 시 의도된 송신 대기열 속도입니다. 계층 수준에서 을(를 buffer-rate [edit class-of-service schedulers scheduler-name] ) 설정합니다.

또한 드롭 프로파일에 대해 더 세분화된(10분의 1%) 및 더 작은 채우기 수준 비율을 정의할 수 있습니다. 즉, 채우기 수준을 0.7%로 낮게 설정할 수 있습니다.

메모:

PTX 라우터는 정적 ECN만 지원합니다.

QFX5000 시리즈

QFX5K 플랫폼에서 ECN 기능은 WRED 임계값과 긴밀하게 통합됩니다. WRED 임계값은 정적이므로 ECN은 버퍼 임계값의 정적 계산을 기반으로 작동합니다. 그러나 큐의 실제 공유 버퍼 사용량은 동적입니다. 다음은 ECN 구성 시 ECN 마킹 임계값 계산에 사용되는 공식입니다.

  • max buffer access eligibility for ECN enabled queue = (( shared pool size * hardware_alpha)/(1 + hardware_alpha)) + egress queue dedicated buffer

  • ECN marking start threshold = WRED start fill level percent * Max buffer access eligibility for ECN enabled queue

  • ECN 100% marking threshold = WRED end fill level percent * Max buffer access eligibility for ECN enabled queue

ECN 가능 패킷이 혼잡하는 동안, 에 도달한 후에 ECN marking start threshold ECN CE 마킹이 시작됩니다. ECN 가능 패킷은 이 도달할 때까지 ECN 100% marking threshold 확률적으로 ECN CE 마크가 있습니다. 이 임계값 이후에는 대기열이 도달할 max buffer access eligibility for ECN enabled queue때까지 모든 ECN 가능 패킷이 ECN CE 마크됩니다. 이 임계값 이후에는 테일 드롭이 발생합니다.

위의 계산 max buffer access eligibility for ECN enabled queue에서는 단일 큐만 공유 버퍼 공간을 놓고 경쟁하는 최상의 시나리오가 가정됩니다. 그러나 혼잡한 대기열에 대한 실제 공유 버퍼 사용은 특정 시점의 공유 버퍼에 대한 경쟁 대기열 수에 따라 동적으로 감소할 수 있습니다. 다음은 를 계산 actual dynamic max buffer usage per queue하는 공식입니다.

  • actual max buffer usage for ECN enabled queue = (shared pool size * hw_alpha) / (1 + (hw_alpha * number of competing queues)) + egress queue dedicated buffer + ingress Pg dedicated buffer by the traffic flow

계산에 actual dynamic max buffer usage per queue 사용되는 두 개의 파라미터 number of competing queuesingress Pg dedicated buffer by the traffic flow은(는) 본질적으로 동적이므로 ECN 임계값을 계산하는 동안 이 두 파라미터를 고려할 수 없습니다. 이로 인해 ECN 지원 대기열의 실제 최대 버퍼 사용량이 계산된 정적 ECN 표시 임계값보다 낮을 수 있습니다.

따라서 특정 공유 버퍼 및 WRED 채우기 수준 컨피그레이션에서는 ECN 활성화 손실 대기열에서 ECN 마킹 전에도 공유 버퍼 소모가 발생하여 패킷 테일 드롭이 발생할 가능성이 있습니다. 무손실 큐의 경우, 위와 같은 제한으로 인해 PFC XOFF 임계값은 정적 ECN 임계값과 달리 동적이므로, PFC는 ECN 마킹 전에 수신 포트에서 시작할 수 있습니다. 혼잡한 큐의 피크 버퍼 사용량을 모니터링하고 그에 따라 ECN/WRED 임계값을 미세 조정하여 적절한 ECN 표시 임계값을 결정할 수 있습니다.

QFX10000 시리즈

  • QFX10000 스위치에서 ECN에 대한 대기열을 활성화하고 WRED 드롭 프로파일을 대기열에 적용하면 WRED 드롭 프로파일은 ECN 트래픽을 혼잡이 발생하는 것으로 표시하기 위한 임계값만 설정합니다(CE, 11). ECN 지원 대기열에서 WRED 드롭 프로파일은 비 ECT(00) 트래픽(ECN을 지원하지 않는 트래픽)에 대한 드롭 임계값을 설정하지 않습니다. 대신 스위치는 혼잡 기간 동안 ECN 지원 대기열에서 non-ECT로 표시된 트래픽에 테일 드롭(tail-drop) 알고리즘을 사용합니다.