漸進式mac地址學習的制作方法
【專利說明】漸進式MAC地址學習
[0001]相關申請
[0002]本申請主張下述申請的權益:發(fā)明人Suresh Vobbilisetty、MythilikanthRaman、Phanidhar Kogant1、Raju Shekarappa、Mahesh K.Pujara 和 Pankaj K.Jha于2014年8月11日提交的、代理人案號為BRCD-3320.0.l.US.PSP、名稱為“會話式MAC學習(Conversat1nal MAC Leaning) ”的第62/035,901號美國臨時專利申請,以及發(fā)明人為 Suresh Vobbilisetty、Mythilikanth Raman、Phan idhar Kogant1、RajuShekarappa、Mahesh K.Pujara 和 Pankaj K.Jha 于 2014 年 8 月 26 日提交的、代理人案號為BRCD-3320.0.2.US.PSP、名稱為“會話式MAC學習(Conversat1nal MAC Leaning) ”的第62/042,076號美國臨時專利申請的優(yōu)先權,這些申請的公開內容通過引用的方式并入本文中。
[0003]本發(fā)明涉及發(fā)明人Suresh Vobbilisetty 和 Dilip Chatwani 于 2014 年 10 月 21日提交的、代理人案號為BRCD-3008.1.US.NP、名稱為“虛擬集群交換(Virtual ClusterSwitching) ” 的第 8, 867, 552 號美國專利,以及發(fā)明人 Suresh Vobbilisetty、Phan idharKoganti 和 Jesse B.Willeke 于 2011 年 4 月 22 日提交的、代理人案號為 BRCD-3015.1.US.NP、名稱為“用于虛擬集群交換的名稱服務(Name Services for Virtual ClusterSwitching) ”的第13/092,752號美國專利申請,這些專利公開的內容以引用的方式并入本文中。
技術領域
[0004]本發(fā)明涉及通信網絡。具體來說,本發(fā)明涉及用于有效的介質訪問控制(MediaAccess Control, MAC)地址學習的系統和方法。
【背景技術】
[0005]互聯網的指數增長已經使其成為運行在物理和虛擬裝置上的各自應用的受歡迎的傳遞媒介。這些應用帶來了對帶寬需求的不斷增加。因此,設備供應商爭相建立具有例如網絡虛擬化和多租賃的等多種功能的更大、更快的交換機,以有效地適應多樣化的網絡要求。然而,交換機的尺寸不能無限增長。它受到物理空間、功耗和設計復雜度等因素的限制。此外,性能更高的交換機通常更復雜,并且更昂貴。更重要的是,因為過于龐大和過于復雜的系統常常不能產生規(guī)模經濟,因此,由于增加的每端口成本,簡單地增加交換機的尺寸和性能可能會被證明在經濟上是不可行的。
[0006]提高交換機系統的可擴展性的一個靈活方式是,建立架構(Fabric)交換機。架構交換機是各個成員交換機的集合。這些成員交換機形成單一邏輯交換機,該單一邏輯交換機具有任何數量端口和任何拓撲結構。隨著需求的增長,客戶可以采用“按需購買”的方式擴展架構交換機的性能。
[0007]同時,第二層(Layer-2)和第三層(Layer-3)(例如,分別為以太網協議和互聯網協議(IP))交換技術不斷發(fā)展。IP促進了廣域網(WAN)中的路由和端到端的數據傳輸,同時為無錯通信提供安全保障。在另一方面,更多的路由類似功能迀移到第二層中。尤其是多鏈接透明互聯(Transparent Interconnect1n of Lots of Links,TRILL)協議的最新發(fā)展,允許以太網交換機具有更像路由設備的功能。TRILL克服了傳統生成樹協議固有的低效率,其迫使第二層交換機連接在邏輯擴充樹拓撲結構中,從而避免生成環(huán)路。通過在交換機中執(zhí)行路由功能并且在TRILL首部包括跳躍計數,TRILL允許路由橋(Routing Bridge,RBridge)連接在任何拓撲結構中而沒有生成環(huán)路的風險。
[0008]隨著互聯網流量變得更加多樣化,網絡虛擬化作為網絡架構師的價值定位,正在逐步變得越來越重要。此外,虛擬計算的演變已經使得多租賃有吸引力,并因此對網絡有了額外的需求。例如,交換機可連接大量的虛擬服務器,并且學習虛擬服務器的虛擬MAC地址。網絡基礎設施能為大量終端設備提供可擴展的MAC地址管理,這通常是很有必要的。
[0009]雖然當前的網絡支持許多所需的特性,但是在有效地促進可擴展MAC地址學習方面,一些問題仍然未得到解決。
【發(fā)明內容】
[0010]本發(fā)明的一個實施例提供了一種在互連交換機的網絡中的交換機。所述交換機包括存儲設備、硬件管理裝置和第二層管理裝置。所述存儲設備存儲轉發(fā)表,該轉發(fā)表包括包含介質訪問控制(Media Access Control,MAC)地址和該MAC地址的出站端口的條目。所述硬件管理裝置判斷幀的目標MAC地址是否出現在所述交換機的存儲器中的硬件表中。響應于所述目標MAC地址沒有出現在所述硬件表中的判斷,所述第二層管理裝置在所述轉發(fā)表中查找包含所述目標MAC地址的第一條目,并且基于所述第一條目在所述硬件表中創(chuàng)建包含所述目標MAC地址的第二條目。
[0011]在本實施例的一個變形例中,所述交換機還包括學習管理裝置,其從本地邊緣端口學習第一 MAC地址。接著,所述第二層管理裝置分別在所述轉發(fā)表和所述硬件表中創(chuàng)建包含所述學習的MAC地址的各自的條目。
[0012]在本實施例的一個變形例中,所述交換機還包括學習管理裝置,其從通知報文的有效負載中提取在第二交換機的端口學習的遠程MAC地址。接著,所述第二層管理裝置在所述轉發(fā)表中創(chuàng)建包含所述遠程MAC地址的條目。
[0013]在本實施例的一個變形例中,響應于所述MAC地址出現在所述硬件表中的判斷,所述第二層管理裝置從所述硬件表中的包含所述目標MAC地址的條目中識別所述幀的出站端口。
[0014]在本實施例的一個變形例中,如果已經通過在所述交換機的第一芯片中的第一端口接收到所述幀,那么阻止所述第二層管理裝置在所述交換機的第二芯片的硬件表中創(chuàng)建包含所述目標MAC地址的條目。
[0015]在本實施例的一個變形例中,所述第二層管理裝置清除所述第二條目,以對識別到所述目標MAC地址老化事件做出響應。
[0016]在還有的變形例中,所述第二層管理裝置清除所述第一條目,以對識別到在通知報文中的遠程交換機老化事件做出響應。在所述遠程交換機的端口已經學習了所述目標MAC地址。
[0017]在本實施例的一個變形例中,所述交換機和遠程交換機參與到虛擬鏈路聚合組中,該虛擬鏈路聚合組連接終端設備與所述交換機和所述遠程交換機連接。
[0018]在本實施例的一個變形例中,響應于對所述查找失敗的判斷,所述第二層管理裝置將所述幀洪泛到所述網絡中。
[0019]在本實施例的一個變形例中,所述網絡是以單個以太網交換機的形式運作的交換機組。所述網絡的各個交換機與標識所述交換機組的組標識符相關聯。
【附圖說明】
[0020]圖1A為根據本發(fā)明的一個實施例的、支持漸進式MAC地址學習的網絡的示意圖;[0021 ]圖1B為根據本發(fā)明的一個實施例的、用于支持漸進式MAC地址學習的轉發(fā)表和硬件表的不意圖;
[0022]圖1C為根據本發(fā)明的一個實施例的、在交換機硬件中的漸進式MAC地址學習的示意圖;
[0023]圖2A為根據本發(fā)明的一個實施例的、基于地址解析協議(Address Resolut1nProtocol, ARP)請求的漸進式MAC地址學習過程的示意圖;
[0024]圖2B為根據本發(fā)明的一個實施例的、基于來自終端設備的初始通信的漸進式MAC地址學習過程的示意圖;
[0025]圖3A為根據本發(fā)明的一個實施例的、交換機通過本地邊緣端口學習漸進式MAC地址的過程的流程示意圖;
[0026]圖3B為根據本發(fā)明的一個實施例的、交換機從通知信息學習漸進式MAC地址的過程的流程示意圖;
[0027]圖3C為根據本發(fā)明的一個實施例的、交換機對學習的MAC地址超時的過程的流程示意圖;
[0028]圖4為根據本發(fā)明的一個實施例的、交換機根據學習的漸進式MAC地址轉發(fā)包的過程的流程示意圖;
[0029]圖5A為根據本發(fā)明的一個實施例的、支持漸進式MAC地址學習的示例性虛擬鏈路聚合組的示意圖;
[0030]圖5B為根據本發(fā)明的一個實施例的、用于支持漸進式MAC地址學習的虛擬鏈路聚合組的示例性高可用性的示意圖;
[0031]圖6為根據本發(fā)明的一個實施例的、支持漸進式MAC地址學習的示例性交換機的示意圖。
[0032]附圖中相同或相似的附圖標記代表相同或相似的部件。
【具體實施方式】
[0033]提出的以下說明,是為了本領域技術人員能夠制造和使用本發(fā)明,并且針對的是特定應用及其需求。對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,可以顯而易見地對所公開的實施例做出若干變形和改進,并可以將本文限定的一般原則應用到其他實施例和應用中。因此,本發(fā)明不限于所示的實施例,其保護范圍應以所附權利要求為準。
[0034]概述
[0035]在本發(fā)明的實施例中,通過只將交換機中當前使用的MAC地址加入到交換機的硬件表中,解決了促進了可擴展的MAC地址學習的問題。采用現有技術,終端設備可以作為帶有多個虛擬機的主機運行,每個虛擬機可能具有多個MAC地址。因此,連接大量服務器的交換機可能需要學習大量MAC地址。此外,在其成員交換機中共享學習的MAC地址的網絡中,如架構交換機,各個交換機學習各自的MAC地址的負擔是很明顯的。這可以成為擴大這樣的網絡的規(guī)模的瓶頸。
[0036]為了解決這個問題,本發(fā)明的實施例允許網絡中的交換機識別對話的MAC地址(即,用在有效通信中的MAC地址)。該交換機可以通過本地邊緣端口,或者從來自遠程交換機(例如,在架構交換機中)的通知報文的有效負載,學習MAC地址。該交換機在轉發(fā)表(例如,軟件表)中創(chuàng)建包含各個學習的MAC地址和相應的出站端口標識符的條目。如果該交換機識別到遠程學習的MAC地址為目標MAC地址,那么該交換機將認為該MAC地址是對話的MAC地址。該交換機還將本地學習的MAC地址認為是對話的MAC地址,因為它已經從那個MAC地址接收到至少一個包。
[0037]接著,交換機將包含對話的MAC地址的條目從轉發(fā)表加入到本地硬件表(例如,在內容可尋址存儲器(Content Addressable Memory,CAM)中的精確匹配(Exact Match,EXM)表)中。因此,該硬件表只包括當前用在與該交換機的有效通信中的MAC地址。通過這種方式,該交換機將它有限的硬件表資源用于當前使用的MAC地址,從而使得該交換機可以支持大量的有效通信并且擴大網絡的規(guī)模。
[0038]在一些實施例中,該網絡是架構交換機。在架構交換機中,連接在任何拓撲結構中的任何數量的交換機可以邏輯地以單個交換機的形式運作。該架構交換機可以是以太網架構交換機或虛擬集群交換機(Virtual Cluster Switch,VCS),其可以以單個以太網交換機的形式運作。任何數量的交換機可以以“即插即用”的模式加入或離開架構交換機,而無需手動配置。在