목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

표기 규칙

show interface rate 명령 출력 이해

CAR 및 클래스 기반 폴리싱 카운터의 알려진 문제점

관련 정보

소개

CAR(Committed Access Rate)은 분류 및 폴리싱 서비스를 제공하는 데 사용할 수 있는 속도 제한 기능입니다. CAR은 액세스 목록을 사용하는 IP 주소 및 포트 값과 같은 특정 기준을 기반으로 패킷을 분류하는 데 사용할 수 있습니다. 속도 제한 값을 따르며 값을 초과하는 패킷에 대한 작업을 정의할 수 있습니다. CAR 구성 방법에 대한 자세한 내용은 Configuring Committed Access Rate를 참조하십시오.

이 문서에서는 conformed bps 값이 구성된 CIR(Committed Information Rate)보다 낮을 때 show interface x/x rate-limit 명령의 출력에 0이 아닌 bps 값이 표시되는 이유를 설명합니다.

사전 요구 사항

요구 사항

이 문서에 대한 특정 요건이 없습니다.

사용되는 구성 요소

이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.

표기 규칙

문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.

show interface rate 명령 출력 이해

이 명령의 출력에서 0이 아닌 초과 속도를 볼 수 있는 3가지 조건이 있습니다.

- 버스트 값이 너무 낮게 설정되어 충분한 처리량 속도를 허용합니다. 예를 들어 Cisco 버그 ID CSCdw42923(등록된 고객만 해당)을 참조하십시오.

- Cisco IOS® 소프트웨어에서 이중 어카운팅으로 문제 해결

- Cisco IOS의 소프트웨어 버그

가상 액세스 인터페이스의 예제 출력을 확인합니다. 이 컨피그레이션에서는 동적으로 생성된 가상 액세스 인터페이스에 속도 제한을 할당하기 위해 RADIUS를 사용합니다.

AV Pair from Radius

Cisco-AVPair = "lcp:interface-config#1=rate-limit input 256000 7500 7500

conform-action continue

exceed-action drop",

Cisco-AVPair = "lcp:interface-config#2=rate-limit output 512000 7500 7500

conform-action continue

exceed-action drop",

Cisco 레거시 폴리서 CAR의 성능을 모니터링하려면 show interface x rate-limit 명령을 사용합니다. 이 예에서 이 명령의 출력은 0이 아닌 초과 bps가 있는 이유에 대한 힌트를 제공합니다. 현재 버스트 값은 7392바이트이며, 제한 값으로 표시되는 커밋된 버스트(Bc) 값은 7500바이트로 설정됩니다.

router#show interfaces virtual-access 26 rate-limit

Virtual-Access26 Cable Customers

Input

matches: all traffic

params:  256000 bps, 7500 limit, 7500 extended limit

conformed 2248 packets, 257557 bytes; action: continue

exceeded 35 packets, 22392 bytes; action: drop

last packet: 156ms ago, current burst: 0 bytes

last cleared 00:02:49 ago, conformed 12000 bps, exceeded 1000 bps

Output

matches: all traffic

params:  512000 bps, 7500 limit, 7500 extended limit

conformed 3338 packets, 4115194 bytes; action: continue

exceeded 565 packets, 797648 bytes; action: drop

last packet: 188ms ago, current burst: 7392 bytes

last cleared 00:02:49 ago, conformed 194000 bps, exceeded 37000 bps

Cisco의 클래스 기반 폴리싱에서 CAR 또는 새 폴리서를 구성할 때 예상 처리량을 보장하고 폴리서가 짧은 기간 혼잡을 처리하기 위해 패킷을 삭제하도록 충분히 높은 버스트 값을 구성해야 합니다.

버스트 값을 선택할 때 대기열 크기의 일시적 증가를 수용하는 것이 중요합니다. 패킷이 동시에 도착하고 출발한다고 가정할 수는 없습니다. 또한 큐가 비어 있는 패킷에서 하나의 패킷으로 변경되고, 일관된 수신/1회 발신 도착 시간에 따라 큐가 하나의 패킷에 유지된다고 가정할 수 없습니다. 일반적인 트래픽이 상당히 버스트된 경우, 링크 사용률을 수용할 수 있는 높은 수준으로 유지하기 위해 버스트 값이 그에 상응하는 만큼 커야 합니다. 버스트 크기가 너무 낮거나 너무 낮은 최소 임계값으로 인해 링크 사용률이 현저히 낮아질 수 있습니다.

