1. 程式人生 > >RDMA方向論文閱讀的背景知識儲備

RDMA方向論文閱讀的背景知識儲備

文章目錄



1. DSCP

DSCP由RFC2474定義,它重新命名了IPv4報頭中TOS使用的那1位元組和IPv6報頭中資料類(TrafficClass)那1位元組,新的名字稱為DS欄位(Differentiated ServicesField)。該欄位的作用沒有變,仍然被QoS工具用來標記資料。不同的是IPv4使用3位元,而DSCP使用6位元,最低2位元不用。
RFC2474 定義最高3位元為級別/類別選擇程式碼(ClassSelector Codepoints,CS),其意義和IPv4報頭中IP優先順序的定義是相同的,CS0 ~CS7的級別相等於IP優先順序0 ~7。但它並沒有定義第3到第5位元的具體含義以及使用規則。DSCP使用6位元,可以定義64個優先順序(0-63)。

2. RSS

(receive side scaling)是由微軟提出的一種負載分流方法,通過計算網路資料報文中的網路層&傳輸層二/三/四元組HASH值,取HASH值的最低有效位(LSB)用於索引間接定址表RETA(Redirection Table),間接定址表RETA中的儲存索引值用於分配資料報文到不同的CPU接收處理。現階段RSS基本已有硬體實現,通過這項技術能夠將網路流量分載到多個CPU上,降低作業系統單個CPU的佔用率。RSS(receive side scaling)是由微軟提出的一種負載分流方法,通過計算網路資料報文中的網路層&傳輸層二/三/四元組HASH值,取HASH值的最低有效位(LSB)用於索引間接定址表RETA(Redirection Table),間接定址表RETA中的儲存索引值用於分配資料報文到不同的CPU接收處理。現階段RSS基本已有硬體實現,通過這項技術能夠將網路流量分載到多個CPU上,降低作業系統單個CPU的佔用率。是由微軟提出的一種負載分流方法,通過計算網路資料報文中的網路層&傳輸層二/三/四元組HASH值,取HASH值的最低有效位(LSB)用於索引間接定址表RETA(Redirection Table),間接定址表RETA中的儲存索引值用於分配資料報文到不同的CPU接收處理。現階段RSS基本已有硬體實現,通過這項技術能夠將網路流量分載到多個CPU上,降低作業系統單個CPU的佔用率。RSS(receive side scaling)是由微軟提出的一種負載分流方法,通過計算網路資料報文中的網路層&傳輸層二/三/四元組HASH值,取HASH值的最低有效位(LSB)用於索引間接定址表RETA(Redirection Table),間接定址表RETA中的儲存索引值用於分配資料報文到不同的CPU接收處理。現階段RSS基本已有硬體實現,通過這項技術能夠將網路流量分載到多個CPU上,降低作業系統單個CPU的佔用率。

3. checksum offload

  在windows系統中的Checksum Offload過程如下:
  如果網絡卡支援,在高階選項裡可以設定Checksum Offload是否對Rx或Tx有效,也可以設定為對兩者都有效。
  對於Tx,設定Checksum Offload有效之後,Windows的傳輸層將隨機填充TCP校驗和,因此在本機上抓取的資料包是Bad CheckSum。然後,網絡卡會自動計算正確的校驗碼然後傳送,因此對方收到的仍然是正確的TCP包。
  對於Rx,設定Checksum Offload有效之後,網絡卡在接收資料時,會填充一個NDIS_TCP_IP_CHECKSUM_PACKET_INFO 結構並設定標誌位;如果由於某種原因失敗,則不設定標誌位,由Windows裡的TCP/IP協議棧來完成資料校驗。
  CheckSum Offload實際上是將傳輸層的一部分工作交給了硬體完成,以節約系統的CPU資源。微軟的測試表明它可以最多節約30%的CPU資源。IBM裡AIX的文件則指出:對於PCI介面的千兆網絡卡來說還不如讓400Mhz以上的CPU來計算校驗和,而PCI-X的千兆網絡卡啟用此項後可以達到線路速度,從而節約CPU資源。

