跨VLAN远程唤醒的研究与实现

2020-10-20 06:04胡岚李圣华
知识窗·教师版 2020年8期
关键词:数据包网卡网关

胡岚 李圣华

一、远程唤醒的硬件要求

主板:确定主板是否支持远程唤醒,可以通过查看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绑定。

(作者单位:胡岚  深圳广播电视大学;李圣华  江西信息应用职业技术学院)

猜你喜欢
数据包网卡网关
基于FPGA的工业TSN融合网关设计
基于ARM架构的工业物联网网关研究与实现
满足法规要求的车载终端数据包加密方案分析
联网全靠它 认识笔记本的无线网卡
C#串口高效可靠的接收方案设计
网络数据包的抓取与识别
挑战Killer网卡Realtek网游专用Dragon网卡
USB故障又一原因
基于ENC28J60的嵌入式以太网/CAN网关设计
如何屏蔽集成声卡显卡和网卡