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 기술 팁 표기 규칙을 참고하십시오.
이 명령의 출력에서 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의 트래픽 값보다 작은 경우 토큰 버킷이 채워지지 않을 경우, 매우 큰 버스트는 여전히 일반 버스트 및 확장 버스트를 기반으로 계산된 특정 크기로 제한됩니다.
이 메커니즘에서 생성되는 삭제 속도
현재 시간을 확인합니다.
마지막 패킷 도착 이후 지속적으로 누적된 토큰 수로 토큰 버킷을 업데이트합니다.
누적 토큰 총 수는 maxtokens 값을 초과할 수 없습니다. 초과 토큰 삭제
패킷 적합성을 확인합니다.
또한 폴리싱으로 속도 제한을 달성할 수 있습니다. 클래스 기반 폴리싱을 사용하는 이더넷 인터페이스에 속도 제한을 제공하기 위한 샘플 컨피그레이션입니다.
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
이 표에서는 show policy-map 또는 show interface rate-limit 명령에 표시되는 카운터와 관련된 해결된 문제를 나열합니다. 로그인한 등록된 고객은 버그 검색 툴에서 버그 정보를 볼 수 있습니다.
증상 | 해결된 버그 ID 및 해결 방법 |
---|---|
예상 드롭 카운터보다 낮음 |
|
예상 낙하 비율 및 처리량 2배 |
|
삭제 없음 또는 삭제 비율 | 일반적으로 클래스 기반 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
|
이상 또는 일관성 없는 삭제 속도 |
|
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
15-Feb-2019 |
최초 릴리스 |