PacketFence의 VLAN 제어 학술

PacketFence Administration Guide 2.2.0의 Technical introduction to VLAN mode 장에 있는 내용을 옮김.

VLAN 할당 기법

Port-security와 SNMP 조합

이 방식은 port-security SNMP 트랩을 이용한다. 모든 스위치 포트에 존재하지 않는 MAC 주소를 할당해놓으면 보안 위반이 발생하면서 자동으로 PacketFence에게 트랩이 전송된다. 시스템은 MAC을 인증한 후에 해당 포트를 적합한 VLAN으로 설정한다.

Wired: 802.1X + MAC 인증

802.1X는 suppliant와 authenticator (NAS), 그리고 인증 서버 (AAA) 사이의 상호작용을 통한 포트 기반의 인증을 제공한다. 이 때 보통 supplicant는 랩탑과 같은 클라이언트 디바이스 의 소프트웨어이고, authenticator는 이더넷 스위치나 무선 액세스 포인트, 인증 서버는 일반적으로 RADIUS 서버이다.

supplicant는 그 자신의 신원이 인가되기 전까지는 네트워크 사용이 불가능하다. 802.1X 포트 기반의 인증을 이용하면 supplicant는 사용자 이름과 패스워드 혹은 인증서와 같은 자격증명을 authenticator에게 제공하고, authenticator는 이를 인증 서버에 전달하여 인증을 수행한다. 만약 자격증명이 유효하면 supplicant는 네트워크를 사용할 수 있다. 이 인증 프로토콜은 EAP라 불리는데, 많은 변종 프로토콜이 존재한다. supplicant와 인증 서버는 동일한 EAP 프로토콜을 사용해야 하는데, 가장 많이 사용되는 EAP 프로토콜은 PEAP-MsCHAPv2이다 (윈도우/맥 OSX/리눅스에서 모두 AD 연동이 지원된다.)

PacketFence 서버에서는 FreeRADIUS 서버가 동작하고 있는데, 이 서버가 적합한 VLAN을 스위치에게 반환해준다. FreeRADIUS에 연동되는 모듈이 PacketFence 서버로 원격 호출을 해서 정보를 얻어간다. 날이 갈수록 많은 장치들이 802.1X supplicant를 지원하고 있기 때문에 이 방식이 시간이 지날수록 널리 사용되고 있다.

MAC 인증은 802.1X supplicant가 존재하지 않는 경우를 처리할 목적으로 일부 스위치 벤더에서 소개한 새로운 방식이다. 벤더마다 이 기능을 서로 달리 부른다. 시스코는 MAC Authentication Bypass (MAB), 주니퍼는 MAC RADIUS, Extreme Networks는 Netlogin 등으로 부른다. 타임아웃 시간이 지나면 스위치는 802.1X 시도를 중단하고 MAC 인증으로 전환한다. MAC 인증은 사용자 이름 대신에 MAC 주소를 사용한다는 점과 단말 간의 EAP 통신이 없다는 점을 제외하면 802.1X와 동일하다. MAC 인증을 사용하면 네트워크 프린터나 802.1X을 지원하지 않는 IP 전화와 같은 장치들도 제대로 된 VLAN을 할당 받아 네트워크를 사용할 수 있다.

Wireless: 802.1X + MAC 인증

Wireless 802.1X는 wired 802.1X + MAC 인증과 마찬가지로 동작한다. 다른 점이 있다면 MAC 인증을 수행할 때 암호화된 통신(WPA2-Enterprise)을 하기 위해 보안 키를 설정할 필요가 있다는 것이다.

무선 네트워크에서 PacketFence를 설정할 때는 보통 두 개의 SSID를 지정한다. 하나는 공개용, 하나는 내부용이다. 공개용은 Captive Portal을 통해 인증을 하게 만들고 사용자가 내부용 SSID를 설정하는 방법을 알려준다.

SNMP 트랩 기반의 VLAN 격리 방식

