天天看點

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

本節書摘來自異步社群《nx-os與cisco nexus交換技術:下一代資料中心架構(第2版)》一書中的第2章,第2.8節,作者 【美】ron fuller, ccie#5851 , david jansen, ccie #5952 , matthew mcpherson,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

nx-os與cisco nexus交換技術:下一代資料中心架構(第2版)

從曆史角度來看,由于網絡管理者通常都基于生成樹的限制、硬體mac位址表以及二層泛洪特性來設計網絡,因而二層網絡一般都不需要進階擴充能力,進而将二層網絡限制在較小的範圍内,并通過三層路由裝置将這些二層網絡互相隔離。網絡管理者在這些小型二層基礎設施周圍設定三層邊界之後,就可以依靠更具擴充性和彈性能力的路由協定來擴充他們的網絡。但是,随着hpc(high-performance computing,高性能計算)、虛拟化等領域的快速發展,人們對更加靈活的基礎設施的需求越來越迫切,使得大量組織機構開始重新關注二層技術。雖然vpc等新技術的出現有助于客戶建構更大的二層域,但是這些技術在本質上仍然依賴于生成樹。對于由生成樹建立的拓撲結構來說,鍊路翻動等局部問題可能會給整個網絡基礎設施帶來災難性的影響,而更具智能化的三層路由協定(如ospf和eigrp)可以容忍此類故障,并通過複雜的算法處理這類故障。為此,人們迫切需要一種更靈活的協定,将二層和三層最佳特性整合在一起,進而滿足上述網絡部署需求。

cisco fabricpath引入了一種全新的建構和營運二層網絡的實作方式。fabricpath允許網絡管理者建構大規模二層網絡,并解決了不同生成樹實作所帶來的各種挑戰。fabricpath采用的技術很容易了解,利用三層路由ip資料包的相關技術來攜帶二層可達性資訊,是以,網絡管理者不但能實作大型二層網絡的靈活性,而且還能實作大型三層網絡的彈性能力。

可以将cisco fabricpath劃分成兩類完全不同的操作領域:控制平面和資料平面。控制平面負責建構并傳播網絡中的裝置可達性資訊,而資料平面則負責通過fabricpath網絡進行資料包的封裝、解封裝以及轉發。

fabricpath控制平面利用is-is(intermediate system-to-intermediate system,中間系統到中間系統)來代替生成樹。由于is-is是一種多區域(層級)路由協定,不依賴于ip,而且可以通過自定義的tlv實作輕松擴充,因而is-is能夠在二層很好地交換路由資訊。fabricpath的控制平面功能可以分成兩大主要部分:首先,fabricpath域由大量必須進行唯一辨別的交換機組成,也可以由大量用于隔離不同類型流量的邏輯拓撲結構組成。fabricpath提供的drap(dynamic resource allocation protocol,動态資源配置設定協定)可以為交換機自動配置設定一個唯一的12位sid(switch-id,交換機id),該協定建構在is-is鄰接關系之上,其中,is-is鄰接關系是在接口首次連接配接到其他fabricpath交換機時建立的。此外,網絡管理者也可以靜态配置sid。接下來利用fabricpath的is-is鄰接關系來交換用于填充u2rib(unicast layer 2 routing information base,單點傳播二層路由資訊庫)的路由資訊,通過最短路徑計算機制來确定去往目的端的最優路徑或其他路徑。fabricpath is-is将選擇開銷最小的路徑(包括等價路徑,最多16條)。

對于多目的端流量(如廣播、多點傳播或未知單點傳播)來說,fabricpath is-is會建立多目的地樹(multidestination tree)。這些多目的地樹是通過根選舉程序自動建立的。其中,根選舉程序就是基于優先級、系統id和交換機id将某台交換機選舉為根交換機。接下來再由根交換機為多目的地樹配置設定ftag(fabric path topology identifier,交換矩陣路徑拓撲結構辨別符)。

fabricpath資料平面負責在fabricpath網絡中封裝、解封裝及轉發資料包。fabricpath采取了mac-in-mac封裝技術。該封裝技術在現有的l2資料幀上增加了16位元組報頭,由該報頭訓示資料幀如何通過交換矩陣進行轉發。fabricpath報頭資訊如圖2-8所示。

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