버스트는 이더넷 네트워크에서 발생하는 1500바이트 프레임 같은 일련의 MTU 크기의 백투백 프레임으로 간단하게 정의할 수 있습니다. 이러한 프레임의 버스트가 출력 인터페이스에 도착하면 출력 버퍼를 압도하고 토큰 버킷의 구성된 깊이를 순식간에 초과할 수 있습니다. 토큰 계량 시스템을 사용하면 정책 담당자는 도착하는 패킷이 구성된 폴리싱 값을 따르는지, 초과 또는 위반하는지에 대한 이진 결정을 내릴 수 있습니다. FTP 스트림과 같은 버스트 트래픽의 경우 이러한 패킷의 순간 도착 비율이 구성된 버스트 값을 초과할 수 있으며 CAR이 삭제됩니다.

또한 혼잡 시 발생하는 전체 처리량은 폴리서가 평가하는 트래픽 유형에 따라 달라집니다. TCP 트래픽은 혼잡에 응답하지만 다른 흐름은 응답하지 않습니다. 응답하지 않는 흐름의 예로는 UDP 기반 및 ICMP 기반 패킷이 있습니다.

TCP는 재전송과 함께 긍정적 승인을 기반으로 합니다. TCP는 슬라이딩 윈도우를 긍정적 확인 메커니즘의 일부로 사용합니다. 슬라이딩 윈도우 프로토콜은 네트워크 대역폭을 더 잘 사용합니다. 이는 발신자가 승인을 대기하기 전에 여러 패킷을 전송할 수 있게 하기 때문입니다. 예를 들어, 창 크기가 8인 슬라이딩 윈도우 프로토콜에서 발신자는 승인을 받기 전에 8개의 패킷을 전송할 수 있습니다. 윈도우 크기를 늘리면 네트워크 유휴 시간이 크게 사라집니다. 잘 조정된 슬라이딩 윈도우 프로토콜은 네트워크를 패킷으로 완전히 포화 상태로 유지하고 높은 처리량을 유지합니다.

엔드포인트는 네트워크의 특정 혼잡 상태를 알지 못하기 때문에 프로토콜로서 TCP는 혼잡 발생 시 전송 속도를 줄여 네트워크 혼잡을 해결합니다. 특히 두 가지 기술을 사용합니다.

기술

설명

복합적인 혼잡 감소 회피

세그먼트가 손실되면(패킷과 TCP에 준하는) 혼잡 기간을 절반으로 줄입니다. 혼잡 창은 두 번째 값 또는 창으로, 발신자가 확인 응답을 대기하기 전에 네트워크로 전송할 수 있는 패킷 수를 제한하는 데 사용됩니다.

느린 시작 복구

새 연결에서 트래픽을 시작하거나 혼잡 기간이 지난 후 트래픽을 늘릴 경우, 혼잡 창을 단일 세그먼트 크기로 시작하고 승인 수신 시점마다 혼잡 창을 하나씩 늘립니다. TCP는 혼잡 윈도우를 1로 초기화하고, 초기 세그먼트를 전송하고, 기다립니다. 승인이 도착하면 혼잡 창이 2로 증가하고 두 개의 세그먼트를 전송하고 대기합니다. 자세한 내용은 RFC 2001 을 참조하십시오.

전송 오류가 데이터에 방해가 되거나, 네트워크 하드웨어에 장애가 발생하거나, 네트워크가 너무 많이 로드되어 제시된 로드를 수용할 수 없을 때 패킷이 손실되거나 폐기될 수 있습니다. TCP는 손실된 패킷 또는 과도한 지연으로 인해 시간 제한 간격 내에 승인되지 않는 패킷은 네트워크의 정체를 나타낸다고 가정합니다.

각 패킷 도착 시 폴리서의 토큰 버킷 측정 시스템이 호출됩니다. 특히, 기준 비율과 초과 비율은 다음의 간단한 공식을 기준으로 계산됩니다.

(conformed bits since last clear counter)/(time in seconds elapsed since last clear counter)

이 공식은 카운터가 마지막으로 지워진 시점부터 기간 동안 비율을 계산하므로 현재 비율을 모니터링하려면 카운터를 지우는 것이 좋습니다. 카운터가 지워지지 않으면 이전 수식 속도는 show 명령 출력에 잠재적으로 매우 긴 기간에 대해 계산된 평균이 표시됨을 의미합니다. 이 값은 현재 속도를 결정하는 데 의미가 없을 수 있습니다.

