微軟網絡虛擬化HNV Overlay子網和分佈式路由


虛機網絡和虛擬子網web

       在介紹HNV工做原理以前,咱們有必要了解下組成HNV的原子網絡——VM Network(虛機網絡)和Virtual Subnet(虛擬子網)。HNV中,虛機網絡做爲租戶間虛機隔離的單位,在網絡虛擬化結構中起到很是關鍵的做用。虛機網絡是虛機鏈接到物理網絡的邏輯組件,每一個虛機網絡都有一個路由域並由特定路由域ID(Routing Domain ID,簡稱爲RDID)標識,路由域ID是標準的Windows GUID,格式一般爲「xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx」。在虛機網絡裏可進一步定義虛擬子網,虛擬子網是廣播域,在同一個虛擬子網的虛機必須使用相同的IP前綴。每一個虛擬子網都有一個特定的虛擬子網ID(Virtual Subnet ID,簡稱爲VSID),虛擬子網和VLAN相似,可是比VLAN有更廣的範圍,VSID範圍從4096到16777214。同一個HNV路由域裏的虛擬子網能夠實現不一樣子網間的路由,所以也能夠說HNV網絡裏集成了軟件路由功能。網絡

       若是物理機邏輯交換機啓用了HNV,可以使用PowerShell命令PS C:\>Get-NetVirtualizationCustomerRoute查看虛機的RDID和虛擬子網的VSID,以下示例所示。併發

PS  C:\>Get-NetVirtualizationCustomerRoute
RoutingDomainID    :  00894F8A-631A-43C3-B52E-B54F47970938    
VirtualSubnetID    :  676802    
DestinationPrefix  :  192.168.188.0/24    
NextHop            :  0.0.0.0    
Metric             :  0     
RoutingDomainID    :  00894F8A-631A-43C3-B52E-B54F47970938    
VirtualSubnetID    :  1001280    
DestinationPrefix  :  0.0.0.0    
NextHop            :  10.0.2.2    
Metric             :  0 
    
RoutingDomainID    :  72961897-0253-48C3-9ACE-E2D1EEDFB9AB    
VirtualSubnetID    :  16283042    
DestinationPrefix  :  192.168.188.0/30    
NextHop            :  0.0.0.0    
Metric             :  0     
RoutingDomainID    :  72961897-0253-48C3-9ACE-E2D1EEDFB9AB    
VirtualSubnetID    :  11061729    
DestinationPrefix  :  172.16.100.0/30    
NextHop            :  0.0.0.0    
Metric             :  0


虛擬化網絡的VM Network和網絡虛擬化的VM Network略有不一樣,如圖1所示,虛擬化網絡結構裏,每一個邏輯網絡裏只能建立一個惟一的虛機網絡,每一個虛機網絡下能夠建立若干個虛擬子網。虛擬化網絡結構裏要求每個虛擬子網都是惟一的,也即同一個虛機網絡(邏輯網絡)下的虛擬子網不能重複,不一樣虛機網絡(邏輯網絡)裏的虛擬子網也不能重複。分佈式

wKiom1i2PzDxXW3KAAE6spSV1p8077.jpg-wh_50

圖1 虛擬化網絡的虛擬子網ide

在網絡虛擬化的結構裏,能夠由用戶自主在邏輯網絡裏建立虛機網絡,虛機網絡是隔離用戶與用戶網絡的邊界。在一個虛機網絡裏能夠建立多個不重複虛擬子網,雖然同一個虛機網絡裏的虛擬子網不可重複,但不一樣虛機網絡裏的虛擬子網容許重複。如圖2所示,虛機網絡1的有兩個不重複虛擬子網—虛擬子網1和虛擬子網2,虛機網絡2有一個虛擬子網3,虛擬子網1和虛擬子網3的子網是徹底同樣的。在同一個虛機網絡下的不一樣子網默承認以路由互通,在圖2裏,虛機網絡1的兩個虛擬子網分別爲192.168.188.0/24和192.168.189.0/24,這兩個虛擬子網內的IP地址的能夠互通。由於HNV交換機內置了路由器,這個路由器是物理主機邏輯交換機的一部分,多臺使用同一個邏輯交換機的主機使用分佈式路由器爲虛擬子網提供路由,每一臺物理機的邏輯交換機成爲同一虛機網絡不一樣虛擬子網間默認的網關。在Windows Server裏HNV默認的網關地址都是1,掩碼24位,在建立虛擬子網時都會保留這個IP地址不給虛機使用。測試