從表面上來看,fabricpath報頭就像一個簡單的包含了源位址和目的位址的另一個二層報頭,但是這些位址并不是正常意義上的mac位址。oda(outer destination address,外層目的位址)報頭包含了該資料幀去往某個sid的特殊資訊以及端口資訊。此外,fp标簽包含了fabricpath ftag,指定了該資料幀将要被交換到的拓撲結構。

如前所述,fabricpath實作了ttl(time-to-live,生存期)字段,進而利用了傳統的三層技術。fabricpath裝置每次在交換資料幀的時候,都要遞減ttl,當ttl遞減至零後就會丢棄該資料幀,進而防止資料包出現無限循環并産生風暴。

fabricpath技術包含了兩類主要接口:fabricpath邊緣端口和fabricpath核心端口。顧名思義,fabricpath邊緣端口表示fabricpath網絡的邊緣。fabricpath邊緣端口是通過ce(classic ethernet,傳統以太網)連接配接主機或其他交換機的地方,這些端口進行傳統的mac位址學習,并以标準的以太網報頭轉發資料幀。fabricpath核心端口是建立fabricpath is-is鄰接關系的地方,所有資料幀都必須封裝在fabricpath報頭中進行轉發。根據這些接口類型,可以将攜帶流量穿越交換矩陣的交換機定義為三種角色。

首先,入站fabricpath交換機在所連接配接的邊緣端口上收到資料幀。入站fabricpath交換機不但要執行mac表查找操作以确定宣告了該目的mac位址可達性的sid,而且還要确定轉發該資料幀的接口。然後入站fabricpath交換機再據此轉發該資料幀。其次,核心fabricpath交換機在fabricpath核心端口上收到資料幀并基于fabricpath報頭中的sid來确定下一跳接口,然後核心fabricpath交換機再據此轉發資料幀。最後,出站fabricpath交換機在fabricpath核心端口上收到這些資料幀并檢查fabricpath報頭,發現是目的sid之後,就通過lid(local identifier,本地辨別符)字段來确定應該将該資料幀轉發到哪個fabricpath邊緣端口上。然後出站fabricpath交換機會删除fabricpath報頭并将該資料幀轉發到相應的ce端口。有時也将入站fabricpath交換機和出站fabricpath交換機稱為二層網關。

利用這些已定義的功能,通過會話式學習機制可以優化mac位址的學習過程。在傳統的以太網實作中,每台交換機都要無條件地根據資料幀的源位址填充其mac位址表(即使該交換機僅僅是一台轉接交換機),這樣會消耗大量寶貴的交換機資源。而對于fabricpath技術來說,隻有fabricpath邊緣端口需要進行傳統的mac位址學習,fabricpath核心交換機無需學習任何mac位址,即使在fabricpath邊緣,也隻是無條件地學習本地mac位址,fabricpath邊緣交換機僅學習目的mac位址已經位于其本地mac位址表中的源mac位址。

在nexus 7000上啟用fabricpath必須滿足以下條件:

必須安裝增強型二層許可證;

必須為所有fabricpath接口使用f1、f2或f2e線卡。

配置fabricpath的第一步就是啟用相應的功能特性集(如例2-73所示)。

例2-73 啟用fabricpath功能特性集

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

滿足以上條件并啟用了fabricpath功能特性集之後,就可以開始進行與fabricpath相關的配置任務了。後面将以圖2-9所示的拓撲結構為例來解釋fabricpath的配置過程。

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

如前所述,雖然fabricpath is-is可以為交換機自動配置設定唯一的交換機id,但交換機id通常都是由網絡管理者進行靜态配置設定的。由于交換機id是一個12位辨別符,因而網絡管理者可以在4094個唯一的交換機id中進行選擇。交換機id的配置方式如例2-74所示。

例2-74 配置交換機id

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

為本示例拓撲結構定義了交換機id之後,接下來就要定義通過該fabricpath網絡進行傳送的vlan。需要在每台交換機上定義vlan并将其配置為fabricpath vlan。例2-75給出了将一組vlan定義為fabricpath vlan的配置方式。

警告:vlan被設定為fabricpath模式之後,m系列線卡就無法再攜帶該vlan了。

例2-75 将vlan配置為fabricpath模式

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

定義了交換機id并将vlan配置為fabricpath模式後,就可以配置fabricpath接口并在這些接口之間建立fabricpath is-is鄰接關系了。對于需要建立fabricpath is-is鄰接關系的接口來說,必須使用指令switchport mode fabricpath。下面将以圖2-10所示拓撲結構為例來解釋相應的配置方法。

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