4. DCB

  隨著IT企業的發展,很多企業、政府機構、組織機構都部署有自己的資料中心,用來滿足自己的儲存、計算等IT需求。在資料中心網路當中,典型的存在著以下兩種流量:
    儲存資料流:要求無丟包;
    普通資料流:允許一定的丟包和時延。
  很顯然兩種資料流對服務的要求是不同的,因而傳統的資料中心也往往會部署兩個網路來滿足對資料中心的這些需求。這種網路在一定意義上來說是冗餘的,會造成資源的浪費,當資料中心規模擴大時,這種方案就變的不可接受了。因此急需一種可以將兩種網路統一起來的網路技術。
  當將這兩個網路進行融合時,需要對兩個網路進行考察:
    普通資料流:它沒什麼特殊要求
    儲存資料流:儲存網一般採用FC協議,儲存也是傳統資料中心最主要的業務,因而對兩個網路進行融合,最重要的就是要保護客戶在儲存上的投資。為此一些IT廠商提交了一個協議規範FCoE,FCoE(Fibre Channel over Ethernet)技術標準可以將光纖通道對映到乙太網,從而可以在乙太網上傳輸SAN資料。它能夠在保護客戶在現有FC-SAN上的投資(如FC-SAN的各種工具、員工的培訓、已建設的FC-SAN設施及相應的管理架構)的基礎上,提供一種以FC儲存協議為核心的I/O整合方案。由於FC不允許丟包,因而在採用FCoE時,必須對乙太網進行增強以使得乙太網不丟包。
  當不考慮上層承載業務,並且考慮以當今最普遍的乙太網為基礎進行網路融合時,需要考慮的最主要就是不能丟包。為此IEEE定義了DCB,DCB是IEEE 提出的資料中心橋接技術,主要包含:
  IEEE 802.1Qbb Priority-based Flow Control(PFC):用於滿足兩種流量在乙太網中共存時,儲存流量無丟包,且對其它的流量無影響的要求。
  IEEE 802.1Qaz Enhanced Transmission Selection(ETS):用於避免一種流量型別的大規模流量猝發影響其它流量型別,為不同的流量型別提供最小頻寬保證。一種流量型別只有在其它流量型別頻寬不佔用的情況下,才能使用分配頻寬之外的額外頻寬。這使多種流量型別可在同一網路中和諧共存。
  Data Center Bridging eXchange(DCBX):它是基於LLDP(Link Layer Discovery Protocol)的擴充套件協議,用於在裝置間自動協商並配置PFC、ETS及CN等。
  IEEE 802.1Qau Congestion Notification:用於降低引起擁塞的端點站的報文傳送速率,從根源上避免擁塞,以保持網路的暢通,解決因擁塞引發報文重傳或流量控制,導致報文時延增加的問題。
  DCB使得乙太網可以承載兩種不同型別的資料流。同時由於ETS可以為某種流量提供最小頻寬保證,因而除了將普通資料流和儲存資料流融合到一起之外,採用了DCB技術的網路還可以用來承載計算業務(用ETS在網路中為計算業務分配相應的頻寬即可保證計算業務所需的時延保證)。

5. VLAN的匯聚方式——IEEE802.1Q與ISL

  • 匯聚方式
    在交換機的匯聚連結上,可以通過對資料幀附加VLAN資訊,構建跨越多臺交換機的VLAN。
    附加VLAN資訊的方法,最具有代表性的有:
    (1)IEEE 802.1Q
    (2)ISL
    現在就讓我們看看這兩種協議分別如何對資料幀附加VLAN資訊。
  • IEEE 802.1Q
    IEEE 802.1Q,俗稱“Dot One Q”,是經過IEEE認證的對資料幀附加VLAN識別資訊的協議。
    在此,請大家先回憶一下乙太網資料幀的標準格式。
    IEEE 802.1Q所附加的VLAN識別資訊,位於資料幀中“傳送源MAC地址”與“類別域”(Type Field)之間。具體內容為2位元組的TPID(Tag Protocol IDentifier)和2位元組的TCI(Tag Control Information),共計4位元組。
    在資料幀中添加了4位元組的內容,那麼CRC值自然也會有所變化。這時資料幀上的CRC是插入TPID、TCI後,對包括它們在內的整個資料幀重新計算後所得的值。
    而當資料幀離開匯聚鏈路時,TPID和TCI會被去除,這時還會進行一次CRC的重新計算。
    TPID欄位在乙太網報文中所處位置與不帶VLAN Tag的報文中協議型別欄位所處位置相同。TPID的值固定為0x8100,它標示網路幀承載的802.1Q型別,交換機通過它來確定資料幀內附加了基於IEEE 802.1Q的VLAN資訊。而實質上的VLAN ID,是TCI中的12位元。由於總共有12位,因此最多可供識別4096個VLAN。
    基於IEEE 802.1Q附加的VLAN資訊,就像在傳遞物品時附加的標籤。因此,它也被稱作“標籤型VLAN”(Tagging VLAN)。
  • ISL(Inter Switch Link)
    ISL,是Cisco產品支援的一種與IEEE 802.1Q類似的、用於在匯聚鏈路上附加VLAN資訊的協議。
    使用ISL後,每個資料幀頭部都會被附加26位元組的“ISL包頭(ISL Header)”,並且在幀尾帶上通過對包括ISL包頭在內的整個資料幀進行計算後得到的4位元組CRC值。換而言之,就是總共增加了30位元組的資訊。
    在使用ISL的環境下,當資料幀離開匯聚鏈路時,只要簡單地去除ISL包頭和新CRC就可以了。由於原先的資料幀及其CRC都被完整保留,因此無需重新計算CRC。
    ISL有如用ISL包頭和新CRC將原資料幀整個包裹起來,因此也被稱為“封裝型VLAN”(Encapsulated VLAN)。
    需要注意的是,不論是IEEE802.1Q的“Tagging VLAN”,還是ISL的“Encapsulated VLAN”,都不是很嚴密的稱謂。不同的書籍與參考資料中,上述詞語有可能被混合使用,因此需要大家在學習時格外注意。
    並且由於ISL是Cisco獨有的協議,因此只能用於Cisco網路裝置之間的互聯。