모든 스위치 포트에 SNMP 트랩을 걸어놓고 VLAN 격리를 동작시킬 때에는 반드시 SNMP 트랩이 PacketFence 호스트로 전달되도록 설정해야 한다. PacketFence에서는 snmptrapd를 사용하여 SNMP 트랩을 수신한다. PacketFence는 트랩을 수신하여 다시 포맷팅한 다음에 /usr/local/pf/logs/snmptrapd.log 파일에 기록한다. 멀티스레딩 되는 pfsetvlan 데몬은 이 트랩을 읽어서 스위치 포트에 적절한 VLAN을 설정한다. PacketFence는 현재 시스코, Edge-core, HP, 인텔, Linksys, Nortel 스위치를 지원한다. 스위치의 기능에 따라 pfsetvlan은 다른 종류의 SNMP 트랩에 반응한다.

여러분은 PacketFence가 등록되지 않은 장치를 집어넣을 등록용 VLAN을 생성해야 하고 (DHCP 서버 필요) 여러분이 만약 정책을 위반한 컴퓨터를 특정 VLAN에 격리해놓고 싶다면 격리용 VLAN도 만들어야 한다.

Link up/Link down 트랩

가장 흔하게 지원되는 방식이고, MAC 탐지용 VLAN이 하나 더 필요하다. 이 VLAN에는 아무 것도 없어야 하고 (DHCP 서버도 없어야 함) 다른 곳으로의 라우팅도 없다. 그냥 비어있는 VLAN이다.

호스트가 스위치 포트로 접속하게 되면, 스위치는 linkUp 트랩을 PacketFence에 전송한다. 스위치가 새로 접속한 장치의 MAC 주소를 학습하는데는 시간이 좀 걸리기 때문에, PacketFence는 이 포트를 MAC 탐지 VLAN에 집어넣고 장치가 DHCP 요청을 보내기를 기다려 스위치가 MAC을 학습하게 만든다. (당연히 이 때는 DHCP 요청에 응답을 못한다.) 그런 다음 pfsetvlan이 스위치가 MAC 주소를 알아냈을 때까지 일정한 주기로 SNMP 쿼리를 스위치로 보내어 MAC 주소 획득을 시도한다. MAC 주소를 확보하면, pfsetvlan은 상태를 체크하고 (등록 여부, 정책 위반 여부 등) 해당 포트를 적절한 VLAN으로 할당한다. 장치 연결이 뽑히면 스위치는 linkDown 트랩을 PacketFence에 보내고 포트를 MAC 탐지용 VLAN에 다시 집어넣는다.

컴퓨터가 부팅할 때 NIC 초기화가 진행되면서 몇 번의 링크 상태 변화가 일어나는데, 이 때마다 스위치가 linkUp과 linkDown 트랩을 PacketFence에게 보내게 된다. PacketFence는 이 때마다 트랩에 반응해야 하기 때문에 불필요하게 pfsetvlan에 부하가 발생한다. 이러한 상황에 대비하도록 PacketFence는 linkUp을 받아 만들어진 모든 스레드는 같은 포트에 대응하는 linkDown 트랩을 받을 때 바로 정지하도록 구현되어 있다. 하지만 linkUp/linkDown 트랩만을 사용하는 것은 확장성이 좋지 못하다. 가령 정전이 발생하는 경우 수백 대의 컴퓨터가 동시에 부팅하게 될텐데, PacketFence가 많은 트랩을 일시적으로 받게 되면서 네트워크 접속에 지연을 야기할 수 있다.

MAC 통지 트랩 (notification)

여러분의 스위치가 MAC 통지 트랩 (MAC learnt, MAC removed)을 지원하는 경우, linkUp/linkDown 트랩 외에도 이를 활성화 시키기를 권장한다. 이를 이용하면 pfsetvlan이 linkUp 트랩을 받았을 때 스위치에 계속해서 MAC을 쿼리할 필요가 없어진다. MAC 탐지용 VLAN에 집어넣기만 하고 스레드를 해제할 수 있다. 스위치가 장치의 MAC 주소를 학습하게 되면 MAC learnt 트랩을 PacketFence에게 전송한다.

