Network/CCNP

Policing&Shaping

JI12 2020. 6. 4. 13:04

Traffic Conditioning ( 트래픽 제어)

1. Policing

- 트래픽 비율을 초과하는 트래픽에 대한 드랍 or 전송의 우선 순위를 낮추는 기법

- 특정 트래픽에 대한 전송률을 제한할려는 정책에 사용됨

- CAR설정. MQC 정책 사용

- 인바운드, 아웃바운드 적용 가능

- 트래픽에 대해서 마킹 작업이 제공됨

 

=> 폴리싱은 BandWidth Resource의 사용을 제한해야하는 입장에서 자주 사용된다. (ISP)

 

 

2. Shaping

- 트래픽 비율을 초과하는 트래픽에 대해 별도의 버퍼링을 실시하여 완화시키는 기법

- 네트워크 정체 현상을 감소시킬 수 있다.

- GTS설정. FRTS설정. MQC 정책 사용

- 아웃바운드만 적용 가능

- 마킹작업 제공 안됨

 

=> 쉐이핑은 폴리싱에 의해 제한된 BandWidth Resource를 가진 입장에서 사용된다. (고객)

 

Token Bucket (토큰 버켓) 알고리즘

Token (토큰)  

- bit의 크기, bit를 전송할 수 있는 허용 임계치를 알려주는 용도로 사용

- 시간 단위로 일정 토큰 제공

 

Token Bucket (토큰 버켓)

- 토큰이 보관되는 저장소

- 크기에 따라 토큰의 사이즈와 수량이 결정된다.

- 초당 제공되는 bit 나 byte의 수를 기준으로 정의한다.

 

라우터

- 토큰버켓에 토큰이 존재해야 트래픽 전송이 가능

- 토큰버켓의 크기에 따라 패킷의 크기가 결정된다.

 

Token Bucket 파라미터

CIR

- 시간 단위 기반으로 토큰 버켓에 공급되는 토큰양

- 초당 공급되는 bit수로 표현

- CIR(bps) = BC(bit) / TC(sec)

 

BC

- 토큰 버켓의 크기를 의미

- 한번에 소모할 수 있는 토큰의 최대 수

- Normal burst : 일반적으로 허용되는 Burst양

 

BE

- 사용할수 있는 토큰 버켓을 의미

- Maximum burst : BC + BE

 

TC

- BC에 토큰이 저장되는데 소요되는 시간

 

폴리싱 구현 방법

1. CAR 설정

- 인바운드/아웃바운드에 트래픽 전송 Rate제한

- 임계치 초과시 드랍하거나 마킹 작업 수행

- 256kbps 까지 허용, 초과시 드랍

- rate-limit 명령어 사용

ex)

rate-limit input 256000 8000 8000 conform-action transmit exceed-action drop

     

    256000             8000            8000             임계치 초과안하면 전송     임계치 초과하면 드랍 

트래픽 평균값  Normal burst  Maximum burst    conform-action transmit      exceed-action drop

 

2. MQC 정책

- 확장성이 높다

- class-map, policy-map 생성

 

예1. ICMP 트래픽 전송

 

class-map ICMP

match access-group 110

policy-map Police

class ICMP

police 256000 8000 conform-action transmit exceed-action drop

int f0/0

service-policy input Police

 

     256000          8000

트래픽 평균값    Burst byte

 

예2.  모든트래픽에 256Kbps로 제한, 초과하는 트래픽은 0으로 마킹

마킹(Marking) : 패킷의 레벨과 서비스 등급을 구분할 수 있는 작업

높을수록 좋은데 0~7까지 조정할수 있고 6과 7은 지정되어 있어 설정시 5가 제일 좋다.

 

policy-map Police

class class-default

police 256000 conform-action transmit exceed-action set-prec-transmit 0 violate-action drop

 

                set-prec-transmit 0              violate-action drop

         패킷우선순위를 0으로 작성함        burst값 초과시 드랍

 

int f0/0

service-policy input Police

 

예3. S1/0 에서 CIR 256k 초과하는 트래픽에 IP Precedence를 0으로 마킹하고, FR DE-bit를 1로 마킹하여라

1. policy-map을 만들고 class를 만들어줘서 지정할수 있다.

2. class-map을 만들고 policy-map 으로 접근할수 있다.

 

policy-map Po

class class-default

police cir 256000

conform-action transmit

exceed-action set-prec-transmit 0             패킷 우선순위를 0으로 마킹

exceed-action set-frde-transmit                Frame-delay DE-bit 1로 마킹

violate-action drop                                burst값 초과시 드랍

int s1/0

service-policy output Police

 

 

예4. S1/0 에서 CIR 256K 초과하지 않는 트래픽에 IP Precedence 4로 마킹, CIR 256K를 초과하지만 512K를 초과하지 않는 트래픽에 IP Precedence 1로 마킹, FR DE-bit 1로 마킹

 

policy-map Police

class class-default

police cir 256000 pir 512000                      cir 256K 초과하고, 512k 초과안하게

conform-action set-prec-transmit 4             256k 초과하지 않는 트래픽에 패킷 우선순위를 4로 마킹

exceed-action set-prec-transmit 1               256k 초과하고, 512k 초과안하는 트래픽에 패킷 우선순위를 1로 마킹

exceed-action set-frde-transmit                  Frame-delay DE-bit 1로 마킹

violate-action drop

int s1/0

service-policy output Police

 

예5. R1 f0/0에서 CIR 20% 초과하지 않는 트래픽에 DSCP 'AF11'로 마킹. CIR 20% 초과하지만 40%를 초과하지 않는 트래픽에 DSCP 'Default'로 마킹

 

policy-map Police

class class-default

police cir percent 20 pir percent 40              cir 20%초과, 40%초과안하게

conform-action set-dscp-transmit af11          af11로 마킹

exceed-action set-dscp-transmit default        default로 마킹

violate-action drop

int f0/0

service-policy input Police

 

 

쉐이핑 구현 방법

1. GTS(Generic Traffic Shaping) 설정

- 트래픽 제어 위해 Rate제한,

- GTS 임계치 초과시 버퍼링을 실시해 전송

- traffic-shape 명령어 사용

ex)

traffic-shape rate 256000                            IOS에 의해 자동으로 BC와 BE가 계산됨.

 

2. MQC 정책

- 확장성이 높다.

- 실제 환경에서도 주로 MQC를 이용해 쉐이핑한다.

shape average 256000                               간격당 BC만 전송

shape peak 256000                                   간격당 BC+BE 전송

 

3. FRTS(Frame-Relay Traffic Shaping)

- Frame-Relay에 정체 현상 발생되면 BECN, FECN 메시지를 이용해 정체 현상 해결

 

4. MQC정책 이용한 FRTS

- CIR 256K환경에서 BECN bit수신하면 전송률을 낮춤

- 128K미만으로는 전송률을 낮추지 않음

 

5. CLI 기반의 FRTS기법

- FRTS를 하기 위한 전용 설정 구문

- frame-relay traffic-shaping 명령어가 활성화 되야함.