通過三層網(wǎng)絡(luò)連接二層域的制作方法
【專利摘要】在一個實施例中,一種方法包括:為第一二層數(shù)據(jù)中心中的三層路由器建立地址解析緩存,其中,所述地址解析緩存包括多個條目,每個條目包含主機網(wǎng)絡(luò)地址、主機硬件地址、以及為主機服務(wù)的交換機的交換機標識符;在第一二層數(shù)據(jù)中心內(nèi)攔截地址解析洪泛,所述地址解析洪泛為第二二層數(shù)據(jù)中心中的主機尋求地址解析;以及生成對地址解析洪泛的響應(yīng),所述響應(yīng)指示第二二層數(shù)據(jù)中心中的源,其中,指示第二二層數(shù)據(jù)中心中的源的數(shù)據(jù)是從地址解析緩存中獲取的。
【專利說明】通過三層網(wǎng)絡(luò)連接二層域【技術(shù)領(lǐng)域】
[0001]本公開總地涉及通過三層連接來擴大二層域。
【背景技術(shù)】
[0002]創(chuàng)建大二層域(layer_2domain)是當(dāng)前的行業(yè)趨勢。例如,主計算機使用以太網(wǎng)或其他二層技術(shù)相互連接的數(shù)據(jù)中心是一種二層域的示例。在這樣的數(shù)據(jù)中心中,主計算機使用它們的媒體訪問控制(MAC)地址相互通信。這些計算機之間的通信由交換機提供,這些交換機將幀傳遞到它們期望的目的地MAC地址。更大的二層域可以通過利用諸如因特網(wǎng)之類的三層網(wǎng)絡(luò)(layer-3network)連接多個二層數(shù)據(jù)中心來創(chuàng)建。
[0003]當(dāng)前,諸如FabricPath?/多鏈路透明互連(TRILL)和覆蓋傳輸虛擬化(OTV)之類的聯(lián)網(wǎng)技術(shù)嘗試使得二層的大小超過當(dāng)前極限成為現(xiàn)實。每種技術(shù)都有一系列優(yōu)點,這些優(yōu)點使得這種技術(shù)成為網(wǎng)絡(luò)中的最理想的特定角色。通常,F(xiàn)abricPath?技術(shù)適用于數(shù)據(jù)中心,而OTV適用于通過因特網(wǎng) 協(xié)議(IP)使能的任意傳輸進行數(shù)據(jù)中心的互連。FabricPath?技術(shù)通過僅基于會話學(xué)習(xí)將主機地址僅映射到邊緣設(shè)備中的交換機標識符(IDs),來管理二層交換機內(nèi)的信息。因此,核心交換機不建立MAC地址表,邊緣交換機僅為與它們通信的主機建立MAC地址表。
[0004]在FabricPath?技術(shù)中,與源主機相關(guān)聯(lián)的交換機從源主機接收數(shù)據(jù),并且封裝該數(shù)據(jù)來創(chuàng)建幀。交換機通過添加報頭來創(chuàng)建幀,該報頭指定與目的地相關(guān)聯(lián)的交換機的交換機ID。目的地處(在相同的二層域內(nèi))的交換機拆封該數(shù)據(jù),并且將該數(shù)據(jù)傳遞給目的地主機。
[0005]OTV通過在二層域的邊緣放置路由器來提供兩個或更多個二層域之間的二層連接,其中,所述路由器維護已知主機的MAC地址表。這種OTV使能的三層路由器(layer-3router)通過互連的三層網(wǎng)絡(luò)(使用合適的開銷)將幀發(fā)送至另一個二層域處的另一個OTV路由器。這被稱為“MAC路由”。不同二層域內(nèi)的主機使用MAC地址來與充當(dāng)三層部分中的中介的三層路由器進行通信。
[0006]目前這兩種技術(shù)是松散耦合的,這導(dǎo)致網(wǎng)絡(luò)的FabricPath?技術(shù)和OTV部分之間的切換效率低下。例如,可以將相對大量的MAC地址信息存儲于OTV和FabricPath?技術(shù)之間的邊界設(shè)備處。傳統(tǒng)的OTV使用專用集成電路(ASIC)硬件存儲器來在數(shù)據(jù)面上建立并維護MAC地址表,這是相對昂貴的。OTV路由器將尋求建立包含每個所連接的二層域中的所有主機的MAC地址的MAC地址表,但是在存在許多主機和/或許多二層域的場景中,該表的大小可以增長很大。此外,傳統(tǒng)的二層地址解析協(xié)議(ARP)洪泛可能會導(dǎo)致大量二層域被連接的場景中的流量的過量。
【發(fā)明內(nèi)容】
[0007]在一個實施例中,一種方法包括:為第一二層數(shù)據(jù)中心中的三層路由器建立地址解析緩存,其中,所述地址解析緩存包括多個條目,每個條目包含主機網(wǎng)絡(luò)地址、主機硬件地址、以及為主機服務(wù)的交換機的交換機標識符;在第一二層數(shù)據(jù)中心內(nèi)攔截地址解析洪泛,所述地址解析洪泛為第二二層數(shù)據(jù)中心中的主機尋找地址解析;以及生成對地址解析洪泛的響應(yīng),所述響應(yīng)指示第二二層數(shù)據(jù)中心中的源,其中指示第二二層數(shù)據(jù)中心中的源的數(shù)據(jù)是從地址解析緩存中獲取的。
[0008]在另一個實施例中,一種裝置包括第一二層數(shù)據(jù)中心中的第一三層網(wǎng)絡(luò)路由器。第一三層網(wǎng)絡(luò)路由器包括:二層端口,所述二層端口與第一數(shù)據(jù)中心中的二層交換機通信;三層端口,所述三層端口與三層網(wǎng)絡(luò)和第二二層數(shù)據(jù)中心處的第二三層路由器通信;處理器,所述處理器與三層端口和二層端口通信;以及存儲器,所述存儲器與處理器通信,所述存儲器包括能夠由處理器執(zhí)行以執(zhí)行以下操作的指令:(a)存儲地址解析信息,所述地址解析信息為位于第一數(shù)據(jù)中心和第二數(shù)據(jù)中心中的多個主機提供以下信息:(i)硬件地址,(?)網(wǎng)絡(luò)地址,以及(iii)交換機標識符;(b)響應(yīng)于接收到來自第一數(shù)據(jù)中心中的主機的地址解析請求,從地址解析緩存中檢索針對第二數(shù)據(jù)中心中的主機的地址解析數(shù)據(jù);(C)生成響應(yīng)于地址解析請求并且包括指示第二數(shù)據(jù)中心中的源的源數(shù)據(jù)的幀;以及(d)經(jīng)由二層端口將該幀轉(zhuǎn)發(fā)至第一數(shù)據(jù)中心中的主機。
[0009]在另一個實施例中,邏輯被編碼在一個或多個有形媒體上以供執(zhí)行,當(dāng)邏輯被執(zhí)行時可操作來:為三層路由器建立地址解析緩存,其中,所述地址解析緩存包括多個條目,每個條目包含主機網(wǎng)絡(luò)地址、主機硬件地址、以及為主機服務(wù)的交換機的交換機標識符;在本地二層域內(nèi)攔截來自第一主機的地址解析請求,其中,第一主機位于本地二層域中,地址解析請求為位于遠程二層域中的第二主機尋求地址解析;以及通過本地域中的三層路由器生成對地址解析請求的響應(yīng),該響應(yīng)模擬來自第二主機的響應(yīng),其中,所述響應(yīng)是通過從地址解析緩存訪問與第二主機相關(guān)聯(lián)的地址數(shù)據(jù)來創(chuàng)建幀生成的。
[0010]在另一個實施 例中,一種方法包括:通過第一二層域中的三層路由器檢查該三層路由器處的用于三層交換機硬件地址的流量;在三層路由器中實現(xiàn)交換機硬件地址列表的表格;以及訪問至少一個交換機硬件地址,以通過三層網(wǎng)絡(luò)將幀從第一二層域中的第一交換機發(fā)送至第二二層域中的第二交換機。
[0011]在另一個實施例中,一種方法包括:通過二層域中的三層路由器從二層域中的源交換機接收幀,所述幀包括MAC-1n-MAC封裝,其中,內(nèi)部封裝包括源硬件地址和目的地硬件地址,外部封裝包括源交換機ID和目的地交換機ID ;以及通過將三層報頭添加至所述幀并且保存其MAC-1n-MAC封裝,來通過三層域?qū)⑺鰩酚芍恋诙佑颉?br>
【專利附圖】
【附圖說明】
[0012]圖1是根據(jù)一個實施例的示例系統(tǒng)的圖解。
[0013]圖2是根據(jù)一個實施例的示例網(wǎng)絡(luò)布局的圖解。
[0014]圖3是根據(jù)實施例的示例方法的圖解。
[0015]圖4是根據(jù)實施例的示例方法的圖解。
【具體實施方式】
[0016]為了擴大二層域,各種實施例提高了三層連接功能。因而,在一個示例中,二層域(layer-2domain)包括其邊緣處的三層路由器(layer_3router),該三層路由器將該二層域連接至其他二層域。如在使用FabricPath?技術(shù)的傳統(tǒng)系統(tǒng)中一樣,在二層域內(nèi),邊緣交換機使用會話學(xué)習(xí)來建立主機MAC地址表,并且核心交換機建立交換機ID表。三層路由器建立并維護交換機ID表,而不是主機MAC地址表。在典型配置中,交換機比主機少,因而在傳統(tǒng)的OTV系統(tǒng)中通常認為交換機ID表比主機MAC地址表小。在一個特定示例中,就這一點而言,三層路由器通過保持交換機ID的硬件表并且從其中刪除主機MAC地址,來類似于使用FabricPath?技術(shù)的核心交換機進行操作。
[0017]在進一步的示例實施例中,用于特定二層域的三層路由器將來自ARP請求的數(shù)據(jù)緩存在存儲器中。ARP緩存中的每個條目包括主機IP地址、主機MAC地址、以及與該主機相關(guān)聯(lián)的交換機ID。三層路由器將其ARP緩存條目通知給其他三層路由器,以使這些三層路由器建立并維護相當(dāng)全面的ARP緩存。ARP緩存被用來避免通過多個域的二層洪泛。因而,在一個示例中,三層路由器接收來自其域內(nèi)的主機的ARP請求。三層路由器在其自身的ARP緩存內(nèi)查看,而不是將ARP洪泛傳遞至其他二層域,并且如果ARP緩存具有請求主機需要的信息,那么三層路由器生成幀以發(fā)送回請求主機,該請求主機聲稱是來自地址將被解析的目的地的。
[0018]相比傳統(tǒng)的二層擴大,上述實施例可以提供一個或多個優(yōu)點。鑒于傳統(tǒng)的OTV接口將創(chuàng)建大型的主機MAC地址表,上述實施例通過在存儲器中實現(xiàn)ARP緩存并將交換機ID存儲在硬件表中,來在三層路由器處提供全面的地址信息。因此,節(jié)省了硬件存儲器。而且,可以通過利用二層域內(nèi)的ARP緩存信息來最小化通過二層域的ARP洪泛。下面參考圖1-4,更詳細地描述示例實施例。
[0019]圖1是根據(jù)一個實施例的示例系統(tǒng)100的圖解。三層路由器110包括二層端口115和三層端口 116。路由器110通過將數(shù)據(jù)中心150連接至三層網(wǎng)絡(luò)160 (三層網(wǎng)絡(luò)160可以被連接至其他數(shù)據(jù)中心處的其他三層路由器,為了圖解的方便沒有在圖1中示出),來為二層數(shù)據(jù)中心150服務(wù)。在該示例中,路由器110是為數(shù)據(jù)中心150服務(wù)的邊緣路由器。網(wǎng)絡(luò)160可以包括任意三層網(wǎng)絡(luò),諸如但不限于因特網(wǎng)。在一個示例中,數(shù)據(jù)中心150可以包括為諸如企業(yè)或消費者家庭之類的實體服務(wù)的企業(yè)網(wǎng)絡(luò)或局域網(wǎng)(LAN),其中,數(shù)據(jù)中心150內(nèi)的流量根據(jù)二層協(xié)議(諸如但不限于以太網(wǎng))被交換。如在該示例中使用的,三層路由器I1通過三層網(wǎng)絡(luò)進行通信,并且還能夠在二層數(shù)據(jù)中心150內(nèi)進行通信。在一些實施例中,這樣的三層路由器I1也可以被稱為OTV邊緣設(shè)備。
[0020]路由器110經(jīng)由端口 115和116分別與數(shù)據(jù)中心150和網(wǎng)絡(luò)160進行雙向通信。路由器110被示出為僅具有兩個端口 115、116,但是應(yīng)當(dāng)明白,實施例的范圍不限于兩個端口。給定的實施例可以包括任意合適數(shù)目的二層端口和三層端口。
[0021]路由器110包括指令存儲器111,該指令存儲器111具有計算機可執(zhí)行代碼,所述計算機可執(zhí)行代碼由處理器112訪問和執(zhí)行。處理器112通過執(zhí)行代碼來提供本文描述的動作。
[0022]與傳統(tǒng)的OTV路由器相比,路由器110在硬件存儲器中建立并維護交換機ID列表,并且在RAM或其他廉價的可寫存儲器中建立并維護ARP緩存114。在其他實施例中,用來存儲列表113和ARP緩存114的特定類型的存儲器可以是不同的,所以實施例的范圍不限于任何特定類型的存儲器。然而,一些實施例可以通過修改其他傳統(tǒng)的OTV路由器來實現(xiàn),其中,硬件ASIC存儲器中的主機MAC地址表被交換機ID表113代替,并且其中,現(xiàn)有的RAM或附加的RAM被用來存儲ARP緩存114。下面對交換機ID列表113和ARP緩存114進行更詳細的描述。
[0023]在圖1的示例中,列表113用作轉(zhuǎn)發(fā)表,并且其中的條目被限制為二層交換機的交換機ID(在一些實施例中也稱為網(wǎng)橋ID)。當(dāng)路由器110與二層數(shù)據(jù)中心處的另一個路由器進行通信時,路由器110接收經(jīng)MAC-1n-MAC封裝的流量。在傳統(tǒng)的OTV中,路由器110將外部報頭去掉,學(xué)習(xí)內(nèi)部源MAC地址,并將這些內(nèi)部源MAC地址通知給其他三層路由器。然而,在該示例實施例中,路由器110只學(xué)習(xí)并通知(關(guān)于列表113)外部報頭中的源MAC地址,其中,這些源MAC地址是二層交換機的交換機ID。
[0024]進一步在該示例中,路由器110在軟件中創(chuàng)建ARP緩存114,該ARP緩存114具有二層網(wǎng)絡(luò)中的主機的IP地址和MAC地址之間的映射(在一些實施例中,除路由器110的本地站點上的主機以外)。可以采用多種方式對ARP緩存114進行填充。在一個實施例中,通過在路由器110處監(jiān)聽ARP應(yīng)答對ARP緩存114進行填充。在另一個實施例中,路由器110在學(xué)習(xí)時通過控制面來建立ARP緩存114,其中,路由器110在學(xué)習(xí)時通知針對內(nèi)部報頭的MAC到IP映射。
[0025]兩種技術(shù)均為傳統(tǒng)的OTV功能定義的一部分,并且它們的細節(jié)不在本公開的范圍內(nèi)。通過并在傳統(tǒng)的OTV功能上,本實施例包括利用(交換機ID、主機MAC、主機IP)的三元組而不是傳統(tǒng)的(主機MAC、主機IP)的兩元組來填充緩存的概念。三元組中的交換機ID是被直接連接到特定主機的遠程二層交換機的交換機ID。此外,路由器110可以通過對ARP應(yīng)答的監(jiān)聽、通過OTV控制面中的明確通知、或通過任何其他合適的方法來填充ARP緩存114。實施例的范圍不局限于用于填充ARP緩存114的任何特定方法。
[0026]在路由器110利用(交換機ID、主機MAC、主機IP)的三元組建立ARP緩存114之后,路由器110可以對一些針對遠程MAC發(fā)布的ARP請求(B卩,針對不同數(shù)據(jù)中心處的由遠程交換機服務(wù)的主機的MAC的ARP請求)進行應(yīng)答。具體地,在一個實施例中,路由器110在發(fā)布這些應(yīng)答時從二層的角度模擬遠程交換機。路由器110使用緩存114中的交換機ID作為外部二層報頭的源MAC地址,其中,外部二層報頭封裝了 ARP應(yīng)答。通過模擬遠程交換機,路由器110生成了本地二層交換機利用正確的遠程交換機ID來完成遠程MAC地址的會話學(xué)習(xí)所必需的流量。
[0027]圖2是根據(jù)一個實施例的示例網(wǎng)絡(luò)布局200的圖解。圖2在數(shù)據(jù)中心150中包括路由器110。通過使用二層協(xié)議,路由器110被連接到核心交換機151和邊緣交換機152。在該示例中,核心交換機指的是僅被直接連接到其他交換機的交換機,并且邊緣交換機指的是被直接連接到至少一個主機(例如,主機153)的交換機。
[0028]數(shù)據(jù)中心150可以通過使用FabricPath?技術(shù)來實現(xiàn),F(xiàn)abricPath?技術(shù)使用如上所述的會話學(xué)習(xí)來在邊緣路由器中建立并維護交換機ID至主機MAC地址表。然而,實施例的范圍不局限于嚴格根據(jù)FabricPath?技術(shù)來實現(xiàn)數(shù)據(jù)中心150 (或數(shù)據(jù)中心250),因為可以采用任意合適的二層數(shù)據(jù)中心實現(xiàn),諸如TRILL或其他技術(shù)。
[0029]數(shù)據(jù)中心150通過三層網(wǎng)絡(luò)160被連接到二層數(shù)據(jù)中心250??紤]到交換機151、152、251、252提供二層交換,路由器110、210提供通過三層網(wǎng)絡(luò)160在數(shù)據(jù)中心150、250之間傳遞幀的能力。路由器110、210可以使用任何合適的三層開銷和協(xié)議(諸如,傳統(tǒng)的OTV所使用的)來中繼二層數(shù)據(jù)中心150、250之間的通信。各種實施例不局限于任何用于三層通信的具體技術(shù)。
[0030]數(shù)據(jù)中心150包括主機設(shè)備153,數(shù)據(jù)中心250包括主機設(shè)備253。主機設(shè)備153、253可以包括任意類型的聯(lián)網(wǎng)設(shè)備,諸如個人計算機、臺式計算機、服務(wù)器計算機、視頻會議控制臺、游戲控制臺等。而且,盡管為了簡單,數(shù)據(jù)中心150、250被示出為分別僅具有兩個交換機和一個主機,但是實施例的范圍不限于此。各種實施例可以包括任意合適數(shù)目的核心交換機、邊緣交換機、主機、以及路由器。而且,數(shù)據(jù)中心150被示出為僅連接到一個其他數(shù)據(jù)中心(數(shù)據(jù)中心250),但是實施例可以通過網(wǎng)絡(luò)160和/或其他三層網(wǎng)絡(luò)將任意合適數(shù)目的數(shù)據(jù)中心連接在一起。本文所述的原理可以擴展到更大數(shù)目的數(shù)據(jù)中心。
[0031]下面是在假設(shè)表格為空的初始狀態(tài)下網(wǎng)絡(luò)配置200中的各種設(shè)備的行為示例。主機153發(fā)送針對主機253的ARP請求。在該示例中,ARP請求被作為廣播發(fā)送,因為主機153不知道主機253的MAC地址。
[0032]交換機152利用交換機152的源指示和被標記為洪泛的目的地來對ARP請求廣播進行MAC封裝。任何諸如交換機151之類的中間交換機接收廣播幀,并且將其中繼給端點。
[0033]路由器110最終接收該廣播幀。響應(yīng)于接收該幀,路由器110通過將交換機152的交換機ID添加到其轉(zhuǎn)發(fā)表(例如,圖1中的表113)來學(xué)習(xí)交換機152,并且將交換機152的交換機ID通知給其三層對等方(例如,路由器210,以及其他沒有示出的對等方)。另外,路由器110還將ARP請求分組發(fā)送至其OTV對等方。
[0034]路由器210然后通過三層(layer-3)從路由器110接收廣播。所述幀仍具有含有交換機152的源和廣播目的地的外部MAC報頭。路由器210貫穿數(shù)據(jù)中心250,通過核心交換機251將該幀中繼至邊緣交換機252。
[0035]交換機252接收該廣播,移除外部MAC封裝,并且將ARP請求遞送至主機253。在一些實施例中,與會話學(xué)習(xí)更嚴格的觀點一致,交換機252此時將不會安排綁定(交換機152、主機153),因為流量不是明確去往主機253的。但是其他實施例可以依據(jù)會話學(xué)習(xí)的具體規(guī)則安排綁定。
[0036]主機253然后采用單播幀對主機153進行ARP應(yīng)答。交換機252接收該ARP應(yīng)答,并且將該ARP應(yīng)答封裝至二層洪泛樹。在一些實施例中,交換機252此時通過將其MAC地址和交換機ID添加至其表中來學(xué)習(xí)主機153 (如果交換機252在接收該廣播之后還沒有做這些)。交換機252使用該洪泛樹,因為此時主機153對于交換機252而言是一個未知的單播目的地。
[0037]該洪泛通過任意中間交換機(諸如交換機251)去往路由器210。路由器210通過將交換機252的交換機ID保存在其轉(zhuǎn)發(fā)表來學(xué)習(xí)交換機252,并且將交換機252通知給其三層對等方。路由器210此時丟棄洪泛。
[0038]另外,路由器210監(jiān)聽來自交換機252的ARP應(yīng)答,并且將ARP應(yīng)答元組(主機253MAC,交換機252ID,主機253IP)通知給包括路由器110在內(nèi)的三層對等方。路由器110從路由器210接收ARP應(yīng)答通知,并且用三元組(主機253MAC,交換機252ID,主機253IP)來填充其ARP緩存。
[0039]主機153處的ARP過程隨后針對主機253進行重試(例如,依照TCP協(xié)議),并且再次發(fā)送ARP請求。ARP請求被路由器110攔截,路由器110將ARP應(yīng)答發(fā)送回主機153。路由器110通過用外部源地址(SA)=交換機252,外部目的地地址(DA)=交換機152,內(nèi)部SA =主機253MAC,以及內(nèi)部DA =主機153MAC對數(shù)據(jù)進行MAC封裝來生成幀。
[0040]交換機152依照二層會話學(xué)習(xí)規(guī)則,接收經(jīng)封裝的ARP應(yīng)答,對所述幀進行拆封,并且安排其轉(zhuǎn)發(fā)表示出主機235MAC可經(jīng)由交換機252獲得。
[0041]主機153然后將單播幀發(fā)送給主機253,其中,所述單播幀不是ARP請求或應(yīng)答。所述單播幀具有包括源主機MAC地址和目的地主機MAC地址的MAC封裝。交換機152然后用外部DA =交換機252和外部SA =交換機152對該幀進行封裝。這是MAC-1n-MAC封裝,其中,內(nèi)部MAC地址是源主機地址和目的地主機地址,外部MAC地址是源交換機ID和目的地交換機ID。
[0042]經(jīng)封裝的幀到達路由器110,并且現(xiàn)在被三層封裝到路由器210。在該示例中,二層幀封裝(上述MAC-1n-MAC封裝)保持不變。路由器210接收經(jīng)封裝的幀,移除三層報頭,并且依照二層封裝報頭將該幀轉(zhuǎn)發(fā)至交換機252。此時,MAC-1n-MAC封裝仍被保留。
[0043]交換機252接收該幀,然后移除指代交換機ID的外部二層封裝,并且將該幀遞送至主機253?;诙臃庋b的MAC-1n-MAC報頭內(nèi)容,交換機252現(xiàn)在將在其轉(zhuǎn)發(fā)表中將主機153安排為可經(jīng)由交換機152到達。與早前發(fā)送至主機253的洪泛幀相比,該單播幀的接收使得交換機252依照二層會話學(xué)習(xí)的規(guī)則更新其轉(zhuǎn)發(fā)表,因為所接收的分組被具體導(dǎo)向到被本地連接至交換機252的主機253。
[0044]根據(jù)圖2的示例,兩個或更多個二層域可以通過使得路由器在其轉(zhuǎn)發(fā)表中僅學(xué)習(xí)交換機ID并對代理-ARP功能進行平衡來限制不同網(wǎng)絡(luò)間的廣播和未知的單播洪泛,來使用路由器(諸如,路由器110、210)進行互連。該實施例將會話學(xué)習(xí)(例如,F(xiàn)abricPath?技術(shù)中的會話學(xué)習(xí))的優(yōu)點擴展超出了單個二層網(wǎng)絡(luò)的范圍。該實施例還通過限制三層轉(zhuǎn)發(fā)表中的信息量解決了三層路由器的可擴縮性限制,從而避免了三層路由器穿過大量域?qū)W習(xí)所有二層主機的傳統(tǒng)場景。
[0045]上述的示例行為僅示出了路由器110、210填充ARP緩存并響應(yīng)ARP請求的一種方式。在另一個示例中,路由器I1終止了來自數(shù)據(jù)中心150內(nèi)的所有ARP請求。在接收到來自主機153的解析主機253地址的ARP請求后,路由器1101)將交換機152添加至其轉(zhuǎn)發(fā)表,2)將交換機152轉(zhuǎn)發(fā)表條目通知給路由器210,3)將三元組(主機153MAC,交換機152ID,主機153IP)緩存在其ARP緩存中,4)將該三元組通知給路由器210,并且5)丟棄洪泛。
[0046]假設(shè)路由器210以同樣的方式運行,在一段時間后,由于正常操作,路由器210將把交換機252添加到其轉(zhuǎn)發(fā)表中,學(xué)習(xí)三元組(主機253MAC,交換機252ID,主機253IP),并且將轉(zhuǎn)發(fā)表條目和ARP緩存三元組二者通知給路由器110。這樣,來自主機153的針對主機253的后續(xù)ARP請求將由路由器110基于路由器110的ARP緩存中的條目進行答復(fù)。這樣的示例實施例削減了二層域之間的所有或幾乎所有的洪泛。
[0047]因此,上述的兩個示例實施例提供了一種ARP應(yīng)答被緩存的技術(shù),并且提供了一種ARP請求被緩存的技術(shù)。其他實施例可以以任意合適的方式填充ARP緩存,丟棄或傳遞ARP請求洪泛,并且答復(fù)ARP請求。
[0048]圖3是根據(jù)實施例的示例方法300的圖解。方法300可以由諸如,圖2的路由器110的路由器執(zhí)行。具體地,在一些實施例中,方法300由路由器處的硬件和/或由路由器處的處理器上執(zhí)行的一個或多個軟件過程執(zhí)行。除了傳統(tǒng)的二層和三層功能外,可以實現(xiàn)方法300中描述的功能。
[0049]在框310中,路由器建立地址解析緩存。在該示例中,地址解析緩存包括多個條目,并且每個條目包括主機的硬件地址(例如,MAC地址)、主機的網(wǎng)絡(luò)地址(例如,IP地址)、以及與主機相關(guān)聯(lián)的交換機的交換機ID (例如,交換機的MAC地址)。
[0050]如以上解釋的,各種實施例可以以任意合適的方式填充地址解析緩存。一個示例實施例對發(fā)送ARP請求的本地主機的地址信息進行緩存。另一個示例實施例對包含在地址解析應(yīng)答中的信息進行緩存。在一些實施例中,路由器通知新的緩存條目,以使其他二層域中的路由器可以利用所通知的信息來填充其緩存。在框310中可以使用任何合適的技術(shù)來填充地址解析緩存。
[0051]在框320中,路由器攔截其本地二層數(shù)據(jù)中心內(nèi)的地址解析洪泛。該地址解析洪泛為遠程二層數(shù)據(jù)中心中的主機尋求解析地址。在一個示例中,本地二層數(shù)據(jù)中心中的主機發(fā)送ARP請求作為該數(shù)據(jù)中心內(nèi)的洪泛。路由器接收該洪泛并且在其地址解析緩存中對將滿足該請求的數(shù)據(jù)進行查核。
[0052]在框330中,路由器生成對地址解析洪泛的響應(yīng)。在該示例中,路由器在其地址解析緩存內(nèi)進行查核,并且識別地址解析緩存中滿足該洪泛中承載的地址解析請求的數(shù)據(jù)。
[0053]然后,路由器使用來自緩存的信息生成地址解析響應(yīng)。這樣,路由器模擬遠程二層數(shù)據(jù)中心中的源。所述響應(yīng)可以采用二層幀的形式,所述二層幀具有這樣的報頭數(shù)據(jù),該報頭數(shù)據(jù)指示與所請求的主機相同的源主機以及支持所請求的主機的邊緣交換機的源交換機ID。因此,即使該幀由本地路由器生成,該幀看起來也是由遠程主機生成的,該遠程主機是地址解析請求的目標。
[0054]實施例的范圍不局限于圖3中所示的具體方法。例如,各種實施例可以添加、刪除、重新安排、或修改一個或多個動作。例如,如果附加的地址被請求解析,那么各種實施例可以多次執(zhí)行方法300。在一些實施例中,路由器可以響應(yīng)于解析所請求的地址或簡單地學(xué)習(xí)發(fā)送端的地址然后丟棄該請求,在本地終止洪泛。在其他實施例中,本地路由器可以通過三層中繼其不能在本地滿足的那些地址解析請求。
[0055]圖4是根據(jù)實施例的示例方法400的圖解。方法400可以由諸如,圖2的路由器110的路由器執(zhí)行。具體地,在一些實施例中,方法400由路由器處的硬件和/或由路由器處的處理器上執(zhí)行的一個或多個軟件過程執(zhí)行。除了傳統(tǒng)的二層和三層功能外,可以實現(xiàn)方法400中描述的功能。
[0056]在框410中,路由器通過檢查流量來建立交換機ID的轉(zhuǎn)發(fā)列表。路由器可以捕獲(sniff)地址解析應(yīng)答、地址解析請求、數(shù)據(jù)分組、和/或該路由器接收到的其他通信。在一些示例中,路由器在硬件存儲器中(例如,諸如在ASIC中)建立并維護交換機ID的列表,盡管各種實施例可以在任何合適的存儲器設(shè)備中維護交換機ID的列表。
[0057]在框420中,路由器將交換機ID通知給遠程數(shù)據(jù)中心中的其他三層路由器。所述其他三層路由器也可以將數(shù)據(jù)保存在它們的轉(zhuǎn)發(fā)表中。
[0058]在框430中,路由器訪問其轉(zhuǎn)發(fā)表中的至少一個交換機標識符,以通過三層網(wǎng)絡(luò)將幀從其本地數(shù)據(jù)中心發(fā)送至遠程數(shù)據(jù)中心。因而,路由器使用其轉(zhuǎn)發(fā)表來將幀轉(zhuǎn)發(fā)至遠程交換機。在該示例中,路由器接收經(jīng)MAC-1n-MAC封裝的幀,其中,內(nèi)部MAC封裝包括源主機MAC地址和目的地主機MAC地址,并且外部MAC封裝包括源交換機ID和目的地交換機ID。MAC-1n-MAC封裝被保存在路由器處,該路由器將附加的三層報頭放置在該幀上,并且將該幀作為三層分組轉(zhuǎn)發(fā)至接收路由器。盡管不是方法400的一部分,但是應(yīng)該注意的是,MAC-1n-MAC封裝被保留,直到該幀到達目的地交換機為止。
[0059]方法400可以通過修改傳統(tǒng)的OTV路由器來實現(xiàn),或者可以通過使用任意的為本地二層數(shù)據(jù)中心服務(wù)的三層路由器實現(xiàn)。換句話說,盡管方法400的實施例可以采用源學(xué)習(xí)和通知,但是各種實施例可以或者可以不建立在OTV上。
[0060]方法300和400可以一起被實現(xiàn),以使三層路由器比傳統(tǒng)路由器更有效。例如,不是在轉(zhuǎn)發(fā)表中存儲主機地址,方法400存儲交換機ID。在大多數(shù)實例中,交換機ID的數(shù)目將比主機的數(shù)目少,因而通??梢哉J為存儲交換機ID更加具有空間有效性。然而,主機地址仍然被路由器存儲,但是這些地址被存儲在作為地址解析緩存的較便宜的存儲器中。
[0061]因而,各種實施例通過將主機地址移至軟件存儲設(shè)備來更加有效地使用路由器存儲器。但是這樣的改變不會犧牲會話學(xué)習(xí)或二次域的隔離的優(yōu)點。如上述示例中所示,會話學(xué)習(xí)可以用來填充地址解析緩存,并且各種二次域仍可以彼此隔離。
[0062]當(dāng)經(jīng)由計算機可執(zhí)行指令實現(xiàn)本公開的實施例的各種元件時,這些元件實際上是定義這些各種元件的操作的軟件代碼。這些可執(zhí)行指令或軟件代碼可以從有形可讀介質(zhì)(例如,硬驅(qū)動媒體、光學(xué)媒體、RAM、EPR0M、EEPR0M、磁帶媒體、盒(cartridge)媒體、閃速存儲器、ROM、記憶棒、網(wǎng)絡(luò)存儲設(shè)備,等等)中獲得。實際上,可讀媒體可以包括任何可以存儲信息的介質(zhì)。
[0063]計算機可執(zhí)行指令可以由處理器來執(zhí)行,該處理器可以包括通用中央處理器(CPU)、專用CPU(例如,數(shù)字信號處理器)、現(xiàn)場可編程門陣列(FPGA)、ASIC等。事實上,本領(lǐng)域技術(shù)人員可以使用能夠根據(jù)本公開的實施例執(zhí)行邏輯操作的任意數(shù)目的合適結(jié)構(gòu)。
[0064]應(yīng)當(dāng)明白,可以利用所附權(quán)利要求的精神和范圍內(nèi)的修改和替換來實施本發(fā)明。本說明書不是詳盡無遺的,也不用來將本發(fā)明限制到所公開的精確形式。應(yīng)當(dāng)明白,本發(fā)明可以通過修改和替換來實施,并且本發(fā)明只能由權(quán)利要求及其等同來限定。
【權(quán)利要求】
1.一種方法,包括: 為第一二層數(shù)據(jù)中心中的三層路由器建立地址解析緩存,其中,所述地址解析緩存包括多個條目,所述條目中的每個條目包含主機網(wǎng)絡(luò)地址、主機硬件地址、以及為主機服務(wù)的交換機的交換機標識符; 在所述第一二層數(shù)據(jù)中心內(nèi)攔截地址解析洪泛,所述地址解析洪泛為第二二層數(shù)據(jù)中心中的主機尋求地址解析;以及 生成對所述地址解析洪泛的響應(yīng),該響應(yīng)指示所述第二二層數(shù)據(jù)中心中的源,其中,指示所述第二二層數(shù)據(jù)中心中的源的數(shù)據(jù)是從所述地址解析緩存中獲取的。
2.如權(quán)利要求1所述的方法,還包括: 在所述三層路由器中實現(xiàn)交換機標識符列表的表格;以及 訪問所述交換機標識符中的至少一個,以通過三層網(wǎng)絡(luò)將幀從所述第一二層數(shù)據(jù)中心中的第一交換機發(fā)送至所述第二二層數(shù)據(jù)中心中的第二交換機。
3.如權(quán)利要求2所述的方法,還包括: 通過在所述三層路由器處檢查用于所述交換機標識符的流量,建立所述交換機識別符列表;以及 將所述交換機標識符通知給所述第二二層數(shù)據(jù)中心中的三層路由器。
4.如權(quán)利要求1所述的方法,其中,所述三層路由器包括覆蓋傳輸虛擬化(OTV)路由器。
5.如權(quán)利要求1所述的方法,其中,所述硬件地址包括MAC地址。
6.如權(quán)利要求1所述的方法,其中,所述網(wǎng)絡(luò)地址包括IP地址。
7.如權(quán)利要求1所述的方法,還包括: 將所述地址解析緩存通知給所述第二二層數(shù)據(jù)中心中的三層路由器。
8.如權(quán)利要求1所述的方法,其中,建立所述地址解析緩存包括: 響應(yīng)于在所述三層路由器處從沒有被包括在所述地址解析緩存中的源主機接收到地址解析請求,緩存所述源主機的硬件地址、網(wǎng)絡(luò)地址、以及交換機ID ;以及緩存由所述第二二層數(shù)據(jù)中心中的三層路由器通知的地址解析數(shù)據(jù)。
9.如權(quán)利要求1所述的方法,其中,建立所述地址解析緩存包括: 緩存來自地址解析響應(yīng)的數(shù)據(jù),其中,所述地址解析響應(yīng)是從所述第二二層數(shù)據(jù)中心接收的。
10.一種方法,包括: 通過第一二層域中的三層路由器檢查所述三層路由器處的用于交換機硬件地址的流量; 在所述三層路由器中實現(xiàn)交換機硬件地址列表的表格;以及 訪問所述交換機硬件地址中的至少一個,以通過三層網(wǎng)絡(luò)將幀從所述第一二層域中的第一交換機發(fā)送至第二二層域中的第二交換機。
11.如權(quán)利要求10所述的方法,還包括: 將所述交換機硬件地址通知給所述第二二層域中的三層路由器。
12.如權(quán)利要求10所述的方法,其中,實現(xiàn)所述表格包括: 將所述交換機硬件地址列表存儲在轉(zhuǎn)發(fā)表存儲器中。
13.如權(quán)利要求12所述的方法,其中,所述轉(zhuǎn)發(fā)表存儲器被實現(xiàn)在專用集成電路(ASIC)中。
14.如權(quán)利要求10所述的方法,還包括: 從所述第二二層域中的三層路由器接收其他交換機硬件地址的通知;以及 將所述其他交換機硬件地址保存在所述交換機硬件地址列表中。
15.如權(quán)利要求10所述的方法,還包括: 為所述三層路由器建立地址解析緩存,其中,所述地址解析緩存包括多個條目,所述條目中的每個條目包含主機網(wǎng)絡(luò)地址、主機硬件地址、以及為主機服務(wù)的交換機的交換機標識符,其中,所述地址解析緩存被建立在與存儲所述交換機硬件地址列表的存儲器不同的存儲器中。
16.如權(quán)利要求10所述的方法,其中,所述表格不包括主機硬件地址。
17.—種方法,包括: 通過二層域中的三層路由器從所述二層域中的源交換機接收幀,所述幀包括MAC-1n-MAC封裝,其中,內(nèi)部封裝包括源硬件地址和目的地硬件地址,并且外部封裝包括源交換機ID和目的地交 換機ID ;以及 通過將三層報頭添加至所述幀并且保存其MAC-1n-MAC封裝來通過三層域?qū)⑺鰩酚芍恋诙佑颉?br>
18.如權(quán)利要求17所述的方法,還包括: 為所述三層路由器建立地址解析緩存,其中,所述地址解析緩存包括多個條目,所述條目中的每個條目包含主機網(wǎng)絡(luò)地址、主機硬件地址、以及為主機服務(wù)的交換機的交換機標識符,其中,所述地址解析緩存被建立在與存儲交換機硬件地址列表的存儲器不同的存儲器中。
19.如權(quán)利要求17所述的方法,還包括: 檢查所述幀;以及 將所述源交換機ID和所述目的地交換機ID中的至少一個添加至存儲交換機硬件地址列表的存儲器中。
20.如權(quán)利要求19所述的方法,其中,所述交換機硬件地址列表被作為在專用集成電路(ASIC)中實現(xiàn)的轉(zhuǎn)發(fā)表來存儲。
【文檔編號】G06F15/16GK104040527SQ201380005373
【公開日】2014年9月10日 申請日期:2013年1月10日 優(yōu)先權(quán)日:2012年1月12日
【發(fā)明者】維克托·莫瑞諾, 德哈南杰伊·饒, 桑杰伊·塞恩, 塞米爾·蒙謝特, 哈斯米特·格羅福爾 申請人:思科技術(shù)公司