一、什么是网络唤醒
网络唤醒(Wake-on-LAN,WOL)是一种计算机局域网唤醒技术,使局域网内处于关机或休眠状态的计算机,将状态转换成引导(Boot Loader)或运行状态。无线唤醒(Wake-on-Wireless-LAN,WoWLAN)作为WOL的补充技术,使用无线网卡去唤醒计算机。网络唤醒在一般的局域网环境里使用有限广播地址(255.255.255.255)即可,由于路由器都不转发目的地址为有限广播地址的数据报,因此在复杂网络情况下通常使用子网定向广播地址。在局域网外唤醒局域网内特定计算机,可以使用路由器的DDNS与端口转发。
在1996年10月,英特尔和IBM成立了Advanced Manageability Alliance。1997年4月,联盟提出了WOL技术。这是WOL技术的起源,随后各大厂商纷纷推出了自己的WOL技术标准。本文所讨论的WOL技术是由AMD公司提出的Magic Packet(幻数据包,魔术包)唤醒方式,这里给出AMD关于此技术的[白皮书。
二、幻数据包(Magic Packet)
幻数据包是一个广播帧,包含目标计算机的MAC地址。由于MAC地址的唯一性,使数据包可以在网络中被唯一的识别。幻数据包发送通常使用无连接的传输协议,如UDP,发送端口为7或9,这只是通常做法,没有限制。
WOL技术被提出了将近20年,绝大多数的现代网卡都支持在超低功耗下监听特定的报文,如ARP。如果设备网卡接收到一个与自己 MAC 地址相同的幻数据包,则网卡会向计算机的电源或主板发出信号以唤醒计算机。大部分的幻数据包在数据链路层(OSI模型第2层)上发送,当发送时,使用广播地址广播到给定的网络上,不使用IP地址(OSI模型第3层)。当然这是绝大部分情况,幻数据包也可以使用特定的IP地址进行发送。
幻数据包最简单的构成是6字节的255(FF FF FF FF FF FF FF),紧接着为目标计算机的48位MAC地址,重复16次,数据包共计102字节。有时数据包内还会紧接着4-6字节的密码信息。这个帧片段可以包含在任何协议中,最常见的是包含在UDP中。
格式 | ||
---|---|---|
FF FF FF FF FF FF FF | MAC地址 × 16 | 4-6字节的密码(可空) |
例如MAC地址为11 22 33 44 55 66的目标计算机,幻数据包的格式为:文章来源:https://www.toymoban.com/news/detail-447330.html
FFFFFFFFFFFF 112233445566 112233445566
112233445566 112233445566 112233445566
112233445566 112233445566 112233445566
112233445566 112233445566 112233445566
112233445566 112233445566 112233445566
112233445566 112233445566
[ABABABABABAB(这里为6个字节的密码)]
幻数据包还有一些基本限制条件:文章来源地址https://www.toymoban.com/news/detail-447330.html
- 需要知道目标计算机MAC地址
- 不提供送达确认
- 可能无法在局域网之外工作
- 需要硬件进行支持
到了这里,关于以太网:网络唤醒(WOL)全解指南:原理篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!