RoCE、softRoCE與iWRAP


RoCE - RDMA over Converged Ethernet

    以太網在全球互聯的廣域網中毫無異議的老大,但在高帶寬、低延時的專有網絡領域卻明顯混不開。伴隨網絡融合概念興起,IETF發布了DCB標准,RDMA/Infiniband依賴的無損鏈路得以解決,以太網可以在專有網絡領域內也占有一席之地了,所以RoCE – RDMA Over Converged Ethernet就順勢而生。到目前為止,經過版本的升級演進,10Gb及以上的新型NIC和switch基本都集成了RoCE支持。   

RoCE v1

    IBTA在2010年4月發布了RoCE,這份標准是作為Infiniband Architecture Specification的附加件發布的,所以也稱為IBoE(InfiniBand over Ethernet)。這時的RoCE標准是在以太鏈路層之上用IB網絡層代替了TCP/IP網絡層,所以不支持IP路由功能。RoCE V1協議在以太層的typeID是0x8915。
    在RoCE中,infiniband的鏈路層協議頭被去掉,用來表示地址的從GUID被轉換成以太網的MAC。Infiniband依賴於無損的物理傳輸,RoCE也同樣依賴於無損的以太傳輸,這一要求會給以太網的部署帶來了成本和管理上的開銷。以太網的無損傳輸必須依靠L2的QoS支持,比如PFC,接收端在buffer池超過閾值時會向發送方發出pause幀,發送方MAC層在收到pause幀后,自動降低發送速率。這一要求,意味着整個傳輸環節上的所有節點包括end、switch、router,都必須全部支持L2 QoS,否則鏈路上的PFC就不能在兩端發揮有效作用。

RoCE v2

    為了加強RoCE網絡的擴展性,在2014年IBTA提出了RoCE V2,支持以太IP路由功能。

    RoCE v1(Layer 2)運作在Ehternet Link Layer(Layer 2)所以Ethertype 0x8915,所以正常的Frame大小為1500 bytes,而Jumbo Frame則是9000 bytes。

    RoCE v2(Layer 3)運作在UDP/IPv4或UDP/IPv6之上(Layer 3),采用UDP Port 4791進行傳輸。因為 RoCE v2的封包是座落在 Layer 3之上可進行路由,所以有時又會稱為「Routable RoCE」或簡稱「RRoCE」。

softRoCE

    不同於RoCE,softRoCE適用於任何以太環境,無需依賴NIC、switch、L2QoS等支持。

    softRoCE的目標是在所有支持以太網的設備上都可以部署RDMA傳輸,其實現可分成兩部分,對上通過librxe與RDMA stack(libibverbs)耦合,對下通過rxe.ko與linux stack layer3耦合,用戶通過某個eth NIC的UDP隧道為虛擬的RDMA設備傳輸RoCE數據。

    圖 softRoCE通信      

    在性能敏感的虛擬化場景,VM環境需要直接訪問底層硬件。借助於softRoCE,底層的網卡硬件也不需要暴露在VM環境就可以使用掛載的虛擬RoCE設備。

    通過在節點上安裝softRoCE,它就可以與支持RoCE的節點或者是同樣安裝有softRoCE的節點建立RDMA傳輸。盡管在傳統以太上,one-copy甚至zero-copy的方案已經出現多個,但個人認為softRoCE的 最大意義是使得不具備RDMA NIC的數據中心用最小的成本構建起高效的RDMA網絡,所以softRoCE作為RoCE方案的重要補充,已經逐漸成為RDMA生態(IBTA)下一步開發的標准構件。

iWRAP

    iWRAP - Internet Wide Area RDMA Protocol,或者叫RDMA over TCP,IETF在2007年發布(RFC5040和RFC5041)。業界有兩家廠商各自在主推iWRAP和RoCE,Chelsio主推iWRAP,而Mellanox則在融合網絡主推RoCE,兩家都有關於RoCE vs iWRAP的對比白皮書,針鋒相對,好精彩。

    iWRAP的RDMA報文是封裝在TCP傳輸層之上。利用TCP協議,它不必在依賴底層的L2Qos就可以實現無損傳輸,天生就支持路由組網。而RoCE直到最近的V2版本才支持路由。Chelsio的白皮書成文較早,其對RoCE的主要攻擊點是不支持路由功能,在現在這一論據已經失去意義了。                                                                                                         
    RoCE與iWRAP的性能對比測試,參見 http://www.mellanox.com/page/performance_ethernet ,性能優勢明顯。iWRAP的無損傳輸還是像傳統以太一樣依賴TCP傳輸層,這簡化了L2的設計要求,但是也導致了帶寬利用率和時延的惡化。
  
    總之:盡管RoCE對鏈路層和物理層存在特殊依賴,但是在部署新型的數據中心時,對於較新型switch、NIC、SOC基本上都會集成網絡融合DCB和RDMA支持。所以在新建Data Cente r、SAN時,性能最優的RoCE是最佳選擇。而在舊DC、SAN擴容或者成本敏感型的優化時,僅需要RNIC的iWRAP或者完全不依賴任何硬件的softRoCE更加適合。


免責聲明!

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



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