1. 개요
Quality of Service, Real-time systems, Resource Allocation, Load balancer, Network Scheduling Algorithms다양한 영문 용어를 갖고 있다.
- 넓은 의미: '서비스 품질'로 번역할 수 있으며, 최종 사용자에게 제공되는 품질을 의미한다.
- 좁은 의미: 컴퓨터 네트워크 상에서 모든 사용자들이 가장 쾌적하게 사용을 할 수 있도록 자원을 분배하는 기능.
2. 네트워크의 QoS
데이터 통신 네트워크상에 흐르는 데이터의 중요도를 분류하여, 이를 기반으로 우선순위를 부여한다. 우선순위가 높을수록 빠르고 안전하게 전송이 보장된다.2.1. 주요 기능
- 수락제어 (Admission Control): 어떤 종류의 트래픽을 네트워크로 받아들일 것인가를 결정하는 트래픽 관리 정책
- 연결수락제어/호수락제어 (CAC,Connection Admission Control, Call Admission Control): 사용자쪽의 호(呼) 연결요청에 대한 수락, 거부[1] 여부를 결정하기 위해, 호 설정 단계에서, 망쪽에서 취해지는 일련의 제어행위들을 말하며 주로가상회선방식[2]에서 활용
- 통신 버퍼 관리: 통신 호(Call)혹은 패킷이 통신SW 혹은 장치의 버퍼로 인입 시 처리 순서 등 정책 수립을 통해 고객들에게 서비스 품질(QoS) 서비스 제공
2.2. 우선순위가 높은 데이터
- 네트워크 제어 프로토콜
- 음성 통화 - 이에 사용되는 VoIP가 늦게 처리되면, 서로 실시간 전화 통화에 지장을 주게 된다. 만약 중간에 일부 데이터가 소실되더라도 문제가 된다.
- IPTV - TV 데이터가 늦게 가면 버퍼링이 발생하며, 소실되면 화면이 멈추거나 모자이크 증상이 발생한다.
- 긴급 서비스
-
더 비싼 요금제를 쓰는 가입자.
2.3. 우선순위가 낮은 데이터
- 토렌트등 일반 파일 전송
- 컴퓨터 바이러스[3]
- 네트워크 공격성 패킷
3. QoS의 기타 이용
대한민국의 3대 이동통신사( SKT, KT, LG U+)는 모두 4G LTE 서비스를 시작하며 특정 사용자가 과도하게 사용할 경우, 다른 사용자의 QoS를 보장하기 위하여 과다 트래픽 사용자의 속도를 제한하고 있다. 이는 5G NR 시대에도 다를 바 없으며, 3사 모두 과다 트래픽 사용자에 대한 제재 사항이 약관에 들어 있다.유선 네트워크도 별로 다르지 않은데 기가 인터넷을 서비스하는 KT, LG U+,
단, 일반적인 사용자는 쉽게 이 제한에 도달하지 않는다는 점은 알아둬야 한다. 보통 한 가정에서는 한 달에 200GB 이상 사용하지 않는 것이 일반적이다.[6]지속 사용 트래픽이 10Mbps(총 3.3TB)라는 것은 적은 양이 아니라 매우 많이 사용하는 것이다. 데이터센터에서는 10Mbps 사용 시 월 10만 원 나온다.
KT에서 10기가 인터넷 속도를 100메가로 제한한 사건이 있었다. KT 10기가 인터넷 속도 저하 사건 참조.
가정용 공유기에도 QoS기능이 있는데 과거에는 이 기능이 부실한 경우가 많아서 컴퓨터에서 토렌트 다운로드 같은 걸 하면 전체 네트워크가 사실상 먹통이 되기도 했다.
컴퓨터에서 여러 응용프로그램이 동작하는 환경에서도 QoS가 필요할 수 있지 않을까라는 생각을 할 수도 있다. 하지만 가정용으로 가장 많이 사용하는 Windows 컴퓨터의 네트워크나 스토리지에는 기본적으로는 QoS가 없거나 거의 작동하지 않아서 인터넷에서 파일을 다운로드하거나 복사하는 등의 작업을 하면 다른 프로그램에서 네트워크나 스토리지를 사용하기 어려울 수도 있다.
4. QoS 알고리즘, 프로토콜
기본 QoS 알고리즘
- 트래픽 분류, 트래픽 쉐이핑, 트래픽 폴리싱, 혼잡제어(패킷 폐기), 스케줄링, 버퍼 관리 등
기존 기술
- LIFO(Last In First Out): 후입선출법, ' 스택(Stack)' 라고도 함
- FIFO(First In First Out): 선입선출법, ' 큐(Queue)', 'FCFS' 라고도 함
- PQ(Priority Queue): 우선순위에 따라 개별 큐를 처리
- FQ(Fair Queue) 혹은 CQ(Custom Queue): 개별 큐를 공정하게 라운드로빈 방식으로 처리
- WFQ(Weighted Fair Queue): Queue에 특정 가중치를 둔 FQ의 변형
- CBWFQ(Class-Base Weighted Fair Queueing): 최대 256개의 큐, 트래픽 클래스를 256개까지 분류 가능, PQ와 FQ 단점 해결
- Leaky Bucket: 네트워크 혼잡을 회피하기 위해 패킷 버퍼를 이용하여 조절
- Token Bucket: 패킷 토큰을 이용하여 네트워크 트래픽의 속도를 조절
- Hybrid Traffic Shaping: Leaky와 Token 방식을 장점 혼합
- RED(Random Early Detection): 네트워크 혼잡사항을 미리 감지하여 패킷 Drop 수행
- WRED(Weighted RED): 대상 패킷의 가중치에 따라 Drop 수행
- Tail Drop: 패킷 버퍼에 설정된 임계치를 초과할 경우 이후 패킷은 모두 Drop
- 프로세스 스케줄링 알고리즘 들 - 컴퓨터 시스템과 운영체제의 성능에 영향을 준다. 크게 보면 QoS
최신 기술 트렌드
상용 QoS 프로토콜, 서비스
- 멀티플렉서(먹스, MUX, Multiplexer): L2 QoS
- 디멀티플렉서(디먹스, DeMUX, DeMultiplexer): L2 QoS
- IEEE CSMA/CA, CSMA/CD: L2 QoS
- IETF TCP UDP, ARQ: L4 QoS
- 로드밸런싱: L4~L7 QoS, 혹은 보안 목적의 방화벽, NAC (트래픽 차단)
- IntServ/RSVP (Integrated Service): RSVP 프로토콜을 이용 라우터의 자원을 예약하여 플로우의 성능 보장, 비디오나 고대역폭의 멀티캐스트 메시지 전송을 위함
- DiffServ(Differentiated Service): 미리 정의된 패킷 등급에 따라 구분하여 서비스, IP헤더에 Type Of Service 필드값을 이용하여 ISP가 결정,
- MPLS(Multi Protocol Labeling Switch): 프레임에 레이블을 추가하여 2계층의 스위칭정보로 QoS 보장
- 5G QoS
- UPF : User Plane Function
- Network Slicing: SDN/NFV를 활용한 5G QoS 기술
- ATSSS : Access Traffic Steering, Switching and Splitting
- CDN: ISP의 네트워크 하단에 여러 대의 캐시서버를 설치
5. 참고
- 데이터 무제한 요금제
- 부하분산
- 분산 서비스 거부 공격
- 프로세스 스케줄링
- 확률론/ 대기행렬이론/ 최적화 이론/ 강화학습
- MATLAB 이산사건 시뮬레이터 Simevent #
- 네트워크 시뮬레이터 3 (NS3) #
[1]
보안,
방화벽개념이 아닌 통신관점이다,
[2]
패킷교환방식과는 반대의 개념
[3]
물론, 이 파일 자체가
인트라넷이 아닌 일반 인터넷에 떠돌아다니는 게 문제다.
[4]
사실상 SKB는 QoS가 폐지된 상황이다.
링크
[5]
가입 서비스마다 다름
[6]
일반 사용자가 고사양 게임을 다운로드를 할경우 하루에 200GB를 넘게 사용될 수 있다.
[7]
데이터셋이 중요한 다른 지도학습/비지도학습 머신러닝, 딥러닝를 직접 활용하기 보다, 실시간성 요청(request)를 잘처리하는속성, 현재 상태(status)를 중요시 하는 속성이 있기 때문이다.