Port Security 트랩

Port Security는 스위치 포트에 연결된 MAC 주소를 기억하고 있다가 해당 포트에는 그 MAC 주소만 통신할 수 있도록 허용하는 기능이다. 만약 해당 포트를 통해 다른 MAC 주소로 통신하려고 시도한다면 Port Security는 이를 허용하지 않고 Port Security 트랩을 전송한다.

여러분의 스위치가 이 기능을 지원한다면, linkUp/linkDown과 MAC 통지보다는 이 기능을 사용하는 것을 강력하게 권장한다. 왜냐하면 해당 포트에 인가된 MAC 주소로 접속되어 있는 한, 장치가 리부팅을 하든 연결을 하든 뽑든 아무런 트랩이 발생하지 않기 때문이다. 따라서 매우 큰 폭으로 스위치와 PacketFence 간에 필요한 SNMP 패킷이 줄어들게 된다.

이 기능을 사용하는 경우에는 linkUp/linkDown이나 MAC 통지 트랩 모두 비활성화해야 한다.

PacketFence의 FreeRADIUS 모듈 응답

EAP 요청에서 참조하는 속성
Calling-Station-Id
Client-IP-Address
User-Name
EAP-Type

RADIUS 응답에 추가되는 속성
Tunnel-Medium-Type: 6
Tunnel-Type: 13
Tunnel-Private-Group-ID: VLAN ID

관련 링크


크라켄 코어 크라켄북

개요

크라켄 코어는 Apache Felix 기반의 OSGi 응용 플랫폼이다. 여러분이 원하는 OSGi 번들을 런타임에 설치하거나 제거할 수 있다. OSGi가 생소할 수 있겠지만 많은 자바 개발자들이 이미 OSGi을 사용해본 경험이 있다. 여러분들이 개발할 때 주로 사용하는 이클립스 IDE의 플러그인 시스템은 OSGi 기술로 이루어진 Equinox OSGi 프레임워크를 사용하고 있다.

크라켄 코어는 3MB 남짓한 작은 JAR 파일 하나로 구성되어 있다. 다음과 같은 명령어 한 줄이면 어디에서나 크라켄 코어를 실행할 수 있다. 

java -jar kraken-core-버전-package.jar

물론 이는 아주 필수적인 옵션만 사용할 때의 모습이고, 상황에 따라 여러가지 JVM 옵션을 조합해서 실행할 필요가 있을 것이다. (최대/최소 메모리 사용량 제한, 가비지 컬렉션 정책 등)

크라켄 프로젝트에 부속된 모든 모듈들은 다른 OSGi 프레임워크에서도 동작할 수 있고 라이브러리로 구성해서 사용하는 것도 가능하지만, 크라켄 코어에서 동작하지 않는 경우에는 모듈에 내장된 크라켄 스크립트 명령을 사용할 수 없다. 크라켄 코어는 텔넷과 SSH 터미널을 제공하는데, 터미널은 여러분이 개발한 서비스를 실시간으로 모니터링하고 제어할 수 있는 수단을 제공하기 때문에 매우 편리하다. 크라켄 쉘은 탭 키를 이용한 자동완성 기능을 제공하고, 패스워드 입력 시 에코를 끄는 등 ANSI 이스케이프 코드를 이용한 세세한 터미널 제어도 지원한다. 스크립트를 실행할 때 필수 인자를 제대로 입력하지 않으면 자동으로 도움말을 출력하기 때문에 사용하기도 쉽다. 무엇보다 좋은 것은 여러분들이 임의로 스크립트 명령을 쉽게 추가할 수 있다는 것이다.

설치

