并且可以通過中繼器10被發(fā)送。
[0068]同時,電子設(shè)備100可以一般地生成作為對ARP請求消息的應(yīng)答的ARP應(yīng)答消息。ARP使用在以太網(wǎng)環(huán)境中,并且中繼器10可以廣播稱為ARP請求的以太網(wǎng)幀到網(wǎng)絡(luò)上的所有主機。在該情況下,目標電子設(shè)備100的ARP層接收廣播分組,并且當(dāng)請求其自己的IP時,可以生成ARP應(yīng)答消息和將生成的ARP應(yīng)答消息發(fā)送到中繼器10。在該情況下,ARP應(yīng)答消息包括目標電子設(shè)備100的硬件(HW)地址,即MAC地址,并且當(dāng)接收到ARP應(yīng)答消息時,中繼器10可以知道目標電子設(shè)備100的服地址。
[0069]圖5是圖不根據(jù)不例性實施例的取決于WoL信號的傳輸?shù)碾娮釉O(shè)備100的打開處理的圖。
[0070]如圖5所示,控制電子設(shè)備100的操作的CPU 20在電子設(shè)備100關(guān)閉的同時也關(guān)閉(S505)。在該情況下,即使在CPU 20關(guān)閉的同時,也從電源40給電子設(shè)備100中包括的NIC 30提供普通電力。在該情況下,NIC 30從CPU 20上的網(wǎng)絡(luò)堆棧提取僅包括用于分組處理的最小功能的網(wǎng)絡(luò)層,以處理用于交換保持喚醒消息的通信協(xié)議,并且另外地在現(xiàn)有的NIC 30通信模塊中實現(xiàn)提取的網(wǎng)絡(luò)層。在該情況下,通過用于在現(xiàn)有的NIC 30中包括的通信模塊的PHY層和數(shù)據(jù)鏈路層上另外堆疊提取的網(wǎng)絡(luò)層的方法,可以在通信模塊上實現(xiàn)小網(wǎng)絡(luò)堆棧。然而,當(dāng)CPU 20關(guān)閉時,在CPU 20和外部服務(wù)器200之間生成網(wǎng)絡(luò)會話的情況下,CPU 20可以通過在CPU 20和外部服務(wù)器200之間交換保持喚醒消息,傳送維持網(wǎng)絡(luò)會話所需要的信息到NIC30,以便維持電子設(shè)備100和外部服務(wù)器200的網(wǎng)絡(luò)會話。
[0071]在該情況下,維持網(wǎng)絡(luò)會話所需要的信息包括作為TCP會話信息的源端口、目的地端口、順序號和確認號,以及作為IP會話信息的源IP地址和目的地IP地址。此外,維持網(wǎng)絡(luò)會話所需要的額外信息可以通過保持喚醒連接傳送到NIC 30。該額外信息可以包括在SSL中使用的對稱密鑰加密、消息認證碼密鑰、初始化向量、順序號等,并且可以包括在應(yīng)用層中使用的順序號、時間信息等。
[0072]因此,電子設(shè)備100可以通過中繼器10發(fā)送保持喚醒消息到外部服務(wù)器200以請求保持喚醒狀態(tài)(S510)。在該情況下,電子設(shè)備100可以發(fā)送地址解析協(xié)議(ARP)請求消息到在相同子網(wǎng)上的中繼器10和通過多個中繼器到外部服務(wù)器200的中繼器10,以保護中繼器10的MAC地址和外部服務(wù)器200。ARP請求可以在所有步驟中執(zhí)行。當(dāng)接收到保持喚醒消息時,外部服務(wù)器200可以發(fā)送ACK信號到電子設(shè)備100作為對其的應(yīng)答(S515)。然后,外部服務(wù)器200可以發(fā)送響應(yīng)于接收的保持喚醒消息的保持喚醒消息到電子設(shè)備100 (S520)。當(dāng)接收到保持喚醒消息時,電子設(shè)備100可以發(fā)送作為對其的應(yīng)答的ACK信號到外部服務(wù)器200(S525)。通過以上處理,外部服務(wù)器200和外部客戶端300可以在彼此交換保持喚醒消息的同時維持網(wǎng)絡(luò)會話。在該情況下,可以在預(yù)設(shè)周期交換保持喚醒消息。通過保持喚醒消息的交換,中繼器10可以不更新而是維持關(guān)于電子設(shè)備100的NAT表(S530)。因為NAT表不更新,所以中繼器10可以維持將私有IP地址映射到公共IP地址的接入信息,以存儲和發(fā)現(xiàn)目標電子設(shè)備100的轉(zhuǎn)換的公共IP地址,而不需用戶的額外設(shè)置。
[0073]外部客戶端300可以在維持NAT表并且維持網(wǎng)絡(luò)會話的同時,執(zhí)行其中電源關(guān)閉的電子設(shè)備100的打開命令(S535)??梢酝ㄟ^請求到外部服務(wù)器200的電子設(shè)備100的識別信息的傳輸和WoL信號的傳輸,來執(zhí)行電子設(shè)備100的打開命令(S540)。在該情況下,夕卜部服務(wù)器200可以通過中繼器10向目標電子設(shè)備100發(fā)送基于從外部客戶端300接收的電子設(shè)備的ID信息的WoL信號(S545)。
[0074]在該情況下,可以僅通過關(guān)閉的電子設(shè)備100中包括的NIC 30,來執(zhí)行與外部服務(wù)器200交換保持喚醒消息以及處理從外部客戶端300接收的打開命令的所有處理。也就是,電子設(shè)備100的CPU 200不消耗電力,并且NIC30可以處理保持喚醒消息以節(jié)省電子設(shè)備100的待機電力消耗。通過在NIC30中包括的通信模塊上另外堆疊IP層、TCP層、TLS和應(yīng)用層,可以實現(xiàn)僅通過NIC 30的分組處理,這些層僅包括CPU 20的網(wǎng)絡(luò)堆棧上的通信協(xié)議中的最小功能用于處理前述消息。
[0075]當(dāng)接收到WoL信號時,電子設(shè)備100可以發(fā)送ACK應(yīng)答到外部服務(wù)器200 (S550)并且發(fā)送特定信號到電源40以打開用于電子設(shè)備100的電源(S555)。
[0076]圖6是圖示其中在W1-Fi模塊中實現(xiàn)用于交換保持喚醒消息的網(wǎng)絡(luò)堆棧的示例的圖。
[0077]如圖6所示,應(yīng)用層610、TLS 620、TCP層630和IP層640存在于CPU20的網(wǎng)絡(luò)堆棧中,并且作為NIC 30中包括的通信模塊的W1-Fi模塊層650配置下層。
[0078]在NIC 30中包括的通信模塊中,另外地實現(xiàn)如上所述的電子設(shè)備100的網(wǎng)絡(luò)堆棧上的僅僅最小功能,其是交換操作在CPU 20中的保持喚醒消息的所需要的。因此,可能僅通過連接到電源40的NIC 30與外部服務(wù)器200交換保持喚醒消息。
[0079]在該情況下,NIC 30中包括的通信模塊可以配置為以太網(wǎng)模塊或W1-Fi模塊。在該情況下,交換保持喚醒消息所需要的最小功能可以是維持TCP連接所需要的功能。為此目的,NIC 30中包括的通信模塊可以包括處理TCP層630’的TCP段生成、TCP ACK應(yīng)答和檢查和校驗、以及IP層640’的IP數(shù)據(jù)報生成和ARP的功能。在該情況下,NIC 30中包括的通信模塊可以進一步處理用于安全的安全套接層(SSL)協(xié)議或傳輸層安全(TLS)協(xié)議。這里,NIC 30中包括的通信模塊可以執(zhí)行RC4 (AES)加密/解密功能。而且,NIC 30中包括的通信模塊可以進一步執(zhí)行處理用于編碼保持喚醒消息的整數(shù)型編碼協(xié)議的功能。
[0080]詳細地,處理整數(shù)型編碼協(xié)議的功能意味著以整數(shù)型編碼要發(fā)送的保持喚醒消息的功能。處理李維斯特密碼4 (RC4)或先進加密標準(AES)加密/解密協(xié)議的功能是加密數(shù)據(jù)的功能。加密算法可以中斷通過路由器對數(shù)據(jù)的非法訪問或者通過偷取密鑰或會話中途的信息攔截。RC4或AES加密/解密協(xié)議可以基于可以使用ID/ 口令處理用戶認證的傳輸層安全(TLS)層操作,并且可以提高應(yīng)用程序的安全性。TLS連接意味著在傳輸層中在外部客戶端300和電子設(shè)備100之間加密和發(fā)送數(shù)據(jù)的通信協(xié)議。TLS連接是傳輸層的加密方案,并且可以獨立于應(yīng)用層協(xié)議(諸如超文本傳輸協(xié)議(HTTP)、網(wǎng)絡(luò)新聞傳輸協(xié)議(NNTP)、文件傳輸協(xié)議(FTP)以及可擴展消息傳遞和在場協(xié)議(XMPP))使用。
[0081]處理TCP段生成協(xié)議的功能意味著生成具有將連接的目標主機的IP地址和端口號的段的功能,以建立電子設(shè)備100和外部網(wǎng)絡(luò)之間的連接。這里,段意味著使用TCP/IP發(fā)送的數(shù)據(jù)單元。段可以包括源端口地址、目的地端口地址、發(fā)送分組的源的初始順序號等。在發(fā)送之前數(shù)據(jù)被分段,并且順序號可以用于以準確的順序組裝段。
[0082]處理TCP ACK應(yīng)答協(xié)議的功能意味著發(fā)出對分組的接收的應(yīng)答以便保護發(fā)送分組的功能。源連續(xù)重發(fā)數(shù)據(jù)直到從目的地發(fā)送ACK,因此可以減少源于傳輸期間的錯誤的分組的丟失。
[0083]處理作為一種類型的冗余檢查的檢查和校驗協(xié)議的功能,意味著作為用于通過糾錯保護數(shù)據(jù)的完整性的方法的循環(huán)冗余檢查(CRC)。檢查和可以通過增加安排的數(shù)據(jù)獲得檢查和數(shù)字,并且可以由定義為定義的位數(shù)的模的位數(shù)重新配置。
[0084]處理IP數(shù)據(jù)報生成協(xié)議的功能意味著生成作為信息的基本單元的IP數(shù)據(jù)報的功能,其報頭除了傳輸信息的數(shù)據(jù)主體,包括諸如源的地址、目的地的地址和處理優(yōu)先級的數(shù)據(jù)。
[0085]處理AP協(xié)議的功能意味著處理作為用于使用以太網(wǎng)或W1-Fi中的IP地址知曉目的地的MAC地址的協(xié)議的地址解析協(xié)議(ARP)的功能。
[0086]保持喚醒消息通過以下處理在通信模塊上發(fā)送。
[0087]首先,通過調(diào)用系統(tǒng)調(diào)用生成和發(fā)送將由用戶的應(yīng)用發(fā)送的保持喚醒數(shù)據(jù)。當(dāng)調(diào)用系統(tǒng)調(diào)用時,數(shù)據(jù)轉(zhuǎn)換到內(nèi)核區(qū)。內(nèi)核套接具有用于發(fā)送的發(fā)送套接緩沖器和用于接收的接收套接緩沖器,并且當(dāng)調(diào)用系統(tǒng)調(diào)用時,用戶區(qū)的數(shù)據(jù)拷貝到內(nèi)核存儲器,并且保持喚醒數(shù)據(jù)添加到發(fā)送套接緩沖器的后部。接下來,調(diào)用TCP,并且當(dāng)當(dāng)前TCP狀態(tài)允許保持喚醒數(shù)據(jù)的發(fā)送時,生成新的TCP段,即分組。當(dāng)可以不發(fā)送保持喚醒數(shù)據(jù)(例如,流控制等)時,系統(tǒng)調(diào)用結(jié)束并且控制權(quán)移交給用戶區(qū)的應(yīng)用。TCP段包括TCP報頭和有效載荷。有效載荷包括不接收ACK的發(fā)送套接緩沖的數(shù)據(jù)。接下來,計算TCP檢查和。檢查和的計算可以包括偽報頭信息(IP地址、段長度、協(xié)議號)。這里,取決于TCP狀態(tài)也可以發(fā)送至少一個分組。然而,當(dāng)網(wǎng)絡(luò)堆棧使用檢查和卸載(offload)技術(shù)時,內(nèi)核不計算TCP檢查和,并且NIC30可以替代地計算檢查和。
[0088]生成的TCP段移動到IP層640’,并且在IP層640’中,IP報頭添加到TCP段并且執(zhí)行IP路由。IP路由意味著發(fā)現(xiàn)用于前進到目的地IP地址的隨后的設(shè)備的IP地址(下一跳IP)的處理。在IP層640’中,計算和添加IP報頭檢查和,然后將數(shù)據(jù)發(fā)送到W1-Fi層或以太網(wǎng)層650’。在以太網(wǎng)層的情況下,可以通過使用ARP找到下一跳IP的MAC地址。接下來,以太網(wǎng)報頭添加到分組,因此,完成保持喚醒分組。作為IP路由的結(jié)果,可以發(fā)現(xiàn)發(fā)送分組到下一跳IP時使用的NIC 30和對應(yīng)的IP。因此,當(dāng)調(diào)用發(fā)送NIC30的驅(qū)動器時,驅(qū)動器取決于NIC制造商定義的驅(qū)動器-NIC通信協(xié)議請求保持喚醒分組發(fā)送。NIC 30接收分組發(fā)送請求,將主存儲器中包括的保持喚醒分組拷貝到其自己的存儲器中,并且發(fā)送拷貝的保持喚醒分組到網(wǎng)絡(luò)。
[0089]同時,通過以下處理在通信模塊上處理接收的WoL信號。NIC 30可以從外部接收WoL信號。首先,NIC 30將接收的WoL分組寫入到