Wake on Lan mini-HOWTO
José
Pedro Oliveira
jpo (at) di.uminho.pt
v0.13, 2002-04-10
지완
조
ai (at) kldp.org
0.2
2002-04-14
조지완
수정갱신, 원문 V0.13, 2002-04-10 에 대해
0.1
2002-02-27
조지완
최초 번역, 원문 V0.12, 2001-12-12 에 대해
이 문서에서는 WOL 에 대한 간단한 소개와 실제 사용가능한 툴을 소개하고 있습니다.
사양없이 번역을 허락해 주신 Oliveira 씨에게 감사드리며, 원문에는 명시되어있지 않은
라이센스 관계로는 GFDL v1.1 을 따라 줄 것을 당부받았음을 밝힙니다.
들어가며
이력
이 문서는 2000년 6월 29일부터 José Pedro Oliveira 가 쓰고 있다.
새 버전
이 문서의 최종 수정본은 나의 홈페이지
(http://gsd.di.uminho.pt/jpo/software/wakeonlan/mini-howto/) 에서
찾을 수 있다.
제언
제안이나 비평은 언제든 해주기 바란다.
갱신이력
2002-04-10 jpo - 관련링크 점검, python 스크립트
2001-12-12 jpo - 프로그램 부분을 추가
2001-05-16 jpo - IEEE 802 표준안을 온라인에서 볼 수 있음
2001-03-14 jpo - 프로그램 부분을 갱신
2001-02-12 jpo - Rembo 에 대한 내용을 갱신
2000-08-28 jpo - Kevin Fowlks 의 Visual Basic 코드에 대한 링크 추가
2000-08-04 jpo - 프로그램 부분을 갱신
저작권
Copyright (c) 2000-2002 José Pedro Oliveira
감사의 글
Ico Doornekamp ico (at) edd.dhs.org (wakeonlan 스크립트의 원저자)
Fabien Salvi fabien (at) cri74.org (Donald Becker 의 홈페이지를
알려줌)
Wake on LAN
그게 뭔가요?
특별히 설계된 네트웍 패킷을 사용하여 원격의 컴퓨터를 기동하는 것이다. 이 기능은
네트웍 카드와 마더보드가 Wake on Lan을 지원해야만 제대로 동작한다.
어떻게 동작하나요?
WOL 은 다음과 같은 원리로 동작한다:
PC 를 종료할 때 NIC (네트웍 카드) 은 완전히 꺼진 것은 아닌 상태로 여전히 켜져
있으며, '매직' 패킷이 오는지 살펴보고 있다. 이 패킷은 특정한 문자열
(byte-sequence) 이 포함되어 있어야 하며, 아무 프로토콜 (이를테면 IPX, IP 따위)
에나 얹혀오면 된다. '마법의' 문자열을 만드는 코드를 참조하기 바란다.
이 프로그램은 UDP 를 사용해서 패킷을 보낸다. 이더넷 인터페이스로 전달되는 UDP
패킷의 완전한 모습은 아래와 같은 것이다:
[ethernet header][IP header][UDP header][Magic sequence][CRCS]
스크립트는 단지 이 패킷을 보내는 것으로 족하다. NIC 은 수신만 할 뿐이며 무언가
응답하는 것이 없으므로, 이 패킷을 보낸 후 돌아오는 데이터 등에 대해서는 신경쓰지
않아도 좋다.
프로토콜에 대한 좀 더 상세한 설명은 AMD 백서를 참고하라.
하드웨어 요구사항
그린 PC, WOL 지원의 마더보드 BIOS, 네트웍 카드, PCI 2.2 규격,
os 지원 (windows 95 - DELL 의 문서에 의하면 가능 -, windows 98, windows 2000)
마더보드
최근의 거의 모든 마더보드에는 PCI 슬롯 옆에 3 핀의 WOL 커넥터가 있을 것이고, 또한
BIOS 에서도 WOL 로 기동하는 기능이 포함되어 있을것이다. 만약 Award BIOS 를 사용하다면
Power Management Setup 에서 이 옵션을 찾을 수 있다.
네트웍 카드
네트웍 카드에도 3 핀의 WOL 커넥터가 있을 것이다. 이 커넥터가 있는 네트웍 카드로는
Intel Pro/100+ (82559 칩셋) 가 있다.
Wake-up 프레임
Wake-up 프레임은 원격 호스트의 이더넷 주소 (MAC address) 를 포함하고 있는 특별한
데이터 패킷이다. 이 프레임 내의 어딘가에는 동기화를 위한 6 바이트의 FFh 로 시작해서
그 이더넷 주소가 적어도 16 번 반복되는 문자열 ('마법의' 문자열) 이 존재해야 한다.
'마법의' 문자열
대상 호스트의 이더넷 주소가 01:02:03:04:05:06 (6 바이트) 라면, 그 호스트의 LAN 카드는
아래와 같은
FFFFFFFFFFFF010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506
라는 문자열이 패킷에 들어있는지 살펴보게 된다.
이더넷 주소
이더넷 주소는 6 옥텟
역주 : 1 octets = 8 bits
(48 비트) 숫자인데, 이는 모든 네트웍 카드 (NIC) 를 고유하게 식별하도록 한다. 처음 세
옥텟 (24 비트) 는 Organizationally Unique Identifier (OUI) 라고 불리며, 이는 NIC 의
제조사를 나타낸다.
IEEE 에서는 OUI 목록을 다음 웹페이지에 유지하고 있다: IEEE OUI and Company_id Assignments.
참고서적:
Ethernet: the Definitive Guide
Charles E. Spurgeon
O'Reilly
홈페이지: 저자의 홈페이지.
IEEE 802.3 Carrier Sense Multiple Access with Collision Detection (CSMA/CD)
Access Method and Physical Layer Specification
Institute of Electrical and Electronics Engineers
2001 년 3 월 14 일 부터 LAN/MAN (802) 표준을 IEEE 웹사이트
Since May 14, 2001 the IEEE Local and Metropolitan Area Network (802) standards can be downloaded from the IEEE web site (http://standards.ieee.org/getieee802/) 에서 다운로드 할 수 있다.
이더넷 주소는 어떻게 알아보죠?
로컬 NIC 의 경우:
Window 9x - "winipcfg.exe" 를 실행한다.
Windows NT 와 Windows 2000 - "ipconfig.exe /all" 를 실행한다.
Linux - "ifconfig" 를 실행한다.
다른 방법:
원격 호스트에 ping 을 보낸 다음 arp table 을 살펴본다.
브로드캐스트 주소에 ping 을 보낸 다음 arp table 을 살펴본다.
arpwatch 데몬의 데이터베이스를 살펴본다.
대여 ip (lease) 와 DHCP 데몬의 설정파일을 살펴본다.
Linux:
ifconfig
ping -b -c 2 -i 15 192.168.0.255
cat /proc/net/arp
arp -a
static entries: /etc/ether
Windows NT:
ipconfig /all
netbstat -a local_ip_addr
ping
arp
TCP/IP 브로드캐스트 주소
참고서적:
Internetworking with TCP/IP
Volume I: Principles, protocols, and architecture (third edition)
Douglas E. Comer
Prentice Hall
인터넷 주소에 대한 설명을 이 책의 4 장에서 찾을 수 있다. (4.5, 4.6, 4.11 절)
프로그램
리눅스
wakeonlan
현재 프로그래머: José Pedro Oliveira
원저자: Ico Doornekamp
언어: Perl
버전: 0.40
매직패킷: 제한된 브로드캐스트 주소 (255.255.255.255) 에 포트 9번으로 UDP 패킷을 전송.
다운로드: wakeonlan-0.40.tar.gz
ether-wake
만든이: Donald Becker
회사: Scyld Computing Corporation
언어: C
버전: 1.06
매직 패킷: 프로그램 자체에서 이더넷 프레임 생성.
다운로드: ether-wake.c
주: root 권한이 필요함. Donald Becker 의 웹페이지 리눅스에서 Wake-On-LAN 사용하기
와 리눅스 이더넷카드 점검 및 설정 도구모음
를 살펴보는 것도 좋다.
wakelan
만든이: Christopher Chan-Nui
언어: C
버전: 1.1
매직패킷: 제한된 브로드캐스트 주소 (255.255.255.255) 에 포트 9번으로 UDP 패킷을 전송.
다운로드: wakelan-1.1.tar.gz
(metalab 미러사이트에도 있음)
Net::Wake
만든이: Clinton Wong
언어: Perl
버전: 0.01
매직패킷: 유니캐스트 주소에 포트 9번으로 UDP 패킷을 전송.
다운로드: Net-Wake-0.01.tar.gz
(자신에게 가까운 CPAN 미러를 사용하는 편이 낫다.)
주: CPAN 모듈의 현재 버전 (0.01) 은 정적 ARP 테이블을 사용하고 있지 않으면 동작하지
않는다. 또한 유니캐스트 주소에만 패킷을 보낼 수 있다.
WOL Utilities
만든이: info at gknw.de
회사: GKNW
언어: Perl 과 C
다운로드: WOL - Power on your ATX PC
다운로드: Magic Packet CGI Script
주: Etherboot project contribs
를 참고하라.
WOL in Python
만든이: Marc Balmer
언어: Python
다운로드: WOL in Python
윈도우
Intel LanDesk Management Suite
회사: Intel Corporation
버전: 6.10
다운로드: 어떤 마더보드 (이를테면 ASUSP2B and P3B-F) 에서는 구입시 제공된다.
버전 6 은 독일 Asus ftp 사이트
에서 구할 수 있다. (현재 링크가 사라졌음). 자신이 가진 마더보드 제조사의 ftp 사이트를
참고하라.
주: 이 프로그램은 인텔 칩셋에서만 동작한다고 생각된다.
(확인을 위해서는 VIA 마더보드가 필요!!)
Rembo Toolkit
회사: Rembo Technology Sarl
버전: 1.1 build 020
다운로드: 상용제품임 - 위 주소 참고.
매직패킷: 제한된 브로드캐스트 주소 (255.255.255.255) 에 포트 9번으로 UDP 패킷을 전송.
(이 프로그램의 초기 버전 몇몇은 포트 5555 번을 사용했다.)
주: 관리자 콘솔에서 등록된 호스트를 기동할 수 있다. 이것은 훌륭한 PXE
역주: Preboot Execution Environment
호환 원격기동 관리도구이며, BpBatch
를 만들었던 몇몇으로부터 제작된 것이다. ( Linux Remote-Boot mini-HOWTO
를 읽어본 적이 있다면 이것이 무슨 이야기인지 알 것이다.) 자신이 PXE 지원의 네트웍
카드를 가지고 있고 컴퓨터 실습실을 관리해야 한다면 사용해 봄 직하다.
PCnet Magic Packet Utility
회사: Advanced Micro Devices, Inc.
버전: 1.00
매직패킷: 제한된 브로드캐스트 주소 (255.255.255.255) 에 포트 2304 번으로 UDP 패킷을 전송.
다운로드: magic_pkt.exe
주: RELEASE.TXT 의 "알려진 문제점들" 을 읽어볼 것.
Visual Basic code
만든이: Kevin Fowlks
다운로드: wakeonlan.zip
(현재 링크가 사라졌음)
Waker/Dozer
회사: Microsoft
다운로드: Waker/Dozer. 링크는 더 이상 존재하지 않으나 Microsoft Windows Logo Hardware Compatibility
Test CDROM 에서 Waker 를 구할 수 있다. (디렉토리 <cdrom>:\HCT\HCT\System\ACPI\i386)
rpctl - Remote Power Control kit for HP OpenView NNM NT
Author: Katsuyuki Yumoto
언어: C
다운로드: rpctl
주: 이 magic.exe 파일은 독립 실행이 가능함.
SMS-WakeUP
만든이: Heine Jeppesen
언어: Visual Basic Script
버전: 1.0
다운로드: SMSWakeUp10.zip
주: 이 프로그램은 SMS 와 Windows Scripting Host, WMI 를 사용하는 것 같아 테스트
해보지 못했다. 또한 RPCTL 의 Magic.exe 이 있어야 한다. (위 참고)
도스용
PCnet Family Developers Tools - MPWAKE
회사: Advanced Micro Devices, Inc.
언어: C
버전: 1.05
다운로드: mpwake.zip
주: AMD PCnet-Fast 카드에서만 동작한다.
...
다음의 제품들에 대한 정보를 필요로 하고 있다.
Tivoli
회사: IBM
Unicenter TNG
회사: Computer Associates
참고 사이트
저자가 읽어본 Wake on LAN 에 대한 온라인 문서 일부를 아래에서 찾을 수 있다:
AMD
Magic Packet technology
Magic Packet Technical Documentation
Magic Packet Technology White Paper
(Advanced Micro Devices Publication# 20213 Rev: A Issue Date: November 1995)
OnNow Power Management
Scyld Computing Corporation (Donald Becker)
Using Wake-On-LAN with Linux
Linux Ethercard Status, Diagnostic and Setup Utilities
Intel Corporation
Wired for Management
Instantly Available Technology
Intel Networking Technologies: Wake on LAN
Building a Managed Computing Environment
Wake on LAN Header Recommendations
(Intel Document Number: 712940-001)
PRO/100+ Management Adapters: Wake on LAN and System Compatibility
IBM
Wake on LAN
(링크 사라짐)
Wake up to Wake-on-LAN
Dell
Wake-up Techniques for Remote Systems Management
(링크 사라짐)
Instantly Available PC and OnNow Initiatives
(링크 사라짐)
3COM
3Com Managed PC Solutions
3Com NICs with Managed PC features
NEC
What is Wake-On LAN?
(링크 사라짐)
Microsoft
ACPI / power Management
Waker/Dozer - Wake On Ring/Wake On LAN Testing. 링크는 더 이상 존재하지 않으나 Microsoft Windows Logo Hardware Compatibility
Test CDROM 에서 Waker 를 구할 수 있다. (디렉토리 <cdrom>:\HCT\HCT\System\ACPI\i386)
...
Apple
Advanced Configuration & Power Interface
http://www.amp.com/ (커넥터)
용어
APM
Advanced Power Management
ACPI
Advanced Configuration and Power Management
BIOS
Basic Input/Output System
DOS
Disk Operating System
LAN
Local Area Network
WOL
Wake on LAN