跨VLAN远程唤醒的研究与实现
2020-10-20胡岚李圣华
胡岚 李圣华
一、远程唤醒的硬件要求
主板:确定主板是否支持远程唤醒,可以通过查看BIOS的“电源管理设置”是否有“Wake on LAN”或“Wake on PCI Card”选项;网卡:实现远程唤醒的网卡必须支持WOL;电源:安装ATX 2.01标准的ATX电源。
二、远程唤醒的工作原理
远程唤醒的工作原理是向远端计算机发送特殊格式的UDP数据包,当数据包到达远端计算机网卡时,就会检测到该数据包是否符合唤醒条件。符合唤醒方式,则开启计算机,否则,将丢弃。
三、远程唤醒的方式
1.同一VLAN的远程唤醒
这种方式可以视为交换机处理唤醒包,交换机收到该数据帧,会先查询MAC地址表的物理端口与目的地址是否有匹配项。有匹配项,则转发数据帧;否则,将向除接收数据帧的端口之外的所有物理端口转发,最终成功发送到被控制计算机,达到远程唤醒。
2.跨VLAN的远程唤醒
(1)基于单播的远程唤醒
我们可以把这种方式视为路由器处理唤醒包,路由器收到该数据包与其他以太网的IP数据包一样。当唤醒包达到对应VLAN三层接口上,会先查询ARP地址表是否存在被控制计算机的MAC地址、物理端口等信息。有上述信息,则向相应的物理端口转发数据包,以达到远程唤醒的目的;否则,将丢弃该唤醒数据包,远程唤醒失败。ARP地址表有默认老化时间,若被控制计算机处于关机,ARP地址表过了老化时间,就会出现查询不到对应的MAC地址、物理端口等信息,丢弃唤醒数据包。针对这种问题,我们可以设置静态ARP绑定来解决。
(2)基于定向广播的远程唤醒
不同VLAN的数据是通过三层网关接口传输,在默认情况下,VLAN三层接口是关闭接收定向广播数据包的。在接收唤醒包的VLAN三层接口上开启定向广播数据包功能,可以在不同VLAN之间通过定向广播方式远程唤醒计算机,非该子网的VLAN三层接口就像处理普通单播一样处理唤醒包,最终唤醒包顺利到达被控计算机的VLAN中,实现远程唤醒。
四、跨VLAN远程唤醒的实现
1.实现跨VLAN远程唤醒的主要网络拓扑结构
实现跨VLAN远程唤醒的网络环境采用了大二层网络架构,由一台H3C 7503E交换机作为核心交换机,1-8号机房使用华为 S5720系列交换机作为接入交换机,在所涉及的交换机中设置相应的命令,就可以远程唤醒1-8号机房所有计算机(如图1所示)。
2.实现跨VLAN远程唤醒的主要命令
在核心交换机上设置VLAN,并启用三层接口地址作为网关,配置下行口GE2/0/1至GE2/0/8的链路类型为Trunk类型,允许所有VLAN的报文通过。主要命令如下:
五、结语
跨Internet远程唤醒实现包括两个主要步骤:第一,被控制计算机设有公網IP或者出口设备上有公网IP映射;第二,在距离被控制计算机最近三层网关接口上,设置被控计算机的静态ARP绑定。
(作者单位:胡岚 深圳广播电视大学;李圣华 江西信息应用职业技术学院)