2. Wake on LAN

2.1. 그게 뭔가요?

특별히 설계된 네트웍 패킷을 사용하여 원격의 컴퓨터를 기동하는 것이다. 이 기능은 네트웍 카드와 마더보드가 Wake on Lan을 지원해야만 제대로 동작한다.

2.2. 어떻게 동작하나요?

WOL 은 다음과 같은 원리로 동작한다:

PC 를 종료할 때 NIC (네트웍 카드) 은 완전히 꺼진 것은 아닌 상태로 여전히 켜져 있으며, '매직' 패킷이 오는지 살펴보고 있다. 이 패킷은 특정한 문자열 (byte-sequence) 이 포함되어 있어야 하며, 아무 프로토콜 (이를테면 IPX, IP 따위) 에나 얹혀오면 된다. '마법의' 문자열을 만드는 코드를 참조하기 바란다.

이 프로그램은 UDP 를 사용해서 패킷을 보낸다. 이더넷 인터페이스로 전달되는 UDP 패킷의 완전한 모습은 아래와 같은 것이다:

[ethernet header][IP header][UDP header][Magic sequence][CRCS]

스크립트는 단지 이 패킷을 보내는 것으로 족하다. NIC 은 수신만 할 뿐이며 무언가 응답하는 것이 없으므로, 이 패킷을 보낸 후 돌아오는 데이터 등에 대해서는 신경쓰지 않아도 좋다.

프로토콜에 대한 좀 더 상세한 설명은 AMD 백서를 참고하라.

2.3. 하드웨어 요구사항

그린 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 칩셋) 가 있다.

2.4. Wake-up 프레임

Wake-up 프레임은 원격 호스트의 이더넷 주소 (MAC address) 를 포함하고 있는 특별한 데이터 패킷이다. 이 프레임 내의 어딘가에는 동기화를 위한 6 바이트의 FFh 로 시작해서 그 이더넷 주소가 적어도 16 번 반복되는 문자열 ('마법의' 문자열) 이 존재해야 한다.

'마법의' 문자열

대상 호스트의 이더넷 주소가 01:02:03:04:05:06 (6 바이트) 라면, 그 호스트의 LAN 카드는 아래와 같은

FFFFFFFFFFFF010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506

라는 문자열이 패킷에 들어있는지 살펴보게 된다.

2.5. 이더넷 주소

이더넷 주소는 6 옥텟 [1] (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 의 경우:

다른 방법:

Linux:

Windows NT:

2.6. 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 절)

주석

[1]

역주 : 1 octets = 8 bits