탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 관리: IP 서비스 Oracle Solaris 11 Information Library (한국어) |
24. Virtual Router Redundancy Protocol(개요)
제5부IPQoS(IP Quality of Service)
IPQoS 구성 파일을 만들고 트래픽 클래스를 정의하는 방법
IPQoS 구성 파일에서 클래스에 대한 계산을 사용으로 설정하는 방법
이 절에서는 고객에게 주요 응용 프로그램을 제공하는 애플리케이션 서버에 대한 구성 파일을 만드는 방법을 설명합니다. 이 절차에서는 예로 그림 28-4의 BigAPPS 서버를 사용합니다.
다음 구성 파일은 BigAPPS 서버에 대한 IPQoS 작업을 정의합니다. 이 서버는 고객을 위한 FTP, 전자 메일(SMTP) 및 네트워크 뉴스(NNTP)를 호스트합니다.
예 29-3 애플리케이션 서버에 대한 샘플 IPQoS 구성 파일
fmt_version 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE } class { name smtp enable_stats FALSE next_action markAF13 } class { name news next_action markAF21 } class { name ftp next_action meterftp } filter { name smtpout sport smtp class smtp } filter { name newsout sport nntp class news } filter { name ftpout sport ftp class ftp } filter { name ftpdata sport ftp-data class ftp } } action { module dscpmk name markAF13 params { global_stats FALSE dscp_map{0-63:14} next_action continue } } action { module dscpmk name markAF21 params { global_stats FALSE dscp_map{0-63:18} next_action continue } } action { module tokenmt name meterftp params { committed_rate 50000000 committed_burst 50000000 red_action_name AF31 green_action_name markAF22 global_stats TRUE } } action { module dscpmk name markAF31 params { global_stats TRUE dscp_map{0-63:26} next_action continue } } action { module dscpmk name markAF22 params { global_stats TRUE dscp_map{0-63:20} next_action continue } }
예를 들어, 애플리케이션 서버에 대해 /var/ipqos/BigAPPS.qos 파일을 만듭니다. 다음 필수 문구로 시작하여 ipgpc 분류기를 호출하는 action 명령문을 시작합니다.
fmt_version 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE }
여는 action 명령문에 대한 설명은 IPQoS 구성 파일을 만들고 트래픽 클래스를 정의하는 방법을 참조하십시오.
action 명령문을 연 후 클래스 정의를 추가합니다.
class { name smtp enable_stats FALSE next_action markAF13 } class { name news next_action markAF21 } class { name ftp enable_stats TRUE next_action meterftp }
SMTP 응용 프로그램에서 처리할 전자 메일 트래픽 흐름을 포함하는 smtp라는 클래스를 만듭니다.
smtp 클래스에 대한 통계 수집을 사용으로 설정합니다. 하지만 enable_stats의 값이 FALSE이므로 이 클래스에 대한 통계는 수집되지 않습니다.
ipgpc가 처리를 완료한 후 ipgpc 모듈이 smtp 클래스의 패킷을 markAF13 action 명령문에 전달하도록 지시합니다.
NNTP 응용 프로그램에서 처리할 네트워크 뉴스 트래픽 흐름을 포함하는 news라는 클래스를 만듭니다.
ipgpc가 처리를 완료한 후 ipgpc 모듈이 news 클래스의 패킷을 markAF21 작업 명령문에 전달하도록 지시합니다.
FTP 응용 프로그램에서 처리할 송신 트래픽을 처리하는 ftp라는 클래스를 만듭니다.
ftp 클래스에 대한 통계 수집을 사용으로 설정합니다.
ipgpc가 처리를 완료한 후 ipgpc 모듈이 ftp 클래스의 패킷을 meterftp action 명령문에 전달하도록 지시합니다.
클래스 정의에 대한 자세한 내용은 IPQoS 구성 파일을 만들고 트래픽 클래스를 정의하는 방법을 참조하십시오.
filter { name smtpout sport smtp class smtp } filter { name newsout sport nntp class news } filter { name ftpout sport ftp class ftp } filter { name ftpdata sport ftp-data class ftp } }
smtpout 이름을 필터에 제공합니다.
sendmail(SMTP) 응용 프로그램에 대해 잘 알려진 포트인 소스 포트 25의 트래픽을 선택합니다.
필터가 속한 클래스(이 경우 smtp 클래스)를 식별합니다.
newsout 이름을 필터에 제공합니다.
네트워크 뉴스(NNTP) 응용 프로그램에 대해 잘 알려진 포트 이름인 소스 포트 이름 nntp의 트래픽을 선택합니다.
필터가 속한 클래스(이 경우 news 클래스)를 식별합니다.
ftpout 이름을 필터에 제공합니다.
FTP 트래픽에 대해 잘 알려진 포트 번호인 소스 포트 21의 제어 데이터를 선택합니다.
ftpdata 이름을 필터에 제공합니다.
FTP 데이터 트래픽에 대해 잘 알려진 포트 번호인 소스 포트 20의 트래픽을 선택합니다.
ftpout 및 ftpdata 필터가 속한 클래스(이 경우 ftp 클래스)를 식별합니다.
참조
필터를 정의하려면 IPQoS 구성 파일에서 필터를 정의하는 방법을 참조하십시오.
응용 프로그램 트래픽에 대한 전달 동작을 정의하려면 IPQoS 구성 파일에서 응용 프로그램 트래픽에 대한 전달을 구성하는 방법을 참조하십시오.
측정 모듈을 사용하여 흐름 제어를 구성하려면 IPQoS 구성 파일에서 흐름 제어를 구성하는 방법을 참조하십시오.
흐름 계산을 구성하려면 IPQoS 구성 파일에서 클래스에 대한 계산을 사용으로 설정하는 방법을 참조하십시오.
다음 절차에서는 응용 프로그램 트래픽에 대한 전달을 구성하는 방법을 보여줍니다. 이 절차에서는 네트워크의 다른 트래픽보다 낮은 우선권을 가질 수 있는 응용 프로그램 트래픽 클래스에 대한 홉별 동작을 정의합니다. 단계는 예 29-3의 /var/ipqos/BigAPPS.qos 파일 만들기를 계속합니다.
시작하기 전에
이 절차에서는 표시할 응용 프로그램에 대해 이미 정의된 클래스와 필터가 있는 기존 IPQoS 구성 파일이 있다고 가정합니다.
/var/ipqos/BigAPPS.qos 파일에서 마지막 필터는 다음과 같습니다.
filter { name ftpdata sport ftp-data class ftp } }
action { module dscpmk name markAF13
표시기 모듈 dscpmk를 호출합니다.
markAF13 이름을 action 명령문에 제공합니다.
params { global_stats FALSE dscp_map{0-63:14} next_action continue } }
markAF13 표시기 action 명령문에 대한 통계 수집을 사용으로 설정합니다. 하지만 enable_stats의 값이 FALSE이므로 통계는 수집되지 않습니다.
표시기에서 현재 처리 중인 트래픽 클래스 smtp의 패킷 헤더에 DSCP 14를 지정합니다.
트래픽 클래스 smtp의 패킷에 추가 처리가 필요하지 않음을 나타냅니다. 그러면 이러한 패킷은 네트워크 스트림으로 돌아갈 수 있습니다.
DSCP 14는 표시기가 dscp 맵의 모든 항목을 십진수 값 14(이진수 001110)로 설정하도록 지시합니다. DSCP 14는 AF13 홉별 동작을 설정합니다. 표시기는 DS 필드에서 DSCP 14의 smtp 트래픽 클래스 패킷을 표시합니다.
AF13은 DSCP 14의 모든 패킷을 높은 삭제 우선권으로 지정합니다. 하지만 AF13은 클래스 1 우선 순위도 보장하므로 라우터는 대기열에서 나가는 전자 메일 트래픽을 높은 우선 순위로 보장합니다. 가능한 AF 코드 포인트 표는 표 32-2를 참조하십시오.
action { module dscpmk name markAF21 params { global_stats FALSE dscp_map{0-63:18} next_action continue } }
markAF21 이름을 action 명령문에 제공합니다.
표시기에서 현재 처리 중인 트래픽 클래스 nntp의 패킷 헤더에 DSCP 18을 지정합니다.
DSCP 18은 표시기가 dscp 맵의 모든 항목을 십진수 값 18(이진수 010010)로 설정하도록 지시합니다. DSCP 18은 AF21 홉별 동작을 설정합니다. 표시기는 DS 필드에서 DSCP 18의 news 트래픽 클래스 패킷을 표시합니다.
AF21은 DSCP 18의 모든 패킷이 낮은 삭제 우선권을 받도록 보장하지만 클래스 2 우선 순위를 가집니다. 따라서 네트워크 뉴스 트래픽이 삭제될 가능성은 낮습니다.
참조
웹 서버에 대한 구성 정보를 추가하려면 IPQoS 구성 파일을 만들고 트래픽 클래스를 정의하는 방법을 참조하십시오.
측정 모듈을 사용하여 흐름 제어를 구성하려면 IPQoS 구성 파일에서 흐름 제어를 구성하는 방법을 참조하십시오.
흐름 계산을 구성하려면 IPQoS 구성 파일에서 클래스에 대한 계산을 사용으로 설정하는 방법을 참조하십시오.
라우터에 대한 전달 동작을 구성하려면 IPQoS 사용 네트워크에서 라우터를 구성하는 방법을 참조하십시오.
IPQoS 구성 파일을 활성화하려면 IPQoS 커널 모듈에 새 구성을 적용하는 방법을 참조하십시오.
특정 트래픽 흐름이 네트워크로 전송되는 속도를 제어하려면 측정기에 대한 매개변수를 정의해야 합니다. IPQoS 구성 파일에서 두 가지 측정기 모듈 tokenmt 또는 tswtclmt를 사용할 수 있습니다.
다음 절차에서는 예 29-3의 애플리케이션 서버에 대한 IPQoS 구성 파일 만들기를 계속합니다. 이 절차에서는 측정기뿐 아니라 측정기 action 명령문 내에서 호출되는 두 표시기 작업도 구성합니다.
시작하기 전에
단계에서는 흐름을 제어할 응용 프로그램에 대한 클래스 및 필터를 이미 정의했다고 가정합니다.
/var/ipqos/BigAPPS.qos 파일에서 다음 표시기 작업 이후 시작합니다.
action { module dscpmk name markAF21 params { global_stats FALSE dscp_map{0-63:18} next_action continue } }
action { module tokenmt name meterftp
tokenmt 측정기를 호출합니다.
meterftp 이름을 action 명령문에 제공합니다.
params { committed_rate 50000000 committed_burst 50000000
ftp 클래스의 트래픽에 전송 속도 50,000,000bps를 지정합니다.
ftp 클래스의 트래픽에 버스트 크기 50,000,000비트를 커밋합니다.
tokenmt 매개변수에 대한 설명은 두 속도 측정기로 tokenmt 구성을 참조하십시오.
red_action markAF31 green_action_name markAF22 global_stats TRUE } }
ftp 클래스의 트래픽 흐름이 약정된 속도를 초과할 경우 패킷이 markAF31 표시기 action 명령문으로 보내짐을 나타냅니다.
ftp의 트래픽 흐름이 약정된 속도를 준수할 경우 패킷이 markAF22 작업 명령문으로 보내짐을 나타냅니다.
ftp 클래스에 대한 측정 통계를 사용으로 설정합니다.
트래픽 준수에 대한 자세한 내용은 측정기 모듈을 참조하십시오.
action { module dscpmk name markAF31 params { global_stats TRUE dscp_map{0-63:26} next_action continue } }
표시기 모듈 dscpmk를 호출합니다.
markAF31 이름을 action 명령문에 제공합니다.
ftp 클래스에 대한 통계를 사용으로 설정합니다.
이 트래픽이 약정된 속도를 초과할 때마다 트래픽 클래스 ftp의 패킷 헤더에 DSCP 26을 지정합니다.
트래픽 클래스 ftp의 패킷에 추가 처리가 필요하지 않음을 나타냅니다. 그러면 이러한 패킷은 네트워크 스트림으로 돌아갈 수 있습니다.
DSCP 26은 표시기가 dscp 맵의 모든 항목을 십진수 값 26(이진수 011010)으로 설정하도록 지시합니다. DSCP 26은 AF31 홉별 동작을 설정합니다. 표시기는 DS 필드에서 DSCP 26의 ftp 트래픽 클래스 패킷을 표시합니다.
AF31은 DSCP 26의 모든 패킷이 낮은 삭제 우선권을 받도록 보장하지만 클래스 3 우선 순위를 가집니다. 따라서 비준수 FTP 트래픽이 삭제될 가능성은 낮습니다. 가능한 AF 코드 포인트 표는 표 32-2를 참조하십시오.
action { module dscpmk name markAF22 params { global_stats TRUE dscp_map{0-63:20} next_action continue } }
markAF22 이름을 marker 작업에 제공합니다.
ftp 트래픽이 구성된 속도를 준수할 때마다 트래픽 클래스 ftp의 패킷 헤더에 DSCP 20을 지정합니다.
DSCP 20은 표시기가 dscp 맵의 모든 항목을 십진수 값 20(이진수 010100)으로 설정하도록 지시합니다. DSCP 20은 AF22 홉별 동작을 설정합니다. 표시기는 DS 필드에서 DSCP 20의 ftp 트래픽 클래스 패킷을 표시합니다.
AF22는 DSCP 20의 모든 패킷이 클래스 2 우선 순위로 중간 삭제 우선권을 받도록 보장합니다. 따라서 준수하는 FTP 트래픽은 IPQoS 시스템에서 동시에 전송되는 흐름 중에서 중간 삭제 우선권이 보장됩니다. 하지만 라우터는 클래스 1 중간 삭제 우선권 표시 이상의 트래픽 클래스에 더 높은 전달 우선 순위를 제공합니다. 가능한 AF 코드 포인트 표는 표 32-2를 참조하십시오.
참조
IPQoS 구성 파일을 활성화하려면 IPQoS 커널 모듈에 새 구성을 적용하는 방법을 참조하십시오.
웹 서버에 대한 구성 정보를 추가하려면 IPQoS 구성 파일을 만들고 트래픽 클래스를 정의하는 방법을 참조하십시오.
흐름 계산을 구성하려면 IPQoS 구성 파일에서 클래스에 대한 계산을 사용으로 설정하는 방법을 참조하십시오.
라우터에 대한 전달 동작을 구성하려면 IPQoS 사용 네트워크에서 라우터를 구성하는 방법을 참조하십시오.