您好,登錄后才能下訂單哦!
NVGRE協議
NVGRE(Network Virtualization Generic RoutingEncapsulation)是常用的隧道封裝協議之一,NVGRE是使用通用的封裝格式將二層網絡數據包封裝到三層網絡數據包。NVGRE在Hyper-V網絡虛擬化中扮演虛擬化IP的角色,HNV使用NVGRE作為隧道報頭,源虛機發送數據包過程中先被啟用了HNV的交換機重新封裝到另外一個數據包里。新的數據包報頭包含源和目標新的IP地址(IP虛擬化)及其對應的MAC地址和VSID信息,VSID存儲在GRE的報頭的Key區域,如圖1所示。數據發送到目標物理機交換機后,目標HNV交換機將數據包拆開,然后將數據發送到目標虛機。
圖1 NVGRE封裝隧道
在同一個物理網絡體系中,可以不借助VLAN技術,讓環境里存在多個重復但不沖突的IP地址,取而代之的是Overlay技術實現網絡虛擬化,在HNV里,每塊虛擬網卡可關聯兩個IP地址—也就是CA和PA地址。
Customer Address(CA)。也稱之為客戶地址,因為這個IP地址是從租戶自己創建的虛擬子網的IP地址池里獲取的地址,CA地址就是分配給虛機操作系統的IP地址,可以使用ipconfig或者ifconfig等命令查看。客戶的虛機部署在多租戶的數據中心里使用CA IP地址時,并無感知虛機使用了網絡虛擬化技術,從虛機自身的角度來看,和傳統的網絡并無差別。
Provider Address(PA)。也稱之為服務商地址,因為這個地址是在網絡虛擬化架構里定義并且不是分配給虛機而是分配給物理主機的,PA地址的作用是NVGRE用于重新封裝數據的IP地址,起到IP地址虛擬化的功能。PA地址無法在虛機操作系統里面使用ipconfig或者ifconfig等命令查看。PA地址空間用于運行虛機的物理機之間通信,只能在物理網絡中查看。
如果客戶將虛機從自己數據中心遷移到多租戶公有數據中心,那么CA地址幫助客戶維持著已有的網絡拓撲,在遷移到公有數據中心后,CA地址通過IP地址虛擬化公有數據中心基礎網絡結構保持著松耦合關系,這個IP虛擬化的過程由PA地址完成。因此HNV的本質其實是通過IP地址虛擬化的方式實現的。
PA地址不是固定分配給物理機,物理機在PA地址空間里動態獲取和釋放PA地址。物理機要能分配PA地址,首先要將包含HNV邏輯網絡的邏輯交換機分配給物理機,一旦有關聯HNV邏輯網絡的虛機創建在物理機上,這臺物理機就會從PA IP地址池里獲取一個PA IP地址。可使用Get-NetVirtualizationProviderAddress命令查看物理機所分配的PA地址,結果如下示例所示。
PS C:\>Get-NetVirtualizationProviderAddress ProviderAddress : 10.2.22.14 InterfaceIndex : 31 PrefixLength : 24 VlanID : 222 AddressState : Preferred MACAddress : 001dd8b71c6f ManagedByCluster : False
PA IP地址不是固定分配給物理機的而是動態變化的,只要有使用HNV邏輯網絡的虛機運行,那么該虛機所在的物理機就會從地址池里拿一個PA地址,如果群集里的其他節點沒有使用HNV的虛機網絡則暫時不會分配PA地址。只有把虛機實時遷移到某臺物理機節點后,這臺物理機才會分配PA地址。失效的PA地址還會被回收,如果虛機發生遷移到其他節點,那么之前分配給物理機分配的PA地址可能會被回收,當虛機回遷到這臺物理機時,則會重新分配一個新的PA地址。
接下來我們通過實際案例來驗證PA的動態分配。在群集中有兩臺物理服務器,分別是HYP06,HYP07。創建子網為10.2.22.0/24的PA邏輯網絡并創建IP地址池,將該邏輯網絡關聯上邏輯交換機,并將邏輯交換機分配給這兩臺物理機。接著創建兩臺虛機,全部運行在HYP06物理機上,虛機一定要使用HNV邏輯網絡,如圖2所示。
圖2 兩臺虛機最初運行在同一臺物理機HYP06
先使用Get-NetAdapter命令查看邏輯網絡的索引編號,然后使用Get-NetVirtualizationProviderAddress命令查詢分配給物理機的PA地址,可見這個PA地址是分配給網卡編號為29的邏輯交換機(啟用了HNV)而非其他網卡。在返回的結果中,可以看到HYP06的網卡編號為29的邏輯交換機已經分配了兩個PA地址,分別是10.2.22.18和10.2.22.19,如下示例所示。
PS C:\> Get-NetAdapter Name InterfaceDescription IfIndex Status ---- -------------------- ------- ------ LogicalSwitch Microsoft Network Adapter Multiplex.. 29 Up
PS C:\>Get-NetVirtualizationProviderAddress ProviderAddress :10.2.22.19 InterfaceIndex :29 PrefixLength :24 VlanID :222 AddressState :Preferred MACAddress :001dd8b71c77 ManagedByCluster :False ProviderAddress :10.2.22.18 InterfaceIndex :29 PrefixLength :24 VlanID :222 AddressState :Preferred MACAddress :001dd8b71c76 ManagedByCluster :False
因為在HYP07上沒有任何使用HNV的虛機,使用Get-NetAdapter命令檢索到邏輯交換機的索引編號為31,以及使用Get-NetVirtualizationProviderAddress檢索這個索引編號的邏輯交換機是否分配PA地址時,返回的結果為空,如下示例所示,意味著HYP07的邏輯交換機并未分配PA地址。
PS C:\> Get-NetVirtualizationProviderAddress PS C:\> Get-NetAdapter Name InterfaceDescription IfIndex Status ---- -------------------- ------- ------ LogicalSwitch Microsoft Network Adapter Multiplex.. 31 Up
使用實時遷移將虛機從HYP06遷移到HYP07,遷移結束,虛機運行在新的主機HYP07之上,如圖3所示。
圖3 虛機從HYP06遷移到HYP07
等待遷移結束后,登錄HYP07上運行命令查看PA地址分配情況,返回的結果中,可以看到HYP07已經分配了兩個PA地址,分別是10.2.22.20和10.2.22.21,如下示例所示。
PS C:\>Get-NetVirtualizationProviderAddress ProviderAddress :10.2.22.21 InterfaceIndex :31 PrefixLength :24 VlanID :222 AddressState :Preferred MACAddress :001dd8b71c79 ManagedByCluster :False ProviderAddress :10.2.22.20 InterfaceIndex :31 PrefixLength :24 VlanID :222 AddressState :Preferred MACAddress :001dd8b71c78 ManagedByCluster :False
再將虛機實時回遷到HYP06上,虛機重新運行在HYP06上,如圖4所示。
圖4 虛機重新運行在HYP06上
這時候,再次登錄HYP06主機,運行命令查看PA地址時,會發現分配的PA地址已經發生了變化,新的分別是10.2.22.22和10.2.22.23,如下示例所示。之前分配給HYP06的PA地址也會在稍后被回收到IP地址池里。
PS C:\>Get-NetVirtualizationProviderAddress ProviderAddress :10.2.22.19 InterfaceIndex :29 …… …… MACAddress :001dd8b71c77 …… …… ProviderAddress :10.2.22.18 InterfaceIndex :29 …… …… MACAddress :001dd8b71c76 …… …… PS C:\>Get-NetVirtualizationProviderAddress ProviderAddress :10.2.22.23 InterfaceIndex :29 …… …… MACAddress :001dd8b71c7b …… :…… ProviderAddress :10.2.22.22 InterfaceIndex :29 …… …… MACAddress :001dd8b71c7a …… ……
虛機經過多次在物理機之間實時遷移,導致物理機的PA多次重新分配和回收,在SCVMM里面運行Get-SCIPAddress命令查看時會發現PA地址逐漸被SCVMM回收到PA IP地址池。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。