QoS
개요
QoS(Quality of, 서비스 품질)는 네트크에서 데이터 전송의 품질을 보장하기 위한 기술적 개념과 메커니즘을 의미합니다. 특히 네트워크 자원 제한된 상황에서 중요한 트래픽(예: 음성, 영상, 실시간 게임 등)이 우선적으로 처리되도록 하여 지연(latency), 지터(jitter), 패킷 손실(packet loss), 대역폭(bandwidth) 등의 성능 지표를 최적화하는 데 목적이 있습니다.
QoS는 기업 네트워크, 인터넷 서비스 제공자(ISP), 클라우드 환경, IoT 네트워크 등 다양한 분야에서 네트워크 성능 최화를 위해 필수적인 기술로 활용됩니다. 특히 실시간 애플리케이션의 안정적인 동작을 보장하기 위해 네트워크 트래픽을 분류하고 우선순위를 부여하는 정책 기반 관리가 핵심입니다.
QoS의 주요 목적
QoS는 다음과 같은 주요 성능 문제를 해결하기 위해 설계되었습니다:
- 지연(Latency): 데이터 패킷이 송신지에서 수신지까지 도달하는 데 걸리는 시간.
- 지터(Jitter): 연속된 패킷 간 도착 시간의 불규칙성.
- 패킷 손실(Packet Loss): 네트워크 혼잡 등으로 인해 일부 패킷이 도달하지 못하는 현상.
- 대역폭 부족: 네트워크의 전송 용량이 특정 트래픽 수요를 충족하지 못할 때 발생.
이러한 문제는 실시간 통신 서비스(VoIP, 화상 회의, 스트리밍 등)에 심각한 영향을 미치므로, QoS는 이를 예방하거나 최소화하는 데 중점을 둡니다.
QoS의 주요 기법
1. 트래픽 분류 및 마킹 (Traffic Classification and Marking)
네트워크 트래픽을 유형별로 분류하고, 각 트래픽에 우선순위를 부여하는 과정입니다. 주로 다음 프로토콜을 사용합니다:
- DSCP(Differentiated Services Code Point): IP 헤더의 ToS(Type of Service) 필드를 활용해 패킷에 우선순위를 표시.
- 802.1p: VLAN 태그 내에서 우선순위 값을 설정(0~7), 주로 스위치에서 사용.
- CoS(Class of Service): 주로 L2 계층에서 사용되는 우선순위 체계.
예: VoIP 트래픽은 DSCP 값 46(EF, Expedited Forwarding)으로 마킹되어 고우선순위 처리.
2. 큐잉 기법 (Queuing)
네트워크 장비(라우터, 스위치)에서 패킷을 대기시키는 방식으로, 우선순위에 따라 처리 순서를 조절합니다.
| 큐잉 방식 |
설명 |
| FIFO(First In, First Out) |
기본 큐잉, 순서대로 처리. QoS 없음. |
| PQ(Priority Queuing) |
고우선순위 큐의 패킷을 먼저 처리. 낮은 우선순위 트래픽은 배제될 수 있음. |
| WFQ(Weighted Fair Queuing) |
트래픽 흐름(flow)별로 가중치를 부여해 공정하게 대역폭 분배. |
| CBWFQ(Class-Based Weighted Fair Queuing) |
사용자 정의 클래스 기반 큐잉. 각 클래스에 최소 대역폭 보장 가능. |
| LLQ(Low Latency Queuing) |
실시간 트래픽을 위한 우선순위 큐를 CBWFQ에 추가. 지연 최소화에 효과적. |
3. 트래픽 셰이핑 및 폴리싱 (Traffic Shaping and Policing)
- 트래픽 셰이핑(Shaping): 트래픽을 일정한 속도로 조절하여 폭주를 방지. 주로 대역폭 초과 시 버퍼링.
- 트래픽 폴리싱(Policing): 초과 트래픽을 즉시 폐기하거나 우선순위를 낮춤. 주로 CAR(Committed Access Rate) 기법 사용.
예: 100Mbps 링크에서 비디오 스트리밍 트래픽을 50Mbps로 제한하여 다른 서비스에 자원을 확보.
4. 혼잡 제어 (Congestion Management)
네트워크 혼잡 발생 시 패킷 처리 방식을 조절합니다.
- WRED(Weighted Random Early Detection): 혼잡이 발생하기 전에 우선순위가 낮은 패킷을 무작위로 폐기하여 TCP 흐름 제어 유도.
- RED(Random Early Detection): WRED의 기본 형태로, 모든 트래픽에 동일하게 적용.
QoS의 적용 사례
기업 네트워크
- VoIP 시스템과 화상 회의 시스템에 고우선순위 부여.
- ERP, CRM 등 핵심 애플리케이션 트래픽 보호.
인터넷 서비스 제공자(ISP)
- 가정용 인터넷에서 IPTV, 게임 트래픽에 우선순위 제공.
- 과금 기반 QoS: 고품질 서비스를 원하는 사용자에게 프리미엄 요금제 제공.
클라우드 및 데이터센터
- VM 간 통신, 스토리지 트래픽에 대한 대역폭 보장.
- 멀티테넌시 환경에서 tenant별 리소스 격리 및 품질 보장.
IoT 네트워크
- 산업용 센서 데이터(예: 실시간 모니터링)에 대한 낮은 지연 보장.
- 비판단적 트래픽(예: 소프트웨어 업데이트)은 낮은 우선순위로 처리.
QoS의 한계와 고려사항
- 단말 지원 필요: QoS 정책이 단말기에서 제대로 마킹되지 않으면 효과 감소.
- End-to-End 적용 어려움: 여러 네트워크를 거칠 경우, 모든 구간에서 QoS 정책이 일관되게 적용되어야 함.
- 복잡한 구성: 정책 기반 관리로 인해 네트워크 관리의 복잡도 증가.
- 과도한 우선순위 지정: 모든 트래픽을 고우선순위로 설정하면 QoS의 의미 상실.
관련 기술 및 표준
- DiffServ(Differentiated Services): IETF에서 정의한 QoS 아키텍처. DSCP 기반.
- IntServ(Integrated Services): RSVP 프로토콜을 사용한 흐름 단위 QoS. 실용성 낮음.
- MPLS TE(MPLS Traffic Engineering): MPLS 네트워크에서 트래픽 경로를 최적화하여 QoS 보장.
- SD-WAN: 애플리케이션 인식 기반으로 동적 QoS 적용 가능.
사용자 경험(QoE)과의 상관관계
QoS가 네트워크의 기술적 성능 지표(KPI)를 관리하는 것이라면, QoE(Quality of Experience)는 최종 사용자가 주관적으로 느끼는 서비스의 품질을 의미합니다. QoS 지표의 개선이 반드시 QoE의 상승으로 이어지는 것은 아니며, 서비스의 특성에 따라 상관관계가 다르게 나타납니다.
-
상관관계 예시:
- VoIP/화상회의: 지연(Latency)과 지터(Jitter)가 임계치를 넘으면 음성 끊김이나 화면 밀림 현상이 발생하여 QoE가 급격히 하락합니다.
- VOD 스트리밍: 초기 버퍼링 시간(Start-up Delay)과 재생 중 멈춤 횟수가 QoE의 핵심 지표가 됩니다.
- 웹 서핑: 패킷 손실보다는 전체적인 페이지 로딩 시간(Page Load Time)이 QoE에 더 큰 영향을 미칩니다.
-
QoE 측정 지표의 구체적 예시:
- MOS (Mean Opinion Score): 1(나쁨)부터 5(매우 좋음)까지의 척도로 음성 품질을 측정하는 표준 지표.
- VMAF (Video Multi-Method Assessment Fusion): 넷플릭스에서 개발한 지표로, 시각적 왜곡을 분석하여 인간이 느끼는 비디오 품질을 수치화.
- TTFB (Time to First Byte): HTTP 요청 후 첫 번째 바이트가 도착할 때까지의 시간으로, 웹 서비스의 응답성을 측정.
계층 간 마킹 매핑 (L2-L3 Mapping)
네트워크 트래픽이 L2 스위치와 L3 라우터를 거칠 때, 각 계층에서 사용하는 우선순위 필드가 다르므로 이를 상호 변환하는 매핑(Mapping) 과정이 필요합니다. 일반적으로 L2의 802.1p(CoS) 값과 L3의 DSCP 값이 일대일 또는 다대일로 매핑되어 End-to-End QoS를 유지합니다.
[DSCP $\leftrightarrow$ 802.1p 매핑 다이어그램]
[L3 Packet (DSCP)] $\rightarrow$ [L3 Switch/Router] $\rightarrow$ [L2 Frame (802.1p/CoS)]
(예: DSCP EF (46) $\rightarrow$ CoS 5 (Voice) $\rightarrow$ DSCP EF (46))
| 서비스 유형 |
DSCP 값 (L3) |
802.1p/CoS 값 (L2) |
우선순위 수준 |
| Voice (VoIP) |
EF (46) |
5 |
최고 (Critical) |
| Video Conference |
AF41 (34) |
4 |
높음 (High) |
| Critical Data |
AF31 (26) |
3 |
보통 (Medium) |
| Best Effort |
BE (0) |
0 |
낮음 (Low) |
QoS 모델의 비교 (IntServ vs DiffServ)
네트워크에서 품질을 보장하는 방식은 크게 예약 기반의 IntServ와 클래스 기반의 DiffServ로 나뉩니다.
| 비교 항목 |
IntServ (Integrated Services) |
DiffServ (Differentiated Services) |
| 동작 방식 |
예약 기반: RSVP 프로토콜을 통해 경로상의 모든 장비에 자원을 미리 예약 |
클래스 기반: 패킷 헤더에 마킹을 하여 장비별로 차등 처리 (PHB) |
| 상태 관리 |
모든 라우터가 개별 흐름(Flow)의 상태 정보를 유지 (Stateful) |
개별 흐름을 관리하지 않고 클래스별로 처리 (Stateless) |
| 확장성 |
낮음 (사용자/흐름 증가 시 라우터 부하 급증) |
높음 (대규모 네트워크 및 인터넷 환경에 적합) |
| 보장 수준 |
엄격한 보장 (Hard QoS) |
상대적인 우선순위 보장 (Soft QoS) |
| 주요 프로토콜 |
RSVP |
DSCP, PHB |
QoS 기술의 적용은 망 중립성(Net Neutrality) 논란과 밀접하게 연관되어 있습니다. 망 중립성이란 ISP가 모든 콘텐츠를 차별 없이 처리해야 한다는 원칙입니다.
- 정책적 쟁점: 특정 서비스(예: 특정 OTT 업체)의 트래픽에만 높은 우선순위를 부여하거나, 경쟁 서비스의 대역폭을 제한하는 행위는 공정한 경쟁을 저해한다는 비판을 받습니다.
- 기술적 정당성: 반면, 자율주행차의 제어 신호나 원격 의료와 같은 초저지연 필수 서비스의 경우, 생명과 직결되므로 기술적인 우선순위 부여가 반드시 필요하다는 주장이 대립합니다.
최신 QoS 트렌드 및 발전 방향
전통적인 정적 QoS 정책에서 벗어나, 네트워크 환경의 변화에 실시간으로 대응하는 지능형 QoS로 진화하고 있습니다.
- AI/ML 기반 지능형 QoS: 딥러닝 모델을 통해 트래픽 패턴을 학습하고, 혼잡이 예상되는 시점을 미리 예측하여 큐잉 알고리즘이나 대역폭 할당량을 자동으로 최적화하는 Self-Optimizing Network (SON) 기술이 도입되고 있습니다.
- 5G 네트워크 슬라이싱 (Network Slicing): 물리적인 하나의 네트워크를 가상화하여 여러 개의 독립적인 논리적 네트워크(Slice)로 분리하는 기술입니다.
- eMBB (초광대역): 고화질 영상 스트리밍을 위한 대역폭 중심 슬라이스.
- URLLC (초고신뢰 저지연): 스마트 팩토리, 자율주행을 위한 지연 시간 최소화 슬라이스.
- mMTC (대규모 연결): 수많은 IoT 기기를 수용하기 위한 연결성 중심 슬라이스.
QoS 구현을 위한 단계적 프로세스
실제 네트워크 장비에서 QoS를 구현할 때는 트래픽의 유입부터 송신까지 다음과 같은 논리적 흐름을 따릅니다.
- 트래픽 식별 (Identification): 어떤 트래픽이 중요한지 정의하는 단계입니다. ACL(Access Control List)이나 NBAR(Network Based Application Recognition)를 통해 프로토콜, 포트 번호, IP 주소 등으로 트래픽을 구분합니다.
- 예시 명령어 (Cisco):
access-list 101 permit tcp any any eq 443 (HTTPS 트래픽 식별)
- 분류 (Classification): 식별된 트래픽을 특정 클래스(Class)로 그룹화합니다.
- 예시 명령어:
class-map match-all VOICE-CLASS $\rightarrow$ match access-group 101
- 마킹 (Marking): 분류된 패킷의 헤더(DSCP, CoS 등)에 우선순위 값을 기록하여 이후 장비들이 즉시 인식하게 합니다.
- 예시 명령어:
policy-map QOS-POLICY $\rightarrow$ class VOICE-CLASS $\rightarrow$ set dscp ef
- 큐잉 (Queuing): 인터페이스 출력 버퍼에서 패킷을 대기시키는 방식(LLQ, CBWFQ 등)을 결정합니다.
- 스케줄링 (Scheduling): 큐에 쌓인 패킷 중 어떤 것을 먼저 전송할지 결정하여 실제 인터페이스로 송출합니다.
- 예시 명령어:
priority percent 30 (전체 대역폭의 30%를 우선순위 큐에 할당)
QoS 모니터링 및 검증 지표
설정된 QoS 정책이 의도대로 작동하는지 확인하기 위해 다음과 같은 지표와 도구를 활용합니다.
- 인터페이스 통계 분석:
- Drop Count: 특정 큐에서 패킷 드롭이 발생하는지 확인하여 대역폭 할당량이 부족한지 판단합니다.
- Queue Depth: 큐에 쌓여 있는 패킷의 양을 통해 지연(Latency) 발생 가능성을 모니터링합니다.
- 분석 도구 활용:
- NetFlow/IPFIX: 트래픽의 흐름을 분석하여 실제 마킹된 DSCP 값이 정책대로 유지되고 있는지 확인합니다.
- SNMP (Simple Network Management Protocol): 큐별 처리량과 드롭 횟수를 실시간 그래프로 시각화하여 임계치 초과 여부를 감시합니다.
- Ping/Jitter Test: 실제 서비스 단말 간의 RTT(Round Trip Time)와 지터 값을 측정하여 QoE 수준을 검증합니다.
큐잉 기법 상세 비교 및 실무 사례
각 큐잉 방식의 특성과 실제 서비스 적용 사례를 비교한 표입니다.
| 큐잉 방식 |
핵심 특징 |
적합한 트래픽 유형 |
구체적인 서비스 사례 |
| FIFO |
단순 순차 처리 |
일반 데이터, QoS 미적용 트래픽 |
단순 웹 서핑, 백그라운드 업데이트 |
| PQ |
절대적 우선순위 |
초저지연 필수 트래픽 |
네트워크 제어 신호 (Routing Protocol) |
| WFQ |
흐름별 공정 분배 |
다양한 소규모 트래픽 혼재 환경 |
일반적인 기업 내부망 데이터 통신 |
| CBWFQ |
클래스별 대역폭 보장 |
중요도가 정의된 비즈니스 데이터 |
ERP, CRM, 데이터베이스 쿼리 |
| LLQ |
우선순위 큐 + 대역폭 보장 |
실시간 인터랙티브 트래픽 |
VoIP, 화상회의 (Zoom, Teams) |
계층적 QoS (HQoS) 및 정책 충돌 해결
단순한 QoS 설정은 단일 인터페이스의 대역폭만 제어하지만, 복잡한 네트워크 환경에서는 정책 충돌(Policy Conflict)이 발생할 수 있습니다. 예를 들어, 전체 물리 링크의 대역폭은 1Gbps이지만 가상 회선(VLAN)별로 할당된 대역폭이 서로 충돌하여 특정 서비스가 굶주림(Starvation) 현상을 겪는 경우가 이에 해당합니다.
이를 해결하기 위해 HQoS(Hierarchical QoS) 구조를 도입하여 정책을 계층화합니다.
[HQoS 계층 구조 다이어그램]
[Parent Policy (물리 인터페이스/전체 셰이핑)]
$\downarrow$
[Child Policy (서비스/VLAN별 대역폭 할당)]
$\downarrow$
[Grand-Child Policy (클래스별 우선순위 큐잉/마킹)]
- Parent Level: 물리적 포트의 최대 전송 속도를 제한(Shaping)하여 하위 계층의 트래픽 총량을 제어합니다.
- Child Level: 논리적 그룹(예: 고객사별, 부서별)에 따라 대역폭을 분배합니다.
- Leaf Level: 각 그룹 내에서 실제 애플리케이션(음성, 영상, 데이터)의 우선순위를 결정합니다.
클라우드 네이티브 환경의 트래픽 제어
가상화 및 컨테이너 환경(Kubernetes 등)에서는 전통적인 L3/L4 기반 QoS 외에 서비스 메시(Service Mesh) 기반의 정교한 트래픽 제어 기법이 사용됩니다.
- 서비스 메시 기반 제어 (Istio, Linkerd 등):
- L7 트래픽 관리: HTTP 헤더, URL 경로 등 애플리케이션 계층의 정보를 바탕으로 트래픽을 라우팅하고 제어합니다.
- 서킷 브레이커 (Circuit Breaking): 특정 서비스에 과부하가 발생하면 요청을 즉시 차단하여 시스템 전체의 연쇄 장애(Cascading Failure)를 방지합니다.
- Rate Limiting (속도 제한):
- API Gateway 수준 제어: 사용자 ID나 API 키별로 초당 요청 수(RPS)를 제한하여 특정 사용자의 자원 독점을 막고 서비스 가용성을 보장합니다.
- Token Bucket/Leaky Bucket: 알고리즘을 통해 일시적인 트래픽 폭주(Burst)는 허용하되, 평균 전송률을 일정하게 유지합니다.
참고 자료
- [RFC 2475] - An Architecture for Differentiated Services
- [RFC 3246] - An Expedited Forwarding PHB (Per-Hop Behavior)
- Cisco Systems, "QoS Fundamentals", Cisco Press
- IEEE 802.1p Standard for Local and Metropolitan Area Networks
QoS는 현대 네트워크 인프라에서 성능과 안정성을 확보하기 위한 핵심 요소입니다. 특히 대역폭과 리소스가 제한된 환경에서 실시간 서비스의 품질을 유지하기 위해 필수적으로 고려되어야 하며, 정책 설계와 지속적인 모니터링이 성공적인 QoS 구현의 열쇠입니다.
# QoS
## 개요
**QoS**(Quality of, 서비스 품질)는 네트크에서 데이터 전송의 품질을 보장하기 위한 기술적 개념과 메커니즘을 의미합니다. 특히 네트워크 자원 제한된 상황에서 중요한 트래픽(예: 음성, 영상, 실시간 게임 등)이 우선적으로 처리되도록 하여 지연(latency), 지터(jitter), 패킷 손실(packet loss), 대역폭(bandwidth) 등의 성능 지표를 최적화하는 데 목적이 있습니다.
QoS는 기업 네트워크, 인터넷 서비스 제공자(ISP), 클라우드 환경, IoT 네트워크 등 다양한 분야에서 네트워크 성능 최화를 위해 필수적인 기술로 활용됩니다. 특히 실시간 애플리케이션의 안정적인 동작을 보장하기 위해 네트워크 트래픽을 분류하고 우선순위를 부여하는 정책 기반 관리가 핵심입니다.
---
## QoS의 주요 목적
QoS는 다음과 같은 주요 성능 문제를 해결하기 위해 설계되었습니다:
- **지연**(Latency): 데이터 패킷이 송신지에서 수신지까지 도달하는 데 걸리는 시간.
- **지터**(Jitter): 연속된 패킷 간 도착 시간의 불규칙성.
- **패킷 손실**(Packet Loss): 네트워크 혼잡 등으로 인해 일부 패킷이 도달하지 못하는 현상.
- **대역폭 부족**: 네트워크의 전송 용량이 특정 트래픽 수요를 충족하지 못할 때 발생.
이러한 문제는 실시간 통신 서비스(VoIP, 화상 회의, 스트리밍 등)에 심각한 영향을 미치므로, QoS는 이를 예방하거나 최소화하는 데 중점을 둡니다.
---
## QoS의 주요 기법
### 1. 트래픽 분류 및 마킹 (Traffic Classification and Marking)
네트워크 트래픽을 유형별로 분류하고, 각 트래픽에 우선순위를 부여하는 과정입니다. 주로 다음 프로토콜을 사용합니다:
- **DSCP**(Differentiated Services Code Point): IP 헤더의 ToS(Type of Service) 필드를 활용해 패킷에 우선순위를 표시.
- **802.1p**: VLAN 태그 내에서 우선순위 값을 설정(0~7), 주로 스위치에서 사용.
- **CoS**(Class of Service): 주로 L2 계층에서 사용되는 우선순위 체계.
예: VoIP 트래픽은 DSCP 값 46(EF, Expedited Forwarding)으로 마킹되어 고우선순위 처리.
### 2. 큐잉 기법 (Queuing)
네트워크 장비(라우터, 스위치)에서 패킷을 대기시키는 방식으로, 우선순위에 따라 처리 순서를 조절합니다.
| 큐잉 방식 | 설명 |
|----------|------|
| **FIFO**(First In, First Out) | 기본 큐잉, 순서대로 처리. QoS 없음. |
| **PQ**(Priority Queuing) | 고우선순위 큐의 패킷을 먼저 처리. 낮은 우선순위 트래픽은 배제될 수 있음. |
| **WFQ**(Weighted Fair Queuing) | 트래픽 흐름(flow)별로 가중치를 부여해 공정하게 대역폭 분배. |
| **CBWFQ**(Class-Based Weighted Fair Queuing) | 사용자 정의 클래스 기반 큐잉. 각 클래스에 최소 대역폭 보장 가능. |
| **LLQ**(Low Latency Queuing) | 실시간 트래픽을 위한 우선순위 큐를 CBWFQ에 추가. 지연 최소화에 효과적. |
### 3. 트래픽 셰이핑 및 폴리싱 (Traffic Shaping and Policing)
- **트래픽 셰이핑**(Shaping): 트래픽을 일정한 속도로 조절하여 폭주를 방지. 주로 대역폭 초과 시 버퍼링.
- **트래픽 폴리싱**(Policing): 초과 트래픽을 즉시 폐기하거나 우선순위를 낮춤. 주로 **CAR**(Committed Access Rate) 기법 사용.
예: 100Mbps 링크에서 비디오 스트리밍 트래픽을 50Mbps로 제한하여 다른 서비스에 자원을 확보.
### 4. 혼잡 제어 (Congestion Management)
네트워크 혼잡 발생 시 패킷 처리 방식을 조절합니다.
- **WRED**(Weighted Random Early Detection): 혼잡이 발생하기 전에 우선순위가 낮은 패킷을 무작위로 폐기하여 TCP 흐름 제어 유도.
- **RED**(Random Early Detection): WRED의 기본 형태로, 모든 트래픽에 동일하게 적용.
---
## QoS의 적용 사례
### 기업 네트워크
- VoIP 시스템과 화상 회의 시스템에 고우선순위 부여.
- ERP, CRM 등 핵심 애플리케이션 트래픽 보호.
### 인터넷 서비스 제공자(ISP)
- 가정용 인터넷에서 IPTV, 게임 트래픽에 우선순위 제공.
- 과금 기반 QoS: 고품질 서비스를 원하는 사용자에게 프리미엄 요금제 제공.
### 클라우드 및 데이터센터
- VM 간 통신, 스토리지 트래픽에 대한 대역폭 보장.
- 멀티테넌시 환경에서 tenant별 리소스 격리 및 품질 보장.
### IoT 네트워크
- 산업용 센서 데이터(예: 실시간 모니터링)에 대한 낮은 지연 보장.
- 비판단적 트래픽(예: 소프트웨어 업데이트)은 낮은 우선순위로 처리.
---
## QoS의 한계와 고려사항
- **단말 지원 필요**: QoS 정책이 단말기에서 제대로 마킹되지 않으면 효과 감소.
- **End-to-End 적용 어려움**: 여러 네트워크를 거칠 경우, 모든 구간에서 QoS 정책이 일관되게 적용되어야 함.
- **복잡한 구성**: 정책 기반 관리로 인해 네트워크 관리의 복잡도 증가.
- **과도한 우선순위 지정**: 모든 트래픽을 고우선순위로 설정하면 QoS의 의미 상실.
---
## 관련 기술 및 표준
- **DiffServ**(Differentiated Services): IETF에서 정의한 QoS 아키텍처. DSCP 기반.
- **IntServ**(Integrated Services): RSVP 프로토콜을 사용한 흐름 단위 QoS. 실용성 낮음.
- **MPLS TE**(MPLS Traffic Engineering): MPLS 네트워크에서 트래픽 경로를 최적화하여 QoS 보장.
- **SD-WAN**: 애플리케이션 인식 기반으로 동적 QoS 적용 가능.
---
## 사용자 경험(QoE)과의 상관관계
QoS가 네트워크의 기술적 성능 지표(KPI)를 관리하는 것이라면, **QoE(Quality of Experience)**는 최종 사용자가 주관적으로 느끼는 서비스의 품질을 의미합니다. QoS 지표의 개선이 반드시 QoE의 상승으로 이어지는 것은 아니며, 서비스의 특성에 따라 상관관계가 다르게 나타납니다.
* **상관관계 예시**:
* **VoIP/화상회의**: 지연(Latency)과 지터(Jitter)가 임계치를 넘으면 음성 끊김이나 화면 밀림 현상이 발생하여 QoE가 급격히 하락합니다.
* **VOD 스트리밍**: 초기 버퍼링 시간(Start-up Delay)과 재생 중 멈춤 횟수가 QoE의 핵심 지표가 됩니다.
* **웹 서핑**: 패킷 손실보다는 전체적인 페이지 로딩 시간(Page Load Time)이 QoE에 더 큰 영향을 미칩니다.
* **QoE 측정 지표의 구체적 예시**:
* **MOS (Mean Opinion Score)**: 1(나쁨)부터 5(매우 좋음)까지의 척도로 음성 품질을 측정하는 표준 지표.
* **VMAF (Video Multi-Method Assessment Fusion)**: 넷플릭스에서 개발한 지표로, 시각적 왜곡을 분석하여 인간이 느끼는 비디오 품질을 수치화.
* **TTFB (Time to First Byte)**: HTTP 요청 후 첫 번째 바이트가 도착할 때까지의 시간으로, 웹 서비스의 응답성을 측정.
## 계층 간 마킹 매핑 (L2-L3 Mapping)
네트워크 트래픽이 L2 스위치와 L3 라우터를 거칠 때, 각 계층에서 사용하는 우선순위 필드가 다르므로 이를 상호 변환하는 **매핑(Mapping)** 과정이 필요합니다. 일반적으로 L2의 802.1p(CoS) 값과 L3의 DSCP 값이 일대일 또는 다대일로 매핑되어 End-to-End QoS를 유지합니다.
**[DSCP $\leftrightarrow$ 802.1p 매핑 다이어그램]**
`[L3 Packet (DSCP)]` $\rightarrow$ `[L3 Switch/Router]` $\rightarrow$ `[L2 Frame (802.1p/CoS)]`
*(예: DSCP EF (46) $\rightarrow$ CoS 5 (Voice) $\rightarrow$ DSCP EF (46))*
| 서비스 유형 | DSCP 값 (L3) | 802.1p/CoS 값 (L2) | 우선순위 수준 |
| :--- | :--- | :--- | :--- |
| Voice (VoIP) | EF (46) | 5 | 최고 (Critical) |
| Video Conference | AF41 (34) | 4 | 높음 (High) |
| Critical Data | AF31 (26) | 3 | 보통 (Medium) |
| Best Effort | BE (0) | 0 | 낮음 (Low) |
## QoS 모델의 비교 (IntServ vs DiffServ)
네트워크에서 품질을 보장하는 방식은 크게 예약 기반의 IntServ와 클래스 기반의 DiffServ로 나뉩니다.
| 비교 항목 | IntServ (Integrated Services) | DiffServ (Differentiated Services) |
| :--- | :--- | :--- |
| **동작 방식** | **예약 기반**: RSVP 프로토콜을 통해 경로상의 모든 장비에 자원을 미리 예약 | **클래스 기반**: 패킷 헤더에 마킹을 하여 장비별로 차등 처리 (PHB) |
| **상태 관리** | 모든 라우터가 개별 흐름(Flow)의 상태 정보를 유지 (Stateful) | 개별 흐름을 관리하지 않고 클래스별로 처리 (Stateless) |
| **확장성** | 낮음 (사용자/흐름 증가 시 라우터 부하 급증) | 높음 (대규모 네트워크 및 인터넷 환경에 적합) |
| **보장 수준** | 엄격한 보장 (Hard QoS) | 상대적인 우선순위 보장 (Soft QoS) |
| **주요 프로토콜** | RSVP | DSCP, PHB |
## 망 중립성과 QoS의 쟁점
QoS 기술의 적용은 **망 중립성(Net Neutrality)** 논란과 밀접하게 연관되어 있습니다. 망 중립성이란 ISP가 모든 콘텐츠를 차별 없이 처리해야 한다는 원칙입니다.
* **정책적 쟁점**: 특정 서비스(예: 특정 OTT 업체)의 트래픽에만 높은 우선순위를 부여하거나, 경쟁 서비스의 대역폭을 제한하는 행위는 공정한 경쟁을 저해한다는 비판을 받습니다.
* **기술적 정당성**: 반면, 자율주행차의 제어 신호나 원격 의료와 같은 초저지연 필수 서비스의 경우, 생명과 직결되므로 기술적인 우선순위 부여가 반드시 필요하다는 주장이 대립합니다.
## 최신 QoS 트렌드 및 발전 방향
전통적인 정적 QoS 정책에서 벗어나, 네트워크 환경의 변화에 실시간으로 대응하는 지능형 QoS로 진화하고 있습니다.
* **AI/ML 기반 지능형 QoS**: 딥러닝 모델을 통해 트래픽 패턴을 학습하고, 혼잡이 예상되는 시점을 미리 예측하여 큐잉 알고리즘이나 대역폭 할당량을 자동으로 최적화하는 **Self-Optimizing Network (SON)** 기술이 도입되고 있습니다.
* **5G 네트워크 슬라이싱 (Network Slicing)**: 물리적인 하나의 네트워크를 가상화하여 여러 개의 독립적인 논리적 네트워크(Slice)로 분리하는 기술입니다.
* **eMBB (초광대역)**: 고화질 영상 스트리밍을 위한 대역폭 중심 슬라이스.
* **URLLC (초고신뢰 저지연)**: 스마트 팩토리, 자율주행을 위한 지연 시간 최소화 슬라이스.
* **mMTC (대규모 연결)**: 수많은 IoT 기기를 수용하기 위한 연결성 중심 슬라이스.
## QoS 구현을 위한 단계적 프로세스
실제 네트워크 장비에서 QoS를 구현할 때는 트래픽의 유입부터 송신까지 다음과 같은 논리적 흐름을 따릅니다.
1. **트래픽 식별 (Identification)**: 어떤 트래픽이 중요한지 정의하는 단계입니다. ACL(Access Control List)이나 NBAR(Network Based Application Recognition)를 통해 프로토콜, 포트 번호, IP 주소 등으로 트래픽을 구분합니다.
- *예시 명령어 (Cisco):* `access-list 101 permit tcp any any eq 443` (HTTPS 트래픽 식별)
2. **분류 (Classification)**: 식별된 트래픽을 특정 클래스(Class)로 그룹화합니다.
- *예시 명령어:* `class-map match-all VOICE-CLASS` $\rightarrow$ `match access-group 101`
3. **마킹 (Marking)**: 분류된 패킷의 헤더(DSCP, CoS 등)에 우선순위 값을 기록하여 이후 장비들이 즉시 인식하게 합니다.
- *예시 명령어:* `policy-map QOS-POLICY` $\rightarrow$ `class VOICE-CLASS` $\rightarrow$ `set dscp ef`
4. **큐잉 (Queuing)**: 인터페이스 출력 버퍼에서 패킷을 대기시키는 방식(LLQ, CBWFQ 등)을 결정합니다.
5. **스케줄링 (Scheduling)**: 큐에 쌓인 패킷 중 어떤 것을 먼저 전송할지 결정하여 실제 인터페이스로 송출합니다.
- *예시 명령어:* `priority percent 30` (전체 대역폭의 30%를 우선순위 큐에 할당)
## QoS 모니터링 및 검증 지표
설정된 QoS 정책이 의도대로 작동하는지 확인하기 위해 다음과 같은 지표와 도구를 활용합니다.
- **인터페이스 통계 분석**:
- **Drop Count**: 특정 큐에서 패킷 드롭이 발생하는지 확인하여 대역폭 할당량이 부족한지 판단합니다.
- **Queue Depth**: 큐에 쌓여 있는 패킷의 양을 통해 지연(Latency) 발생 가능성을 모니터링합니다.
- **분석 도구 활용**:
- **NetFlow/IPFIX**: 트래픽의 흐름을 분석하여 실제 마킹된 DSCP 값이 정책대로 유지되고 있는지 확인합니다.
- **SNMP (Simple Network Management Protocol)**: 큐별 처리량과 드롭 횟수를 실시간 그래프로 시각화하여 임계치 초과 여부를 감시합니다.
- **Ping/Jitter Test**: 실제 서비스 단말 간의 RTT(Round Trip Time)와 지터 값을 측정하여 QoE 수준을 검증합니다.
## 큐잉 기법 상세 비교 및 실무 사례
각 큐잉 방식의 특성과 실제 서비스 적용 사례를 비교한 표입니다.
| 큐잉 방식 | 핵심 특징 | 적합한 트래픽 유형 | 구체적인 서비스 사례 |
| :--- | :--- | :--- | :--- |
| **FIFO** | 단순 순차 처리 | 일반 데이터, QoS 미적용 트래픽 | 단순 웹 서핑, 백그라운드 업데이트 |
| **PQ** | 절대적 우선순위 | 초저지연 필수 트래픽 | 네트워크 제어 신호 (Routing Protocol) |
| **WFQ** | 흐름별 공정 분배 | 다양한 소규모 트래픽 혼재 환경 | 일반적인 기업 내부망 데이터 통신 |
| **CBWFQ** | 클래스별 대역폭 보장 | 중요도가 정의된 비즈니스 데이터 | ERP, CRM, 데이터베이스 쿼리 |
| **LLQ** | 우선순위 큐 + 대역폭 보장 | 실시간 인터랙티브 트래픽 | VoIP, 화상회의 (Zoom, Teams) |
## 계층적 QoS (HQoS) 및 정책 충돌 해결
단순한 QoS 설정은 단일 인터페이스의 대역폭만 제어하지만, 복잡한 네트워크 환경에서는 **정책 충돌(Policy Conflict)**이 발생할 수 있습니다. 예를 들어, 전체 물리 링크의 대역폭은 1Gbps이지만 가상 회선(VLAN)별로 할당된 대역폭이 서로 충돌하여 특정 서비스가 굶주림(Starvation) 현상을 겪는 경우가 이에 해당합니다.
이를 해결하기 위해 **HQoS(Hierarchical QoS)** 구조를 도입하여 정책을 계층화합니다.
**[HQoS 계층 구조 다이어그램]**
`[Parent Policy (물리 인터페이스/전체 셰이핑)]`
$\downarrow$
`[Child Policy (서비스/VLAN별 대역폭 할당)]`
$\downarrow$
`[Grand-Child Policy (클래스별 우선순위 큐잉/마킹)]`
- **Parent Level**: 물리적 포트의 최대 전송 속도를 제한(Shaping)하여 하위 계층의 트래픽 총량을 제어합니다.
- **Child Level**: 논리적 그룹(예: 고객사별, 부서별)에 따라 대역폭을 분배합니다.
- **Leaf Level**: 각 그룹 내에서 실제 애플리케이션(음성, 영상, 데이터)의 우선순위를 결정합니다.
## 클라우드 네이티브 환경의 트래픽 제어
가상화 및 컨테이너 환경(Kubernetes 등)에서는 전통적인 L3/L4 기반 QoS 외에 **서비스 메시(Service Mesh)** 기반의 정교한 트래픽 제어 기법이 사용됩니다.
- **서비스 메시 기반 제어 (Istio, Linkerd 등)**:
- **L7 트래픽 관리**: HTTP 헤더, URL 경로 등 애플리케이션 계층의 정보를 바탕으로 트래픽을 라우팅하고 제어합니다.
- **서킷 브레이커 (Circuit Breaking)**: 특정 서비스에 과부하가 발생하면 요청을 즉시 차단하여 시스템 전체의 연쇄 장애(Cascading Failure)를 방지합니다.
- **Rate Limiting (속도 제한)**:
- **API Gateway 수준 제어**: 사용자 ID나 API 키별로 초당 요청 수(RPS)를 제한하여 특정 사용자의 자원 독점을 막고 서비스 가용성을 보장합니다.
- **Token Bucket/Leaky Bucket**: 알고리즘을 통해 일시적인 트래픽 폭주(Burst)는 허용하되, 평균 전송률을 일정하게 유지합니다.
## 참고 자료
- [RFC 2475] - An Architecture for Differentiated Services
- [RFC 3246] - An Expedited Forwarding PHB (Per-Hop Behavior)
- Cisco Systems, "QoS Fundamentals", Cisco Press
- IEEE 802.1p Standard for Local and Metropolitan Area Networks
---
QoS는 현대 네트워크 인프라에서 성능과 안정성을 확보하기 위한 핵심 요소입니다. 특히 대역폭과 리소스가 제한된 환경에서 실시간 서비스의 품질을 유지하기 위해 필수적으로 고려되어야 하며, 정책 설계와 지속적인 모니터링이 성공적인 QoS 구현의 열쇠입니다.