티스토리 뷰

Network/Cisco

[ONT] QoS part2 - MQC, DiffServ

solarwind 2008.06.25 20:19

[QoS(Quality of Service)]


▶ QoS 적용방법
1. Legacy CLI(Command Line Interface)


2. MQC(Modular QoS CLI)
  - 여러가지 QoS 기법을 적용할 수 있음(트래픽 절감, 지연이 적음)

ex) S1/0을 통과하는 http traffic은 3M bandwidth를 보장하시오
   a. 분류 : HTTP Traffic        => class-map
   b. 정책 : 3M bandwidth     => policy-map
   c. 적용 : S1/0 out              => service-policy
 

1) class-map
   - 속성 분류 (클래스는 대소문자 구별)
   - class-map match-all HTTP      => AND (default)
   - class-map match-any HTTP    => OR
   ex) HOST 10.1.1.1에서 발생하는 HTTP 트래픽에 대해서 3M bandwidth를 보장하시오
     # class-map match-all HTTP
       # match protocol http
       # match access-group 100                             => access-list 100에 해당하는 것들만 매치
         (# match any : 모두 포함해 매치)
         (# match not protocol http : http를 제외한 나머지만 매치)
     # access-list 100 permit tcp host 10.1.1.1 any
         ("match protocol http"항목 대신 access-list 맨 뒤에 "eq www / eq 80"을 넣어도 된다)


2) policy-map
   - 정책 구현 (클래스는 대소문자 구별)
   - 여러개의 클래스맵을 불러올 수 있다, 각각 적용 가능
     # class-map HTTP
       # match protocol http
     # class-map FTP
       # match protocol ftp
     # class-map TELNET
       # match protocol telnet

     # policy-map POLICY
       # class HTTP
         # bandwidth 3000
       # class FTP
         # bandwidth 2000
       # class TELNET
         # bandwidth 2000
       # class class-default


3) service-policy
   - 정책 적용
   - inbound / outbound 적용
     # int s1/0
       # service-policy [input | output] POLICY


▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
Ex) MQC를 이용한 Classification & Marking
  a. 소스가 13.13.1.1/24, 목적지 192.168.3.1/24로 향하는 음성 트래픽(udp 16384 ~ 32767)
  b. 소스가 13.13.1.0/24, 목적지 192.168.2.1/24로 향하는 HTTP 트래픽
  c. 소스가 13.13.1.0/24, 목적지 3.3.3.3/24로 향하는 Telnet 트래픽


1) ACL 트래픽 정의 실시
  ip access-list extended VOICE
    permit udp host 13.13.1.1 host 192.168.3.1 range 16384 32767
  ip access-list extended HTTP
    permit tcp 13.13.1.0 0.0.0.255 host 192.168.2.1 eq www
  ip access-list extended TELNET
    permit tcp 13.13.1.0 0.0.0.255 host 3.3.3.3 eq telnet


2) 'class-map'으로 Classfication
  class-map VOICE_map
    match access-group name VOICE
  class-map HTTP_map
    match access-group name HTTP
  class-map TELNET_map
    match access-group name TELNET


3) 'policy-map'으로 Marking(QoS 정책) 실시
  policy-map INBOUND
   class VOICE_map
     set ip precedence 5
   class HTTP_map
     set ip precedence 3
   class TELNET_map
     set ip precedence 2

  interface ethernet 2/0
   service-policy input INBOUND
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒


3. Cisco AutoQoS
  - 적절한 QoS를 자동으로 적용 (편리하고 빠름 / 최적화 QoS방법은 아님)
  - Cisco AutoQoS를 사용하기 위한 가이드라인
     => CEF enable / NBAR enable / interface에 bandwidth 설정
  - configuration
    # int f0/1
      # auto qos voip cisco-phone             => ip폰에 적절한 qos를 적용


4. Cisco SDM QoS wizard

  - SDM을 통한 QoS 적용 : 설정이 정해져 있어 유연한 적용이 힘듬