평균 처리량은 일정 기간 동안 구성된 CIR(Committed Information Rate)과 일치해야 합니다. 버스트 크기를 사용하면 지정된 시간에 최대 버스트 기간을 설정할 수 있습니다. 트래픽이 없거나 CIR의 트래픽 값보다 작은 경우 토큰 버킷이 채워지지 않을 경우, 매우 큰 버스트는 여전히 일반 버스트 및 확장 버스트를 기반으로 계산된 특정 크기로 제한됩니다.

이 메커니즘에서 생성되는 삭제 속도

1. 현재 시간을 확인합니다.

2. 마지막 패킷 도착 이후 지속적으로 누적된 토큰 수로 토큰 버킷을 업데이트합니다.

3. 누적 토큰 총 수는 maxtokens 값을 초과할 수 없습니다. 초과 토큰 삭제

4. 패킷 적합성을 확인합니다.

또한 폴리싱으로 속도 제한을 달성할 수 있습니다. 클래스 기반 폴리싱을 사용하는 이더넷 인터페이스에 속도 제한을 제공하기 위한 샘플 컨피그레이션입니다.

class-map match-all rtp1

match ip rtp 2000 10

!

policy-map p3b

class rtp1

police 200000 6250 6250 conform-action transmit exceed-action drop violate-action    drop

policy-map p2

class rtp1

police 250000 7750 7750 conform-action transmit exceed-action drop violate-action    drop

!

interface Ethernet3/0

service-policy output p3b

service-policy input p2

show policy-map interface 명령의 이 샘플 출력에서는 제공된 속도 및 드롭 속도, conformed 및 exceed bps 속도에 대해 적절하게 계산되고 동기화된 값을 보여 줍니다.

router#show policy-map interface ethernet 3/0

Ethernet3/0

Service-policy input: p2

Class-map: rtp1 (match-all)

88325 packets, 11040625 bytes

30 second offered rate 400000 bps, drop rate 150000 bps

Match: ip rtp 2000 10

police:

250000 bps, 7750 limit, 7750 extended limit

conformed 55204 packets, 6900500 bytes; action: transmit

exceeded 33122 packets, 4140250 bytes; action: drop

conformed 250000 bps, exceed 150000 bps violate 0 bps

Service-policy : p3b

Class-map: rtp1 (match-all)

88325 packets, 11040625 bytes

30 second offered rate 400000 bps, drop rate 50000 bps

Match: ip rtp 2000 10

police:

200000 bps, 6250 limit, 6250 extended limit

conformed 44163 packets, 5520375 bytes; action: transmit

exceeded 11041 packets, 1380125 bytes; action: drop

conformed 200000 bps, exceed 50000 bps violate 0 bps

Class-map: class-default (match-any)

0 packets, 0 bytes

30 second offered rate 0 bps, drop rate 0 bps

Match: any

CAR 및 클래스 기반 폴리싱 카운터의 알려진 문제점

이 표에서는 show policy-map 또는 show interface rate-limit 명령에 표시되는 카운터와 관련된 해결된 문제를 나열합니다. 로그인한 등록된 고객은 버그 검색 툴에서 버그 정보를 볼 수 있습니다.

증상

해결된 버그 ID 및 해결 방법

예상 드롭 카운터보다 낮음

- Cisco 버그 ID CSCdv41231(등록된 고객만 해당)

입력 계층 서비스 정책이 상위 및 하위 레벨에서 police 명령을 사용하는 경우 상위 레벨 폴리서가 패킷을 삭제하기 전에 혼잡해야 하기 때문에 폴리서는 예상 패킷 수보다 적게 삭제할 수 있습니다. 다음은 이러한 정책의 예입니다.

policy-map child

class dscp1

police cir 100000 bc 3000 conform-action transmit exceed-action drop

!

policy-map parent

class rtp1

police cir 250000 bc 7750 conform-action transmit exceed-action drop

service-policy child

이를 해결하려면 계층적 정책의 컨피그레이션을 피하기 위해 별도의 정책을 생성하고 인바운드 및 아웃바운드에 하나씩 적용합니다.

예상 낙하 비율 및 처리량 2배

- Cisco 버그 ID CSCds23924(등록된 고객만 해당)

