[CISCO 보안 아카데미 1기 Part.2] 23일차 정리 (QoS)

Jin_Hahha·2024년 9월 27일
0


QoS

After Converged Networks

  • 트래픽도 Converged 됨
  • 중요한 트래픽은 더 높은 우선순위를 가져야 함
  • 음성과 영상이 시간의 영향을 받음
  • 상대적으로 A에 대한 성능이 좋아지면 B에 대한 성능이 낮아짐
  • 정전같은 사고에 대해 수용 가능하지 않게 됨

Converged Networks Quality Issues

  • 대역폭 부족
  • End-to-end delay
  • jitter
  • 패킷 손실

대역폭 부족

  • 최대 수용 가능한 대역폭은 가장 약한 링크의 대역폭과 동일
  • 다수의 flow는 같은 대역폭에서 서로 경쟁
  • 단 하나의 회선으로 인해 낮은 대역폭이 초래될 수 있음

대역폭을 늘리고 관리하는 방법

  • Link 업그레이드
    • 가장 좋은 방법이지만, 가장 비싼 방법
  • 중요 패킷 먼저 포워딩
  • Layer 2 프레임의 payload 압축 (시간이 걸림)
  • IP Packet 헤더 압축
    • 압축 방법은 요즘 잘 쓰이지 않음

End-to-End Delay

  • end-to-end delay는 prepagation, precessing, queuing 딜레이를 모두 합한 것과 같음
  • best-effort 네트워크에서 prepagation delay는 고정
  • processing과 queuing delay는 예측 불가능

Types of Delay

  • Processing Delay
    • 라우터가 패킷을 받아 확인하고 output queue에 추가하는 데에 소모되는 시간
  • Queuing Delay
    • 패킷이 라우터의 output queue에 머무르는 시간
  • Serialization Delay
    • bit가 회선에 오르기까지 걸리는 시간
  • Propagation Delay
    • 패킷이 전송되는 시간

Delay를 줄이는 방법

  • Link 업그레이드
    • 가장 좋은 해결법이지만, 가장 비쌈
  • 중요한 패킷을 우선적으로 전송
  • Layer 2 프레임의 payload 압축
  • IP 패킷 헤더 압축

패킷 손실

  • Queue가 꽉 찼을 때, Tail Drop이 발생함 (패킷 손실 문제 중 가장 심각)
    • 회선이 밀집되었을 때 가장 흔하게 발생하는 Drop
  • 라우터 congestion의 결과로, 흔치 않으면서 하드웨어적 업그레이드가 필요한 많은 종류의 drop이 존재
    • input drop, ignore, overrun, frame errors

패킷 손실을 막는 방법

  • Link 업그레이드
    • 가장 좋은 방법이지만 가장 비쌈
  • 민감한 패킷을 위한 충분한 대역폭 보장
  • 혼잡이 발생하기 전에 덜 중요한 패킷을 무작위로 drop하여 패킷 혼잡 예방

QoS Defined

  • 다양한 피해로부터 유저와 어플리케이샨에 더 나은, 특별한 서비스를 제공하기 위한 네트워크의 능력

  • 통일성, 예측 가능한 성능


Three Models for Quality of Service

  • Best Effort
    • 패킷에 QoS가 적용되지 않음
  • IntServ
    • 특별한 QoS가 필요한 네트워크 어플리케이션 신호
  • DiffServ
    • 특별한 QoS가 필요한 클래스를 인지하는 네트워크

IntServ Model

  • 다중 서비스 레벨 제공
  • 데이터 전송 이전에 네트워크로부터 특정한 종류의 서비스 요청
  • 네트워크 리소스를 예약하기 위해 RSVP 사용
  • 지능적 Queuing 메커니즘 사용
  • End-to-end

  • 장점
    • 리소스 제어가 명확함
    • 동적 포트 번호 signaling
  • 약점
    • stateful 구조로 인한 지속적인 signaling
    • Flow-Based 접근은 공공 인터넷과 같은 큰 구조에서 확장성이 좋지 않음

DiffServ Model

  • 장점
    • 확장성이 뛰어남
    • Quality에 관한 많은 level
  • 약점
    • 정확한 서비스 이점이 없음
    • 복잡한 메커니즘

IntServ Model

  • IntServ는 end-to-end QoS 서비스를 제공
  • RSVP 메커니즘이 사용됨
  • 네트워크에 자원 가용성을 보장하기 위해 CAC가 사용됨

  • RSVP는 다음의 메시지를 지원

    • PATH
    • RESV
    • Error and Confirmation
    • Teardown
  • RSVP에 의해 제공되는 QoS 서비스의 세 타입이 있음

    • Best Effort
    • Guaranteed Rate
    • Controlled Load

RSVP Interface Queuing

  • 모든 QoS 기술은 전체 QoS의 75%까지만 적용 가능

DiffServ Terminology

  • Behavior Aggregate(BA)
    • 동작이 같은 항목들을 하나의 그룹으로 묶은 것

DiffServ Model

  • QoS behavior들은 per-hop에 기초하여 트래픽 클래스를 지원
  • 복잡한 트래픽 클래스화와 컨디셔닝은 네트워크 Edge단에서 수행됨

DSCP Encoding

  • DS 영역
    • IP version 4 header ToS octet 또는 IPv6 traffic class octet
  • DSCP
    • DS 영역의 첫 6bit
    • PHB(Per-Hop Behaviors) 선택하는 데에 사용됨