DiffServ QoS Model
  - 트래픽 타입을 근거로 로컬 장비에서 서비스
  - 출발지에서 목적지까지 QoS를 책임지지 않음
  - InterServe Model에 비해서 신뢰적이지 못함
  - 라우터 개별적으로 실시하기 때문에 확장성 및 규모가 큰 인터넷 환경에서 사용하면 효율적


  - QoS 처리 과정
   1) 트래픽 입력
   2) Classification(분류)
   3) Meter로 하여금 트래픽 측정 실시

   4) Marking(마킹) : 타 패킷과 구분하기 위함, 우선순위는 높을수록!
     - Layer 2 Frame (ISL, Dot1q) : CoS
         a. ethernet환경(PRI에 삽입) -> CoS(3bit) - 0~7(6,7은 사용x)
         b. frame-relay환경(DE에 삽입)
         c. MPLS환경(EXP에 삽입)

     - Layer 3 Packet
         a. IP Precedence(3bit | IP우선순위) - 0~7(6,7은 사용x)
         b. DSCP(6bit) 0~63    ==> PHB
            ex) # class-map test
                   # match access-group
                   # match cos 5                     => CoS 5 값(Voice)만 매치
                   # match ip precedence x
                   # match ip dscp y


     ※ DSCP(PHB) 가중치
          EF                                  = ip precedence 5   = CoS 5
          AF4(AF41, AF42, AF43)      = ip precedence 4   = CoS 4
          AF3(AF31, AF32, AF33)      = ip precedence 3   = CoS 3
          AF2(AF21, AF22, AF23)      = ip precedence 2   = CoS 2
          AF1(AF11, AF12, AF13)      = ip precedence 1   = CoS 1
          BE(default)                      = ip precedence 0   = CoS 0


         c. PHB(Per-Hop Behaviors | 3bit+3bit) : L2 - L3 호환
                 A    A    A   ||   B    B   |   0
             A. class : 001, 010, 011, 100=AF, 101=EF (숫자가 높을수록 우선순위 높음)
             B. Drop 우선순위 : 01=1(low), 10=2(medium), 11=3(high) (수치 높을수록 우선순위 높음)
            ex) AF31 marking 트래픽에게 3M 대역폭을 보장
               QoS 적용 라우터>>
                 # class-map PHB
                   # match ip dscp af31
                 # policy-map PHBPOLICY
                   # class PHB
                   # bandwidth 3000
               호스트 라우터>>
                 # class-map HTTP
                   # match protocol http
                 # policy-map HTTPPOLICY
                   # class HTTP
                   # set ip dscp af31


   5) Conditioner
     - Policing : 임계값 초과시 드랍 실시, 지연 없음
     - Shaping : 임계값 초과시 버퍼링 사용후 전송 실시, 지연 발생

   6) Congestion Avoidance(혼잡 회피)
     - Tail Drop : 디폴트 동작, 큐에 트래픽이 다 차면, 그 이후 트래픽들은 드랍
     - TCP Slow Start : 윈도우 싸이즈를 1씩 증가
     - RED : Random Early Detect
     - WRED : Weight Random Early Detect

   7) Queue 할당 및 스케줄링 실시(소프트웨어 큐 사용)
     - Queuing 스케줄러를 할당 받아 스케줄링 실시
     - FIFO 큐잉 : '머리 먼저 들어온놈 먼저 내보냄'
     - Priority 큐잉 : 클래스 별로 우선순위 할당, High, Medium, Normal, Low 구분
     - Custom 큐잉 : 16 개 클래스로 구분, 동등한 대역폭을 할당, Round-Robin 방식
     - WFQ(Weight Fair Queue) 큐잉 : '꼬리가 먼저 들어온놈 먼저 내보냄', 자동 동작
     - CBWFQ(Class-Based Weight Fair Queue) 큐잉 : 관리가 참여하여 실시, 'bandwidth' Command
     - LLQ(Low Latency Queue) : CBWFQ + PQ, Cisco 권장
     - IP RTP Prioritization : LLQ가 나오기 이전 음성트래픽에서 사용했던 스케줄러

   8) 시리얼리제이션 실시(하드웨어 큐 사용)
     - 패켓은 링크로 전송하기 위해 하드웨어 큐인 TX 큐(FIFO)로 전송

   9) 트래픽 출력

[출처] http://www.cyworld.com/nijoowplay/258033

TAG
,
댓글
댓글쓰기 폼