[펌]GQos 누구냐 넌? ㅋㅋ


출처 : http://mayple.tistory.com/64

서비스 품질(QoS) 및 리소스 예약 프로토콜(RSVP)


다른 새로운 Windows 2000 기능들 중 하나는 QoS 지원 기능입니다. Windows 2000은 리소스 예약 프로토콜(RSVP), DiffServ(Differentiated Services), IEEE 802.1p, ATM QoS 등과 같이 여러 가지의 QoS 메커니즘을 지원합니다. Windows 2000에서 지원되는 QoS 메커니즘은 간단한 GqoS(Generic QoS) API로 요약됩니다. 여기서는 스택 및 관련 시스템 구성 요소에서 발생하는 QoS 지원에 대해 간략하게 설명합니다.


GQoS API는 Winsock 프로그래밍 인터페이스를 확장한 것입니다. GqoS API에는 시스템 구성 요소와 API가 들어 있는데, 이는 클라이언트와 서버 사이에서 네트워크 대역폭을 예약하는 방법을 응용 프로그램에게 제공해줍니다. Windows 2000에서는 GqoS 요청을 RSVP, Diffserv, 802.1p 또는 ATM QoS와 같은 QoS 메커니즘으로 자동 매핑합니다. RSVP는 개별 네트워크 흐름에 대한 대역폭의 예약에 사용되는 계층 3 신호 프로토콜입니다. RSVP는 각각의 흐름에 대해 예약을 설정하기 때문에 단위 흐름 QoS 메커니즘입니다. Diffserv도 역시 계층 3 QoS 메커니즘입니다. Diffserv는 IP 패킷의 우선 순위를 매기는 방법을 결정하는 6비트를 IP 헤더에서 정의합니다.3 Diffserv 트래픽의 우선 순위는 PHB(Per Hop Behavior)라고 알려진 64개의 클래스로 매겨질 수 있습니다. 그와는 반대로, 802.1p는 이더넷 스위치와 같은 계층 2 장치가 트래픽 우선 순위를 매기는 방법을 정의하는 계층 2 QoS 메커니즘입니다. 802.1p는 8개의 우선 순위 클래스(0-7)를 정의합니다. DiffServ 및 802.1p는 모든 트래픽을 제한된 수의 우선 순위 클래스로 분류하기 때문에 집계 QoS 메커니즘이라고 불립니다.


아래의 이벤트 시퀀스에서는 응용 프로그램과 GQoS의 상호 작용에 대해 설명합니다.



  1. 응용 프로그램이 GQoS를 통해 추상적으로 QoS를 요청합니다.
  2. 응용 프로그램의 요청이 RSVP 신호 메시지로 변환됩니다. RSVP 신호 메시지가 네트워크로 보내지고 네트워크 경로에 있는 모든 RSVP 인식 노드의 대역폭을 예약합니다.
  3. RSVP 메시지는 예약을 설정할 뿐만 아니라 네트워크 상의 정책 서버에 의한 정밀한 검사를 받습니다. 네트워크 정책을 위반한 경우에는 정책 서버가 RSVP 요청을 거부할 수 있습니다. 따라서 네트워크 관리자는 누가 QoS를 가질 것인지를 강제로 지정할 수 있습니다.
  4. RSVP 예약이 설치되면 Windows 2000은 적절한 DiffServ 클래스와 802.1p 우선 순위를 지닌 상태로 흐르는 모든 송신 패킷을 표시하기 시작합니다.
  5. 그 흐름으로부터 발생하는 트래픽이 네트워크를 통과하게 만들기 때문에, 그 트래픽은 네트워크에서 802.1p 우선 순위 매김의 장점(802.1p 사용 이더넷 스위치인 경우), RSVP 예약의 장점(RSVP 사용 라우터인 경우) 및 DiffServ 우선 순위 매김의 장점(DiffServ 사용 클라우드인 경우)을 가지게 됩니다.

QoS 메커니즘에는 GQoS 요청을 ATM을 통한 클래식 IP 네트워크에서 ATM QoS로 자동 매핑하는 ATM을 통한 통합 서비스(ISATM) 등이 있습니다. 저속 비트를 통한 통합 서비스(SSLOW)는 느린 WAN 링크에서 우선 순위가 매겨진 트래픽에 대한 대기 시간을 줄여주는 QoS 메커니즘입니다. GQoS API 뿐만 아니라 제어 또는 관리 응용 프로그램도 트래픽 제어(TC) API를 통해 트래픽 제어 기능에 액세스합니다. TC API를 사용하는 제어 또는 관리 응용 프로그램에서는 QoS를 사용하지 않는 응용 프로그램에 대한 서비스 품질을 일부 제공할 수 있습니다. 또한 Windows 2000에서는 QoS 허가 제어 서비스(QoS ACS)라는 정책 서버를 제공합니다. 네트워크 관리자는 QoS ACS를 사용하여 누가 네트워크에서 QoS를 가지는지를 제어할 수 있습니다. 또한 QoS ACS는 로컬 정책 모듈(LPM) API라는 API를 제공합니다. LPM API를 사용하면 QoS ACS에 있는 정책 강제 실행 기능에 추가되는 사용자 정의 정책 모듈을 ISV가 만들 수 있습니다.


