專利名稱:一種實現(xiàn)二層網絡的擴展方法及擴展的二層網絡的制作方法
技術領域:
本發(fā)明涉及二層網絡,尤其涉及一種實現(xiàn)二層網絡的擴展方法及擴展的二層網絡。
背景技術:
目前的 IP 局域網絡中,IPV4 采用 ARP(Address Resolution Protocol,地址解析協(xié)議),IPV6采用NDP(Neighbor Discovery Protocol,鄰居發(fā)現(xiàn)協(xié)議)來獲知二層網絡的地址。兩者在地址發(fā)現(xiàn)的機制上基本相同,都采用二層廣播的方式來獲知目的IP地址所對應的數(shù)據鏈路層地址。對于以太網,數(shù)據鏈路層地址對應于MAC (Media Access Control, 媒體接入控制)地址。每個主機都維護有獨立緩存,并預設老化定時時間,發(fā)送IP報文時, 對于本機緩存中沒有記錄的目的IP地址,必須在局域網中廣播一個ARP/NDP報文查詢目的 IP地址所對應的數(shù)據鏈路層地址。當局域網內主機數(shù)目非常多時,比如大型數(shù)據中心,甚至是采用L2VPN(二層虛擬專用網)技術連接起來的跨地域的L2VPN,其主機數(shù)目可以達到數(shù)千臺乃至數(shù)萬臺,虛擬化技術的應用使得這一情況更加惡化,利用虛擬化技術,一臺物理機可以支持數(shù)十個虛擬主機,未來可以支持多達數(shù)百個虛擬主機,每個虛擬主機有自己獨立的IP地址和MAC地址。雖然可以采用VLAN(虛擬局域網)劃分的方式來進行廣播風暴的隔離(VLAN包含基于端口的 VLAN和基于MAC的VLAN),但是由于虛擬化技術帶來的虛擬機遷移技術要求主機本身、IP地址和MAC地址完全可浮動,導致基于端口的VLAN和基于MAC的VLAN均無法使用。OTV (Overlay Transport Visualization,疊加網傳輸虛擬化)技術,相比較普通的L2VPN技術,其L2VPN不同站點間的廣播風暴是隔離的,廣播局限在同一個物理位置的數(shù)據中心內部。但是即使是一個數(shù)據中心內部,虛擬主機的數(shù)量仍然可以達到數(shù)萬乃至數(shù)十萬臺,ARP/NDP廣播仍然會極大影響網絡的性能,同時每個二層交換機的MAC轉發(fā)表的規(guī)模也有限,很難支持如此大規(guī)模的二層網絡。
發(fā)明內容
本發(fā)明要解決的技術問題是提供一種實現(xiàn)二層網絡擴展的方法及擴展的二層網絡,解決主機在獲取目的IP地址對應的MAC地址的過程中,產生廣播風暴的問題。為解決上述技術問題,本發(fā)明的一種實現(xiàn)二層網絡擴展的方法,在運營商網絡中設置地址解析服務器(ARS),在數(shù)據中心中的物理服務器上設置虛擬交換機;所述虛擬交換機在所述物理服務器中的虛擬機上電后,向所述ARS注冊所述虛擬機的IP地址與自身MAC地址的對應關系;所述ARS記錄所述虛擬交換機注冊的虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系,供其他虛擬機查詢;所述物理服務器中的虛擬機根據通信對端的IP地址從所述ARS查詢該IP地址對應的MAC地址,通過該MAC地址與所述通信對端進行報文交互。
進一步地,所述虛擬交換機向所述ARS注冊所述虛擬機的IP地址與自身MAC地址的對應關系包括 所述虛擬交換機在所述虛擬機上電后記錄該虛擬機的IP地址與MAC地址的對應關系,并向該虛擬交換機歸屬的接入服務路由器(ASR)注冊所述虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系;所述ASR記錄所述虛擬機的IP地址與所述虛擬交換機的MAC地址的對應關系,并向所述ARS注冊該對應關系以及該ASR的地址。進一步地,所述ARS記錄所述虛擬交換機注冊的虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系時,還對應地記錄所述ASR的地址。進一步地,所述物理服務器中的虛擬機根據通信對端的IP地址從所述ARS查詢該 IP地址對應的MAC地址包括所述物理服務器中的虛擬機發(fā)送MAC地址解析廣播請求,該物理服務器中的虛擬交換機將該廣播請求轉換為單播的查詢請求,采用該單播的查詢請求從所述ARS查詢所述通信對端的IP地址對應的MAC地址。進一步地,所述虛擬交換機機采用該單播的查詢請求從所述ARS查詢所述通信對端的IP地址對應的MAC地址包括所述虛擬交換機將所述單播的查詢請求發(fā)送給該虛擬交換機歸屬的ASR,通過該 ASR查詢所述通信對端的IP地址對應的MAC地址;所述虛擬交換機歸屬的ASR接收到所述查詢請求后,向所述ARS查詢所述通信對端的IP地址對應的MAC地址,所述ARS查詢并返回查詢到的MAC地址和所述通信對端歸屬的ASR的地址,所述虛擬交換機歸屬的ASR保存接收到的MAC地址和ASR的地址,在所接收到的ASR的地址非自身地址時,向所述虛擬交換機返回自身的MAC地址;所述虛擬交換機通知所述物理服務器中的虛擬機所述通信對端的IP地址對應的 MAC地址為所述虛擬交換機歸屬的ASR的地址。進一步地,所述物理服務器中的虛擬機通過該MAC地址與所述通信對端進行報文交互包括所述物理服務器中的虛擬機向所述通信對端發(fā)送報文,該報文的源MAC地址和目的MAC地址分別為該虛擬機的MAC地址和所述虛擬交換機歸屬的ASR的地址;所述虛擬交換機接收到報文后,將該報文的源MAC地址修改為該虛擬交換機的 MAC地址,并根據目的MAC地址將該報文發(fā)送給該虛擬交換機歸屬的ASR ;所述虛擬交換機歸屬的ASR在本地查詢所述通信對端的MAC地址和通信對端歸屬的ASR的地址,將所述報文的目的MAC地址修改為查詢到通信對端的MAC地址,并將該報文封裝到目的地址為所述通信對端歸屬的ASR的地址的隧道中通過運營商網絡發(fā)送給所述通信對端歸屬的ASR。進一步地,該方法還包括所述通信對端歸屬的ASR接收到報文后,解除隧道,根據報文的目的MAC地址將報文發(fā)送給所述通信對端所在物理服務器上的虛擬交換機,該虛擬交換機根據報文的目的IP 地址查詢所述通信對端的MAC地址,將該報文的目的MAC地址修改為所述通信對端的MAC 地址,發(fā)送給所述通信對端。
進一步地,所述物理服務器中的虛擬機根據通信對端的IP地址從所述ARS查詢該 IP地址對應的MAC地址包括所述虛擬交換機將所述單播的查詢請求發(fā)送給該虛擬交換機歸屬的ASR,通過該 ASR查詢所述通信對端的IP地址對應的MAC地址;所述虛擬交換機歸屬的ASR接收到所述查詢請求后,向所述ARS查詢所述通信對端的IP地址對應的MAC地址,所述ARS查詢并返回查詢到的MAC地址和所述通信對端歸屬的ASR的地址,所述虛擬交換機歸屬的ASR保存接收到的MAC地址和ASR的地址,在所接收到的ASR的地址為自身地址時,向所述虛擬交換機返回接收到的MAC地址;所述虛擬交換機通知所述物理服務器中的虛擬機所述通信對端的IP地址對應的 MAC地址為所述虛擬交換機歸屬的ASR接收到的MAC地址。進一步地,所述物理服務器中的虛擬機通過該MAC地址與所述通信對端進行報文交互包括所述物理服務器中的虛擬機向所述通信對端發(fā)送報文,該報文的源MAC地址和目的MAC地址分別為該虛擬機的MAC地址和所述虛擬交換機歸屬的ASR接收到的MAC地址;所述虛擬交換機接收到所述報文后,將該報文的源MAC地址修改為該虛擬交換機的MAC地址,并根據目的MAC地址,通過二層交換機將該報文發(fā)送給所述通信對端所在物理服務器上的虛擬交換機。進一步地,該方法還包括所述通信對端所在物理服務器上的虛擬交換機查詢所述通信對端的MAC地址,將該報文的目的MAC地址修改為查詢到的通信對端的MAC地址,發(fā)送給所述通信對端。進一步地,所述虛擬交換機設置在所述數(shù)據中心中的物理服務器的虛擬機管理器中。進一步地,一種物理服務器,該物理服務器中安裝有虛擬機,在該物理服務器上還設置有虛擬交換機;所述虛擬交換機,用于在所述物理服務器中的虛擬機上電后,向運營商網絡中設置的地址解析服務器(ARS)注冊所述虛擬機的IP地址與自身MAC地址的對應關系。進一步地,所述虛擬交換機向所述ARS注冊所述虛擬機的IP地址與自身MAC地址的對應關系包括所述虛擬交換機在所述虛擬機上電后記錄該虛擬機的IP地址與MAC地址的對應關系,并向該虛擬交換機歸屬的接入服務路由器(ASR)注冊所述虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系。進一步地,所述虛擬交換機,還用于在接收到所述物理服務器中的虛擬機發(fā)送MAC 地址解析廣播請求后,將該廣播請求轉換為單播的查詢請求,采用該單播的查詢請求從所述ARS查詢通信對端的IP地址對應的MAC地址。進一步地,所述虛擬交換機機采用該單播的查詢請求從所述ARS查詢通信對端的 IP地址對應的MAC地址包括所述虛擬交換機將所述單播的查詢請求發(fā)送給該虛擬交換機歸屬的ASR,通過該 ASR查詢所述通信對端的IP地址對應的MAC地址,并在所述ASR返回該ASR的地址或所述通信對端所在物理服務器上的虛擬交換機的地址后,相應地通知所述物理服務器中的虛擬機所述通信對端的IP地址對應的MAC地址為虛擬交換機歸屬的ASR的地址或所述通信對端所在物理服務器上的虛擬交換機的地址。進一步地,所述虛擬交換機,還用于接收虛擬機向所述通信對端發(fā)送的報文,該報文的源MAC地址為該虛擬機的MAC地址,目的MAC地址為所述虛擬交換機歸屬的ASR的地址或所述通信對端所在物理服務器上的虛擬交換機的地址,該虛擬交換機在接收到所述報文后,將該報文的源MAC地址修改為該虛擬交換機的MAC地址,并根據目的MAC地址將該報文發(fā)送給該虛擬交換機歸屬的ASR或所述通信對端所在物理服務器上的虛擬交換機。進一步地,所述虛擬交換機,還用于在接收到歸屬的ASR發(fā)送的報文時,根據報文的目的IP地址查詢對應的MAC地址,將該報文的目的MAC地址修改為查詢到的MAC地址, 并進行發(fā)送。進一步地,一種接入服務路由器(ASR),包括注冊模塊,其中所述注冊模塊,用于記錄虛擬交換機注冊的虛擬機的IP地址與該虛擬交換機的 MAC地址的對應關系,并向地址解析服務器(ARS)注冊該對應關系以及該ASR的地址。進一步地,該ASR還包括地址查詢模塊,其中所述地址查詢模塊,用于在接收到所述虛擬交換機的查詢請求后,向所述ARS查詢虛擬機的通信對端的IP地址對應的MAC地址,并保存接收到的MAC地址和ASR的地址, 在所接收到的ASR的地址非該地址查詢模塊所在ASR的地址時,向所述虛擬交換機返回該地址查詢模塊所在ASR的地址;在所接收到的ASR的地址為該地址查詢模塊所在ASR的地址時,向所述虛擬交換機返回接收到的MAC地址。進一步地,該ASR還包括報文轉發(fā)模塊,其中所述報文轉發(fā)模塊,用于在接收到所述虛擬交換機發(fā)送的報文時,在本地查詢所述通信對端的MAC地址和通信對端歸屬的ASR的地址,將所述報文的目的MAC地址修改為查詢到通信對端的MAC地址,并將該報文封裝到目的地址為所述通信對端歸屬的ASR的地址的隧道中通過運營商網絡發(fā)送給所述通信對端歸屬的ASR。進一步地,所述報文轉發(fā)模塊,還用于在接收到通過所述運營商網絡發(fā)送的報文后,解除隧道,根據報文的目的MAC地址將報文發(fā)送給物理服務器上的虛擬交換機。進一步地,一種擴展的二層網絡,包括運營商網絡和數(shù)據中心,在所述運營商網絡中設置地址解析服務器(ARS),在所述數(shù)據中心中的物理服務器上設置虛擬交換機,其中所述虛擬交換機,用于在所述物理服務器中的虛擬機上電后,向所述ARS注冊所述虛擬機的IP地址與自身MAC地址的對應關系;所述ARS,用于記錄所述虛擬交換機注冊的虛擬機的IP地址與該虛擬交換機的 MAC地址的對應關系,供其他虛擬機查詢;所述物理服務器中的虛擬機,用于根據通信對端的IP地址從所述ARS查詢該IP 地址對應的MAC地址,通過該MAC地址與所述目的虛擬機進行報文交互。進一步地,該二層網絡還包括在所述用戶數(shù)據中心與運營商網絡之間建立互通的接入服務路由器(ASR),其中所述虛擬交換機在所述虛擬交換機向ARS注冊所述虛擬機的IP地址與自身MAC 地址的對應關系時,接收到所述虛擬交換機的注冊后,記錄所述虛擬機的IP地址與虛擬交換機的MAC地址的對應關系,并向所述ARS注冊該對應關系以及該ASR的地址。
進一步地,所述ASR,還用于在接收到所述虛擬交換機發(fā)送的報文時,在本地查詢所述通信對端的MAC地址和通信對端歸屬的ASR的地址,將所述報文的目的MAC地址修改為查詢到通信對端的MAC地址,并將該報文封裝到目的地址為所述通信對端歸屬的ASR的地址的隧道中通過運營商網絡發(fā)送給所述通信對端歸屬的ASR。進一步地,所述ARS,還用于在記錄所述虛擬交換機注冊的虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系時,對應地記錄所述歸屬ASR的地址。進一步地,所述物理服務器中的虛擬機根據通信對端的IP地址從所述ARS查詢該 IP地址對應的MAC地址包括所述物理服務器中的虛擬機發(fā)送MAC地址解析廣播請求,該物理服務器中的虛擬交換機將所述廣播請求轉換為單播的查詢請求,采用該單播的查詢請求從所述ARS查詢所述通信對端的IP地址對應的MAC地址。利用本發(fā)明,二層網絡減少了地址解析協(xié)議的開銷,避免了廣播風暴的影響,因此可以極大地提高二層網絡的可擴展性。
圖1是本實施方式的系統(tǒng)架構圖;圖2是本實施方式二層網絡中一個物理機內部的結構圖;圖3是本實施方式的虛擬機MAC地址注冊的流程圖;圖4是本實施方式的兩個虛擬機跨數(shù)據中心建立通信的流程圖;圖5是本實施方式的兩個虛擬機在同一個數(shù)據中心內建立通信的流程圖;圖6為本實施方式的接入服務路由器的結構圖。
具體實施例方式下文中將結合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。本實施方式對ARP/NDP協(xié)議進行改進,結合L2VPN技術,實現(xiàn)一個可擴展、可支持海量虛擬機的二層網絡。圖1所示為本實施方式的網絡架構,包含由多個數(shù)據中心以及負責互連的運營商網絡,數(shù)據中心和運營商網絡通過ASlUAccess Service Router,接入服務路由器)連接, 每個數(shù)據中心包含若干物理服務器和二層交換機,每個物理服務器上安裝有虛擬機管理器 (VMM),負責物理服務器上若干虛擬機的管理。本實施方式中不修改數(shù)據中心中的二層交換機和虛擬機上現(xiàn)有的操作系統(tǒng),在虛擬機管理器中增設虛擬交換機(vSwitch)、修改接入服務路由器(也稱數(shù)據中心邊界路由器),還引入ARS (Address Resolution Server,地址解析服務器,也稱MAC地址解析數(shù)據庫),負責接收二層地址的注冊和查詢。虛擬交換機在虛擬機上電后,記錄下該虛擬機的IP地址與MAC地址的對應關系, 并向ARS請求注冊對應關系,虛擬交換機將對應關系中的MAC地址修改為自身MAC地址,也就是說向ARS注冊虛擬機的IP地址和虛擬交換機自身的MAC地址的對應關系,此時,一個 VMM所管理的物理服務器中所有的虛擬機對外只呈現(xiàn)一個MAC地址,這大大減少了網絡中二層交換設備中的MAC轉發(fā)表體積。ARS記錄下注冊的MAC地址、IP地址及虛擬機歸屬的ASR的IP地址,以備后續(xù)查詢。當VM需要和其它主機進行通信時,虛擬機現(xiàn)有操作系統(tǒng)仍然采用廣播的ARP/NDP 協(xié)議查詢MAC地址,此廣播請求被VMM中的虛擬交換機所截獲,轉化成到ARS的一個單播查詢消息,該消息經過ASR,ASR可以對該消息進行格式轉化并存儲相關參數(shù)內容。ARS收到單播查詢消息后返回目標虛擬機的IP地址所對應的MAC地址及歸屬的ASR的MAC地址。由于在ARS中VM注冊的MAC地址實際上是虛擬交換機的MAC地址,因此,查詢方查詢獲得的也是虛擬交換機的地址,源虛擬機查詢獲得MAC地址后,將向目的虛擬機發(fā)送報文,該報文到達目的虛擬機所在的虛擬交換機,虛擬交換機查找本地數(shù)據庫獲得目的虛擬機的真實MAC地址,并將目的MAC地址修改為目標虛擬機的真實MAC地址,然后發(fā)送給虛擬機中的操作系統(tǒng)。當源虛擬機和目的虛擬機不屬于同一個數(shù)據中心時,ASR將查詢響應中的目標虛擬機的MAC地址改為該ASR的MAC地址,并記下目的虛擬機的IP地址和注冊的MAC地址的對應關系,這樣源虛擬機獲得查詢響應后,發(fā)送的報文的目的MAC地址是本數(shù)據中心歸屬的ASR的MAC地址,確保歸屬的ASR可以截獲報文,當ASR收到目的MAC地址為自身MAC地址的報文后,取出報文中的目的IP地址,查詢本地數(shù)據庫,獲得目的IP對應的注冊MAC地址及歸屬ASR的MAC地址,將原始報文的目的MAC地址改為目的虛擬機對應的注冊MAC地址,并封裝在一個外層地址為目的虛擬機歸屬ASR(目的ASR)的MAC地址的IP in IP隧道中,該隧道也可以是一個GRE (Generic Routing Encapsulation,通用路由封裝)形式的封裝;當目的ASR收到該報文時,解除外層封裝報頭,取出原始數(shù)據報文,發(fā)給目的MAC地址對應的虛擬交換機。ARS可以位于運營商網絡之中集中式部署或采用分布式技術進行構建;也可以部署在數(shù)據中心內部,多個數(shù)據中心的ARS服務器構成一個邏輯上一體化的分布式服務器系統(tǒng)。為了維護MAC地址的有效性,虛擬交換機應替代虛擬機進行周期性地址注冊刷新,ARS為每個地址維護一個老化定時器,當定時器周期內未收到刷新請求時,將釋放該地
址記錄。圖1為本實施方式的系統(tǒng)架構圖,系統(tǒng)中包括多個數(shù)據中心101,每個數(shù)據中心包括多個物理服務器102和多個二層交換機103 ;運營商網絡104連接多個數(shù)據中心,其中包括核心路由器106以及處理二層地址注冊、查詢的ARS107 ;ASR105是連接數(shù)據中心和運營商網絡的接入服務路由器。ASR和ARS之間運行單播地址映射協(xié)議(uMAP)。圖2是虛擬機池中一個物理服務器的內部架構,201是物理機器硬件;202是虛擬機管理器,負責本物理機器的虛擬機創(chuàng)建、撤銷及調度;203是為了本實施方式所定義的虛擬交換機,負責代替虛擬機進行MAC地址的注冊、將廣播ARP請求轉化為單播MAC查詢等; 204是VMM中的遷移管理器,本文不關注;205是由VMM管理的虛擬機;206是虛擬機中的操作系統(tǒng);207是運行在虛擬機內操作系統(tǒng)之上的各種應用程序。圖3示出了本實施方式的MAC地址注冊流程,包括步驟301 物理服務器中的虛擬機管理器控制虛擬機VMll上電;
步驟302 上電啟動操作完成后,VMll發(fā)起獲得IP地址配置的過程;虛擬機VMl 1通過DHCP (動態(tài)主機設置協(xié)議)或其它方式獲得IP地址。步驟303 駐留在VMM中的vSwitchl通過查看IP地址自動配置報文獲知VMll已經完成IP地址配置的過程,在本地記錄下VMll的IP地址和MAC的對應關系,此處VMll的 IP地址和MAC地址分別為IPll和MAC11,并向ARS發(fā)送MAC地址注冊請求,注冊IPll和 vSwitchl自身MAC地址(MACl)的對應關系,該請求經過歸屬ASR ;MAC地址注冊請求的源IP地址和源MAC地址分別為IPll和MACl。VMl 1的MAC地址MACl 1為VMl 1上電時VMM所分配。步驟304 中間的二層交換機通過查看MAC地址注冊請求的源MAC地址,學習到 MACl,并記入MAC-端口轉發(fā)表中;本步驟是二層交換機的標準行為。步驟305 二層交換機轉發(fā)MAC地址注冊請求到ASR ;步驟306 :ASR收到MAC地址注冊請求后,在本地記錄下<MAC1、IP11>的對應關系, 為后續(xù)報文轉發(fā)做準備;步驟307 =ASR向ARS發(fā)送地址映射注冊請求,其中包括<MAC1、IP11>綁定關系以及ASR自身的IP地址;步驟308 =ARS記錄該地址映射注冊請求中所攜帶的MAC、IP地址及虛擬機歸屬的 ASR的IP地址等,以備后續(xù)查詢使用;步驟309 =ARS向ASR返回成功響應,該響應被轉發(fā)給發(fā)起注冊的vSwitchl。地址注冊過程完成。圖4示出了一種跨數(shù)據中心的兩個虛擬機之間建立通信的實施例,具體流程如下步驟401 位于數(shù)據中心2內的虛擬機VM21需要和位于數(shù)據中心1內的虛擬機 VMl 1通信,本地ARP緩存中沒有VMl 1的IP地址對應的MAC記錄,VM21發(fā)出一個普通的ARP
廣播請求;此處VM11、VM21均已經上電成功,并且由其所在vSwitch代為向ARS正確注冊了 IP地址和MAC對應關系。步驟402 ARP廣播請求被VM21所在物理機上的虛擬交換機vSWitch2截獲, vSffitch2將其轉換為一條單播的ARP查詢請求通過二層交換機發(fā)給ASR2,該查詢請求的查詢標的為VMll的IP地址IPll ;步驟403 :ASR2收到單播的ARP查詢請求后,產生一條Map_Request (映射查詢) 請求發(fā)送給ARS,查詢IPll對應的MAC地址;本實施例中假定ASR到ARS的查詢協(xié)議不同于vSwitch的單播的ARP查詢請求, 實際協(xié)議定義也可以復用。步驟404 =ARS查詢本地數(shù)據庫,獲得IPll對應的MAC地址、歸屬ASRl的地址;步驟405 =ARS將查詢獲得的MAC地址、ASRl的地址和IPll通過Map_Iteply消息返回給ASR2 ;步驟406 :ASR2收到Map_Iteply消息后取出其中的IP、MAC和ASRl的地址,并在本地進行存儲,同時構造一個ARP單播響應消息,其源MAC地址改為ASR2的MAC地址,目的
12MAC地址為vSWitch2的MAC地址;步驟406 :ASR2將ARP單播響應發(fā)送給vSwitch2 ;步驟407 :vSwitch2根據收到的ARP單播響應構造一個普通的ARP響應,通知VM21 其所查詢的IPll對應的MAC地址為ASR2的MAC地址;步驟408 :VM21根據查詢獲得的MAC地址,發(fā)送一個IP報文,源、目的IP地址、MAC 地址分別為 IP21、MAC21、IP11、MAC_ASR2 ;步驟409 :vSwitch2收到VM21的IP報文后,改寫源MAC地址為本虛擬交換機的 MAC地址MAC2,并且根據目的MAC地址為MAC_ASR2發(fā)送報文到ASR2 ;步驟410 :ASR2取出報文中的目的IP地址,查找本地數(shù)據庫,獲得IPll對應的已經注冊的MAC地址MACl以及歸屬的ASRl的地址IP_ASR1 ;步驟411 :ASR2根據上一步的數(shù)據得知目的IP地址位于另外一個數(shù)據中心內部, 其將原始報文的目的MAC地址改為步驟406中獲得的MACl,并且將此報文封裝在一個目的 IP為ASRl的IP地址的隧道中發(fā)送給ASRl ;隧道可以是一個IP in IP的簡單隧道,也可以是一個GRE隧道,或者是其它任何形式的隧道形式。步驟412 =ASRl收到報文后,解除外層隧道報文頭部,恢復原始報文;步驟413 =ASRl根據報文的目的MAC地址將其發(fā)送給vSwitchl ;步驟414 =VSwitchl查找本地數(shù)據庫,獲知報文中目的IP地址IPll對應的真實 MAC地址為MACll,其改寫二層報文頭部為MACll,并且將報文發(fā)送給VMll中操作系統(tǒng)的協(xié)議棧。至此,IP通信建立完成。圖5示出了一種在同一數(shù)據中心內的兩個虛擬機之間建立通信的實施例,具體流程如下步驟501 位于物理機2內的虛擬機VM21需要和位于物理機1內的虛擬機VMll 通信,本地ARP緩存中沒有VMll的IP地址對應的MAC記錄,其發(fā)出一個普通的ARP廣播請求;此處VMll、VM21均已經上電成功,并且由其所在vSwitch代為向ARS正確注冊了自身的IP地址、MAC對應關系。步驟502 =ARP廣播請求被其所在物理機上的虛擬交換機vSwitch2所截獲, vSwitch2將其轉換為一條單播的ARP查詢請求發(fā)給ASRl,該查詢請求的查詢標的為VMll 的IP地址IPll ;步驟503 =ASRl收到單播的ARP查詢請求后,產生一條Map_RequeSt請求發(fā)送給 ARS,查詢IPll對應的MAC地址;本實施例中假定ASR到ARS的查詢協(xié)議不同于vSwitch的ARP單播查詢請求,實際協(xié)議定義也可以復用。步驟504 =ARS查詢本地數(shù)據庫,獲得IPll對應的MAC地址和歸屬ASRl地址。步驟505 =ARS將查詢獲得的MAC地址、ASRl地址和IPll通過Map_Iteply消息返回給ASRl ;步驟506 =ASRl收到Map_Iteply消息后取出其中的IP、MAC和ASRl地址,并在本地進行存儲,同時構造一個ARP單播響應消息,ASRl注意到該目的虛擬機的歸屬ASR就是自己本身,因此ARP單播響應消息的IP、MAC地址均取自于Map_Iteply消息,不做修改;步驟507 =VSwitch根據單播響應構造一個普通的ARP響應,通知VM21其所查詢的 IPll對應的MAC地址為MACl ;步驟508 :VM21根據上一步查詢獲得的MAC地址,發(fā)送一個IP報文,源、目的IP地址、MAC 地址分別為 IP21、MAC21、IPll 和 MACl ;步驟509 :vSwitch2收到VM21的IP報文后,改寫源MAC地址為本虛擬交換機的地址MAC2,并且二層交換機根據目的MAC地址為MACl發(fā)送報文到物理機1 ;步驟510 物理機1上的vSwitchl收到此報文,查找本地數(shù)據庫,獲知報文中目的 IP地址IPll對應的真實MAC地址為MACl 1,其改寫二層報文頭部為MACl 1,并且將報文發(fā)送給VMll中操作系統(tǒng)的協(xié)議棧。至此,IP通信建立完成。圖6為本實施方式的ASR的結構圖,包括注冊模塊、地址查詢模塊和報文轉發(fā)模塊,其中注冊模塊,用于記錄虛擬交換機注冊的虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系,并向地址解析服務器(ARS)注冊該對應關系以及該ASR的地址。地址查詢模塊,用于在接收到虛擬交換機的查詢請求后,向ARS查詢虛擬機的通信對端的IP地址對應的MAC地址,并保存接收到的MAC地址和ASR的地址,在所接收到的 ASR的地址非該地址查詢模塊所在ASR的地址時,向虛擬交換機返回該地址查詢模塊所在 ASR的地址;在所接收到的ASR的地址為該地址查詢模塊所在ASR的地址時,向虛擬交換機返回接收到的MAC地址。報文轉發(fā)模塊,用于在接收到虛擬交換機發(fā)送的報文時,在本地查詢通信對端的 MAC地址和通信對端歸屬的ASR的地址,將報文的目的MAC地址修改為查詢到通信對端的 MAC地址,并將該報文封裝到目的地址為通信對端歸屬的ASR的地址的隧道中通過運營商網絡發(fā)送給通信對端歸屬的ASR,并且在接收到通過運營商網絡發(fā)送的報文后,解除隧道, 根據報文的目的MAC地址將報文發(fā)送給物理服務器上的虛擬交換機。本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬件完成,程序可以存儲于計算機可讀存儲介質中,如只讀存儲器、磁盤或光盤等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應地,上述實施例中的各模塊可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結合。當然,本發(fā)明還可有多種實施方式,在不背離本發(fā)明精神及其實質的情況,熟悉本領域的技術人員當可根據本發(fā)明做出各種相應的更改或變化,但凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換、改進,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種實現(xiàn)二層網絡擴展的方法,其特征在于,在運營商網絡中設置地址解析服務器 (ARS),在數(shù)據中心中的物理服務器上設置虛擬交換機;所述虛擬交換機在所述物理服務器中的虛擬機上電后,向所述ARS注冊所述虛擬機的 IP地址與自身MAC地址的對應關系;所述ARS記錄所述虛擬交換機注冊的虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系,供其他虛擬機查詢;所述物理服務器中的虛擬機根據通信對端的IP地址從所述ARS查詢該IP地址對應的 MAC地址,通過該MAC地址與所述通信對端進行報文交互。
2.如權利要求1所述的方法,其特征在于,所述虛擬交換機向所述ARS注冊所述虛擬機的IP地址與自身MAC地址的對應關系包括所述虛擬交換機在所述虛擬機上電后記錄該虛擬機的IP地址與MAC地址的對應關系, 并向該虛擬交換機歸屬的接入服務路由器(ASR)注冊所述虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系;所述ASR記錄所述虛擬機的IP地址與所述虛擬交換機的MAC地址的對應關系,并向所述ARS注冊該對應關系以及該ASR的地址。
3.如權利要求2所述的方法,其特征在于,所述ARS記錄所述虛擬交換機注冊的虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系時,還對應地記錄所述ASR的地址。
4.如權利要求3所述的方法,其特征在于,所述物理服務器中的虛擬機根據通信對端的IP地址從所述ARS查詢該IP地址對應的MAC地址包括所述物理服務器中的虛擬機發(fā)送MAC地址解析廣播請求,該物理服務器中的虛擬交換機將該廣播請求轉換為單播的查詢請求,采用該單播的查詢請求從所述ARS查詢所述通信對端的IP地址對應的MAC地址。
5.如權利要求4所述的方法,其特征在于,所述虛擬交換機機采用該單播的查詢請求從所述ARS查詢所述通信對端的IP地址對應的MAC地址包括所述虛擬交換機將所述單播的查詢請求發(fā)送給該虛擬交換機歸屬的ASR,通過該ASR 查詢所述通信對端的IP地址對應的MAC地址;所述虛擬交換機歸屬的ASR接收到所述查詢請求后,向所述ARS查詢所述通信對端的 IP地址對應的MAC地址,所述ARS查詢并返回查詢到的MAC地址和所述通信對端歸屬的ASR 的地址,所述虛擬交換機歸屬的ASR保存接收到的MAC地址和ASR的地址,在所接收到的 ASR的地址非自身地址時,向所述虛擬交換機返回自身的MAC地址;所述虛擬交換機通知所述物理服務器中的虛擬機所述通信對端的IP地址對應的MAC 地址為所述虛擬交換機歸屬的ASR的地址。
6.如權利要求5所述的方法,其特征在于,所述物理服務器中的虛擬機通過該MAC地址與所述通信對端進行報文交互包括所述物理服務器中的虛擬機向所述通信對端發(fā)送報文,該報文的源MAC地址和目的 MAC地址分別為該虛擬機的MAC地址和所述虛擬交換機歸屬的ASR的地址;所述虛擬交換機接收到報文后,將該報文的源MAC地址修改為該虛擬交換機的MAC地址,并根據目的MAC地址將該報文發(fā)送給該虛擬交換機歸屬的ASR ;所述虛擬交換機歸屬的ASR在本地查詢所述通信對端的MAC地址和通信對端歸屬的2ASR的地址,將所述報文的目的MAC地址修改為查詢到通信對端的MAC地址,并將該報文封裝到目的地址為所述通信對端歸屬的ASR的地址的隧道中通過運營商網絡發(fā)送給所述通信對端歸屬的ASR。
7.如權利要求6所述的方法,其特征在于,該方法還包括所述通信對端歸屬的ASR接收到報文后,解除隧道,根據報文的目的MAC地址將報文發(fā)送給所述通信對端所在物理服務器上的虛擬交換機,該虛擬交換機根據報文的目的IP地址查詢所述通信對端的MAC地址,將該報文的目的MAC地址修改為所述通信對端的MAC地址,發(fā)送給所述通信對端。
8.如權利要求4所述的方法,其特征在于,所述物理服務器中的虛擬機根據通信對端的IP地址從所述ARS查詢該IP地址對應的MAC地址包括所述虛擬交換機將所述單播的查詢請求發(fā)送給該虛擬交換機歸屬的ASR,通過該ASR 查詢所述通信對端的IP地址對應的MAC地址;所述虛擬交換機歸屬的ASR接收到所述查詢請求后,向所述ARS查詢所述通信對端的 IP地址對應的MAC地址,所述ARS查詢并返回查詢到的MAC地址和所述通信對端歸屬的ASR 的地址,所述虛擬交換機歸屬的ASR保存接收到的MAC地址和ASR的地址,在所接收到的 ASR的地址為自身地址時,向所述虛擬交換機返回接收到的MAC地址;所述虛擬交換機通知所述物理服務器中的虛擬機所述通信對端的IP地址對應的MAC 地址為所述虛擬交換機歸屬的ASR接收到的MAC地址。
9.如權利要求8所述的方法,其特征在于,所述物理服務器中的虛擬機通過該MAC地址與所述通信對端進行報文交互包括所述物理服務器中的虛擬機向所述通信對端發(fā)送報文,該報文的源MAC地址和目的 MAC地址分別為該虛擬機的MAC地址和所述虛擬交換機歸屬的ASR接收到的MAC地址;所述虛擬交換機接收到所述報文后,將該報文的源MAC地址修改為該虛擬交換機的 MAC地址,并根據目的MAC地址,通過二層交換機將該報文發(fā)送給所述通信對端所在物理服務器上的虛擬交換機。
10.如權利要求9所述的方法,其特征在于,該方法還包括所述通信對端所在物理服務器上的虛擬交換機查詢所述通信對端的MAC地址,將該報文的目的MAC地址修改為查詢到的通信對端的MAC地址,發(fā)送給所述通信對端。
11.如權利要求1所述的方法,其特征在于,所述虛擬交換機設置在所述數(shù)據中心中的物理服務器的虛擬機管理器中。
12.—種物理服務器,該物理服務器中安裝有虛擬機,其特征在于,在該物理服務器上還設置有虛擬交換機;所述虛擬交換機,用于在所述物理服務器中的虛擬機上電后,向運營商網絡中設置的地址解析服務器(ARS)注冊所述虛擬機的IP地址與自身MAC地址的對應關系。
13.如權利要求12所述的物理服務器,其特征在于,所述虛擬交換機向所述ARS注冊所述虛擬機的IP地址與自身MAC地址的對應關系包括所述虛擬交換機在所述虛擬機上電后記錄該虛擬機的IP地址與MAC地址的對應關系, 并向該虛擬交換機歸屬的接入服務路由器(ASR)注冊所述虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系。
14.如權利要求12所述的物理服務器,其特征在于所述虛擬交換機,還用于在接收到所述物理服務器中的虛擬機發(fā)送MAC地址解析廣播請求后,將該廣播請求轉換為單播的查詢請求,采用該單播的查詢請求從所述ARS查詢通信對端的IP地址對應的MAC地址。
15.如權利要求14所述的物理服務器,其特征在于,所述虛擬交換機機采用該單播的查詢請求從所述ARS查詢通信對端的IP地址對應的MAC地址包括所述虛擬交換機將所述單播的查詢請求發(fā)送給該虛擬交換機歸屬的ASR,通過該ASR 查詢所述通信對端的IP地址對應的MAC地址,并在所述ASR返回該ASR的地址或所述通信對端所在物理服務器上的虛擬交換機的地址后,相應地通知所述物理服務器中的虛擬機所述通信對端的IP地址對應的MAC地址為虛擬交換機歸屬的ASR的地址或所述通信對端所在物理服務器上的虛擬交換機的地址。
16.如權利要求15所述的物理服務器,其特征在于所述虛擬交換機,還用于接收虛擬機向所述通信對端發(fā)送的報文,該報文的源MAC地址為該虛擬機的MAC地址,目的MAC地址為所述虛擬交換機歸屬的ASR的地址或所述通信對端所在物理服務器上的虛擬交換機的地址,該虛擬交換機在接收到所述報文后,將該報文的源MAC地址修改為該虛擬交換機的MAC地址,并根據目的MAC地址將該報文發(fā)送給該虛擬交換機歸屬的ASR或所述通信對端所在物理服務器上的虛擬交換機。
17.如權利要求16所述的物理服務器,其特征在于所述虛擬交換機,還用于在接收到歸屬的ASR發(fā)送的報文時,根據報文的目的IP地址查詢對應的MAC地址,將該報文的目的MAC地址修改為查詢到的MAC地址,并進行發(fā)送。
18.一種接入服務路由器(ASR),其特征在于,包括注冊模塊,其中所述注冊模塊,用于記錄虛擬交換機注冊的虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系,并向地址解析服務器(ARS)注冊該對應關系以及該ASR的地址。
19.如權利要求18所述的接入服務路由器,其特征在于,該ASR還包括地址查詢模塊, 其中所述地址查詢模塊,用于在接收到所述虛擬交換機的查詢請求后,向所述ARS查詢虛擬機的通信對端的IP地址對應的MAC地址,并保存接收到的MAC地址和ASR的地址,在所接收到的ASR的地址非該地址查詢模塊所在ASR的地址時,向所述虛擬交換機返回該地址查詢模塊所在ASR的地址;在所接收到的ASR的地址為該地址查詢模塊所在ASR的地址時, 向所述虛擬交換機返回接收到的MAC地址。
20.如權利要求19所述的接入服務路由器,其特征在于,該ASR還包括報文轉發(fā)模塊, 其中所述報文轉發(fā)模塊,用于在接收到所述虛擬交換機發(fā)送的報文時,在本地查詢所述通信對端的MAC地址和通信對端歸屬的ASR的地址,將所述報文的目的MAC地址修改為查詢到通信對端的MAC地址,并將該報文封裝到目的地址為所述通信對端歸屬的ASR的地址的隧道中通過運營商網絡發(fā)送給所述通信對端歸屬的ASR。
21.如權利要求20所述的接入服務路由器,其特征在于所述報文轉發(fā)模塊,還用于在接收到通過所述運營商網絡發(fā)送的報文后,解除隧道,根據報文的目的MAC地址將報文發(fā)送給物理服務器上的虛擬交換機。
22.—種擴展的二層網絡,包括運營商網絡和數(shù)據中心,其特征在于,在所述運營商網絡中設置地址解析服務器(ARS),在所述數(shù)據中心中的物理服務器上設置虛擬交換機,其中所述虛擬交換機,用于在所述物理服務器中的虛擬機上電后,向所述ARS注冊所述虛擬機的IP地址與自身MAC地址的對應關系;所述ARS,用于記錄所述虛擬交換機注冊的虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系,供其他虛擬機查詢;所述物理服務器中的虛擬機,用于根據通信對端的IP地址從所述ARS查詢該IP地址對應的MAC地址,通過該MAC地址與所述目的虛擬機進行報文交互。
23.如權利要求22所述的網絡,其特征在于,該二層網絡還包括在所述用戶數(shù)據中心與運營商網絡之間建立互通的接入服務路由器(ASR),其中所述虛擬交換機在所述虛擬交換機向ARS注冊所述虛擬機的IP地址與自身MAC地址的對應關系時,接收到所述虛擬交換機的注冊后,記錄所述虛擬機的IP地址與虛擬交換機的MAC地址的對應關系,并向所述ARS注冊該對應關系以及該ASR的地址。
24.如權利要求22所述的網絡,其特征在于所述ASR,還用于在接收到所述虛擬交換機發(fā)送的報文時,在本地查詢所述通信對端的 MAC地址和通信對端歸屬的ASR的地址,將所述報文的目的MAC地址修改為查詢到通信對端的MAC地址,并將該報文封裝到目的地址為所述通信對端歸屬的ASR的地址的隧道中通過運營商網絡發(fā)送給所述通信對端歸屬的ASR。
25.如權利要求23所述的網絡,其特征在于所述ARS,還用于在記錄所述虛擬交換機注冊的虛擬機的IP地址與該虛擬交換機的 MAC地址的對應關系時,對應地記錄所述歸屬ASR的地址。
26.如權利要求22所述的網絡,其特征在于所述物理服務器中的虛擬機根據通信對端的IP地址從所述ARS查詢該IP地址對應的MAC地址包括所述物理服務器中的虛擬機發(fā)送MAC地址解析廣播請求,該物理服務器中的虛擬交換機將所述廣播請求轉換為單播的查詢請求,采用該單播的查詢請求從所述ARS查詢所述通信對端的IP地址對應的MAC地址。
全文摘要
本發(fā)明公開了一種實現(xiàn)二層網絡的擴展方法及擴展的二層網絡,在運營商網絡中設置地址解析服務器(ARS),在數(shù)據中心中的物理服務器上設置虛擬交換機;所述虛擬交換機在所述物理服務器中的虛擬機上電后,向所述ARS注冊所述虛擬機的IP地址與自身MAC地址的對應關系;所述ARS記錄所述虛擬交換機注冊的虛擬機的IP地址與該虛擬交換機的MAC地址的對應關系,供其他虛擬機查詢;所述物理服務器中的虛擬機根據通信對端的IP地址從所述ARS查詢該IP地址對應的MAC地址,通過該MAC地址與所述通信對端進行報文交互。二層網絡減少了地址解析協(xié)議的開銷,避免了廣播風暴的影響,因此可以極大地提高二層網絡的可擴展性。
文檔編號H04L12/46GK102457586SQ20101052181
公開日2012年5月16日 申請日期2010年10月18日 優(yōu)先權日2010年10月18日
發(fā)明者汪軍 申請人:中興通訊股份有限公司