网络唤醒

**Wake-on-LAN** 簡稱 **WOL** 或 **WoL**，中文多譯為「**網路喚醒**」、「**遠端喚醒**」技術。WOL 是一種技術，同時也是該技術的規範標準，它的功效在於讓休眠狀態或關機狀態的電腦，透過區域網路的另一台電腦對其發令，使其喚醒、恢復成運作狀態，或從關機狀態轉成啟動狀態。該訊息通常由在連接到同一局域網的裝置上執行的程式發送到目標計算機。也可以使用子網定向廣播或 WoL 網關服務從另一個網路發起訊息。

## 歷史

有關 WOL 技術，最初是在 1997 年 4 月由 IBM 公司的先進管理聯盟（Advanced Manageability Alliance）所提出，然而當時僅約略透露，之後其他業者及產業也逐漸推行，例如由 Intel 公司所提出的 Wired for Management，不過不久之後此方面技術的共通標準性需求便開始顯現。

## 系統需求

要想達成、實現 WOL，首先必須要有具備 WOL 功能的主機板、網路卡。

現在的主機板通常只需在 BIOS 中開啟 PCI/PCIe 喚醒功能或網卡喚醒功能，主機板內建的網卡可支援 WOL。除了開啟 BIOS 中的 PCIe 喚醒功能外，可能還要在作業系統中設定網路卡的喚醒功能。

## 原理

一般而言，WOL 技術的遠端喚醒步驟如下：

電腦處在關機（或休眠）狀態時，機內的網路卡及主機板部分仍保有微弱的供電，此微弱供電能讓網路卡保有最低的運作能力，使網路卡能聆聽來自電腦外部的網路廣播資訊，並對資訊內容進行偵測與解讀，一旦發現網路廣播的內容中有特定的「魔法封包」（Magic Packet），就會對該封包的內容進行研判。

魔法封包是以廣播方式發送的，廣播的方式與範疇可以是整個區域網路（LAN），也可以是特定的子網路（Subnet），同時魔法封包內會有某部（或一群）電腦的網路位址資料，網路卡一旦解讀研判出所指的位址是自身所處的電腦時，網路卡就會通知機內的主機板、電源供應器，開始進行啟動（或喚醒）的程式。

## 魔法封包

魔法封包（Magic Packet）是一個廣播性的訊框（frame），透過埠 7 或埠 9 進行發送，且可以用非連接導向（Connectionless protocol）的通訊協定（如 UDP、IPX）來傳遞，不過一般而言多是用 UDP，原因是 Novell 公司的 Netware 網路作業系統的 IPX 協定已經愈來愈少被使用。

在魔法封包內，每次都會先有連續 6 個 "FF"（十六進位，換算成二進位即：11111111）的資料，即：FF FF FF FF FF FF，在連續 6 個 "FF" 後則開始帶出 MAC 位址資訊，有時還會帶出 4 位元組或 6 位元組的密碼，一旦經由網路卡偵測、解讀、研判（廣播）魔法封包的內容，內容中的 MAC 位址、密碼若與電腦自身的位址、密碼吻合，就會啟動喚醒、啟動的程式。

## Wake-on-LAN 程式

除了硬體部分外，WOL 也需要軟體程式的配合才能實現，以下列出若干可用的配合程式：

### 手稿語言

* Wakeonlan – 用 Perl 語言撰寫成，可發送魔法封包。
* Wake-on-LAN Tutorial （頁面存檔備份，存於網際網路檔案館） - 用 PHP 描述語言撰寫成。
* Wake-on-LAN PHP script - 同樣用 PHP 語言撰寫成的 WOL 支援程式。

### 跨平台

