본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 UADP ASIC 기반 Catalyst 9000 시리즈 플랫폼의 고속 인터페이스에서 발생하는 출력 저하를 해결하는 방법에 대해 설명합니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
참고: 다른 Cisco 플랫폼에서 이러한 기능을 활성화하는 데 사용되는 명령은 해당 설정 가이드를 참조하십시오.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
고속 인터페이스의 출력 감소는 모든 네트워크 환경에서 발생할 수 있는 문제이며, 특히 10Gbps 이상의 데이터 전송 속도를 지원하는 인터페이스를 다룰 때 특히 그렇습니다. 패킷이 네트워크로 전송되기 전에 인터페이스에 의해 삭제될 경우 출력 삭제가 발생합니다.
낮은 사용률에서 출력 저하가 발생할 때 인터페이스 사용률을 해석하는 방법을 잘못 이해하는 경우가 많습니다.
그러나 대부분의 경우 출력 삭제는 포트 버퍼를 소진한 마이크로버스트 트래픽으로 인해 발생합니다.
네트워크 트래픽은 링크의 평균 사용률로 측정되는 경우가 많습니다(컨피그레이션에 따라 30초~5분 동안 측정). 이 평균은 안정적이고 비교적 균일한 흐름을 보이지만, 밀리초 단위의 인터페이스 사용률을 보면 매우 과부하 상태인 경우가 많습니다.
그림 1. 고속 인터페이스에서 출력이 삭제되는 근본적인 원인을 시각적으로 표시합니다.
인터페이스 "속도/대역폭"은 둘 다 다소 잘못된 이름입니다.
"속도" 차이는 미디어(빛/전자)가 더 빠르게 진행하는 것과 비교하여 시간 간격당 레인 수/펄스 수, 인코딩 메커니즘 등의 인터리빙 기능입니다.
팁: 인터페이스 컨피그레이션 모드에서 load-interval <30-600> 명령을 사용하여 로드 간격 지연을 초 단위로 수정합니다. (로드 간격은 스위치가 인터페이스 카운터를 폴링하는 빈도를 나타냅니다.)
고속 인터페이스의 출력 삭제 문제를 해결하는 것은 복잡한 프로세스일 수 있지만, 다음은 이 문제를 식별하고 해결하는 데 도움이 될 수 있는 몇 가지 일반적인 단계입니다.
영향을 받는 인터페이스를 식별합니다.
인바운드 및 아웃바운드 인터페이스 식별:
버퍼 할당 확인:
Wireshark로 마이크로버트를 확인합니다.
하드웨어 업그레이드를 고려하십시오.
출력 삭제를 경험하는 영향을 받는 인터페이스를 식별하려면 show interfaces 명령을 사용합니다.
인터페이스 목록을 좁히고 영향을 받는 인터페이스를 빠르게 식별하려면 show interfaces를 사용합니다 | include is up|Total output drops 명령을 사용하여 인터페이스를 아래로 필터링하거나 admin down으로 필터링하고 활성 상태이고 드랍이 있는 인터페이스만 표시합니다.
Cat9k(config)#show interfaces | in is up|Total output drops
HundredGigE1/0/1 is up, line protocol is up (connected)
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 54845
HundredGigE1/0/10 is up, line protocol is up (connected)
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 1540231
--snip--
팁: show interfaces 명령을 사용하고 적절한 기준으로 출력을 필터링하여 영향을 받는 인터페이스를 쉽고 빠르게 식별할 수 있습니다. 문제를 해결하는 데 필요한 단계를 수행합니다.
기본적으로 Catalyst 9000 Series 스위치에서 이그레스 패킷 삭제는 패킷 대신 바이트로 표시됩니다. 발견된 출력 감소량이 실제 영향을 미쳤는지 아니면 일시적인 버스트 트래픽에 의해 발생한 것인지 확인하는 것이 중요합니다.
삭제된 인터페이스에서 전송된 총 출력 바이트의 백분율을 계산하려면
이는 인터페이스에서 삭제된 출력 바이트의 백분율을 제공하며, 이를 통해 해결해야 하는 혼잡 또는 버퍼 할당 문제가 있는지 또는 출력 삭제가 일시적인 마이크로버스 트래픽으로 인해 발생했는지 여부를 확인할 수 있습니다.
정보를 수집하려면 showinterface <interface> 명령을 사용합니다.
Cat9k#show interfaces twentyFiveGigE 1/0/41 TwentyFiveGigE1/0/41 is up, line protocol is up (connected) Hardware is Twenty Five Gigabit Ethernet, address is dc77.4c8a.4289 (bia dc77.4c8a.4289) MTU 1500 bytes, BW 25000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 3/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 10Gb/s, link type is auto, media type is SFP-10GBase-AOC1M input flow-control is on, output flow-control is off ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:06, output 00:00:10, output hang never Last clearing of "show interface" counters 6w1d Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 299040207 Queueing strategy: Class-based queueing Output queue: 0/40 (size/max) 30 second input rate 767000 bits/sec, 155 packets/sec 30 second output rate 14603000 bits/sec, 1819 packets/sec 931864194 packets input, 572335285416 bytes, 0 no buffer Received 933005 broadcasts (933005 multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 0 multicast, 0 pause input 0 input packets with dribble condition detected 1067891106 packets output, 5930422327799 bytes, 0 underruns
--snip--
총 출력 삭제 수: 299040207
총 출력 바이트 수: 5930422327799
출력 감소율 = 299040207/5930422327799 x 100 = 0.005%
이 예에서 총 출력 삭제는 지난 6주 동안 이 인터페이스에서 전송된 총 바이트 수의 0.005%를 나타냅니다(카운터 6w1d의 마지막 지우기).
Catalyst 9000 Series 스위치에서 소프트 버퍼를 더 잘 할당하고 트래픽을 관리하려면 서로 다른 ASIC에서 인바운드 및 아웃바운드 인터페이스를 선택하는 것을 고려해 보십시오.
동적 버퍼 또는 공유 버퍼라고도 하는 소프트 버퍼는 혼잡 또는 높은 트래픽 로드 기간에 패킷을 임시로 저장하기 위해 동적으로 할당되는 메모리의 일부를 나타냅니다.
팁: Catalyst 9000 Series 스위치의 버퍼 할당에 대한 자세한 내용은 Catalyst 9000 스위치의 대기열 버퍼 할당 이해 문서를 참조하십시오.
특정 Catalyst 9000 스위치 모델의 아키텍처에 따라 다양한 기능을 담당하는 여러 ASIC를 통합하는 경우가 많습니다.
ASIC 매핑에 대한 인터페이스를 확인하려면 show platform software fed <switch|active> ifm mappings 명령을 실행합니다.
이 예에서는 ASIC 매핑에 대한 인터페이스를 보여 줍니다. 인터페이스 범위 TenGigabitEthernet1/0/1~TenGigabitEthernet1/0/24는 ASIC 1에 매핑되고 나머지는 ASIC 0에 매핑됩니다.
Cat9k#show platform software fed switch active ifm mappings Interface IF_ID Inst Asic Core Port SubPort Mac Cntx LPN GPN Type Active TenGigabitEthernet1/0/1 0x9 3 1 1 0 0 11 0 1 1 NIF Y TenGigabitEthernet1/0/2 0xa 3 1 1 1 0 10 1 2 2 NIF Y TenGigabitEthernet1/0/3 0xb 3 1 1 2 0 9 2 3 3 NIF Y TenGigabitEthernet1/0/4 0xc 3 1 1 3 0 8 3 4 4 NIF Y TenGigabitEthernet1/0/5 0xd 3 1 1 4 0 7 4 5 5 NIF Y TenGigabitEthernet1/0/6 0xe 3 1 1 5 0 6 5 6 6 NIF Y TenGigabitEthernet1/0/7 0xf 3 1 1 6 0 5 6 7 7 NIF Y TenGigabitEthernet1/0/8 0x10 3 1 1 7 0 4 7 8 8 NIF Y TenGigabitEthernet1/0/9 0x11 3 1 1 8 0 3 8 9 9 NIF Y TenGigabitEthernet1/0/10 0x12 3 1 1 9 0 2 9 10 10 NIF Y TenGigabitEthernet1/0/11 0x13 3 1 1 10 0 1 10 11 11 NIF Y TenGigabitEthernet1/0/12 0x14 3 1 1 11 0 0 11 12 12 NIF Y TenGigabitEthernet1/0/13 0x15 2 1 0 12 0 11 0 13 13 NIF Y TenGigabitEthernet1/0/14 0x16 2 1 0 13 0 10 1 14 14 NIF Y TenGigabitEthernet1/0/15 0x17 2 1 0 14 0 9 2 15 15 NIF Y TenGigabitEthernet1/0/16 0x18 2 1 0 15 0 8 3 16 16 NIF Y TenGigabitEthernet1/0/17 0x19 2 1 0 16 0 7 4 17 17 NIF Y TenGigabitEthernet1/0/18 0x1a 2 1 0 17 0 6 5 18 18 NIF Y TenGigabitEthernet1/0/19 0x1b 2 1 0 18 0 5 6 19 19 NIF Y TenGigabitEthernet1/0/20 0x1c 2 1 0 19 0 4 7 20 20 NIF Y TenGigabitEthernet1/0/21 0x1d 2 1 0 20 0 3 8 21 21 NIF Y TenGigabitEthernet1/0/22 0x1e 2 1 0 21 0 2 9 22 22 NIF Y TenGigabitEthernet1/0/23 0x1f 2 1 0 22 0 1 10 23 23 NIF Y TenGigabitEthernet1/0/24 0x20 2 1 0 23 0 0 11 24 24 NIF Y TenGigabitEthernet1/0/25 0x21 1 0 1 24 0 11 0 25 25 NIF Y TenGigabitEthernet1/0/26 0x22 1 0 1 25 0 10 1 26 26 NIF Y TenGigabitEthernet1/0/27 0x23 1 0 1 26 0 9 2 27 27 NIF Y TenGigabitEthernet1/0/28 0x24 1 0 1 27 0 8 3 28 28 NIF Y TenGigabitEthernet1/0/29 0x25 1 0 1 28 0 7 4 29 29 NIF Y TenGigabitEthernet1/0/30 0x26 1 0 1 29 0 6 5 30 30 NIF Y TenGigabitEthernet1/0/31 0x27 1 0 1 30 0 5 6 31 31 NIF Y TenGigabitEthernet1/0/32 0x28 1 0 1 31 0 4 7 32 32 NIF Y TenGigabitEthernet1/0/33 0x29 1 0 1 32 0 3 8 33 33 NIF Y TenGigabitEthernet1/0/34 0x2a 1 0 1 33 0 2 9 34 34 NIF Y TenGigabitEthernet1/0/35 0x2b 1 0 1 34 0 1 10 35 35 NIF Y TenGigabitEthernet1/0/36 0x2c 1 0 1 35 0 0 11 36 36 NIF Y TenGigabitEthernet1/0/37 0x2d 0 0 0 36 0 11 11 37 37 NIF Y TenGigabitEthernet1/0/38 0x2e 0 0 0 37 0 10 10 38 38 NIF Y TenGigabitEthernet1/0/39 0x2f 0 0 0 38 0 9 9 39 39 NIF Y TenGigabitEthernet1/0/40 0x30 0 0 0 39 0 8 8 40 40 NIF Y TenGigabitEthernet1/1/1 0x31 0 0 0 40 0 0 19 41 41 NIF N TenGigabitEthernet1/1/2 0x32 0 0 0 41 0 0 18 42 42 NIF N TenGigabitEthernet1/1/3 0x33 0 0 0 42 0 0 17 43 43 NIF N TenGigabitEthernet1/1/4 0x34 0 0 0 43 0 0 16 44 44 NIF N TenGigabitEthernet1/1/5 0x35 0 0 0 44 0 0 15 45 45 NIF N TenGigabitEthernet1/1/6 0x36 0 0 0 45 0 0 14 46 46 NIF N TenGigabitEthernet1/1/7 0x37 0 0 0 46 0 0 13 47 47 NIF N TenGigabitEthernet1/1/8 0x38 0 0 0 47 0 0 12 48 48 NIF N FortyGigabitEthernet1/1/1 0x39 0 0 0 48 0 4 4 49 49 NIF N FortyGigabitEthernet1/1/2 0x3a 0 0 0 49 0 0 0 50 50 NIF N
버퍼는 혼잡 또는 기타 변수로 인해 전달될 수 없는 트래픽을 임시로 저장하는 데 사용되므로 버퍼 할당은 출력 삭제를 방지하는 데 중요한 요소입니다. 사용 가능한 버퍼가 충분하지 않으면 트래픽이 손실되어 네트워크 성능이 저하되고 중단될 수 있습니다. 이 확인을 통해 스위치에 높은 트래픽 로드를 처리할 수 있는 충분한 버퍼 공간이 있는지 확인할 수 있습니다.
show platform hardware fed switch active qos queue stats interface <interface> 명령을 사용하면 인터페이스에 대한 대기열별 통계를 볼 수 있습니다. 여기에는 버퍼에 삽입된 바이트 수와 사용 가능한 버퍼가 부족하여 삭제된 바이트 수가 포함됩니다.
이 예에서는 다음을 수행합니다.
Cat9k#show platform hardware fed active qos queue stats interface twentyFiveGigE 1/0/41 ---------------------------------------------------------------------------------------------- AQM Global counters GlobalHardLimit: 16257 | GlobalHardBufCount: 0 GlobalSoftLimit: 39039 | GlobalSoftBufCount: 0 ---------------------------------------------------------------------------------------------- High Watermark Soft Buffers: Port Monitor Disabled ---------------------------------------------------------------------------------------------- Asic:0 Core:0 DATA Port:8 Hardware Enqueue Counters ---------------------------------------------------------------------------------------------- Q Buffers Enqueue-TH0 Enqueue-TH1 Enqueue-TH2 Qpolicer (Count) (Bytes) (Bytes) (Bytes) (Bytes) -- ------- -------------------- -------------------- -------------------- -------------------- 0 0 0 40588200 9368282 0 1 0 0 23584521 789524 0 2 0 0 0 110307150901 0 3 0 0 0 487852543 0 4 0 0 0 5483512 0 5 0 0 0 0 0 6 0 0 0 0 0 7 0 0 0 0 Asic:0 Core:0 DATA Port:8 Hardware Drop Counters -------------------------------------------------------------------------------------------------------------------------------- Q Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop QpolicerDrop (Bytes) (Bytes) (Bytes) (Bytes) (Bytes) (Bytes) -- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 24010607 <-- (drops on Q2) 0 0 0 3 0 0 0 0 0 0 4 0 0 0 0 0 0 5 0 0 0 0 0 0 6 0 0 0 0 0 0 7 0 0 0 0 0 0
인터페이스에서 사용되는 소프트 버퍼의 값을 늘리려면 글로벌 컨피그레이션 모드에서 qos queue-softmax-multipliercommand를 사용합니다.
이 컨피그레이션은 모든 인터페이스에 적용됩니다.
소프트 버퍼 할당을 수정하려면 글로벌 컨피그레이션 모드에서 qos queue-softmax-multiplier<100 4800> 명령을 사용합니다. 이 값을 사용 가능한 최대값으로 구성하면 출력 삭제를 제거하거나 줄일 수 있는 가장 높은 확률을 스위치에 제공합니다. 가능하면 떨어뜨리지 않도록 하는 것이 좋습니다.
Cat9k(config)#qos queue-softmax-multiplier ?
<100-4800> multiplier(%)
show platform hardware fed active qos queue config interface <interface> 명령을 사용하여 Catalyst 9000 Series에서 소프트 버퍼 할당을 식별합니다.
이 예에서는 Catalyst 9500에서 10Gbps 속도로 협상한 인터페이스에 할당된 기본 소프트 버퍼를 보여줍니다.
Cat9k#show platform hardware fed active qos queue config interface twentyFiveGigE 1/0/41 Asic:0 Core:0 DATA Port:8 GPN:141 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 64 - 71 DrainFast:Disabled PortSoftStart:5 - 4320 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 6 480 8 1920 16 960 0 0 3 5760 En <-- 1920 is the total soft buffers allocated to queue 0 on interface twentyFiveGigE 1/0/41 1 1 5 0 11 2880 16 1440 8 720 3 5760 En <-- 2880 is the total soft buffers allocated to queue 1 on interface twentyFiveGigE 1/0/41 2 1 5 0 6 0 0 0 0 0 3 5760 En 3 1 5 0 6 0 0 0 0 0 3 5760 En 4 1 5 0 6 0 0 0 0 0 3 5760 En 5 1 5 0 6 0 0 0 0 0 3 5760 En 6 1 5 0 6 0 0 0 0 0 3 5760 En 7 1 5 0 6 0 0 0 0 0 3 5760 En Priority Shaped/shared weight shaping_step sharpedWeight -------- ------------- ------ ------------ ------------- 0 0 Shared 50 0 0 1 0 Shared 75 0 0 2 0 Shared 10000 0 0 3 0 Shared 10000 0 0 4 0 Shared 10000 0 0 5 0 Shared 10000 0 0 6 0 Shared 10000 0 0 7 0 Shared 10000 0 0 Port Port Port Port Priority Shaped/shared weight shaping_step -------- ------------- ------ ------------ 2 Shaped 1023 1023 QPolicer Refresh Credit Max Credit Interval Idx ----------- -------------- ---------- ------------ 0 Disabled 0 0 0 1 Disabled 0 0 0 2 Disabled 0 0 0 3 Disabled 0 0 0 4 Disabled 0 0 0 5 Disabled 0 0 0 6 Disabled 0 0 0 7 Disabled 0 0 0 Weight0 Max_Th0 Min_Th0 Weigth1 Max_Th1 Min_Th1 Weight2 Max_Th2 Min_Th2 ------- ------- ------- ------- ------- ------- ------- ------- ------ 0 0 1912 0 0 2137 0 0 2400 0 <-- Thresholds values in queue 0 on interface twentyFiveGigE 1/0/41 1 0 2295 0 0 2565 0 0 2880 0 <-- Thresholds values in queue 1 on interface twentyFiveGigE 1/0/41 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0
이 예에서는 4800 승수가 구성된 Catalyst 9500에서 10Gbps 속도로 협상된 인터페이스에 할당된 소프트 버퍼를 보여줍니다.
Cat9k#show platform hardware fed active qos queue config interface twentyFiveGigE 1/0/41 Asic:0 Core:0 DATA Port:8 GPN:141 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 64 - 71 DrainFast:Disabled PortSoftStart:4 - 42000 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 6 480 10 42000 1 1312 0 0 4 42000 En <-- 42000 is the total soft buffers allocated to queue 0 on interface twentyFiveGigE 1/0/41 1 1 5 0 10 42000 1 1312 1 1312 4 42000 En <-- 42000 is the total soft buffers allocated to queue 1 on interface twentyFiveGigE 1/0/41 2 1 5 0 6 0 0 0 0 0 4 42000 En 3 1 5 0 6 0 0 0 0 0 4 42000 En 4 1 5 0 6 0 0 0 0 0 4 42000 En 5 1 5 0 6 0 0 0 0 0 4 42000 En 6 1 5 0 6 0 0 0 0 0 4 42000 En 7 1 5 0 6 0 0 0 0 0 4 42000 En Priority Shaped/shared weight shaping_step sharpedWeight -------- ------------- ------ ------------ ------------- 0 0 Shared 50 0 0 1 0 Shared 75 0 0 2 0 Shared 10000 0 0 3 0 Shared 10000 0 0 4 0 Shared 10000 0 0 5 0 Shared 10000 0 0 6 0 Shared 10000 0 0 7 0 Shared 10000 0 0 Port Port Port Port Priority Shaped/shared weight shaping_step -------- ------------- ------ ------------ 2 Shaped 1023 1023 QPolicer Refresh Credit Max Credit Interval Idx ----------- -------------- ---------- ------------ 0 Disabled 0 0 0 1 Disabled 0 0 0 2 Disabled 0 0 0 3 Disabled 0 0 0 4 Disabled 0 0 0 5 Disabled 0 0 0 6 Disabled 0 0 0 7 Disabled 0 0 0 Weight0 Max_Th0 Min_Th0 Weigth1 Max_Th1 Min_Th1 Weight2 Max_Th2 Min_Th2 ------- ------- ------- ------- ------- ------- ------- ------- ------ 0 0 33851 0 0 37833 0 0 42480 0 <-- Thresholds values in queue 0 on interface twentyFiveGigE 1/0/41 1 0 33468 0 0 37406 0 0 42000 0 <-- Thresholds values in queue 1 on interface twentyFiveGigE 1/0/41 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0
참고: 소프트 버퍼 할당은 다릅니다. 할당이 위의 결과와 일치하지 않을 수 있습니다. 할당 출력은 사용된 특정 플랫폼, 적용된 QoS 정책, 해당 인터페이스의 협상된 작동 속도에 따라 달라집니다.
대기열별 버퍼 수정은 SoftMax 승수를 사용할 수 없는 경우 또는 트래픽 프로필에 맞게 버퍼를 미세 조정하려는 경우에 활용할 수 있습니다.
이 예제 인터페이스에서 25FiveGigE 1/0/1의 출력이 감소했습니다. 명령에 표시된 대로 이 인터페이스에 적용되는 이그레스(egress) 정책 맵을 출력합니다.
show platform hardware fed switch active qos queue stats interface <interface> 명령을 사용하면 인터페이스에 대한 대기열별 통계를 볼 수 있습니다. 여기에는 버퍼에 얼마나 많은 바이트를 넣었는지, 사용 가능한 버퍼가 없어서 얼마나 많은 바이트를 삭제했는지 등이 포함됩니다.
Cat9k#show platform hardware fed active qos queue stats interface twentyFiveGigE 1/0/1 ---------------------------------------------------------------------------------------------- AQM Global counters GlobalHardLimit: 16257 | GlobalHardBufCount: 0 GlobalSoftLimit: 39039 | GlobalSoftBufCount: 0 ---------------------------------------------------------------------------------------------- High Watermark Soft Buffers: Port Monitor Disabled ---------------------------------------------------------------------------------------------- Asic:0 Core:0 DATA Port:8 Hardware Enqueue Counters ---------------------------------------------------------------------------------------------- Q Buffers Enqueue-TH0 Enqueue-TH1 Enqueue-TH2 Qpolicer (Count) (Bytes) (Bytes) (Bytes) (Bytes) -- ------- -------------------- -------------------- -------------------- -------------------- 0 0 0 0 82 0 1 0 0 0 7517 0 2 0 0 0 110307150901 0 3 0 0 0 7174010710 0 4 0 0 0 0 0 5 0 0 0 0 0 6 0 0 0 0 0 7 0 0 0 0 Asic:0 Core:0 DATA Port:8 Hardware Drop Counters -------------------------------------------------------------------------------------------------------------------------------- Q Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop QpolicerDrop (Bytes) (Bytes) (Bytes) (Bytes) (Bytes) (Bytes) -- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 24010607 0 0 0 3 0 0 20071103 0 0 0 4 0 0 0 0 0 0 5 0 0 0 0 0 0 6 0 0 0 0 0 0 7 0 0 0 0 0 0
이 인터페이스의 출력 삭제를 완화하기 위해 Enqueue 카운터를 기준으로 Q0~Q1은 Enqueue 속도가 매우 낮으므로 Q2 및 Q3만큼 많은 버퍼를 필요로 할 수 없습니다. 권장되는 작업은 대기열 2 및 대기열 3에 더 많은 버퍼를 할당하는 것입니다. 이러한 대기열은 다른 대기열에 비해 대기열에 추가된 트래픽의 양이 더 많기 때문입니다.
참고: 이 명령이 정책의 각 클래스에 구성된 경우 최대 100개를 추가해야 합니다. 그러나 단일 클래스만 구성된 경우 시스템은 다른 대기열에서 버퍼를 균등하게 뺍니다.
이 예에서는 정책 맵에서 큐-버퍼 비율을 구성하는 방법을 보여줍니다.
Cat9k(config)#policy-map test
Cat9k(config-pmap)# class Voice
Cat9k(config-pmap-c)# priority level 1
Cat9k(config-pmap-c)# queue-buffers ratio 5
Cat9k(config-pmap-c)# class Video
Cat9k(config-pmap-c)# bandwidth remaining percent 50
Cat9k(config-pmap-c)# queue-buffers ratio 15
Cat9k(config-pmap-c)# class BuisnessCritical
Cat9k(config-pmap-c)# bandwidth remaining percent 30
Cat9k(config-pmap-c)# queue-buffers ratio 40 <-- Queue 3
Cat9k(config-pmap-c)# class class-default
Cat9k(config-pmap-c)# bandwidth remaining percent 20
Cat9k(config-pmap-c)# queue-buffers ratio 40 <-- Queue 4
Cisco IOS XE 17.2.1 릴리스에서 UADP 3.0(Catalyst 9500 고성능 및 Catalyst 9600) 기반 스위치는 동일한 ASIC 내의 두 코어 간에 AQM(Active Queue Management) 버퍼를 공유하도록 구성할 수 있습니다.
이 명령의 no 형식, no qos share-buffer로 버퍼 공유를 비활성화할 수 있습니다.
Cat9k(config)#qos share-buffer
Cat9k(config)#end
네트워크에 마이크로버스트가 있는지 확인하려면 Wireshark와 같은 패킷 캡처 툴을 사용할 수 있습니다.
Wireshark에서 드롭이 발생할 때 어떤 마이크로버스트가 발생하는지 식별하려면 해당 인터페이스에서 패킷 캡처를 시작하고 출력 드롭이 발생할 때까지 인터페이스를 반복적으로 확인합니다.
인터페이스에서 출력 삭제를 효과적으로 캡처하고 분석하려면 다음 권장 사항을 사용하십시오.
이러한 높은 트래픽 기간이 실제로 마이크로버스트인지 확인하려면 Wireshark I/O 그래프 기능을 사용합니다. I/O 그래프는 시간의 경과에 따른 네트워크 트래픽을 그래픽으로 표시하므로 마이크로버스트를 쉽게 식별할 수 있습니다. I/O 그래프를 생성하려면 Statistics(통계) > I/O Graph(I/O 그래프)로 이동합니다.
참고: 이 절차를 보여주기 위해 1Gbps 인터페이스에서 수행된 패킷 캡처를 사용했습니다. 그러나 이 단계는 모든 고속 인터페이스에서 출력 삭제를 트러블슈팅하는 데 사용됩니다.
그림 2. I/O 그래프를 선택합니다.
다음 그래프는 시간의 경과에 따른 전송 중인 데이터의 양을 나타내는 선을 보여줍니다. 그래프에서 트래픽이 많은 기간을 나타내는 스파이크를 확인합니다. 이러한 스파이크 뒤에 트래픽이 적거나 없는 기간이 오는 경우, 마이크로버스트가 발견되었을 수 있습니다.
그림 3. 패킷 캡처의 I/O 그래프를 표시합니다.
표시 필터가 적용되지 않은 상태에서 모든 패킷이 선택되었는지 확인하는 것이 중요합니다. 또한 Line Graph 옵션을 선택하고 Y-Axis를 Bits로 설정하여 트래픽을 적절히 분석합니다.
그림 4. Line Graph 옵션을 선택하고 Y-Axis를 Bits로 설정하는 방법을 보여줍니다.
대규모 패킷 캡처를 분석할 때는 관심이 있는 특정 기간을 식별해야 합니다. 예를 들어 이 시나리오에서는 30초 부근에 많은 양의 트래픽이 있음을 관찰할 수 있습니다.
I/O 그래프에서 스파이크의 피크를 클릭하면 Wireshark가 백그라운드에서 해당 패킷을 선택합니다. 이 시나리오에서는 마이크로버스트의 존재가 의심되는 타임스탬프 내에서 작동하도록 패킷 79280 및 101896을 선택하여 패킷 캡처의 하위 집합을 생성했습니다.
그림 5. Microburst 프레즌스의 의심되는 타임스탬프에 초점을 맞춘 패킷 캡처의 하위 집합을 생성하는 방법을 보여줍니다.
선택한 첫 번째 패킷과 마지막 패킷을 새 파일로 내보내려면 Range 및 Captured 라디오 아이콘을 선택합니다.
그림 6. 패킷 캡처의 하위 집합을 내보내고 저장하는 방법을 보여 줍니다.
파일을 저장한 후 파일을 열고 I/O 그래프로 다시 이동합니다. 밀리초 단위로 나타나는 스파이크를 그래프로 나타내려면 간격이 1ms로 설정되어야 합니다.
그림 7. 패킷 캡처의 내보낸 하위 집합에 대한 I/O 그래프를 표시합니다.
그래프가 표시될 때 트래픽이 최대 밀리초 동안 라인 레이트로 전송된 기간을 나타내는 스파이크를 식별해야 합니다. 이 경우 버퍼가 꽉 차고 출력 드랍이 생성될 수 있는 지점이 됩니다. 예를 들어 1Gbps 인터페이스에서 이는 1,000,000bits per milliseconds에 해당합니다. 잠재적인 마이크로버스트를 나타내는 스파이크의 피크를 클릭합니다. 출력 삭제를 발생시킨 패킷을 식별하는 데 도움이 됩니다. 그런 다음 이 패킷을 추가로 분석하여 마이크로버스트의 근본 원인을 파악하고 수정 조치를 취할 수 있습니다.
그림 8. I/O 그래프에서 잠재적인 마이크로버스트 트래픽을 식별하는 방법을 보여줍니다.
경고: 고속 인터페이스에서 Wireshark 또는 기타 패킷 캡처 툴을 사용할 경우 이 제한을 주의해야 합니다. 40G 및 100G와 같은 고속 인터페이스는 패킷 캡처에 사용되는 시스템 리소스를 과도하게 사용할 수 있는 네트워크 트래픽을 상당히 많이 생성합니다. 따라서 캡처 프로세스 중에 패킷이 삭제될 수 있으며, 캡처된 데이터의 정확성과 완전성에 영향을 미칠 수 있습니다.
대기열에 할당된 리소스를 모두 사용하고도 계속 삭제될 경우, 혼잡 관리를 위한 대체 옵션을 고려해야 합니다. 여기에는 다음이 포함될 수 있습니다.
이러한 옵션 중 일부는 트래픽 엔지니어링과 같이 더욱 관여된 컨피그레이션이 필요하지만, 네트워크 혼잡 및 출력 저하를 완화할 수 있는 상당한 이점을 제공할 수 있습니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
2.0 |
15-Jul-2024 |
초기 릴리스, 단축된 제목, 수정된 대체 텍스트 및 스타일 변경 |
1.0 |
07-Jun-2023 |
최초 릴리스 |