IPv6와 QoS

Per-Hop Behaviors

  • 비트의 맨 앞이 0이면 QoS 적용 X

  • DSCP는 네트워크 전체에 걸쳐 PHB 선택

    • Default PHB
      • FIFO, tail drop
    • EF
      • Expendited Forwarding
    • AF
      • Assured Forwarding
    • Class-Selector
      • (IP Precendence) PHB

    • EF PHB
      • 최소 이탈률 보장
      • 대역폭 보장(정해진 양에 대해서는 우선순위 보장)
      • 대역폭 제한(보장된 양을 넘어서는 트래픽은 허용하지 않음)
    • DSCP 값 101110
      • Bits 5~7, 101 = 5
      • Bits 3~4, 11 = 높은 drop 가능성
      • Bit 2, 그냥 0

    • AF PHB
      • 대역폭 보장
      • 가능하다면 추가 대역폭 연결 허용
    • 4개의 standard 클래스(af1, af2, af3, af4)
    • DSCP 값 범위 "aaadd0"
      • "aaa"는 클래스의 binary 값
      • "dd"는 drop 가능성
  • 각 AF 클래스는 3개의 DSCP 값을 사용

  • 각 AF 클래스는 보장된 대역폭과는 독립적으로 포워딩됨

  • 혼잡 회피는 클래스로 인한 혼잡을 막기 위해 각 클래스를 사용


QoS 메커니즘

  • Classfication
  • Marking
  • Congestion management
  • Congestion avoidance
  • Policing and sharping
  • Link efficiency

Classfication

  • 트래픽을 다른 각각 다른 클래스로 정의하고 분할하는 것을 말함
  • 트래픽을 다양한 의미로 분류될 수 있으며 DSCP를 포함
  • Modular QoS CLI를 사용하면 클래스 분류를 정책과 별도로 구현할 수 있음

Marking

  • coloring으로도 알려져 있음
  • 각 패킷마다 역할에 따라 표시를 한다고 보면 됨

Congestion Management

  • Congestion management는 각 패킷마다 어느 queue에 패킷을 두어야 하는지 결정하기 위해 마킹을 사용
  • Congestion management는 WFQ, LLQ와 같은 정교한 queuing 기술을 사용
    • voice와 같은 time-sensitive packet이 우선적으로 전송되도록 보장하기 위한 것

Policiing

  • 사전에 정해둔 한계치에 도달했을 때, 패킷을 버릴지 표시할지 결정

Shaping

  • 미리 정한 한계치에 도달했을 때, 패킷을 Queue에 형성

Compression

  • 헤더 압축은 극적으로 voice 전송의 overhead를 줄일 수 있음
  • chksum 헤더는 압축할 수 없음

  • link fragmentation과 interleaving을 사용하지 않을 경우, time-sensitive voice 트래픽은 non-time-sensitive data 패킷보다 후순위로 지연될 수 있음
  • link fragmentation은 긴 데이터 패킷을 부수고 time-sensitive패킷을 중간에 끼워 넣음
    • time-sensitive 패킷이 지연되지 않게 하기 위함

Applying QoS to Input and Output Interfaces


Classfication and Marking

Classfication

  • 각각 다른 트래픽 흐름들을 구분하고 정의하는 QoS 구성 요소
  • 가장 근본적인 QoS 구성 블록
  • classfication 없이는 모든 패킷은 똑같이 분류될 것

Marking

  • QoS 처리 과정에서 다른 패킷을 구분하고 정의할 수 있는 QoS의 colors 요소

Provisioning for Data: General Principles

  • 어플리케이션을 네트워크 요구 사항에 맞게 프로파일링
  • over-engineer 프로비저닝 금지
  • Mission-critical 또는 Transactional classes에 세 개 이상의 어플리케이션 할당 금지

QoS Baseline Expansion

Trust Boundary Classification

  • 앞에서 marking한 값을 참고하여 marking 진행하면 trust 관계
  • 앞에서 적용된 값을 무시하고 새롭게 marking하면 trust 관계 아님
  • PC에서 온 트래픽은 trust하지 않음
  • 전화기에서 온 트래픽은 trust
  • End host는 절대로 trust되지 않음

Trust Boundaries Mark Where?

  • 확장성을 위해 marking 위치는 가능한 source에 가깝게 배치해야 함

Configuring QoS Policy Propagation On BGP

QoS Policy Propagation on BGP

  • QPPB는 네트워크 내의 다른 라우터로 CoS를 홍보하기 위해 BGP 속성을 사용
  • BGP 커뮤니티는 일반적으로 IP 네트워크 범위에서 CoS 정보를 홍보

BGP Marking

  • BGP 속성으로 인코딩하여 CoS 전파
    • BGP 커뮤니티
    • AS 경로
    • IP Prefixes
    • 모든 다른 BGP 속성

Cisco Express Forwarding

  • Cisco Express Forwarding 운영의 두 가지 핵심 요소
    • Forwarding Information Base
    • Adjacency tables

QPPB Configuration Tasks

  • QoS 그룹 또는 IP precedence 설정하기 위해 route map 생성
  • main IP 라우팅 테이블로 전송되는 BGP 경로에 route map 적용
  • per-interface packet marking 허용

0개의 댓글