* DSLReports.com - Wake Me Up （頁面存檔備份，存於網際網路檔案館） - 一個自由的線上 Java 程式，該程式能發送魔法封包到您的電腦上，以此喚醒您的電腦，此程式不用下載或安裝。不過要注意的是，若電腦有安裝防火牆，則必須將 UDP 協定與埠 9 設定為「通行」才能使用。
* Depicus （頁面存檔備份，存於網際網路檔案館） – 自由的 WOL 工具軟體，能夠從不同的程式環境上向外發送 WOL 封包，包括：
1. WOL command - 自命令列環境中發送出 WOL 的喚醒／啟動命令
2. WOL for Windows - 自視窗環境中發送出 WOL 的喚醒／啟動命令
3. WOL for ASP - 自 ASP 網頁環境中發送出 WOL 的喚醒／啟動命令
4. WOL over Internet - 自網際網路環境中發送出 WOL 的喚醒／啟動命令
5. WOL COM（VB/PHP）- 自 VB 程式或 PHP 網頁程式的環境中發送出 WOL 的喚醒／啟動命令
6. WOL for Windows 3.1 - 自 Windows 3.1 視窗環境中發送出 WOL 的喚醒／啟動命令
7. WOL Pocket 2002/2003 - 自 Pocket PC 的嵌入、手持、掌上型環境中發送出 WOL 的喚醒／啟動命令
8. WOL for Apple Mac - 自蘋果電腦的作業系統環境中發送出 WOL 的喚醒／啟動命令
9. WOL Monitor/Sniffer - WOL 的監督程式、嗅探程式）
10. MAC Address ARP Viewer - MAC 位址與 ARP 通訊協定的觀察程式）
* java WOL – 用 Java 程式語言方式撰寫成的 WOL 公用程式，具作業平台獨立性，同時也自網頁瀏覽器端發送 WOL 的喚醒／啟動命令。
* WakeOnLanOverMobilephone – 用於行動電話、手機內的 Java 應用程式，可透過手機下達魔法命令，使遠端的電腦因此被喚醒、啟動。
* HyperWRT - Cisco／Linksys 公司的無線路由器的韌體，此韌體程式還具備 WOL 操作的圖形化使用者介面（GUI）。

### Windows

* RSHUT PRO - 工具 Wake-On-LAN 和遠程關機的所有 Windows 版本。
* FUSION WakeUp on Lan - 一套免費的 Windows 版應用程式，FUSION WakeUp on Lan 能提供一個遠端喚醒、啟動 PC 的網路介面。（適用：Windows 98、Me、NT、2000、XP 或 2003 等）
* WOL - Magic Packet Sender （頁面存檔備份，存於網際網路檔案館） – 也是一套免費的 Windows 版應用程式，該程式可以儲存 MAC 位址並發送魔法封包。（此程式需要.NET 執行環境）
* mpusergd.pdf（PDF 格式） （頁面存檔備份，存於網際網路檔案館） - AMD 公司的 PCnet 族系軟體（魔法封包公用程式）的使用者說明書。
* WakeOnLan (AquilaTech) - 一套具備完整 WOL 功效特點的程式，也屬免費的 Windows 版軟體，該程式可以執行：喚醒、關機、Ping、一次將所屬範疇內的所有電腦都一起關機等動作。（此程式需要.NET 執行環境）
* Wakeonlangui- 一套很小巧的網路喚醒程式，支援 Internet 遠端環境和 local subnet 區域網路環境。

### Mac OS X

* 蘋果遠端桌面（Apple 遠端桌面）- 多功能的工具程式，此工具程式具備 WOL 的功效機制。
* WakeUp for Mac OS X - 軟體名稱就叫「WakeUp」，由 Coriolis 科技公司出品。
* Wake550 - Mac OS X 所採用的 WOL 描述程式。

## 參考引據、附註說明

## 外部連結

* （英文）遠端喚醒問題的排除 （頁面存檔備份，存於網際網路檔案館） 有用的 WOL 故障、問題排除資訊，出處：Intel。
* （英文）AMD 的魔法封包技術白皮書 （頁面存檔備份，存於網際網路檔案館） AMD 公司對此一技術白皮書的出版編號是 #20213
* （英文）Wake-on-LAN white paper by Philip Lieberman 描述、解說 IBM／Intel 聯盟對於 WOL 技術的建立與制訂。