Cisco CEF(Express Forwarding)는 입력 인터페이스에서 출력 인터페이스로 패킷을 전달하는 IOS 스위칭 메커니즘을 정의합니다. 이 버그 ID에서 변경 사항이 구현되기 전에 CEF와 CAR 또는 클래스 기반 폴리싱과 같은 구성된 QoS 메커니즘 모두 패킷 카운터를 증가시켰습니다. 그 결과 이른바 이중 어카운팅과 팽창된 패킷 및 초과 삭제 값이 발생합니다.

- Cisco 버그 ID CSCdr40598(등록된 고객만 해당)

Cisco 12000 Series에서 출력 CAR이 활성화되고 인그레스 라인 카드가 Engine 2이면 이그레스 출력 카운터가 두 배로 늘어납니다. 이 이중 어카운팅은 출력 카운터가 처리되는 방식에서 발생합니다.

- Cisco 버그 ID CSCdv84259(등록된 고객만 해당)

Cisco 7500 Series 라우터에서 ip cef distributed 명령을 전역적으로 활성화하면 ip route-cache distributed 명령이 기본적으로 활성화된 VIP(Non-Versatile Interface Processor) 카드 인터페이스가 나타납니다. 비 VIP는 분산 CEF를 지원하지 않으며, 비 VIP에 나타나는 이 명령의 보기 드문 부작용은 이중 어카운팅입니다.

삭제 없음 또는 삭제 비율

일반적으로 클래스 기반 QoS 기능을 적용할 때 문제 해결의 첫 번째 단계는 QoS 분류 메커니즘이 제대로 작동하는지 확인하는 것입니다. 즉, 클래스 맵의 match 문에 지정된 패킷이 올바른 클래스에 도달했는지 확인합니다.
router#show policy-map interface

ATM4/0.1

Service-policy input: drop-inbound-http-hacks (1061)

Class-map: http-hacks (match-any) (1063/2)

149 packets, 18663 bytes

5 minute offered rate 2000 bps, drop rate 0 bps

Match: protocol http url "*cmd.exe*" (1067)

145 packets, 18313 bytes

5 minute rate 2000 bps

Match: protocol http url "*.ida*" (1071)

0 packets, 0 bytes

5 minute rate 0 bps

Match: protocol http url "*root.exe*" (1075)

4 packets, 350 bytes

5 minute rate 0 bps

Match: protocol http url "*readme.eml*" (1079)

0 packets, 0 bytes

5 minute rate 0 bps

police:

1000000 bps, 31250 limit, 31250 extended limit

conformed 0 packets, 0 bytes; action: drop

exceeded 0 packets, 0 bytes; action: drop

violated 0 packets, 0 bytes; action: drop

conformed 0 bps, exceed 0 bps violate 0 bps

- Cisco 버그 ID CSCds34478(등록된 고객만 해당)

DCEF가 아닌 CEF가 활성화되고 입력 정책이 ATM PVC에 연결된 경우 분류가 실패합니다. Cisco IOS Software Release 12.1T에서 DCEF가 아닌 CEF가 활성화되고 출력 정책이 ATM PVC에 연결된 경우 출력 분류가 실패합니다.

이상 또는 일관성 없는 삭제 속도

- Cisco 버그 ID CSCdw50583(등록된 고객만 해당)

class-map에 표시되는 드롭 비율이 경찰 작업에서 지정한 드롭 속도와 일치하지 않습니다. 이 예제 출력에서 클래스의 드롭 속도는 745000bps이고, 경찰 작업에서 표시하는 드롭 속도는 1072000bps입니다.

router#show policy-map interface

Serial3/0.1: DLCI 13 -

Service-policy output: out

Class-map: c2 (match-all)

172483 packets, 91760956 bytes

30 second offered rate 1384000 bps, drop rate 745000 bps

Match: ip precedence 0

police:

384000 bps, 1500 limit, 1500 extended limit

conformed 38903 packets, 20696396 bytes; action: transmit

exceeded 133580 packets, 71064560 bytes; action: drop

conformed 311000 bps, exceed 1072000 bps violate 0 bps

관련 정보

- 커밋된 액세스 속도 구성

- CAR을 사용한 폴리싱

- DOS 공격 중 CAR 사용

- QoS 기술 지원 페이지

- IP 라우팅 프로토콜 지원 페이지

- IP 라우팅 지원 페이지

- 기술 지원 및 문서 − Cisco Systems