크라켄 코어의 최신 개발 버전(trunk)은 현재 kraken-core-1.7.0-package.jar이다. 홀수 버전은 계속해서 변경 사항이 추가되는 개발 버전이고, 짝수 버전은 안정 버전이다. kraken-core-VERSION-package.jar 파일을 다운로드하고 실행하기만 하면 된다. JRE 6 이상이 권장된다.

$ java -Xmx500M -jar target\kraken-core-1.7.0-package.jar
[2011-04-27 12:03:06,972]  INFO (Kraken) - Default logging enabled. Configure log4j.properties file for custom logging.
[2011-04-27 12:03:07,295]  INFO (Kraken) - Booting Kraken.
[2011-04-27 12:03:07,710]  INFO (Kraken) - Console localhost/127.0.0.1:7004 opened.
[2011-04-27 12:03:07,725]  INFO (SecurityUtils) - BouncyCastle not registered, using the default JCE provider
[2011-04-27 12:03:09,365]  INFO (Kraken) - Kraken started.
[2011-04-27 12:03:09,369]  INFO (BundleManagerService) - Starting org.apache.felix.framework [0] bundle.

-Xmx500M 옵션은 JVM이 메모리를 최대 500MB까지 사용할 수 있도록 지시한 것이다. 충분한 메모리를 가지고 있다면, 더 많은 메모리 공간을 예약할 수 있다.

기본 명령어 사용

PuTTY를 이용해서 텔넷이나 SSH로 크라켄 코어에 접속할 수 있다. 텔넷은 7004번으로 접속할 수 있고, SSH의 경우 7022번 포트로 접속할 수 있다.



텔넷의 경우 기본적으로 로컬 인터페이스(127.0.0.1)에 대해서만 열려있기 때문에, 외부에서 7004 포트로는 접속되지 않음을 유의하기 바란다.

셧다운

크라켄 코어를 부드럽게 종료시키려면, 크라켄 쉘에서 shutdown 명령을 내린다. shutdown 명령으로 종료하면 시스템에 존재하는 모든 번들에게 정지 이벤트를 보내면서 자연스럽게 자원을 정리하고 안전하게 종료하게 된다. 오라클 핫스팟 VM을 이용하는 경우 유닉스 계열에서 SIGTERM 시그널(kill -SIGTERM [PID])을 보내어 안전하게 종료시키는 것도 가능하다.

계정 관리

계정 목록 출력

kraken> account.list
Accounts
===========
root

기본적으로 root 계정이 존재하는 것을 확인할 수 있다.

계정 생성

kraken> account.create
Description

        create the account

Arguments

        1. name: name of the account (required)
kraken> account.create xeraph
password: 
confirm password: 
kraken> account.list
Accounts
==========
root
xeraph

account.create 명령을 치면 필수 매개변수로 생성할 계정 이름을 넣을 것을 요구한다. 위의 예시는 account.create xeraph를 쳐서 xeraph 계정을 신규로 생성한 것이다.

패스워드 변경

kraken> account.passwd xeraph
current password: 
new password: 
confirm password: 
password changed successfully
kraken>

root 계정의 초기 패스워드는 알려져 있으므로 반드시 변경해야 한다. account.passwd <계정> 명령을 치면 로그인 패스워드를 변경할 수 있다.

계정 삭제

kraken> account.remove
Description

        remove the account

Arguments

        1. name: name of the account (required)
kraken> account.remove xeraph

account.remove <계정> 명령을 치면 계정을 삭제할 수 있다.

번들 관리

번들은 JAR 파일의 매니페스트에 OSGi 관련된 메타데이터가 포함된 파일을 뜻한다. 크라켄 코어는 Apache Felix 프레임워크를 탑재하고 있기 때문에 동적으로 번들을 설치하고 제거할 수 있다.

설치된 번들 목록 조회

kraken> bundle.list
[ ID] Symbolic Name                             Version   Status
------------------------------------------------------------------
[  0] org.apache.felix.framework                2.0.5     ACTIVE

