分布式虛擬交換裝置及轉發方法
【技術領域】
[0001]本發明涉及網絡虛擬化技術領域,尤其涉及分布式虛擬交換裝置及轉發方法。
【背景技術】
[0002]隨著企業網絡規模的不斷增長和基于云計算網絡環境的大量部署,數據中心網絡也顯著地變得更加復雜。在數據中心網絡中,由于所需的網橋的數量急劇增長,虛擬化技術更增加了數據中心網絡的復雜性,并改變了數據中心的網絡部署方式。
【發明內容】
[0003]本發明提供分布式虛擬交換裝置及轉發方法,以實現基于VXLAN的跨越數據中心物理網絡的分布式虛擬交換裝置及在該裝置中的數據轉發。
[0004]本發明的技術方案是這樣實現的:
[0005]一種分布式虛擬交換裝置,該裝置包括:虛擬以太網模塊VEM和虛擬監督者模塊VSM,其中:
[0006]所述VEM包括:
[0007]轉發表項維護模塊:學習本地虛擬網絡媒體訪問控制vNet MAC轉發表項,表項內容包括:虛擬擴展局域網標識VXLAN ID、目的MAC地址和虛擬出端口 vPort信息,并將該表項通過虛擬監督者模塊VSM同步到同一 VXLAN內的所有VEM ;接收并保存VSM同步來的其它VEM學習到的vNet MAC轉發表項;
[0008]隧道維護模塊:接收并保存VSM發來的VXLAN隧道表項;
[0009]第一轉發模塊:從本地端口接收報文,根據報文的VXLAN ID和目的MAC地址,查找對應的vNet MAC轉發表項,若查找到且表項中的vPort信息未指向本地端口,則將報文和該vPort信息發送給第二轉發模塊,所述vPort信息由本VEM的VTEP IP地址信息和物理端口信息組成;
[0010]第二轉發模塊:接收第一轉發模塊發來的報文和vPort信息,根據該vPort信息解析出目的VEM的VXLAN隧道端點VTEP IP地址,根據該VTEP IP地址查找到對應的隧道表項,根據該隧道表項對報文進行VXLAN隧道封裝,將報文發送給數據中心物理網絡;
[0011]所述VSM包括:
[0012]匹配關系維護模塊:維護vNet-VEM匹配表,每條表項根據VEM發來的VXLAN ID和VTEP IP地址的對應關系而建立;
[0013]表項同步模塊:接收VEM發來的vNet MAC轉發表項,根據表項中的VXLAN ID,并結合匹配關系維護模塊維護的vNet-VEM匹配表,將該vNet MAC轉發表項同步到同一VXLAN內的所有VEM;
[0014]隧道建立模塊:根據匹配關系維護模塊維護的vNet-VEM匹配表,為屬于同一VXLAN的VEM之間建立VXLAN隧道,將對應的隧道表項發送給對應的VEM,隧道表項的內容包括:VXLAN ID和目的VTEP的IP地址。
[0015]所述第二轉發模塊進一步用于,
[0016]接收來自數據中心物理網絡的報文,對該報文進行VXLAN隧道解封裝,將得到的原始報文發送給第一轉發模塊;
[0017]所述第一轉發模塊進一步用于,
[0018]接收第二轉發模塊發來的原始報文,根據報文的VXLAN ID和目的MAC地址,查找自身的vNet MAC轉發表項,根據表項中的vPort信息將報文轉發出去。
[0019]所述轉發表項維護模塊進一步用于,
[0020]為每條vNet MAC轉發表項設置生存周期,當生存周期到達后,根據表項對應的VXLAN ID,通過VSM通知同一 VXLAN內的所有VEM刪除該表項。
[0021 ] 所述轉發表項維護模塊進一步用于,
[0022]接收第三方系統靜態配置的本地vNet MAC轉發表項,并將該表項通過VSM同步到同一 VXLAN內的所有VHM。
[0023]一種VEM,位于上述分布式虛擬交換裝置中,該VEM包括:
[0024]轉發表項維護模塊:學習本地vNet MAC轉發表項,表項內容包括:VXLAN ID、目的MAC地址和vPort信息,并將該表項通過VSM同步到同一 VXLAN內的所有VEM ;接收并保存VSM同步來的其它VEM學習到的vNet MAC轉發表項;
[0025]隧道維護模塊:接收并保存VSM發來的VXLAN隧道表項;
[0026]第一轉發模塊:從本地端口接收報文,根據報文的VXLAN ID和目的MAC地址,查找對應的vNet MAC轉發表項,若查找到且表項中的vPort信息未指向本地端口,則將報文和該vPort信息發送給第二轉發模塊;
[0027]第二轉發模塊:接收第一轉發模塊發來的報文和vPort信息,根據該vPort信息解析出目的VEM的VTEP IP地址,根據該VTEP IP地址查找到對應的隧道表項,根據該隧道表項對報文進行VXLAN隧道封裝,將報文發送給數據中心物理網絡。
[0028]所述第二轉發模塊進一步用于,
[0029]接收來自數據中心物理網絡的報文,對該報文進行VXLAN隧道解封裝,將得到的原始報文發送給第一轉發模塊;
[0030]所述第一轉發模塊進一步用于,
[0031]接收第二轉發模塊發來的原始報文,根據報文的VXLAN ID和目的MAC地址,查找對應的vNet MAC轉發表項,根據表項中的vPort信息將報文轉發出去。
[0032]所述轉發表項維護模塊進一步用于,
[0033]為每條vNet MAC轉發表項設置生存周期,當生存周期到達后,根據表項對應的VXLAN ID,通過VSM通知同一 VXLAN內的所有VEM刪除該表項。
[0034]所述轉發表項維護模塊進一步用于,
[0035]接收第三方系統靜態配置的本地vNet MAC轉發表項,并將該表項通過VSM同步到同一 VXLAN內的所有VHM。
[0036]一種VSM,位于上述分布式虛擬交換裝置中,該VSM主要包括:
[0037]匹配關系維護模塊:維護vNet-VEM匹配表,每條表項根據VEM上報的VXLAN ID和VTEP IP地址的對應關系而建立;
[0038]表項同步模塊:接收VEM發來的vNet MAC轉發表項,根據表項中的VXLAN ID,并結合匹配關系維護模塊維護的vNet-VEM匹配表,確定屬于同一 VXLAN的所有VEM的VTEP IP地址,將該表項同步到該所有VEM ;
[0039]隧道建立模塊:根據匹配關系維護模塊維護的vNet-VEM匹配表,為屬于同一VXLAN內的VEM之間建立VXLAN隧道,并將對應的隧道表項發送給對應的VEM,所述隧道表項的內容包括:VXLAN ID和目的VTEP的IP地址。
[0040]一種分布式虛擬交換裝置中的轉發方法,該方法包括:
[0041]VEM學習本地vNet MAC轉發表項,表項內容包括:VXLAN ID、目的MAC地址和vPort信息,并將該表項通過VSM同步到同一 VXLAN內的所有VEM ;接收并保存VSM同步來的其它VEM學習到的vNet MAC轉發表項;
[0042]VEM接收并保存VSM發來的VXLAN隧道表項,隧道表項的內容包括:VXLAN ID和目的VTEP的IP地址;
[0043]VEM從本地端口接收報文,根據報文的VXLAN ID和目的MAC地址,查找對應的vNetMAC轉發表項,若查找到且表項中的vPort信息未指向本地端口,則根據該vPort信息解析出目的VEM的VTEP IP地址,根據該VTEPIP地址查找到對應的隧道表項,根據該隧道表項對報文進行VXLAN隧道封裝,將報文發送給數據中心物理網絡。
[0044]所述VEM進一步用于,
[0045]接收來自數據中心物理網絡的報文,對該報文進行VXLAN隧道解封裝,根據得到的原始報文的VXLAN ID和目的MAC地址,查找自身的vNet MAC轉發表項,根據表項中的vPort信息將報文轉發出去。
[0046]所述VEM學習本地vNet MAC轉發表項進一步包括:
[0047]VEM為該表項設置生存周期,當生存周期到達后,根據表項對應的VXLAN ID,通過VSM通知同一 VXLAN內的所有VEM刪除該表項。
[0048]所述方法進一步包括:
[0049]VEM接收第三方系統靜態配置的本地vNet MAC轉發表項,并將該表項通過VSM同步到同一 VXLAN內的所有VHM。
[0050]所述方法進一步包括:
[0051]VEM接收第三方系統發來的更新后的本地vNet MAC轉發表項,將該表項通過VSM同步更新到同一 VXLAN內的所有VEM。
[0052]可見,本發明實現了基于VXLAN的跨越數據中心物理網絡的分布式虛擬交換裝置及在該裝置中的數據轉發。
【附圖說明】
[0053]圖1為vSwitch的網絡位置示意圖;
[0054]圖2為某分布式虛擬交換機示意圖;
[0055]圖3為VXLAN報文的格式示意圖;
[0056]圖4為VXLAN的基礎應用原理示意圖;
[0057]圖5為本發明實施例提供的基于VXLAN的分布式虛擬交換裝置的組成示意圖;
[0058]圖6為本發明實施例提供的分布式虛擬交換裝置中的VEM的組成示意圖;
[0059]圖7為本發明實施例提供的分布式虛擬交換裝置中的VSM的組成示意圖;
[0060]圖8為本發明實施例提供的應用于圖5所示的分布式虛擬交換裝置中的數據轉發方法流程圖;<