[목차] == 개요 == Quality of Service * 넓은 의미: '서비스 품질'로 번역할 수 있으며, 최종 사용자에게 제공되는 품질을 의미한다. * 좁은 의미: 컴퓨터 [[네트워크]] 상에서 데이터의 중요도에 따라 처리하는 [[알고리즘|기술]] == 네트워크의 QoS == 데이터 [[통신]] 네트워크상에 흐르는 데이터의 중요도를 분류하여, 이를 기반으로 우선순위를 부여한다. 우선순위가 높을수록 빠르고 안전하게 전송이 보장된다. === 주요 기능 === * 수락제어 (Admission Control): 어떤 종류의 트래픽을 네트워크로 받아들일 것인가를 결정하는 트래픽 관리 정책 * 연결수락제어/호수락제어 (CAC,Connection Admission Control, Call Admission Control): 사용자쪽의 호(呼) 연결요청에 대한 수락, 거부[* 보안, [[방화벽]]개념이 아닌 통신관점이다,] 여부를 결정하기 위해, 호 설정 단계에서, 망쪽에서 취해지는 일련의 제어행위들을 말하며 주로'''가상회선'''방식[* [[패킷]]교환방식과는 반대의 개념]에서 활용 * 통신 버퍼 관리: 통신 호(Call)혹은 [[패킷]]이 통신SW 혹은 장치의 [[버퍼]]로 인입 시 처리 순서 등 정책 수립을 통해 고객들에게 서비스 품질(QoS) 서비스 제공 === 우선순위가 높은 데이터 === * 네트워크 제어 프로토콜 * 음성 통화 - 이에 사용되는 [[VoIP]]가 늦게 처리되면, 서로 실시간 전화 통화에 지장을 주게 된다. 만약 중간에 일부 데이터가 소실되더라도 문제가 된다. * [[IPTV]] - TV 데이터가 늦게 가면 [[버퍼링]]이 발생하며, 소실되면 화면이 멈추거나 모자이크 증상이 발생한다. === 우선순위가 낮은 데이터 === * [[토렌트]]등 일반 파일 전송 * [[컴퓨터 바이러스]][* 물론, '''이 파일 자체가 [[인트라넷]]이 아닌 일반 인터넷에 떠돌아다니는 게 문제다.'''] * [[분산 서비스 거부 공격|네트워크 공격성 패킷]] == QoS의 기타 이용 == 대한민국의 3대 이동통신사([[SKT]], [[KT]], [[LG U+]])는 모두 [[4G]] [[LTE]] 서비스를 시작하며 특정 사용자가 과도하게 사용할 경우, 다른 사용자의 QoS를 보장하기 위하여 과다 트래픽 사용자의 속도를 제한하고 있다. 이는 [[5G]] [[NR]] 시대에도 다를 바 없으며, 3사 모두 과다 트래픽 사용자에 대한 제재 사항이 약관에 들어 있다. 유선 네트워크도 별로 다르지 않은데 [[기가 인터넷]]을 서비스하는 [[KT]], [[LG U+]], --[[SKB]]--[* 사실상 SKB는 QoS가 폐지된 상황이다.[[B 인터넷#장점|링크]]] 모두 일일 제한 용량(100GB ~300GB)[* 가입 서비스마다 다름]을 사용하면 기가 속도를 100Mbps까지 낮추어 버린다. 참고로 100GB는 1Gbps Full Speed로 사용 시 정확히 '''13분 20초''' 만에 다 써버릴 수 있는 용량이다. 단, 일반적인 사용자는 쉽게 이 제한에 도달하지 않는다는 점은 알아둬야 한다. 보통 한 가정에서는 '''한 달에''' 200GB 이상 사용하지 않는 것이 일반적이다.[* 일반 사용자가 고사양 게임을 다운로드를 할경우 하루에 200GB를 넘게 사용될 수 있다.]지속 사용 트래픽이 10Mbps(총 3.3TB)라는 것은 적은 양이 아니라 '''매우 많이''' 사용하는 것이다. [[데이터센터]]에서는 10Mbps 사용 시 월 10만 원 나온다. 3대 통신사 모두 유선인터넷 속도를 뒤로 몰래 제한하다 적발되었다. [[KT 10기가 인터넷 속도 저하 사건]] 참조. == 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]]: 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의 네트워크 하단에 여러 대의 캐시서버를 설치 == 참고 == * [[데이터 무제한 요금제]] * [[부하분산]] * [[분산 서비스 거부 공격]] * [[프로세스 스케줄링]] * [[확률론]]/[[대기행렬이론]] * [[MATLAB]] 이산사건 시뮬레이터 Simevent [[https://kr.mathworks.com/help/simevents/gs/discrete-event-simulation-using-simevents-in-simulink-models.html|#]] * 네트워크 시뮬레이터 3 (NS3) [[https://www.nsnam.org/|#]] [[분류:컴퓨터 공학]][[분류:통신]][[분류:네트워크]][[분류:알고리즘]]