서비스 품질(QoS)
요약 이 주제를 읽고 L2 모드로 구축된 주니퍼 클라우드 네이티브 라우터의 QoS(Quality of Service) 기능에 대해 알아보십시오.
주니퍼 클라우드 네이티브 라우터 릴리스 22.4부터 분류, 마킹, 큐잉을 포함한 QoS(Quality of Service) 매개 변수를 구성할 수 있습니다. 클라우드 네이티브 라우터는 vRouter에서 분류 및 표시 작업을 수행하고 물리적 NIC(네트워크 인터페이스 카드)에서 큐잉(스케줄링) 작업을 수행합니다. 스케줄링은 E810 NIC에서만 지원됩니다.
QoS 개요
구축 시간 전에 Juniper-Cloud-Native-Router-version-number/helmchart 디렉토리에서 파일을 편집 values.yaml
하고 값을 로 변경하여 QoS를 qosEnable
활성화할 수 있습니다true
. QoS 기능의 기본값은 (사용 안 함)입니다 false
. 예를 들어:
# Set true/false to Enable or Disable QOS, note: QOS is not supported on X710 NIC. qosEnable: true
클라우드 네이티브 라우터를 설치하는 호스트 서버에 lldp를 실행하는 Intel E810 NIC가 포함된 경우에만 QoS 기능을 활성화할 수 있습니다.
호스트 서버에서 CLI 애플리케이션으로 실행되는 을(를) 사용하여 lldptool
NIC에서 lldp를 사용하도록 설정합니다. 다음 명령을 실행하여 E810 NIC에서 lldp를 활성화합니다. 예를 들어 다음 명령을 사용할 수 있습니다.
lldptool -T -i INTERFACE -V ETS-CFG willing=no tsa=0:strict,1:strict,2:strict,3:strict,4:strict, 5:strict,6:strict,7:strict up2tc=0:0,1:1,2:2,3:3,4:0,5:1,6:2,7:3
위 명령의 세부 사항은 다음과 같습니다.
-
ETS–향상된 변속기 선택
-
willing–willing 속성은 시스템이 로컬에서 구성된 패킷 전달 분류(PFC)를 사용하는지 여부를 결정합니다. (기본 설정)으로
no
설정하면willing
클라우드 네이티브 라우터가 로컬 PFC 구성을 적용합니다. 기꺼이 yes로 설정하고 클라우드 네이티브 라우터가 피어 라우터로부터 TLV를 수신하면 클라우드 네이티브 라우터는 수신된 값을 적용합니다. -
tsa–전송 선택 알고리즘은 선택 알고리즘 맵에 대한 트래픽 클래스의 쉼표로 구분된 목록입니다. ,
strict
, 또는vendor
를 선택 알고리즘으로 선택할ets
수 있습니다. -
up2tc–사용자 우선순위를 트래픽 클래스에 매핑하는 쉼표로 구분된 목록
아래 목록은 클라우드 네이티브 라우터에서 수행하는 분류, 표시 및 대기열 작업에 대한 개요를 제공합니다.
-
분류:
-
vRouter는 패킷의 우선 순위 비트를 검사하여 패킷을 분류합니다
-
vRouter는 트래픽 클래스 및 손실 우선순위를 도출합니다.
-
vRouter는 패브릭, 트래픽 및 워크로드 인터페이스 유형에 트래픽 분류자를 적용할 수 있습니다
-
vRouter는 분류자 맵에 16개의 항목을 유지합니다
-
-
마킹 (다시 쓰기) :
-
vRouter가 마킹 작업을 수행합니다.
-
vRouter는 송신 경로에서 p-bit의 재작성을 수행합니다
-
vRouter는 송신 시 트래픽 클래스 및 드롭 우선 순위를 기반으로 새로운 트래픽 우선 순위를 도출합니다.
-
vRouter는 패브릭 인터페이스에서만 패킷에 표시를 적용할 수 있습니다
-
vRouter는 마킹 맵에 8개의 항목을 유지합니다.
-
-
큐잉(예약):
-
클라우드 네이티브 라우터는 하드웨어에서 엄격한 우선 순위 스케줄링을 수행합니다(E810 NIC).
-
클라우드 네이티브 라우터는 각 트래픽 클래스를 하나의 대기열에 매핑합니다.
-
클라우드 네이티브 라우터는 트래픽 대기열의 최대 수를 4개로 제한합니다.
-
클라우드 네이티브 라우터는 8개의 가능한 우선 순위를 4개의 트래픽 클래스에 매핑합니다. 또한 각 트래픽 클래스 1 하드웨어 대기열을 매핑합니다
-
클라우드 네이티브 라우터는 패브릭 인터페이스에만 스케줄링을 적용할 수 있습니다.
-
가상 기능(VF)은 물리적 기능(인터페이스)에서 구성한 대기열을 활용합니다
-
vRouter는 스케줄러 맵에 8개의 항목을 유지합니다
-
구성 예시
Junos set 명령을 사용하거나 NETCONF를 사용하여 원격으로 cRPD에서 QoS 분류자, 재작성 규칙 및 스케줄러를 구성합니다. 아래에는 Junos 기반 구성의 예가 나와 있습니다.
set class-of-service classifiers ieee-802.1 class1 forwarding-class assured-forwarding loss-priority high code-points 011 set class-of-service rewrite-rules ieee-802.1 Rule_1 forwarding-class assured-forwarding loss-priority high code-point 110 set class-of-service schedulers sch1 priority high set class-of-service scheduler-maps sch1 forwarding-class assured-forwarding scheduler sch1 set class-of-service interfaces enp175s1 scheduler-map sch1 set class-of-service interfaces enp175s1 unit 0 rewrite-rules ieee-802.1 Rule_1 set class-of-service interfaces vhostnet123-3546aefd-7af8-4fe5 unit 0 classifiers ieee-802.1 class1
cRPD CLI에 액세스하여 QoS 구성을 확인합니다. Junos 운영 모드에서 show 명령을 사용합니다. show 명령은 분류자, 규칙 재작성 또는 스케줄러 맵의 구성을 개별적으로 표시합니다. 예를 들어:
분류자user@jcnr-01> show class-of-service classifier Classifier: class1, Code point type: ieee802.1p Code point Forwarding class Loss priority 011 assured-forwarding high
다시 쓰기 규칙 표시
user@jcnr-01> show class-of-service rewrite-rule Rewrite rule: Rule_1, Code point type: ieee802.1p Forwarding class Loss priority Code point assured-forwarding high 110
스케줄러 맵 표시
show class-of-service scheduler-map sch1 Scheduler map: sch1 Scheduler: sch1, Forwarding class: assured-forwarding Transmit rate: unspecified, Rate Limit: none, Priority: high
show class-of-service interface vhostnet123-5a1e3079-d45e-4ab5 Physical interface: vhostnet123-5a1e3079-d45e-4ab5 Maximum usable queues: 4, Queues in use: 4 Logical interface: vhostnet123-5a1e3079-d45e-4ab5.0 Object Name Type Classifier class1 ieee802.1p
show class-of-service interface enp175s1 Physical interface: enp175s1 Maximum usable queues: 4, Queues in use: 4 Scheduler map: sch1 Logical interface: enp175s1.0 Object Name Type Rewrite-Output Rule_1 ieee802.1p
문제 해결
vRouter 셸에 액세스하여 QoS 구성 문제를 해결할 수 있습니다. purel2cli 명령을 사용하고 인터페이스 맵핑을 확인합니다.
디스플레이 분류자 구성
purel2cli --qos cla class1 Classifer name: class1 Classifier Index: 0 =============================================== code-points loss priority forwarding-class =============================================== 000 low best-effort 001 low best-effort 010 low best-effort 011 high assured-forwarding 100 low best-effort 101 low best-effort 110 low best-effort 111 low best-effort
vif0/2 PMD: vhostnet123-3546aefd-7af8-4fe5 Type:Virtual HWaddr:aa:bb:cc:dd:ee:12 Vrf:0 Flags:L2Mon QOS:-1 Ref:13 RX port packets:20 errors:0 RX queue packets:20 errors:0 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Vlan Mode: Trunk Vlan: 100 200 300 Qos classifier: class1 RX packets:20 bytes:1200 errors:0 TX packets:0 bytes:0 errors:0 Drops:40
purel2cli --qos rw Rule_1 Re-Write name: Rule_1 Re-write Index: 0 =========================================loss priority Forwarding-class re-write prio ========================================= low best-effort n/a low expedited-forwarding n/a low assured-forwarding n/a low network-control n/a high best-effort n/a high expedited-forwarding n/a high assured-forwarding 110 high network-control n/a
vif0/1 PCI: 0000:af:01.0 (Speed 10000, Duplex 1) Type:Physical HWaddr:46:d5:f3:fc:fc:92 Vrf:0 Flags:L2Vof QOS:-1 Ref:42 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Fabric Interface: 0000:af:01.0 Status: UP Driver: net_iavf Vlan Mode: Trunk Vlan: 100 200 300 700-705 2001 Rewrite: Rule_1 Scheduler: sch1 RX packets:0 bytes:0 errors:0 TX packets:20 bytes:1200 errors:0 Drops:0 TX port packets:20 errors:0
purel2cli --qos sch sch1 Scheduler name: sch1 Scheduler Index: 0 ===================================== forwarding-class priority_map ===================================== best-effort 0 expedited-forwarding 0 assured-forwarding 2 network-control 0
vif0/1 PCI: 0000:af:01.0 (Speed 10000, Duplex 1) Type:Physical HWaddr:46:d5:f3:fc:fc:92 Vrf:0 Flags:L2Vof QOS:-1 Ref:42 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Fabric Interface: 0000:af:01.0 Status: UP Driver: net_iavf Vlan Mode: Trunk Vlan: 100 200 300 700-705 2001 Rewrite: Rule_1 Scheduler: sch1 RX packets:0 bytes:0 errors:0 TX packets:20 bytes:1200 errors:0 Drops:0 TX port packets:20 errors:0