bundle.list 명령을 치면 현재 설치된 모든 번들 목록이 출력된다. 초기에는 아무 것도 별도로 설치하지 않았으므로 위와 같이 시스템 번들만 표시될 것이다. 이후 번들 목록이 많아지면 bundle.list <필터>를 추가해서 부분문자열이 일치하는 번들만 필터링하여 볼 수 있다.

번들 저장소 목록 조회

kraken> bundle.repositories
Maven Bundle Repository
----------------------------------------------------------------------
[(  1) krakenapps] http://download.krakenapps.org/
[(  0) maven] http://repo1.maven.org/maven2/

크라켄 코어는 메이븐 저장소로부터 번들을 바로 다운로드 받아 설치할 수 있는 기능을 제공한다. 기본적으로 krakenapps 번들 저장소와 maven 중앙 저장소가 지원된다.

번들 저장소 추가

kraken> bundle.addRepository [이름] [URL]

여러분의 회사 내부, 혹은 개인적인 메이븐 저장소를 가지고 있다면 해당 위치를 추가시켜 이용할 수 있다.

번들 저장소 삭제

kraken> bundle.removeRepository [이름]

번들 저장소를 잘못 추가했거나 삭제하려는 경우 위 명령으로 번들 저장소를 삭제할 수 있다.

번들 설치

kraken> bundle.install [group id] [artifact id] [version]

위에서 설정한 번들 저장소로부터 메이븐 아티팩트를 검색하여 자동으로 설치할 수 있다. [version]을 입력하지 않으면 자동으로 가장 최신 버전이 설치된다.

kraken> bundle.install org.apache.felix org.apache.felix.ipojo 1.4.0
Resolving org.apache.felix/org.apache.felix.ipojo (1.4.0)
  -> trying to download from http://download.krakenapps.org/
bundle [1] loaded
kraken> bundle.list
[ ID] Symbolic Name                             Version   Status
------------------------------------------------------------------
[  0] org.apache.felix.framework                2.0.5     ACTIVE
[  1] org.apache.felix.ipojo                    1.4.0     INSTALLED
kraken>

위와 같이 이미 배포되고 있는 번들을 설치할 때는 다운로드 설치가 유용하지만, 개발 중에는 파일시스템에 있는 번들을 설치해야 할 필요가 있다. 이 때는 아래와 같은 명령을 사용한다.

kraken> bundle.install file://[path]

유닉스 계열의 경우
kraken> bundle.install file:///root/kraken/kraken-ipojo-1.1.0.jar

윈도우 계열의 경우
kraken> bundle.install file:///d:/kraken/kraken-ipojo/target/kraken-ipojo-1.1.0.jar

/의 갯수를 눈여겨보기 바란다.

번들 삭제

kraken> bundle.uninstall [번들 ID] [번들 ID] ...

삭제하려는 번들 ID를 매개변수로 넣으면 번들이 삭제된다. 여러 개의 번들을 한 번의 명령으로 삭제할 수 있다. 번들 삭제 시 바로 완전히 삭제되지는 않는데, bundle.refresh 명령을 치면 완전히 제거되고 번들 간의 의존성이 다시 계산된다.

패키지 관리

실제 배포를 하게 되면 번들은 너무 작은 단위이기 때문에 수많은 번들을 일일이 설치하느라 어려움을 겪게 된다. 크라켄 코어는 고유의 패키지 관리 시스템을 제공하여 관련된 번들을 묶어서 배포할 수 있도록 지원해준다.

[이후 계속]

SAS 기초 #2

3장 16번 문제. 도수분포표, 원형그래프, 상대도수를 수직축으로 하는 막대그래프


DATA CAREER;
INPUT ID PLAN $ @@;
CARDS;
1 대학원 2 취직 3 취직 4 해외유학 5 대학원 6 해외유학 7 대학원
8 취직 9 군입대 10 취직 11 해외유학 12 대학원 13 대학원 14 해외유학
15 해외유학 16 대학원 17 취직 18 해외유학 19 군입대 20 대학원
;
RUN;

