思科ACI是一種什么樣的技術?


術語:

SDN:Software Defined Network,軟件定義網絡

ACI:Application Centric Infrastracture,以應用為中心的基礎網絡架構

Fabric:ACI的交換矩陣,數據轉發平面,統常將整個ACI的基礎網絡架構,即整個網絡設備的集合就叫一個Fabric

APIC:Application Policy Infrastructure Controller,就是控制器,負責策略下發,控制層面

Spine:骨干節點,相當於核心交換機

Leaf:葉子節點,相當於接入層交換機

 

我們先來看一組數據:

2015年2月:Nexus 9000用戶1700,ACI用戶300+

Cisco's Nexus 9000, ACI customers grow

http://www.networkworld.com/article/2883169/cisco-subnet/ciscos-nexus-9000-aci-customers-grow.html

 

2015年9月:第1000個ACI用戶

Danske Bank: Our 1000th Cisco ACI Customer!

http://blogs.cisco.com/news/danske-bank-our-1000th-cisco-aci-customer

 

2015年10月:150+ 用戶將ACI部署於生產網絡,總共的ACI用戶在1000+

https://twitter.com/ciscodc/status/651434380460601344

 

2016年6月:ACI用戶1,800+

5 Reasons Customers Have Made ACI The Market Leader

Network World聲稱Cisco ACI技術是SDN部署方案的市場領導者,全球有1,800+用戶選擇ACI作為他們的SDN解決方案。

http://blogs.cisco.com/datacenter/5-reasons-aci

 

從以上幾組數據來看,思科ACI用戶的增長率超過每年100%,在全球的數據中心有着大量的部署,而從國內來看也很多的數據中心用戶已經或正在嘗試部署ACI來作為他們的SDN解決方案。SDN作為下一代的數據中心解決方案現在幾乎已經是共識,但是關於這方面的資料和技術細節國內的資料卻很少,所以開這個博客的目的主要是跟大家一起分享下這個技術的具體細節,嘗試盡量用大白話的,非技術語言的方式來說說ACI到底是一種什么樣的技術,歡迎大家一起來學習交流。

 

什么是SDN?

那么首先,什么是ACI? ACI是思科的SDN解決方案

什么又是SDN呢?我會先列出SDN的一些特點,然后逐條的用簡單的語言來描述它,來看看思科ACI是怎么實現SDN的這一系列特點的。

個人認為具備以下特點的網絡就可以稱之為SDN(Software Defined Network)網絡:

  • 集中化管理:網絡硬件設備可以集中式管理。怎么理解呢?想象一下在我們傳統的數據中心網絡中,設備的維護和管理是怎么進行的?我們可能有上百台的接入層交換機,有匯聚層、核心層交換機、出口路由器,分支機構互聯路由器、防火牆、IPS/IDS、負載均衡器等等。在傳統的網絡中,我們如果要配置某一台設備需要單獨登陸到每台設備上進行管理,如果要升級設備版本需要單獨每一台進行升級,配置備份需要單獨操作等等,總之在傳統的網絡中設備的管理是分散化的,是需要針對每一台進行操作的,而在SDN的技術實現中,我們只需要對一台設備,也就是所謂的控制器Controller進行配置,可以想象成整個數據中心的所有網絡設備組成了一台大的,虛擬的,統一管理的設備,而無論是對設備進行配置還是進行軟件升級都只在一台設備-控制器上進行,這就是所謂的集中化管理。
  • 控制層面、轉發層面分離:可以這么理解,對比傳統網絡來說,比如說一台路由器,控制層面就是協議層,比如OSPF路由協議,決定了我有哪些路由,可以去往哪些網絡,而數據層面呢就是具體根據路由協議下發到硬件中的表項,一個數據包從入接口進來,根據什么樣的策略,根據什么樣的表項,將要轉發到哪個接口出去。對於傳統網絡來說,控制層面和數據層面同時運行於一台物理設備上,如果這台物理設備(路由器/防火牆)掛了,那么轉發就會受到影響。而對於SDN網絡來說,整個網絡由具體負責數據轉發的網絡設備和負責策略下發的控制器組成。控制器下發具體的策略,舉例來說,控制器決定某台防火牆要配置什么樣的策略,某個網絡設備要配置什么樣的路由協議等等,在控制器上配置完成后會將策略推送至具體的網絡設備,網絡設備根據策略生成相應的表項進而進行數據轉發。那么這么做具體有什么好處呢?個人認為有2個好處:第一,當然實現了第一點的集中管理。第二,控制層面和數據層面隔離后網絡更加的健壯,控制器故障,也就是控制層面故障,不影響具體的數據轉發

傳統網絡架構:控制層面與轉發層面同時都在網絡設備上

 

