下面的討論中,結合可以包括多個虛擬機的虛擬聯網環(huán)境討論了一些示例和細節(jié)。然而,所述的技術可以被等價地應用于物理客戶機設備的網絡和包括網絡客戶機設備和虛擬機的“混合”網絡。
[0028]為了進一步說明可靠地址發(fā)現高速緩存的技術,現在考慮圖2,其描繪了在200處示出一個在其中可以實現在此所述的技術的示例虛擬聯網環(huán)境的示圖。所述示例虛擬聯網環(huán)境描繪了可以容納多個物理設備(例如服務器、存儲、網絡設備等)的數據中心202,所述物理設備可以被配置為提供虛擬化和/或基于云的計算資源(例如內容和服務)。雖然描繪了單個數據中心202,可以理解虛擬聯網網絡可以跨一個或多個數據中心,并可以由位于一個或多個不同的地理位置的物理設備來實現。
[0029]示例的數據中心202包括具有物理接口206、虛擬機管理器模塊208以及一個或多個虛擬機210,..-,212的計算設備204。虛擬聯網環(huán)境的其他計算設備214可以各自包括一個或多個對應的虛擬機216和相應的虛擬機管理器模塊208,并且可以以與結合計算設備204所表示的示例組件相類似方式被配置。
[0030]虛擬機管理器模塊208表示管理虛擬機210、212的創(chuàng)建、操作和終止的功能,包括為了虛擬機210、212訪問由物理接口 206所提供的功能。物理接口 206表示通信組件,例如有線和/或無線網絡適配器(例如網絡接口卡(NIC))。雖然在圖1中示出單個物理接口 206,但應該理解計算設備204可以包括多個相同和/或不同類型的物理接口,并且虛擬機管理器模塊208可以管理對由這些多個物理接口所提供的功能的訪問。
[0031]這樣,虛擬機管理器模塊208允許一個或多個虛擬機210、212、216在相應的計算設備204、214上運行。任何數目的虛擬機可以在特定計算設備上運行。虛擬機指的是計算設備(或其他機器或系統)的軟件實現,該軟件實現被配置為類似于物理計算設備的執(zhí)行程序。例如,每個虛擬機210、212、216可以執(zhí)行操作系統和其他應用,并且每個這樣的操作系統和應用可以在無需意識到該執(zhí)行是使用虛擬機發(fā)生的情況下被執(zhí)行,并且這樣該執(zhí)行可以在無需應用的專門配置和其他軟件的情況下發(fā)生。
[0032]虛擬機管理器模塊208被示為包括虛擬機(VM)控制模塊218、虛擬交換機220和微型端口驅動器222。所述虛擬機控制模塊218表示管理虛擬機的執(zhí)行的功能。這種管理可以包括是否允許虛擬機被運行(啟動)和終止、控制虛擬機從一個計算設備到另一個計算設備(例如通過網絡108在計算設備204和其他計算設備214之間)迀移,等等。
[0033]虛擬交換機220被配置為允許虛擬機彼此通信,并可選地通過物理接口206和網絡108與其他物理設備通信。在一些實現中,虛擬機220是可擴展的,并且因此可以被配置為允許加入不同的擴展以增強或修改虛擬交換機220的能力。例如,虛擬交換機220可以被配置為實現高速緩存管理器模塊114以維護、更新、分發(fā)和以其他方式管理包含關于虛擬機和/或網絡或子網中的其他客戶機的IP地址到硬件地址映射的信息的地址映射116。在至少一些實現中,可以通過目錄服務118維護地址映射116并將其傳播到網絡中的客戶機。
[0034]微型端口驅動器222表示一個被配置為提供專用于物理接口206的操作并允許虛擬交換機116與物理接口 206通信的接口。雖然示出了單個微型端口驅動器222,但是也可以為具有多個物理接口 206的計算設備提供多個微型端口驅動器222,每個微型端口驅動器與一個物理接口 206相對應。
[0035]在操作中,高速緩存管理器模塊114可以由客戶機102實現為虛擬網絡環(huán)境中的虛擬交換機220的一個組件,或者以其他方式執(zhí)行在對應的網絡中的可靠地址發(fā)現的操作。所述操作可以包括但不限于IP地址獲取、IP地址釋放、高速緩存過期和地址解析處理的管理。
[0036]如前所述,高速緩存管理器模塊114可以建立用于處理與地址發(fā)現有關的控制消息的可靠通信信道,所述地址發(fā)現包括IP地址獲取、IP地址釋放和高速緩存過期。在一個方案中,可靠通信信道可以是基于TCP/IP的信道。其他使用各種通信協議的適合的信道也可被構想。通常,通信信道提供了從客戶機/虛擬機到高速緩存管理器模塊114的直接和/或明確通知的機制。通過通信信道發(fā)送的用于高速緩存管理的通知消息是非廣播的。隨后,高速緩存管理器模塊114可以基于明確的通知驗證并更新地址映射116并將任何改變傳播給其他客戶機/虛擬機。在客戶機之間的經更新的映射信息的傳播也可以通過通信信道發(fā)生。在一個方案中,要么直接地要么通過目錄服務118,在與每個客戶機/虛擬機相關聯的高速緩存管理器模塊114之間傳播映射信息。這可涉及將映射傳播給多個物理機和/或網絡設備。例如,地址映射116和/或任何對其的更新可以在虛擬交換機220和與其他計算設備214相關聯的虛擬交換機224之間傳播,如圖2所示。
[0037]因為高速緩存管理器模塊114處理所述傳播并且明確、非廣播的通知被定向到高速緩存管理器模塊/虛擬交換機而不是被作為廣播消息發(fā)送,所以,經歷丟棄分組、不準確/過期的數據和/或在不同的端點處的不一致或過期映射的可能性與依靠廣播消息的技術相比被降低。這樣,從通信信道啟用準確和最新的地址映射116的創(chuàng)建、可用性和分發(fā)的角度來看,所述通信信道被認為是“可靠的”,跨網絡的客戶機/虛擬機可以信任所述地址映射116。關于可靠地址發(fā)現高速緩存的這些以及其他方面的細節(jié)將關于下面的示例過程而被討論。
[0038]在考慮了示例環(huán)境和場景后,現在根據一個或多個實施例來考慮一些示例過程的討論。
[0039]示例過程
[0040]以下討論描述了可利用先前描述的系統和設備來實現的可靠地址發(fā)現高速緩存技術??梢允褂糜布?、固件或軟件或其組合來實現每一個過程的各方面。過程被示為一組框,它們指定由一個或多個設備執(zhí)行的操作,不一定僅限于所示出的用于由相應的框執(zhí)行操作的順序。在以下討論的各部分中,將參考圖1的環(huán)境100和圖2的環(huán)境200。在至少一些實施例中,各過程可由被適當配置的計算設備(諸如包括或以其他方式使用高速緩存管理器模塊114的客戶機或虛擬機)來執(zhí)行。如上所述,高速緩存管理器模塊114可以被配置為執(zhí)行各種實現可靠地址發(fā)現高速緩存的操作,至少包括地址映射獲取和傳播、地址釋放和過期技術以及地址發(fā)現收發(fā)消息處理,其細節(jié)將在下面結合對應的示例過程的相應子章節(jié)中進行討論。
[0041 ] 地址映射獲取和傳播
[0042]為了提供可靠地址發(fā)現高速緩存,用于網絡中的客戶機/端點的IP地址到硬件地址的映射通過一個或多個網絡組件獲取,例如與至少一些客戶機/端點相關聯的高速緩存管理器模塊114??梢砸愿鞣N方式發(fā)生地址映射信息的獲取。隨后,地址映射可以通過可靠通信信道被傳播到其他組件,如前所述。關于地址映射獲取和傳播技術的更多細節(jié)現在將結合圖3的示例過程300來討論。
[0043]具體而言,圖3是描述了在其中可以使用分組交換和明確通知來學習地址映射的示例過程300的流程圖。在該示例中,過程的各方面將結合虛擬網絡的虛擬交換機來討論。然而,也可以通過虛擬和物理網絡的其他適合組件來實現類似的技術,所述組件例如為物理交換機、路由器、物理接口的固件、個體虛擬機的軟件等等。
[0044]虛擬交換機監(jiān)視在虛擬聯網環(huán)境中的客戶機之間的分組交換(框302)。另外,從一個或多個客戶機獲得關于網際協議地址獲取的通知(框304)。隨后,基于分組交換和通知查明客戶機的網際協議地址映射(框306)。在各種實現中,表示IP地址映射(例如IP地址與硬件地址的關聯)的分組交換和明確通知可以被個別地或相組合地用于生成并更新地址映射。
[0045]分組交換可以包括地址發(fā)現消息、回應和/或包含IP地址與客戶機的關聯的指示的其他通信。在虛擬聯網環(huán)境場景中,客戶機可以對應于虛擬機。在其他場景中,客戶機可以包括不同的物理計算設備。在一個實現中,由虛擬交換機(或以其他方式)實現的高速緩存管理器模塊114被配置為執(zhí)行監(jiān)視、解析分組以識別IP地址關聯并據此更新地址映射。
[0046]高速緩存管理器模塊114(或其他類似組件)還可以從客戶機接收并處理表示通過客戶機的IP地址獲取的明確通知。例如,在虛擬聯網環(huán)境中的虛擬機可以各自包括一個被配置為發(fā)送由高速緩存管理器模塊114和/或對應的交換機接收到通知(包括但不局限于地址