一種開機方法及裝置與流程
2023-12-01 09:10:11 1

本發明涉及通信領域,具體涉及一種開機方法及裝置。
背景技術:
隨著信息化時代的高速發展,在應用虛擬化中,把分散在各個不同區域位置的伺服器通過遠程技術進行統一管理,如此可以分散工作,統一管理。這個應用很廣泛,無論是在餐飲,醫療,學校,軍隊,政府機關方面等,當然遠程開機也是其中必不可少的一項。
由頁面或者控制單元來控制終端的遠程開機功能,越來越受到人們的青睞,方便快捷,但是在實際情況中,由於網絡的複雜性及對於硬體設施的改造及相關的配置工作比較繁雜。
現階段的幾種遠程開機技術,存在以下幾個問題:1、需要一定的硬體裝置配合,成本高,布置複雜,某些領域不支持如此改造;2、需要一定的路由器或者交換機的配置,操作繁瑣,某些領域不支持如此配置;3、與其它功能共用,引起一些不必要的開機操作,誤操作率高;4、需要一定的電話或者手機,且需要話費支持,操作繁瑣,不支持批量操作。
技術實現要素:
:
本發明提供一種開機方法及裝置,實現了一種更加有效便捷的遠程開機方法。
為解決上述技術問題,本發明提供一種開機方法,所述方法包括:
根據待喚醒終端的MAC地址生成喚醒指令;
將所述喚醒指令發送到所述喚醒指令的接收地址;
其中,所述喚醒指令為使所述待喚醒終端開機的指令。
優選地,
所述喚醒指令為包含所述待喚醒終端的MAC地址的魔術包。
優選地,
所述根據待喚醒終端的MAC地址生成喚醒指令包括:
所述伺服器選定終端代理;
所述終端代理根據待喚醒終端的MAC地址生成喚醒指令。
優選地,
所述將所述喚醒指令發送到所述喚醒指令的接收地址包括:
所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址,將所述待喚醒指令發送到所述廣播接收地址;
其中,所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址包括:
所述終端代理計算得出的廣播接收地址按照以下計算方法得出:
將所述終端代理的IP位址與所述終端代理所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址。
優選地,
所述根據待喚醒終端的MAC地址生成喚醒指令包括:
所述伺服器根據所述待喚醒終端的MAC地址生成喚醒指令;
所述將所述喚醒指令發送到所述喚醒指令的接收地址包括:
所述伺服器獲取所述待喚醒終端的IP位址;
當所述IP位址為靜態IP位址時,所述單播接收地址為所述待喚醒終端的靜態IP位址;當所述IP位址為動態IP位址時,所述單播接收地址為所述待喚醒終端上一次使用的IP位址;
所述伺服器將所述喚醒指令發送到所述單播接收地址。
優選地,
所述根據待喚醒終端的MAC地址生成喚醒指令包括:
所述伺服器根據所述待喚醒終端的MAC地址生成喚醒指令;
所述將所述喚醒指令發送到所述喚醒指令的接收地址包括:
所述伺服器根據所述待喚醒作終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址;
所述伺服器將所述喚醒指令發送到所述廣播接收地址;
其中,所述伺服器根據所述待喚醒終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址包括:
所述伺服器計算得出的廣播接收地址按照以下計算方法得出:
獲取所述待喚醒終端的IP位址;
當所述IP位址為靜態IP位址時,將所述靜態IP位址作為本次計算的所述待喚醒終端的IP位址;當所述IP位址為動態IP位址時,將所述待喚醒終端上一次使用的IP位址作為本次計算的所述待喚醒終端的IP位址;
將所述本次計算的待喚醒終端的IP位址與所述待喚醒終端所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址。
優選地,
如果所述待喚醒終端的動態IP位址已過老化時間或者交換機網關側的地址解析協議ARP信息已過老化時間,則將所述伺服器根據所述待喚醒終端的MAC地址生成的喚醒指令,所述伺服器根據所述待喚醒作終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址;所述伺服器將所述喚醒指令發送到所述廣播接收地址;
其中,所述伺服器根據所述待喚醒終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址包括:
所述伺服器計算得出的廣播接收地址按照以下計算方法得出:獲取所述待喚醒終端的IP位址;當所述IP位址為靜態IP位址時,將所述靜態IP位址作為本次計算的所述待喚醒終端的IP位址;當所述IP位址為動態IP位址時,將所述待喚醒終端上一次使用的IP位址作為本次計算的所述待喚醒終端的IP位址;
將所述本次計算的待喚醒終端的IP位址與所述待喚醒終端所在網段的子 網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址。
優選地,
如果所述待喚醒終端與所述伺服器不在同一區域網並且路由器不允許向廣播接收地址發送數據包,或者不允許修改路由器/交換機的配置信息,則所述伺服器選定終端代理;所述終端代理根據待喚醒終端的MAC地址生成喚醒指令;所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址,所述終端代理將所述待喚醒指令發送到所述廣播接收地址;
其中,所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址包括:
所述終端代理計算得出的廣播接收地址按照以下計算方法得出:
將所述終端代理的IP位址與所述終端代理所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址。
本發明還提供一種開機方法,所述方法包括:
終端代理向伺服器發送網絡地址信息;
根據所述伺服器的指示生成用於對待喚醒終端開機的喚醒指令;
將所述喚醒指令發送至所述待喚醒終端。
優選地,
所述喚醒指令為包含所述待喚醒終端的MAC地址的魔術包。
優選地,
所述將所述喚醒指令發送至所述待喚醒終端包括:
所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址,將所述待喚醒指令發到所述廣播接收地址;
其中,所述終端代理根據所述終端代理的IP位址和所述終端代理所在網 段的子網掩碼計算得出廣播接收地址包括:
所述終端代理計算得出的廣播接收地址按照以下計算方法得出:
將所述終端代理的IP位址與所述終端代理所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址。
本發明還提供一種開機裝置,所述裝置包括:
第一處理模塊,用於根據待喚醒終端的MAC地址生成喚醒指令;
第二處理模塊,用於將所述喚醒指令發送到所述喚醒指令的接收地址;
其中,所述喚醒指令為使所述待喚醒終端開機的指令。
優選地,
所述喚醒指令為包含所述待喚醒終端的MAC地址的魔術包。
優選地,
所述裝置還包括設置於伺服器的指定模塊:
所述指定模塊用於選定終端代理;
所述第一處理模塊用於根據待喚醒終端的MAC地址生成喚醒指令具體是指:
所述終端代理根據待喚醒終端的MAC地址生成喚醒指令;
其中,所述第一處理模塊設置於所述終端代理。
優選地,
所述第二處理模塊用於將所述喚醒指令發送到所述喚醒指令的接收地址具體是指:
所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址,將所述待喚醒指令發送到所述廣播接收地址;
其中,所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址包括:
所述終端代理計算得出的廣播接收地址按照以下計算方法得出:
將所述終端代理的IP位址與所述終端代理所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址;
所述第二處理模塊設置於所述終端代理。
優選地,
所述第一處理模塊用於根據待喚醒終端的MAC地址生成喚醒指令具體是指:
所述伺服器根據所述待喚醒終端的MAC地址生成喚醒指令;
所述第二處理模塊用於將所述喚醒指令發送到所述喚醒指令的接收地址具體是指:
獲取所述待喚醒終端的IP位址;
當所述IP位址為靜態IP位址時,所述單播接收地址為所述待喚醒終端的靜態IP位址;當所述IP位址為動態IP位址時,所述單播接收地址為所述待喚醒終端上一次使用的IP位址;
將所述喚醒指令發送到所述單播接收地址;
所述第一處理模塊和所述第二處理模塊設置於所述伺服器。
優選地,
所述第一處理模塊用於根據待喚醒終端的MAC地址生成喚醒指令具體是指:
所述伺服器根據所述待喚醒終端的MAC地址生成喚醒指令;
所述第二處理模塊用於將所述喚醒指令發送到所述喚醒指令的接收地址具體是指:
所述伺服器根據所述待喚醒作終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址;
將所述喚醒指令發送到所述廣播接收地址;
其中,所述伺服器根據所述待喚醒終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址包括:
所述伺服器計算得出的廣播接收地址按照以下計算方法得出:
獲取所述待喚醒終端的IP位址;
當所述IP位址為靜態IP位址時,將所述靜態IP位址作為本次計算的所述待喚醒終端的IP位址;當所述IP位址為動態IP位址時,將所述待喚醒終端上一次使用的IP位址作為本次計算的所述待喚醒終端的IP位址;
將所述本次計算的待喚醒終端的IP位址與所述待喚醒終端所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址;
所述第一處理模塊和所述第二處理模塊設置於所述伺服器。
優選地,
如果所述待喚醒終端的動態IP位址已過老化時間或者交換機網關側的地址解析協議ARP信息已過老化時間,則所述第一處理模塊用於根據所述待喚醒終端的MAC地址生成的喚醒指令;所述第二處理模塊用於根據所述待喚醒作終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址;還用於將所述喚醒指令發送到所述廣播接收地址;
其中,所述第二處理模塊用於根據所述待喚醒終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址具體是指:
所述伺服器計算得出的廣播接收地址按照以下計算方法得出:獲取所述待喚醒終端的IP位址;當所述IP位址為靜態IP位址時,將所述靜態IP位址作為本次計算的所述待喚醒終端的IP位址;當所述IP位址為動態IP位址時,將所述待喚醒終端上一次使用的IP位址作為本次計算的所述待喚醒終端的IP位址;
將所述本次計算的待喚醒終端的IP位址與所述待喚醒終端所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址;
所述第一處理模塊和所述第二處理模塊設置於所述伺服器。
優選地,
如果所述待喚醒終端與所述伺服器不在同一區域網並且路由器不允許向 廣播接收地址發送數據包,或者不允許修改路由器/交換機的配置信息,則所述裝置還包括設置於伺服器的指定模塊;所述指定模塊用於選定終端代理;
所述第一處理模塊用於根據待喚醒終端的MAC地址生成喚醒指令;所述第二處理模塊用於根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址;還用於將所述待喚醒指令發送到所述廣播接收地址;
其中,所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址包括:
所述終端代理計算得出的廣播接收地址按照以下計算方法得出:
將所述終端代理的IP位址與所述終端代理所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址;
所述第一處理模塊和所述第二處理模塊設置於所述伺服器。
本發明還提供一種開機裝置,設置於終端代理,所述裝置包括:
連接模塊,用於向伺服器發送網絡地址信息;
生成模塊,用於根據所述伺服器的指示生成用於對待喚醒終端開機的喚醒指令;
處理模塊,用於將所述喚醒指令發送至所述待喚醒終端。
優選地,
所述喚醒指令為包含所述待喚醒終端的MAC地址的魔術包。
優選地,
所述處理模塊用於將所述喚醒指令發送至所述待喚醒終端具體是指:
所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址,將所述待喚醒指令發到所述廣播接收地址;
其中,所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址包括:
所述終端代理計算得出的廣播接收地址按照以下計算方法得出:
將所述終端代理的IP位址與所述終端代理所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址。
上述方案可以有效的實現更加有效便捷的遠程開機,成功率高,不需要額外安裝硬體設備,降低了成本,並且操作簡易,提升了用戶體驗。
附圖說明
圖1為實施例一中的開機方法的流程圖;
圖2為實施例一中的開機方法的另一流程圖;
圖3為實施例一中的開機裝置的結構示意圖;
圖4為實施例一中的開機裝置的另一結構示意圖。
具體實施方式
為使本申請的目的、技術方案和優點更加清楚明白,下文中將結合附圖對本申請的實施例進行詳細說明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互任意組合。
實施例一
如圖1所示,本發明提供一種開機方法,所述方法包括:
步驟S11:根據待喚醒終端的MAC地址生成喚醒指令;
在本實施例中,喚醒指令為包含所述待喚醒終端的MAC地址的魔術包。喚醒指令為使所述待喚醒終端開機的指令。
例如,可以是包含FFFFFFFFFFFF和連續重複16次MAC地址的魔術包。
步驟S12:將所述喚醒指令發送到所述喚醒指令的接收地址;
具體的,本實施例可以採用以下方式中的一種或多種:
終端代理方式、單播方式、廣播方式。
1)終端代理方式可以按照如下方式實現:
所述伺服器選定終端代理;
所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址,將所述待喚醒指令發送到所述廣播接收地址;
其中,所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址包括:
所述終端代理計算得出的廣播接收地址按照以下計算方法得出:
將所述終端代理的IP位址與所述終端代理所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址。
2)單播方式可以按照如下方式實現:
所述伺服器根據所述待喚醒終端的MAC地址生成喚醒指令;
所述伺服器獲取所述待喚醒終端的IP位址;
當所述IP位址為靜態IP位址時,所述單播接收地址為所述待喚醒終端的靜態IP位址;當所述IP位址為動態IP位址時,所述單播接收地址為所述待喚醒終端上一次使用的IP位址;
所述伺服器將所述喚醒指令發送到所述單播接收地址。
3)廣播方式可以按照如下方式實現:
所述伺服器根據所述待喚醒終端的MAC地址生成喚醒指令;
所述伺服器根據所述待喚醒作終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址;
所述伺服器將所述喚醒指令發送到所述廣播接收地址;
其中,所述伺服器根據所述待喚醒終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址包括:
所述伺服器計算得出的廣播接收地址按照以下計算方法得出:
獲取所述待喚醒終端的IP位址;
當所述IP位址為靜態IP位址時,將所述靜態IP位址作為本次計算的所述待喚醒終端的IP位址;當所述IP位址為動態IP位址時,將所述待喚醒終 端上一次使用的IP位址作為本次計算的所述待喚醒終端的IP位址;
將所述本次計算的待喚醒終端的IP位址與所述待喚醒終端所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址。
優選地,如果所述待喚醒終端的動態IP位址已過老化時間或者交換機網關側的地址解析協議ARP信息已過老化時間,則按照廣播方式發送喚醒指令,具體如下:將所述伺服器根據所述待喚醒終端的MAC地址生成的喚醒指令,所述伺服器根據所述待喚醒作終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址;所述伺服器將所述喚醒指令發送到所述廣播接收地址;
其中,所述伺服器根據所述待喚醒終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址包括:
所述伺服器計算得出的廣播接收地址按照以下計算方法得出:獲取所述待喚醒終端的IP位址;當所述IP位址為靜態IP位址時,將所述靜態IP位址作為本次計算的所述待喚醒終端的IP位址;當所述IP位址為動態IP位址時,將所述待喚醒終端上一次使用的IP位址作為本次計算的所述待喚醒終端的IP位址;
將所述本次計算的待喚醒終端的IP位址與所述待喚醒終端所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址。
優選地,如果所述待喚醒終端與所述伺服器不在同一區域網並且路由器不允許向廣播接收地址發送數據包,或者不允許修改路由器/交換機的配置信息,則按照終端代理方式發送喚醒指令,具體如下:所述伺服器選定終端代理;所述終端代理根據待喚醒終端的MAC地址生成喚醒指令;所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址,所述終端代理將所述待喚醒指令發送到所述廣播接收地址;
其中,所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址包括:
所述終端代理計算得出的廣播接收地址按照以下計算方法得出:
將所述終端代理的IP位址與所述終端代理所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址。
下面以廣播接收地址為例說明接收地址的計算方法:
首先IP位址與子網掩碼進行「與」運算,得到網絡地址;然後子網掩碼「取反」運算,然後與網絡地址進行「或」運算,得到廣播接收地址;
例如,IP位址10.145.129.20,掩碼255.255.248.0,則廣播地址10.145.135.255,過程如下:
IP轉換成二進位:00001010 10010001 10000001 00010010
掩碼轉換成二進位:11111111 11111111 11111000 00000000
IP與掩碼相與得網絡地址(全1為1,見0為0):
00001010 10010001 10000000 00000000
子網掩碼取反運算:00000000 00000000 00000111 11111111
子網掩碼取反與網絡地址進行「或運算」得廣播地址(全0為0,見1為1):
00001010 10010001 10000111 11111111
廣播地址轉換成十進位為:10,145,135,255
通俗來講:
網絡地址轉換成十進位為:10,145,128,0
掩碼把後24位的前13為劃成了子網,後11為劃成了主機,故:
廣播地址則要把網絡地址的主機位全換成1,得:00001010,10010001,10000111,1111111
廣播地址轉換成十進位為:10,145,135,255
如圖2所示,本實施例還提供一種開機方法,所述方法包括:
步驟21:終端代理向伺服器發送網絡地址信息;
步驟S22:根據所述伺服器的指示生成用於對待喚醒終端開機的喚醒指令;
喚醒指令為包含所述待喚醒終端的MAC地址的魔術包。
步驟S24:將所述喚醒指令發送至所述待喚醒終端。
具體的,終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址,將所述待喚醒指令發到所述廣播接收地址;
其中,所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址包括:
所述終端代理計算得出的廣播接收地址按照以下計算方法得出:
將所述終端代理的IP位址與所述終端代理所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址。
如圖3所示,本實施例還提供一種開機裝置,所述裝置包括:
第一處理模塊11,用於根據待喚醒終端的MAC地址生成喚醒指令;
第二處理模塊12,用於將所述喚醒指令發送到所述喚醒指令的接收地址;
其中,所述喚醒指令為使所述待喚醒終端開機的指令。
優選地,所述裝置還包括設置於伺服器的指定模塊12:
所述指定模塊12用於選定終端代理;
所述第一處理模塊11用於根據待喚醒終端的MAC地址生成喚醒指令具體是指:
所述終端代理根據待喚醒終端的MAC地址生成喚醒指令;
其中,所述第一處理模塊11設置於所述終端代理。
優選地,
所述第二處理模塊12用於將所述喚醒指令發送到所述喚醒指令的接收地址具體是指:
所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址,將所述待喚醒指令發送到所述廣播接收地址;
其中,所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址包括:
所述終端代理計算得出的廣播接收地址按照以下計算方法得出:
將所述終端代理的IP位址與所述終端代理所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址;
所述第二處理模塊12設置於所述終端代理。
優選地,
所述第一處理模塊11用於根據待喚醒終端的MAC地址生成喚醒指令具體是指:
所述伺服器根據所述待喚醒終端的MAC地址生成喚醒指令;
所述第二處理模塊12用於將所述喚醒指令發送到所述喚醒指令的接收地址具體是指:
獲取所述待喚醒終端的IP位址;
當所述IP位址為靜態IP位址時,所述單播接收地址為所述待喚醒終端的靜態IP位址;當所述IP位址為動態IP位址時,所述單播接收地址為所述待喚醒終端上一次使用的IP位址;
將所述喚醒指令發送到所述單播接收地址;
所述第一處理模塊11和所述第二處理模塊12設置於所述伺服器。
優選地,
所述第一處理模塊11用於根據待喚醒終端的MAC地址生成喚醒指令具體是指:
所述伺服器根據所述待喚醒終端的MAC地址生成喚醒指令;
所述第二處理模塊12用於將所述喚醒指令發送到所述喚醒指令的接收地址具體是指:
所述伺服器根據所述待喚醒作終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址;
將所述喚醒指令發送到所述廣播接收地址;
其中,所述伺服器根據所述待喚醒終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址包括:
所述伺服器計算得出的廣播接收地址按照以下計算方法得出:
獲取所述待喚醒終端的IP位址;
當所述IP位址為靜態IP位址時,將所述靜態IP位址作為本次計算的所述待喚醒終端的IP位址;當所述IP位址為動態IP位址時,將所述待喚醒終端上一次使用的IP位址作為本次計算的所述待喚醒終端的IP位址;
將所述本次計算的待喚醒終端的IP位址與所述待喚醒終端所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址;
所述第一處理模塊11和所述第二處理模塊12設置於所述伺服器。
優選地,
如果所述待喚醒終端的動態IP位址已過老化時間或者交換機網關側的地址解析協議ARP信息已過老化時間,則所述第一處理模塊11用於根據所述待喚醒終端的MAC地址生成的喚醒指令;所述第二處理模塊12用於根據所述待喚醒作終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址;還用於將所述喚醒指令發送到所述廣播接收地址;
其中,所述第二處理模塊12用於根據所述待喚醒終端的IP位址和所述待喚醒終端所在網段的子網掩碼計算得出廣播接收地址具體是指:
所述伺服器計算得出的廣播接收地址按照以下計算方法得出:獲取所述待喚醒終端的IP位址;當所述IP位址為靜態IP位址時,將所述靜態IP位址作為本次計算的所述待喚醒終端的IP位址;當所述IP位址為動態IP位址時,將所述待喚醒終端上一次使用的IP位址作為本次計算的所述待喚醒終端的IP位址;
將所述本次計算的待喚醒終端的IP位址與所述待喚醒終端所在網段的子 網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址;
所述第一處理模塊11和所述第二處理模塊12設置於所述伺服器。
優選地,
如果所述待喚醒終端與所述伺服器不在同一區域網並且路由器不允許向廣播接收地址發送數據包,或者不允許修改路由器/交換機的配置信息,則所述裝置還包括設置於伺服器的指定模塊13;所述指定模塊13用於選定終端代理;
所述第一處理模塊11用於根據待喚醒終端的MAC地址生成喚醒指令;所述第二處理模塊12用於根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址;還用於將所述待喚醒指令發送到所述廣播接收地址;
其中,所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址包括:
所述終端代理計算得出的廣播接收地址按照以下計算方法得出:
將所述終端代理的IP位址與所述終端代理所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址;
所述第一處理模塊11和所述第二處理模塊12設置於所述伺服器。
如圖4所示,本實施例還提供一種開機裝置,設置於終端代理,所述裝置包括:
連接模塊21,用於向伺服器發送網絡地址信息;
生成模塊22,用於根據所述伺服器的指示生成用於對待喚醒終端開機的喚醒指令;所述喚醒指令為包含所述待喚醒終端的MAC地址的魔術包。
處理模塊23,用於將所述喚醒指令發送至所述待喚醒終端。
優選地,
所述處理模塊23用於將所述喚醒指令發送至所述待喚醒終端具體是指:
所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址,將所述待喚醒指令發到所述廣播接收地址;
其中,所述終端代理根據所述終端代理的IP位址和所述終端代理所在網段的子網掩碼計算得出廣播接收地址包括:
所述終端代理計算得出的廣播接收地址按照以下計算方法得出:
將所述終端代理的IP位址與所述終端代理所在網段的子網掩碼進行與運算後得出網絡地址;將所述子網掩碼取反運算後與所述網絡地址進行或運算後得出所述廣播接收地址。
實施例二
在說明那個書本發明技術方案之前,先對本發明涉及的相關技術術語進行簡要的介紹。
1、遠程開機
遠程開機,又可以被稱為遠程喚醒技術,英文簡稱WOL,是指可以通過區域網、網際網路或者通訊網實現遠程開機,無論被訪問的計算機離用戶有多遠、處於什麼位置,只要通過區域網、網際網路或者通訊網,就都能夠被隨時啟動。
原理:區域網中的計算機處於關機狀態,但它的網卡處於監控狀態,等待網絡開機的數據包。一旦收到該數據包,網卡就能打開主機電源實現開機。要喚醒某一臺電腦必須知道該電腦的編號,在沒有開機的狀態下我們不可能通過IP或主機名來區分計算機,但每一塊網卡都有惟一的MAC地址,通過管理系統向該網卡發出「Wake up」的數據包(一個包含FFFFFFFFFFFF和連續重複16次MAC地址如AAAAAAAAAAAA的Magic Packet),該機雖然處於關機狀態,但網卡上的晶片可以通過三芯連接線獲得電源,從而處理數據包中的地址信息確定是否開機,如果確認就通過三芯連接線向計算機發出開機信號。
2、ARP:
地址解析協議,即ARP(Address Resolution Protocol),是根據IP位址 獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP位址的ARP請求廣播到網絡上的所有主機,並接收返回消息,以此確定目標的物理地址;收到返回消息後將該IP位址和物理地址存入本機ARP緩存中並保留一定時間,下次請求時直接查詢ARP緩存以節約資源。
ARP緩存是個用來儲存IP位址和MAC地址的緩衝區,其本質就是一個IP位址-->MAC地址的對應表,表中每一個條目分別記錄了網絡上其他主機的IP位址和對應的MAC地址。每一個乙太網或令牌環網絡適配器都有自己單獨的表。當地址解析協議被詢問一個已知IP位址節點的MAC地址時,先在ARP緩存中查看,若存在,就直接返回與之對應的MAC地址,若不存在,才發送ARP請求向區域網查詢。
為使廣播量最小,ARP維護IP位址到MAC地址映射的緩存以便將來使用。ARP緩存可以包含動態和靜態項目。動態項目隨時間推移自動添加和刪除。每個動態ARP緩存項的潛在生命周期是10分鐘。新加到緩存中的項目帶有時間戳,如果某個項目添加後2分鐘內沒有再使用,則此項目過期並從ARP緩存中刪除;如果某個項目已在使用,則又收到2分鐘的生命周期;如果某個項目始終在使用,則會另外收到2分鐘的生命周期,一直到10分鐘的最長生命周期。靜態項目一直保留在緩存中,直到重新啟動計算機為止。
3、子網掩碼NETMASK:
子網掩碼(subnet mask)又叫網絡掩碼、地址掩碼、子網絡遮罩,它是一種用來指明一個IP位址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合IP位址一起使用。子網掩碼只有一個作用,就是將某個IP位址劃分成網絡地址和主機地址兩部分。子網掩碼是一個32位地址,用於屏蔽IP位址的一部分以區別網絡標識和主機標識,並說明該IP位址是在區域網上,還是在遠程網上。
4、本發明在硬體方面唯一涉及計算機終端,無需其他硬體方面的改造。在進行遠程喚醒時需要主板和網卡的支持。目前幾乎所有品牌的硬體都支持WOL,具體操作如下,不同的產品,界面不同。
1)網卡
網卡是實現遠程開機的一個最重要的元素,不是所有網卡都支持遠程開 機。幾乎所有品牌都支持遠程開機。購買網卡時我們可以向經銷商諮詢。一般來說,支持遠程開機的網卡都有三針的WOL接口,並贈送一根三芯連接線,以便和主板相連接,同時也要注意一下產品說明書。
網卡WOL啟動:進入windows後,進入設備管理器,選擇要用於WOL的網卡,進入屬性窗口選擇「高級」標籤,在列表裡能找到「Wake up Capabilities(喚醒功能)」設置值為「Magic Packet」或」Both」
2)主板
主板不支持遠程開機也是不行的。支持該功能的主板上一般都在PCI插槽附近有一個三芯插座用三芯連接線把網卡和主板連接起來。
要實現遠程開機必須給網卡電源,由於計算機處於關機狀態,一般不能通過PCI插槽給網卡供電,所以必須通過三芯連接線給網卡電流。而有些最新的主板(PCI2.2標準)在關機狀態下能夠給PCI電源,所以這種主板就沒有必要設三芯插座了。
主板WOL啟動:開機按下Delete鍵進入CMOS設置界面,找到「Power Management Setup」電源管理菜單,回車進入子菜單,找到「Wake up Events」,回車後找到「Wake up on LAN/Ring」選項或「Resume by LAN」,將「Disabled」改為「Enabled」或「On」。保存退出CMOS設置。說明:不同產品操作不同,欄位值不同。
能進行如上的操作,就說明硬體是支持WOL的,啟用這些功能後就可以通過區域網來喚醒了。這是網絡喚醒功能實現的前提,也是目前市面上所有軟體或者硬體支持喚醒功能的必要條件。
要注意,如果電腦非正常關機(比如按Power鍵來強制關機)還是無法WOL的,只有正常關機後,網卡仍會處於活動狀態可以接收網絡數據。
下面對本發明的技術方案做進一步的說明。
本發明在進行遠程喚醒的主要的原理是發送魔術包,如何確保將喚醒指令正確發送到被喚醒的終端上,本發明可以通過單播方式,廣播方式以及終端代理方式。伺服器其可以選擇上述方式中的一種或多種來發送喚醒指令, 伺服器也可以根據實際的情況進行判斷,選擇較優的方式發送喚醒指令。
可以由伺服器生成喚醒指令並將該指令發送至待喚醒終端,也可以是伺服器指定終端代理,由終端代理生成喚醒指令和該指令的接收地址,然後終端代理將喚醒指令發送至接收地址,從而控制待喚醒終端開機。在本發明中,可以被指定為終端代理的設備可以是計算機設備。
在本發明中,喚醒指令可以是包含FFFFFFFFFFFF和連續重複16次待喚醒終端MAC地址的魔術包。單播方式和廣播方式的區別在於喚醒指令的接收地址不同,如果採用廣播方式時,喚醒指令可以發送至多個終端設備。終端代理方式與單播方式及廣播方式的區別在於其是通過終端代理生成喚醒指令以及通過終端代理髮送喚醒指令。
如果待喚醒終端的地址非靜態地址或者交換機網關側的ARP(Address Resolution Protocol,地址解析協議)信息已過老化時間,則不能通過單播方式喚醒待喚醒終端,此時需要通過廣播方式本系統發送的廣播包會將此終端喚醒。
如果待喚醒終端的地址與控制系統不在同一個區域網內,且路由器也不允許轉發廣播包,或者現實場景中不允許修改路由器或者交換機的相關配置,或者修改相關配置較為複雜,此時,可通過終端代理的方式來發送廣播包。
在本發明中,終端代理使用TCP協議進行通信,終端代理在開機時會將自身的MAC地址、IP位址,網關,子網掩碼等信息上報給伺服器,以便查詢時使用;
終端代理接收到伺服器的指示,指示終端代理喚醒待喚醒終端,此時終端代理組合喚醒指令,計算接收地址,然後發送喚醒指令。
需要說明的是,成為終端代理的前提是此終端在此區域網中是開機狀態,否則此終端並不會收到管理系統所發送的開機指令,並且終端代理,已安裝本方案所提出的相應軟體服務,可以實現,當收到伺服器發送的指示後,能夠生成喚醒指令發給相應終端,當開機後,其MAC地址、IP位址,網關,子網掩碼等信息上報伺服器。在本發明中,終端代理不唯一,任意一臺開機終端如果滿足條件都可成為終端代理。
此外,在本發明中,待喚醒終端在關機狀態也會收到喚醒指令,其網卡 檢測到廣播包中包含自己MAC地址,就會被喚醒。如果採用廣播方式時,其它終端也會收到此喚醒指令,而收到後只會將此喚醒指令丟棄。如果採用單播方式,則其它終端不會收到喚醒指令。
採用本發明所述的方案,與現有技術相比,取得了很大的進步,不僅能夠達到遠程開關機的效果,而且節省了多餘的硬體安裝,通過三種方式來喚醒遠程終端,成功率高,降低了成本,操作簡易,對於用戶安裝使用來說,無須掌握其它相關的技能,且對用戶體驗提升效果顯著,可產生有益的經濟效益和社會效益。
以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬體完成,所述程序可以存儲於計算機可讀存儲介質中,如只讀存儲器、磁碟或光碟等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現,相應地,上述實施例中的各模塊/模塊可以採用硬體的形式實現,也可以採用軟體功能模塊的形式實現。本申請不限制於任何特定形式的硬體和軟體的結合。