為了驗證fabricpath is-is鄰接關系的建立情況,可以使用指令show fabricpath isis adjacency(如例2-76所示)。

例2-76 驗證fabricpath鄰接關系

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

鄰接關系建立之後,就可以測試跨fabricpath網絡核心的連接配接性了(如例2-77所示)。

例2-77 測試跨fabricpath網絡核心的連接配接性

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

為了進一步了解fabricpath交換程序,有必要詳細分析其背景處理行為。首先,本地交換機會解析10.10.10.4的mac位址(如例2-78所示)。

例2-78 驗證arp解析

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

檢查mac位址表後會發現,此時提供的是fabricpath可達性資訊,而不是指向交換機的出站接口(如例2-79所示)。

例2-79 驗證mac位址表

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

從例2-79的輸出結果可以看出,對于去往0026.982e.b044的流量來說,将使用swid 4、ssid 0和lid 1054的資訊對資料幀進行fabricpath封裝。為了确定向外轉發該資料包的接口,可以檢視fabricpath路由表(如例2-80所示)。

例2-80 顯示fabricpath路由表

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

從例2-80的輸出結果可以看出,為了到達swid 4,将通過接口ethernet 2/7向外發送該流量。此後,所有的中間fabricpath交換機都要重複上述過程,直至資料幀到達swid 4,或者fabricpath報頭中的ttl被遞減至零。

fabricpath在設計之初就可以與其他二層技術(如vpc)實作互操作。vpc+是vpc擴充技術,可以将傳統以太網裝置連接配接到fabricpath網絡。vpc+不但允許fabricpath網絡将整個vpc域視為一台虛拟交換機,而且還允許傳統以太網裝置(如主機)或stp域通過fabricpath網絡進行通信。從stp的角度來看,部署了vpc+技術的fabricpath網絡就相當于一台二層網橋。

此外,為了建立活動/活動(雙活)模式的fhrp(first hop redundancy protocol,第一跳備援協定,如hsrp和glbp),vpc+還允許fabricpath節點聯合成一台虛拟交換機以運作在活動/活動模式下。有關這些協定的詳細資訊将在第3章進行讨論。

警告:必須記住以下與vpc+相關的要點:

vpc對等鍊路和所有vpc成員都必須位于f1、f2或f2e線卡上;

不建議在vpc+域配置中使用對等交換機;

應該以足夠低的stp優先級來配置vpc+,以確定其成為所連接配接的l2域的根網橋。

基于上述fabricpath拓撲結構以及所用的配置資訊,本節将以圖2-11為例解釋另一台通過vpc+連接配接到fabricpath網絡中的配置過程。

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

首先,必須按照本章前面的配置方式啟用vpc,步驟如下:

啟用vpc功能特性;

定義vpc域;

配置對等保持激活;

配置對等鍊路。

上述配置操作如例2-81所示。

例2-81 配置vpc域

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

由于port-channel 1運作在fabricpath模式下,因而必須完成vpc+配置之後才能啟用對等鍊路。例2-82給出了相應的差錯消息。

例2-82 vpc+配置未完成時的差錯消息

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

為了完成vpc+配置,必須在vpc+域的兩個成員上配置虛拟交換機id。該配置操作可以在vpc域配置模式下通過指令fabricpath switch-id來完成(如例2-83所示)。

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

完成vpc+域的配置且可以運作之後,就可以按照本章前面的描述來建立去往ce裝置的vpc。圖2-12給出了示例拓撲結構的相應配置資訊。

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

利用指令show vpc可以驗證vpc+的配置情況(如例2-85所示)。

例2-85 驗證vpc配置

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

将例2-85的輸出結果與前面(非vpc+)的輸出結果進行比較,可以發現一個新列,該列提供了vpc+的屬性資訊,包括哪台裝置是多點傳播指派轉發裝置(df:yes)以及該指定vpc的subswitch id(mac: 12.11.0)。此時,其他fabricpath裝置就能以swid 12和ssid 11的oda封裝資料幀,進而到達vpc所連接配接裝置的下遊裝置。

例2-86 位于vpc+所連接配接的交換機上的mac位址(如fabricpath邊緣裝置所示)

《NX-OS與Cisco Nexus交換技術:下一代資料中心架構(第2版)》一2.8 Cisco FabricPath

繼續閱讀