在多租戶的場景裏,重複但不衝突的網絡虛擬化實現了多租戶數據中內心租戶按需定義本身的網絡的需求。spa

wKioL1i2PzazLqyYAAFaJTL2O5k974.jpg-wh_50

圖2網絡虛擬化的虛擬子網3d

接下來咱們將藉助微軟雲平臺(Windows Azure Pack)爲租戶提供自助建立虛擬網絡的接口,首先須要在SCVMM建立好網絡虛擬化的邏輯網絡併發布到雲平臺供租戶自助建立虛機網絡和虛擬子網。blog

 

重複的虛擬子網接口

假設有兩個租戶分別是CorpA和CorpB,兩個租戶使用雲自助門戶建立了相同的虛擬子網192.168.188.0/24,如圖3所示。他們的虛擬子網配置徹底同樣的IP地址池,如圖4所示。注意地址池分配的第一個IP地址從2開始,由於1這個IP地址默認預留做爲虛擬子網的網關使用。

wKiom1i2PzeyXhNwAAAc1gClHoQ225.jpg-wh_50

圖3 租戶自定義本身的虛機網絡

   

wKiom1i2P43h2d7wAAAwALLEeJA639.jpg-wh_50

圖4租戶自定義本身的虛擬網絡

       CorpA建立兩臺虛機(CorpA-Web001和CorpA-DB001)並從IP地址池裏獲取IP地址爲192.168.188.2和192.168.188.3;一樣,CorpB建立兩臺虛機(CorpB-Web001和CorpB-DB001)並從IP地址池裏獲取IP地址也是192.168.188.2和192.168.188.3,如圖5所示。

wKioL1i2PzqwfqXYAACiCgont90992.jpg-wh_50

圖5 CorpA和CorpB的虛機具備同樣的IP地址

       即便CorpB的兩臺虛機的IP地址和CorpA的IP地址徹底同樣,各自的IP地址並無發生衝突致使IP地址無效。登陸CorpA-Web001虛機,能夠順利Ping通 CorpA-DB001虛機,如圖6所示。

wKiom1i2P0SjofqiAABUqq1SjyE715.jpg-wh_50

圖6 CorpA的虛機互相ping

登陸CorpB-Web001虛機,能夠順利Ping通 CorpB-DB001虛機,如圖7 所示。

wKiom1i2QI6RX_zVAABUqq1SjyE205.jpg-wh_50

圖7 CorpB的虛機互相ping

       通過驗證,在網絡虛擬化的邏輯網絡下能夠建立多個虛機網絡,虛機網絡裏的虛擬子網能夠重複不衝突。

 

HNV軟件實現路由

       HNV具有多個租戶使用相同的虛擬子網以外,還具有同一虛機網絡中的路由功能,在驗證過在網絡虛擬化的邏輯網絡建立重複的虛擬子網後,接下來驗證同屬一個虛機網絡中不一樣虛擬子網之間的路由。

租戶CorpC藉助微軟私有云門戶Azure Pack,在同一個虛機網絡裏建立兩個不一樣虛擬子網192.168.188.0/24和172.16.100.0/24,如圖8所示。

wKioL1i2P0XhXg03AABGupKOxRA390.jpg-wh_50

圖8 CorpC在同一個虛機網絡裏建立兩個虛擬子網

       在雲平臺建立兩臺虛機,分別獲取到192.168.188.2和172.16.100.2的IP地址,如圖9所示。

wKiom1i2P0XjfejGAAA2b8akWDc355.jpg-wh_50

圖9 在不一樣子網的兩臺虛機分別獲取IP地址

       登陸corpc-web001虛機,確認分配的IP地址是192.168.188.2,而後Ping 172.16.100.2這個IP地址,在圖10裏可看到192.168.188.2這個IP地址成功Ping通了172.16.100.2這個IP地址。

wKioL1i2P0eyQ7YcAADPDRosPqM867.jpg-wh_50

圖10 跨子網ping

       反過來登陸corpc-db001虛機,確認分配的IP地址是172.16.100.2,而後Ping 192.168.188.2這個IP地址,在圖11看到能夠看到172.16.100.2這個IP地址成功Ping通了192.168.188.2這個IP地址。

wKiom1i2P0jDOImoAADMyZEunzo650.jpg-wh_50

圖11反向ping測試

相關文章
相關標籤/搜索