네트워크가 데이터만 전달할 때는 속도가 그다지 중요하지 않다.
그러나, 오디오 및 비디오 컨텐츠를 전달하는 대화형 애플리케이션에서는 속도가 민감하다.
화상회의 도중에 패킷이 손실되어 스트림 지연이 발생한다면 당연히 안될 것이다.
그렇기에 QoS 처리를 위한 모델들이 존재하는데 하나씩 알아보도록 하자.
Resource Reserve Protocol(RSVP)를 사용하여 네트워크 대역폭 자원을 예약하고 QoS 처리를 요구하는 모델이다.
애플리케이션이 네트워크에 신호를 보내 End to Endo 통신에서 필요할 것이라고 예상되는 대역폭 보장을 목적으로 하지만 현실적으로 실현이 어렵고 확장성 이유로 선호되지 않는 모델이다.
모든 노드에 end to end QoS를 사용하기에는 모든 트래픽에 대해서 RSVP 경로 상태를 유지해야하며, 경로 상태를 유지한다는 것은 결국 확장성에 어려움을 의미한다.
이 부분이 가장 큰 단점이며 대규모 네트워크에서는 IntServ를 사용할 수 없는 이유다.
BestEffort, IntServ 모델에 한계를 극복하기 위해 탄생했으며, 유입되는 네트워크 트래픽을 식별하고 분류해 QoS를 수행한다. IP 트래픽을 비즈니스 요구사항에 따라 여러개의 class로 분류해 class마다 다른 서비스 레벨이 할당되어 QoS가 적용된다. 분류된 서비스에 레벨에 따라 처리 순서가 결정된다.
DiffServ 모델은 서비스를 분류해 우선순위에 따라 처리할 수 있고, 우선순위가 낮은 서비스는 혼잡상황을 회피하기 위해 폐기 할 수 있어 QoS 적용시 가장 많이 사용되는 모델이다. DiffServ 모델에서 DSCP를 적용해 서비스를 분류하고 QoS 정책을 적용한다. QoS 정책이 네트워크 장비마다 독립적으로 수행되기 때문에 QoS 적용이 필요한 Traffic Flow에 모든 네트워크 장비에 정책을 넣어줘야한다.
결론적으로 IntServ의 RSVP를 활용한 자원 예약 방식은 각 플로우마다 라우터들의 상태 정보 유지를 필요로 하고 이러한 작동 방식은 관리가 복잡해 DSCP필드에 마킹해 각 패킷별로 다르게 처리하는 DiffServ가 효율과 확장성에 있어 훨씬 유리하다.
DSCP는 6비트를 사용하므로 2의 6승인 62가지 바이너리들로 표현되지만 일반적으로 사용되는 바이너리와 DSCP 이름, IP 우선순위를 확인할 수 있다.
DiffServ Architecture - PHB(라우터에서 패킷 처리 방법 지정) 4가지를 알아보면
- BE(Best Effort): 위에서 본 것 처럼 우선순위가 없는 일반 패킷 처리 그저 패킷을 빠르게 전달하기 위해 노력
- EF(Expedited Forwarding): 우선순위가 가장 높은 패킷을 처리, 높은 우선순위를 가진 패킷에 대한 최소한의 대기 시간과 최대한의 대역폭 할당 높은 우선순위 패킷의 전송을 보장함.
- AF(Assured Forwarding): 서비스 등급 또는 클래스에 대해 대역폭 보장을 적용, 서비스 등급 또는 클래스별로 대역폭 할당, 특정 패킷이 대역폭을 초과할 경우 폐기
- CS(Class Selector): 기존의 IP 서비스 등급 사용, 기존의 IP 서비스 등급에 해당하는 DSCP 값을 확인해 적절한 PHB를 적용