아래의 그림 2에서는 QoS 및 RSVP에 관련된 시스템 구성 요소에 대해 설명합니다. GQoS는 RSVP 신호를 불러오고 트래픽 제어를 처리하고 이벤트를 응용 프로그램에게 통보할 수 있는 QoS 제공자입니다. Rsvp.exe는 네트워크에 대한 RSVP 신호 전송을 처리하고 흐름 및 필터를 스택에 추가하기 위해 Traffic.dll을 불러오는 역할을 합니다. 패킷 분류기는 Traffic.dll에 나타난 패킷 필터에 따라 패킷을 분류합니다. 규칙 분석기, 셰이퍼 및 패킷 순서기를 포함하는 패킷 스케줄러는 각각의 트래픽 분류에 대해 별도의 대기열을 관리합니다. 셰이퍼는 약정된 속도로 패킷 대기열에 흐름이 들어오도록 관리하며, 순서기는 자신이 관리하는 대기열의 우선 순위에 따라 패킷을 네트워크 인터페이스로 보냅니다. QoS 사양에 없는 트래픽은 우선 순위가 가장 낮은 최적의 대기열로 보내집니다.


사용자 삽입 이미지


그림 2 QoS/RSVP 아키텍처


그림 2의 흐름도에서는 응용 프로그램이 QoS RSVP를 사용하여 데이터 흐름을 클라이언트(들)에게 전달하는 방법을 보입니다. 여기서 응용 프로그램은 오디오 서버로서, 클라이언트에게 허용 가능한 품질의 오디오를 제공하려면 초당 1MB의 안정적인 대역폭이 필요합니다. RSVP는 유니캐스트 흐름과 멀티캐스트 흐름을 모두 지원합니다. 이 예에서는 단일 클라이언트에 대해 유니캐스트 흐름을 사용합니다.


응용 프로그램은 GQoS에게 제공될 구조를 초기화하고 완성합니다. 이러한 구조에는 송수신 흐름 규정이 포함되며, 흐름 규정에는 최고 대역폭, 대기 시간, 지연 편차, 서비스 종류 등과 같은 매개 변수들이 들어 있습니다. 제공되는 서비스로는 최대 보장(Best Effort) 및 완전 보장(Guaranteed) 등이 있습니다.


그런 다음 응용 프로그램은 WSAConnect를 호출하여 클라이언트에 연결합니다. 이 기능을 호출하면 다수의 이벤트를 처리할 수 있습니다. 특수한 경로 메시지를 보냄으로써 네트워크 신호를 처리하기 위한 RSVP를 불러옵니다. 경로 메시지는 흐름이 들어가는 주소와 동일한 대상 IP 주소로 보내집니다. 이는 흐름에서 라우터를 설정하고 흐름을 식별하기 위한 것입니다. 경로 메시지를 수신하는 라우터는 자신의 IP 주소를 경로 메시지의 마지막 홉에 삽입하여 클라이언트에 도달할 때까지 그 메시지를 다음 경로에 있는 라우터로 전달합니다. 이렇게 하면 클라이언트가 발신자와 송신자 사이의 경로를 알 수 있고 해당 경로를 따라 응용 프로그램의 대역폭을 예약할 수 있습니다. 클라이언트는 동일한 경로를 따라 예약 요청(해당 흐름을 다시 설명함)을 반환합니다. 경로에 있는 라우터는 사용 가능한 리소스를 검사하고 예약을 수락할 수 있는지를 결정합니다. 경로에 있는 모든 라우터가 예약을 수락하면 응용 프로그램이 해당 네트워크 대역폭과 기타 다른 특징들을 사용할 수 있습니다.


네트워크가 동적이고 서버 또는 클라이언트가 네트워크에게 알리지 않은 상태로 잘못해서 자신의 리소스를 버릴 수도 있기 때문에 경로 메시지와 예약 요청은 자주 갱신해야 합니다. 네트워크에 변화가 없으면 추가 경로 메시지와 예약 요청만 기존 경로에 추가됩니다. 그러나 새로운 라우터가 나타나면 네트워크가 조정되는 대로 흐름에 사용되는 경로가 변경될 수 있습니다.


서버 응용 프로그램이 많은 클라이언트들에 대한 멀티캐스팅 작업에 사용될 때 유사한 이벤트 시퀀스가 발생합니다. 한 가지 흥미로운 차이점은 라우터들이 동일한 흐름을 참조하는 다양한 클라이언트로부터 예약 요청을 수신할 때 그 라우터들이 동일한 정보 흐름에 대해 별도의 예약들을 유지하는 것이 아니라 예약 요청을 병합할 수 있다는 점입니다.


이에 대한 자세한 내용은 Winsock2 사양 및 RFC 2205를 참조하십시오.

댓글 남기기