2017年11月28日 星期二

數據中心網絡帶寬線速有門道

數據中心:線速是體現網絡設備轉發性能的一項重要指標,很多數據中心在採購網絡設備時,都會要求設備具備線速能力,或者是部分線速能力。在RFC 1242中對線速做了定義:在不丟失任何一個幀的情況下最大轉發速率,以太網吞吐量最大理論值稱爲線速,若是千兆設備就要達到千兆的線速,若是萬兆設備就要達到萬兆的線速。理論歸理論,實際中畢竟要考慮很多外界的干擾因素,因此很多時候的網絡都是“僞線速”,線速是要在特定情況下,實驗室環境中才能測試出來的。在選型設備時,不必一味強調滿足各種情況下的線速,實際中除了廣播風暴,也不會設備所有端口都做線速轉發,那一定是一個異常的網絡狀態,一般端口速率超過80%時,數據中心都會開始網絡擴容了,根本不會等到端口線速轉發時纔去擴容。線速是理想化的東西,在選擇設備的時候千萬不要看重這個,否則會被欺騙的。就像我們購買的小汽車,最大行駛速度都可以達到200多公里∕小時,而很多人一輩子都不會將汽車開到那麼高的速度,小汽車設計的理論速度的確可以達到,但會有各種條件限制,所以對網絡設備線速的事兒,且不可鑽牛角尖。下面,就來詳細說一說網絡設備爲滿足線速性能裏的門道。
 數據中心
網絡設備有的只有1 u高,有的卻有20 u高,對外端口有千兆,萬兆,40克、100克甚至更高,尤其是在框式設備上,不同端口速率的板卡插在同一個機框裏,要全部滿足所有板卡都線速,是很難做到的。因爲低速端口板卡內部需要的連接器只要是低速的就可以,而高速端口板卡內存需要高速連接器,在一個機框裏很難全部滿足,或者在某些板卡組合的情況下,部分端口就無法達到線速。這種情況在早期的網絡設備中表現更爲明顯,那時內部連接器速率都比較低,內部還不是信元轉發,按照報文哈希轉發,內部很容易出現擁塞導致業務丟包。在這種情況下,如果數據中心要驗證採購設備的線速性能,往往設備商會將能線速部分展現出來,而小部分無法線速的部分儘量在測試中避免。還有隨着測試報文數量越大(或數據幀越短),網絡設備需要處理和校驗的負擔就會越重,出口轉發速度必然要下降的,但是越接近線性關係。很多網絡設備在大包數據的處理上是可以達到線速的,而報文長度越小,達到線速的難度越大,若報文只有64字節,對設備的性能考驗是最大的。在這種情況下,網絡設備可能達不到線速。其實,我們知道實際的網絡中,是不可能只有一種64字節長度的報文,肯定是各種長度的報文混雜在一起,這時對設備的壓力還不算最大。
線速的概念主要指的是交換機網絡設備,這種設備靠硬件芯片轉發,可以具備線速能力,而這些設備的CPU處理能力是比較弱的,所以CPU處理的報文是遠遠達不到線速的。交換機的CPU不會處理轉發數據報文,除非硬件芯片裏沒有了轉發表項的情況下才會考慮通過CPU轉發,交換機的CPU主要是協議報文的處理和設備管理,處理報文的能力相對很弱,沒有線速的概念,就算是硬件芯片也不是什麼情況下都能滿足所有端口線速,有的芯片受工藝水平所限,芯片整理的轉發帶寬就有瓶頸,當所有外部端口都線速轉發時,芯片就會有丟包,芯片只能保證部分端口線速情況下無丟包。我們知道,在很多選型測試中,經常使用蛇形測試,即將面板所有外部端口都收尾相連,打入線速流量,看是否有丟包,很多設備在這種情況下無法測試通過,就是芯片本身存在端口線速的數量限制。還有路由器,它是靠CPU轉發數據的。路由器雖然CPU能力很強,但是要滿足線速還是很困難,一般路由器會考慮用NP芯片來完成數據轉發,或者也植入硬件芯片來完成,靠硬件的處理速度來滿足線速的轉發,這種設計理念使得路由器和交換機的界限越來越模糊。在很多時候,有人拿路由器當交換機用,有人拿交換機當路由器用,讓兩者技術實現上不斷融合。
線速的測試其實是有標準的,RFC2544就是線速測試的標準.RFC2544明確建議40歲,64128256512年,1024年,1280年和1500年字節這些數據幀是需要測試的。在線速的流量情況下,測試網絡設備的丟包,時延,抖動,吞吐量,背靠背,這些概念在網絡上都可以找到在此不再細說。這裏要注意的是,以太網報文有能看到的部分,也有看不到的部分。在以太網報文之前,還有96位的空閒幀。空閒幀是根據以太網的CSMA / CD原理,用來偵聽鏈路是否空閒,如果空閒,就可以發送報文。接着會有七個字節的前導碼AA(01010101)用於與接收端同步,因爲電平一高一低,很容易同步。最後還有一個字節的AB,作爲幀界定使用,表示後面開始真正的以太幀,這20個字節在日常的網絡抓包中是不可見的,是以太網物理層封裝的東西。這部分長度並不一定是固定的,而是可調的,有的設備爲何提升轉發效率,將這部分調小,這樣單位時間內轉發的報文數量就多,轉發效率提升,不過,這樣做也會帶來困擾,就是與其它設備對接時,其端口轉發速率要比對方高,可能會出現超線速的情況,對其它設備有影響。線速是要求設備提供的幀間隙和前導碼按照標準默認的來,有的網絡設備小包達不到線速時,往往將這部分長度調小,還提升線速能力,這樣就與線速的標準背道而馳。
線速一般是網絡產品在實驗室裏的理論值,是理想化的東西,在實際應用中也要達到線速是比較困難的,所以在選購網絡設備時,不要過於依賴這一性能指標,還是要看網絡設備的綜合處理能力。

沒有留言:

張貼留言