6. PingMesh

  由於Leaf和Spine之間的海量連線,要進行監控和排錯很難,微軟在其Azure資料中心裡,採用了一種全量ping測試,被稱為PingMesh。PingMesh本質上講是一種強力的在所有端點之間執行Ping測試的方式,視覺化的去顯示任意兩個端點之間的連線狀況。
  PingMesh已經在微軟資料中心執行多年,每天要產生超過兩千億次探測。

7.流量控制與擁塞控制的區別

  流量控制是端到端的控制,例如A通過網路給B發資料,A傳送的太快導致B沒法接收(B緩衝視窗過小或者處理過慢),這時候的控制就是流量控制,原理是通過滑動視窗的大小改變來實現。
擁塞控制是A與B之間的網路發生堵塞導致傳輸過慢或者丟包,來不及傳輸。防止過多的資料注入到網路中,這樣可以使網路中的路由器或鏈路不至於過載。擁塞控制是一個全域性性的過程,涉及到所有的主機、路由器,以及與降低網路效能有關的所有因素。
  像PFC就是流量控制 ,DCQCN就是擁塞控制

8. 隨機早期檢測RED(Random Early Detection)演算法

  簡單說就是防止網路擁塞 的,一般來講它是端到端的TCP擁塞控制的補充,用於路由器的居多,因為端到端的擁塞控制僅僅負責一條虛電路,額外可以探測網路通路情況,但是卻不能保證 每個端點的這種控制行為是一致的或者使能的,因此必須存在一種類似於監督機制的擁塞控制機制,在路由器上監督和管理一切資料包,而不能天真的相信TCP端 到端擁塞控制會做的很好,事實證明,它做的並不是很好。
  它旨在能預測到網路將要擁塞,而提前採取丟 包動作,而不是等到網路實際擁塞了以後再採取措施,這裡的方式和作業系統的記憶體置換策略有點類似,因為在作業系統核心中也是需要提前預知記憶體將不足,而不 是到實際記憶體不足的時候再騰地方,這是一種以保障持續執行為目的的策略,RED演算法也是,典型的實現就是設定一個經驗性的閥值,一旦剩餘記憶體低於這個閥值 (對於記憶體置換演算法)或者網路包的總長度大於這個閥值(對於RED演算法),那麼就認為必須採取措施了,採取措施的結果就是統計值落入這些閥值之下,但是這 樣好嗎?雖然可以確保系統不會撐死,但是會引起系統劇烈抖動,以記憶體置換為例,剩餘記憶體剛小於閥值的時候就被發現了,然後去置換記憶體頁面,但是還沒有置換 幾個頁面,剩餘記憶體就大於閥值了,畢竟發現的早,剩餘記憶體還沒有到稀缺的地步,此時就停止了置換,在系統幾乎滿載的情況下,然後沒過一會兒,剩餘記憶體又小 於閥值了,如此反覆…網路包的例子就不舉了。
  實際上,在應用中是用兩個閥值而不是一個閥值進行管理的,兩個閥值可以有效防止抖動的發生將震動從一個點擴充套件到了一個區間,一個閥值的演算法會引起抖動是因 為數值的課徘徊路徑太短,就是一個點,一個點只有左右兩個自由度,太左了就要右一點,反之就要左一點,沒有緩衝的餘地,而兩個閥值有效的拉長了數值的徘徊 區間,在此區間內數值是可以徘徊的,徘徊的過程是系統已經出問題但是還沒有到解決問題的時候的意思,體現了一種積累的效果,同時也是一種懶惰的體現。
  在佇列長度介於兩個閥值之間的時候,包被丟棄的概率和佇列的長度成正比,也就可以引申得到,佇列中的包中,流量越大的包越容易被丟 棄,這是不公平的,再想想,TCP的RTT和傳送的頻率一般成反比,但是RED演算法的丟包率的計算根本不考慮連線屬性,只管到達此介面的資料包,這樣的 話,越是RTT小的連線其資料包越容易被丟棄,但是RTT小的連結一般都比較近,不會造成太大的擁堵。

8. SPAN (交換機的埠映象技術)

  SPAN技術主要是用來監控交換機上的資料流,大體分為兩種型別,本地SPAN和遠端SPAN. ----Local Switched Port Analyzer (SPAN) and Remote SPAN (RSPAN),實現方法上稍有不同。 利用SPAN技術我們可以把交換機上某些想要被監控埠(以下簡稱受控埠)的資料流COPY或MIRROR一 份,傳送給連線在監控埠上的流量分析儀,比如CISCO的IDS或是裝了SNIFFER工具的PC. 受控埠和 監控埠可以在同一臺交換機上(本地SPAN),也可以在不同的交換機上(遠端SPAN)。

9.BLUE

在這裡插入圖片描述