SDN網絡架構:控制層面與轉發層面分離,控制層面由控制器Controller負責,轉發層面由網絡設備負責

 

  • 自動化部署:怎么理解呢?對比來講,在傳統網絡中上線一台設備,我們需要給它進行設備軟件版本升級、互聯端口需要配置IP地址或是二層的Trunk配置,需要決定它的互聯方式(互聯/上聯需要連接什么設備,用什么接口、配置什么地址)等等,而對於SDN實現來說,這一過程將大大簡化,拿思科ACI來講,上線一台設備只需要將些設備的上聯接口插上線,然后加電。版本升級、設備配置、IP地址分配等一系列操作將自動完成。
  • 開放接口:提供南北向接口。簡單來講北向接口就是說我提供一個接口讓別人來管理我,比如提供接口讓網管設備、自動化編排工具來管理SDN網絡。而南向接口則是提供接口讓我可以管理別人,比如說用於實現配置管理、策略下發以及集成第三方的設備,比如F5的負載均衡、Palo Alto/FortiGate的防火牆、VMware Vcenter、Microsoft SCVMM、Openstack等虛擬化環境。
  • 可編程化:可以運行軟件腳本對網絡進行一定的操作,比如網絡監控,流量統計等等。
  • 動態監控,流量可視化:可以針對性的對網絡進行動態的瀏覽監控、健康檢查等。
  • 松耦合性:即服務器終端與接入層交換機的耦合度低,服務器可以連接至Fabric中任意一台接入層交換機。

以上則為SDN網絡的一些特點,而下面我將會慢慢展開來說一說ACI技術是怎么樣滿足以上的一些技術特性的,希望大家看完后能對思科ACI技術有一個感性的認識。

 

 

ACI的物理架構

 

先解釋幾個名詞:

Fabric:在思科的一些高級產品(比如Nexus 7000系列)中也有Fabric的概念,可以理解或翻譯成交換矩陣。而在ACI中,Fabric指的是如上圖所示的Leaf交換機和Spine交換機組成的基礎架構網絡,也就是整個ACI網絡中所有的硬件交換設備的集合,整個數據轉發層面,叫做Fabric

Spine Layer:骨干交換機,ACI Fabric的核心設備

Leaf Layer:葉子交換機,ACI Fabric的接入層交換機

 

ACI Fabric的特點:

  • 二層Spine-Leaf結構:Leaf交換機上連至所有Spine交換機,Leaf交換機之間不互聯。Spine交換機只用於連接Leaf交換機,所有其它設備包括Server、負載均衡、防火牆等ACI Fabric外的設備均連接至Leaf交換機
  • 高帶寬:Leaf至Spine支持40G/100G速率上連,有幾台Spine就有幾條40G鏈路,如上圖所示,在4個Spine的情況下,每個Leaf的上聯帶寬是160G。在傳統的網絡中,一般接入層交換機至匯聚層交換機的上聯速率只有1個G的帶寬
  • 易於擴容:如果Fabric帶寬不夠,則可以簡單的擴容Spine節點,若Fabric下聯接口不夠,則可以簡單的擴容Leaf節點
  • 消除STP:在傳統網絡中,接入層交換機和匯聚層交換機之間一般會使用STP技術來在冗余設計的同時避免網絡環路,但STP有兩個問題:第一,STP協議會Block掉其中一條鏈路,比如說一台接入層交換機雙上聯到兩台匯聚層交換機,雖然我們有2根1G的鏈路,但實際上因為STP的Block,所以實際上只有1G的上聯帶寬可用;第二,在網絡拓撲發生變化時,比如接口翻動、鏈路故障等情況下,有可能依然會產生環路或者臨時的環路影響數據轉發。而在ACI中,整個Fabric在底層使用VXLAN技術,Spine和Leaf之間運行了ISIS協議來維護VXLVAN的VTEP信息,消除了傳統二層網絡的問題。同時,因為使用VXLAN技術,所以Leaf上聯至Spine的每根鏈路都是可以同時使用的
  • 控制層面分離:APIC作為ACI的控制器,負責策略的下發和設備的配置,一般使用3台APIC作為冗余,即使三台APIC全部故障都不影響數據轉發,只是不能再對整個Fabric進行配置
  • 統一管理:整個Fabric的所有配置都是在APIC上單點進行管理的,APIC上作配置,然后下發至Spine和Leaf交換機
  • 松耦合:位置和標識的解耦合。位置(Location)指的是一台Server連接在哪台交換機上,而標識(Identity)指的是這台Server本身,比如IP 192.168.0.1代表Server-1這台Server本身。因為使用VXLAN作為Overlay技術,使得終端可以連接至任意一台Leaf交換機,實現Server標識和位置的解耦合。

ACI其實是一台虛擬的、大的、模塊化交換機:

拿Nexus 7000來比喻的話,APIC相當於引擎,Spine相當於交換矩陣,而Leaf交換機則相當於Nexus 7000的線卡。

 

 

ACI的集中化管理

 

  • 集中化管理:APIC作為ACI的SDN控制器,負責對整個Fabric進行配置。所有Fabric內的物理設備(比如Spine/leaf交換機、防火牆、負載均衡、VMware Vcenter等等)和路由協議、轉發策略、動態監控等都可以在APIC上進行配置
  • 控制層面分離:APIC作為ACI獨立的控制層面,負責配置和策略的管理和下發。一般使用3台APIC進行冗余,即使所有APIC設備故障或斷開與Fabric連接,不影響即有業務的數據轉發,唯一的影響是不能繼續對Fabric進行策略的配置和下發。
  • 數據層面分離:Spine+Leaf交換機組成了ACI Fabric的數據轉發層面,進行數據的高速轉發。

 

松耦合/分布式網關

  • 位置松耦合:同一網段或不同網段的終端無需接入到固定的接入層交換機上,終端可以連接至任意一台leaf交換機。
  • 分布式網關:當為一個網段(比如10.1.1.0/24)配置了網關后(比如10.1.1.1),那么這個網關將同時存在於所有的leaf交換機上,這也是使得終端可以任意連接的原因。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM