人們對網(wǎng)絡(luò)的要求更加嚴(yán)苛。然而傳統(tǒng)的TCP / IP以太網(wǎng)連接占用了大量的CPU資源,并且需要額外的數(shù)據(jù)處理,已無法再滿足當(dāng)前更快、更高效和可擴(kuò)展性的網(wǎng)絡(luò)需求。在這種情況下,RoCE(RDMA over Converged Ethernet )走進(jìn)了人們的視野。
什么是RDMA?
RDMA(遠(yuǎn)程直接數(shù)據(jù)存?。┚褪菫榱私鉀Q網(wǎng)絡(luò)傳輸中服務(wù)器端數(shù)據(jù)處理的延遲而產(chǎn)生的,無需使用CPU,就可以從一個主機(jī)或服務(wù)器的內(nèi)存直接訪問另一主機(jī)或服務(wù)器的內(nèi)存。它釋放了CPU去執(zhí)行其應(yīng)做的工作,比如運行應(yīng)用程序和處理大量數(shù)據(jù)。這既提高了帶寬又降低了延遲、抖動和 CPU 消耗。
RDMA技術(shù)
因此,RDMA可以簡單理解為利用相關(guān)的硬件和網(wǎng)絡(luò)技術(shù),服務(wù)器1的網(wǎng)卡可以直接讀寫服務(wù)器2的內(nèi)存,最終達(dá)到高帶寬、低延遲和低資源利用率的效果。
如下圖所示,應(yīng)用程序不需要參與數(shù)據(jù)傳輸過程,只需要指定內(nèi)存讀寫地址,開啟傳輸并等待傳輸完成即可。
目前,大致有三類RDMA網(wǎng)絡(luò),分別是Infiniband、RoCE、iWARP。其中,Infiniband是一種專為RDMA設(shè)計的網(wǎng)絡(luò),從硬件級別保證可靠傳輸 ,而RoCE 和 iWARP都是基于以太網(wǎng)的RDMA技術(shù),支持相應(yīng)的verbs接口。
什么是RoCE?
顧名思義,RoCE是在InfiniBand Trade Association(IBTA)標(biāo)準(zhǔn)中定義的網(wǎng)絡(luò)協(xié)議,允許通過以太網(wǎng)絡(luò)使用RDMA。簡而言之,它可以看作是RDMA技術(shù)在超融合數(shù)據(jù)中心、云、存儲和虛擬化環(huán)境中的應(yīng)用。
RoCE的類型
RoCE協(xié)議存在RoCEv1和RoCEv2兩個版本,這取決于所使用的網(wǎng)絡(luò)適配器或網(wǎng)卡。
RoCE v1:RoCE v1是基于以太網(wǎng)鏈路層實現(xiàn)的RDMA協(xié)議(交換機(jī)需要支持PFC等流控技術(shù),在物理層保證可靠傳輸),允許在同一個VLAN中的兩臺主機(jī)進(jìn)行通信。RoCE V1協(xié)議在以太層的typeID是0x8915。
RoCE v2:RoCE v2克服了RoCE v1綁定到單個VLAN的限制。通過改變數(shù)據(jù)包封裝,包括IP和UDP標(biāo)頭,RoCE v2現(xiàn)在可以跨L2和L3網(wǎng)絡(luò)使用。
RoCE v1與RoCE v2數(shù)據(jù)包格式
如何實現(xiàn)RoCE?
通常,為了實現(xiàn)RoCE,可以安裝支持RoCE的網(wǎng)卡或卡驅(qū)動程序。所有以太網(wǎng)NIC都需要RoCE網(wǎng)絡(luò)適配器卡。RoCE驅(qū)動程序在Red Hat、Linux、Microsoft Windows和其他常見操作系統(tǒng)中使用。RoCE有兩種可用方式:對于網(wǎng)絡(luò)交換機(jī),可以選擇使用支持PFC(優(yōu)先流控制)操作系統(tǒng)的交換機(jī);對于機(jī)架服務(wù)器或主機(jī),需要使用網(wǎng)卡。
RoCE的好處
低CPU占用率:訪問遠(yuǎn)程交換機(jī)或服務(wù)器的內(nèi)存,無需消耗遠(yuǎn)程服務(wù)器上的CPU周期,從而可以充分利用可用帶寬和更高的可伸縮性。
零復(fù)制:向遠(yuǎn)程緩沖區(qū)發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。
高效:由于RoCE改善了延遲和吞吐量,網(wǎng)絡(luò)性能得到了很大提高。
節(jié)省成本:借助RoCE,無需購買新設(shè)備或更換以太網(wǎng)基礎(chǔ)設(shè)施即可處理大量數(shù)據(jù),從而大大節(jié)省了公司的資本支出。
關(guān)于RoCE的常見問題
下面列出了一些有關(guān)RoCE的常見問題。
1. RoCE與iWARP、InfiniBand的技術(shù)對比
RDMA最早在Infiniband傳輸網(wǎng)絡(luò)上實現(xiàn),技術(shù)先進(jìn),但是價格高昂,后來業(yè)界廠家把RDMA移植到傳統(tǒng)Ethernet以太網(wǎng)上,降低了RDMA的使用成本,推動了RDMA技術(shù)普及。在Ethernet以太網(wǎng)上,根據(jù)協(xié)議棧融合度的差異,分為iWARP和RoCE兩種技術(shù),而RoCE又包括RoCEv1和RoCEv2兩個版本(RoCEv2的最大改進(jìn)是支持IP路由),各RDMA網(wǎng)絡(luò)協(xié)議棧的對比如下圖所示。
Infiniband,支持RDMA的新一代網(wǎng)絡(luò)協(xié)議。由于這是一種新的網(wǎng)絡(luò)技術(shù),因此需要支持該技術(shù)的NIC和交換機(jī)。
RoCE,一個允許在以太網(wǎng)上執(zhí)行RDMA的網(wǎng)絡(luò)協(xié)議。其較低的網(wǎng)絡(luò)標(biāo)頭是以太網(wǎng)標(biāo)頭,其較高的網(wǎng)絡(luò)標(biāo)頭(包括數(shù)據(jù))是InfiniBand標(biāo)頭。這支持在標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)設(shè)施(交換機(jī))上使用RDMA。只有網(wǎng)卡應(yīng)該是特殊的,支持RoCE。
iWARP,一個允許在TCP上執(zhí)行RDMA的網(wǎng)絡(luò)協(xié)議。IB和RoCE中存在的功能在iWARP中不受支持。這支持在標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)設(shè)施(交換機(jī))上使用RDMA。只有網(wǎng)卡應(yīng)該是特殊的,并且支持iWARP(如果使用CPU卸載),否則所有iWARP堆棧都可以在軟件中實現(xiàn),并且喪失了大部分RDMA性能優(yōu)勢。
RoCE和iWARP,一個是基于無連接協(xié)議UDP,一個是基于面向連接的協(xié)議(如TCP)。RoCEv1只能局限在一個二層廣播域內(nèi),而RoCEv2和iWARP都能夠支持三層路由。相比RoCE,在大型組網(wǎng)的情況下,iWARP的大量TCP連接會占用大量的額內(nèi)存資源,對系統(tǒng)規(guī)格要求更高。另外,RoCE支持組播,而iWARP還沒有相關(guān)的標(biāo)準(zhǔn)定義。
2. RoCE適配器可以與其他適配器類型(例如iWARP)通信嗎?
RoCE適配器只能與其他RoCE適配器通信,如果混合適配器類型配置的話,例如RoCE適配器與iWARP適配器組合,都可能會恢復(fù)為傳統(tǒng)的TCP / IP連接。
結(jié)論
在數(shù)據(jù)中心中運行RDMA,可以減輕數(shù)據(jù)移動的負(fù)擔(dān),并為應(yīng)用程序提供更高的CPU資源可用性。RoCE協(xié)議可以從RDMA的功能中受益,而無需更改其網(wǎng)絡(luò)基礎(chǔ)架構(gòu)。通過減少以太網(wǎng)延遲和CPU開銷,RoCE可以提高搜索、存儲、數(shù)據(jù)庫和高事務(wù)處理率應(yīng)用程序的性能。通過提高CPU效率和應(yīng)用程序性能,RoCE可以減少所需的服務(wù)器數(shù)量,從而節(jié)省能源,并減少基于以太網(wǎng)的數(shù)據(jù)中心的占用空間。
審核編輯:劉清
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5419瀏覽量
171598 -
網(wǎng)絡(luò)適配器
+關(guān)注
關(guān)注
0文章
41瀏覽量
11565 -
VLAN技術(shù)
+關(guān)注
關(guān)注
0文章
45瀏覽量
6380 -
PFC電路
+關(guān)注
關(guān)注
9文章
97瀏覽量
20333 -
RDMA
+關(guān)注
關(guān)注
0文章
77瀏覽量
8945
原文標(biāo)題:什么是RoCE網(wǎng)絡(luò)技術(shù)?
文章出處:【微信號:ZYNQ,微信公眾號:ZYNQ】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論