PROC CHART DATA=career;
VBAR PLAN;
PIE PLAN;
VBAR PLAN /TYPE=PERCENT;
RUN;

빈도

7 + *****
| *****
| *****
| *****
| *****
6 + ***** *****
| ***** *****
| ***** *****
| ***** *****
| ***** *****
5 + ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
4 + ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
3 + ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
2 + ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
1 + ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
--------------------------------------------------------
군입대 대학원 취직 해외유학

PLAN

통계량:빈도, 분석:PLAN


대학원
*******************
****** ******
***** *****
***** *****
*** ***
*** ***
*** ***
*** ***
** **
** **
** **
*** ***
** . **
** 7 .. **
** 35.00% .. **
** . **
* .. *
* . . *
** . **
* . . * 군입대
* . .. .. *
* . .. . *
** .. .. . . 2 **
* . .. .. 10.00% *
* .. . .. *
* .. . . *
* . .. . .. *
* .. . . *
* + . . .. . .. . .. . .. . .. . .. . .. . .. . *
* *
* . *
* . *
* . *
* . *
** . **
* 5 . *
* 25.00% . *
* . *
** .. **
* . *
* . 6 *
취직 ** . 30.00% **
** . **
** . **
** . **
*** . ***
** . **
** . **
** . **
*** . ***
*** . ***
*** . ***해외유학
*** . ***
***** . *****
*****. *****
****** ******
*******************

백분율

35 + *****
| *****
| *****
| *****
| *****
30 + ***** *****
| ***** *****
| ***** *****
| ***** *****
| ***** *****
25 + ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
20 + ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
15 + ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
10 + ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
5 + ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
--------------------------------------------------------
군입대 대학원 취직 해외유학

PLAN


3장 17번 문제. 표본상관계수 및 공분산의 계산
DATA TEST;
INPUT ID SEX TV PAPER;
CARDS;
1 1 45 40
2 2 40 20
3 1 50 60
4 2 51 15
5 2 58 10
6 1 48 30
7 2 70 40
8 1 25 40
9 2 48 45
10 1 30 55
11 2 46 30
13 1 50 60
14 2 60 10
15 2 125 40
16 1 25 50
17 2 50 45
18 1 50 75
19 2 70 20
20 2 80 30
21 1 50 80
22 2 60 40
23 1 30 75
24 2 60 60
25 2 70 50
;
RUN;

PROC CORR DATA=test COV;
VAR TV;
WITH PAPER;
RUN;

CORR 프로시저

1 조합 변수: PAPER
1 변수: TV


공분산행렬, DF = 23

TV

PAPER -90.97826087


단순 통계량

변수 N 평균 표준편차 합 최소값 최대값

PAPER 24 42.50000 19.89101 1020 10.00000 80.00000
TV 24 53.79167 20.79293 1291 25.00000 125.00000


피어슨 상관 계수, N = 24
H0: Rho=0 검정에 대한 Prob > |r|

TV

PAPER -0.21997
0.3017

SAS 기초 #1 학술

자료가 필요하신 분은.. 통계학실험강의노트(SAS)를 받으세요..

DATA LEAD;
INPUT CONCENTRATION @@;
CARDS;
6.7 5.4 5.2 6.0 8.7 6.0 6.4 8.3 5.3 5.9
7.6 5.0 6.9 6.8 4.9 6.3 5.0 6.0 7.2 8.0
8.1 7.2 10.9 9.2 8.6 6.2 6.1 6.5 7.8 6.2
8.5 6.4 8.1 2.1 6.1 6.5 7.9 15.1 9.5 10.6
8.4 8.3 5.9 6.0 6.4 3.9 9.9 7.6 6.8 8.6
8.5 11.2 7.0 7.1 6.0 9.0 10.1 8.0 6.8 7.3
9.7 9.3 3.2 6.4
;
RUN;

PROC MEANS DATA=lead MEAN MEDIAN VAR STD Q1 Q3 QRANGE;
RUN;

PROC CHART;
VBAR CONCENTRATION;
RUN;


The MEANS Procedure

분석 변수 : CONCENTRATION

평균값 중간값 분산 표준편차 제1 사분위수 제3 사분위수 사분위 범위
------------------------------------------------------------------------------------------------------------
7.2906250 6.9500000 4.1024504 2.0254507 6.0500000 8.4500000 2.4000000
------------------------------------------------------------------------------------------------------------


빈도

30 + *****
| *****
29 + *****
| *****
28 + *****
| *****
27 + *****
| *****
26 + *****
| *****
25 + *****
| *****
24 + *****
| *****
23 + *****
| *****
22 + *****
| *****
21 + *****
| *****
20 + *****
| *****
19 + *****
| *****
18 + ***** *****
| ***** *****
17 + ***** *****
| ***** *****
16 + ***** *****
| ***** *****
15 + ***** *****
| ***** *****
14 + ***** *****
| ***** *****
13 + ***** *****
| ***** *****
12 + ***** *****
| ***** *****
11 + ***** *****
| ***** *****
10 + ***** *****
| ***** *****
9 + ***** *****
| ***** *****
8 + ***** ***** *****
| ***** ***** *****
7 + ***** ***** *****
| ***** ***** *****
6 + ***** ***** *****
| ***** ***** *****
5 + ***** ***** *****
| ***** ***** *****
4 + ***** ***** ***** *****
| ***** ***** ***** *****
3 + ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
2 + ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
1 + ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
--------------------------------------------------------------------------------------------
3 5 7 9 11 13 15

CONCENTRATION 중간점


DATA EXAM;
INPUT SCORE @@;
CARDS;
51 33 48 22 47 35 25 43 46 27 19
41 49 28 52 34 15 44 25 35 31 46
52 40 38 33 29 34 47 19 26 35 34
45 14 54 27 41 40 26 39 14 42 18
;
RUN;

PROC UNIVARIATE DATA=exam
PLOT plotsize=10;
VAR SCORE;
RUN;

PROC MEANS DATA=exam MEAN MEDIAN Q1 QRANGE VAR STD;
RUN;

PROC CHART;
VBAR SCORE;
RUN;


UNIVARIATE 프로시저
변수: SCORE

줄기 잎 # 상자그림 정규 확률도
5 1224 4 | 55+ *+*+++++*
4 00112345667789 14 +-----+ | *******+*+*
3 13344455589 11 *--+--* 35+ *******++
2 255667789 9 +-----+ | +++***+***
1 445899 6 | 15+ *+++*+*+**
----+----+----+----+ +----+----+----+----+----+----+----+----+----+----+
값 : (줄기.잎)*10**+1 -2 -1 0 +1 +2

The MEANS Procedure

분석 변수 : SCORE

평균값 중간값 제1 사분위수 사분위 범위 분산 표준편차
--------------------------------------------------------------------------------------------
35.0681818 35.0000000 26.5000000 18.0000000 125.2278013 11.1905228
--------------------------------------------------------------------------------------------

빈도

11 + *****
| *****
| *****
| *****
| *****
10 + *****
| *****
| *****
| *****
| *****
9 + ***** *****
| ***** *****
| ***** *****
| ***** *****
| ***** *****
8 + ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
| ***** ***** *****
7 + ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
| ***** ***** ***** *****
6 + ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
5 + ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
4 + ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
| ***** ***** ***** ***** *****
3 + ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
2 + ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
1 + ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
| ***** ***** ***** ***** ***** *****
--------------------------------------------------------------------------------
16 24 32 40 48 56

SCORE 중간점


1 2 3 4 5 6 7 8 9 10 다음