服务于RDMA应用的融合增强型以太网
RoCE应用在以太网中通信时,通信质量最重要的两个衡量指标主要是高带宽和低延迟。
高带宽由硬件设备本身决定,延迟主要包括:处理延迟和网络传输延迟,可以通过一些技术手段来改善。处理延迟开销指的就是消息在发送和接收阶段的处理时间,在第一章节中介绍的RDMA可以大幅度降低服务器处理延迟;网络传输延迟指的就是消息从发送方到接收方的网络传输时延,
如果网络通信状况很好的情况下,网络基本上可以达到高带宽和低延迟,但网络通信状况需要利用网络中的各种流量控制、拥塞控制、高可靠等机制来保驾护航。在传统以太网中我们可以采用QoS技术来实现业务流量的服务质量保障,但是存储RoCE流量、计算RoCE流量等对于网络服务质量的需求以太网的QoS无法满足,且存在较大的差异:
- 存储RoCE流量对丢包很敏感,且要求报文在传输过程中是保序的;
- 业务RoCE流量允许一定的丢包和时延,只需要设备提供尽力而为的服务;
- 计算RoCE流量用于高性能服务器之间的通信,流量要求低时延。
于是为了保障融合网络的网络性能、满足各种类型的RoCE流量对网络服务质量的需求,需要应用和发展一些新兴的融合网络技术。
面对不同类型的RoCE流提出的需求,传统以太网显得无能为力
传输RDMA的三个技术中,IB网络可以实现无损通信,能够完全满足RDMA对网络性能的需求,但是需要搭建专用的IB网络,成本太高;而RoCE可以实现RDMA在以太网上的承载,且建设、管理、运维等方面的成本低廉,但为了达到InfiniBand相近的性能要求,需要为RoCEv2流量建设无损的传输网络。无损以太网具备低时延、零丢包和高吞吐等特性,而针对以上几点需求传统以太网的QoS技术却显得无能为力:
- RoCEv2是基于UDP的不可靠传输,发生拥塞时会主动丢弃报文,且无报文重传机制,无法保证零丢包,因此无法保障RDMA流量的可靠性;
- CEE中存在多种流量类型,每一种类型的流量对网络质量有着不同的需求,任何一种类型的流量拥塞,都会对RoCE流量造成影响,导致RoCE流量的延时和丢包。原因是传统以太网的QoS技术在发生拥塞时,设备会发送Jamming信号或者Pause帧去干扰或者阻止上游设备发送端口的流量发送,该流控机制是基于端口的,因此不论是发生拥塞的流量还是RoCE流量或是其他流量都会被阻塞掉。
RDMA巧遇及时雨“CEE”,解决网络时延和丢包难题
在RDMA不断发展的同时,数据中心也在不断发生变化,计算云化、存储云化的快速普及使数据中心网络流量由“南北”为主转变为“东西”为主,如何保证数据在网络中更快、更高效的传输,成为提高数据中心性能的关键所在。
早期,数据中心建设者为了获得高性能的计算环境,会同时运营多张网络:
- 用于IP联网的业务网络(如以太网)
- 用于存储的存储网络(如FCSAN、IPSAN、FCoE、IB)
- 用于高性能计算的计算网络(如IB)等。
为了降低部署复杂度和管理难度,降低人员的技术要求以及高昂的建设费用,业界提出了将三张网络融合成一张网络的建设方案,即构建融合增强型以太网CEE(Convergence Enhanced Ethernet)。
但在融合网络中,数据中心又面临了“使用相同的以太网物理基础设施传送特性差异较大的不同类型流量时,需要满足其不同的QoS需求”这一问题,于是IEEE 802.1工作组在2008-2010年期间定义了一组以太网扩展协议,即数据中心桥DCB(Data Center Bridging)协议。通过利用DCB构建CEE可满足融合网络中各种类型流量对时延、丢包和吞吐率的不同需求。
DCB标准出现后不久,IBTA发布了RoCEv1,同时还建议RoCE需要承载于CEE之上去保障其网络服务质量。RoCEv1与CEE的结合虽然可以保证在CEE中高可靠的传输RDMA流量,但是却受限于二层广播域。于是在2014年,IBTA对RoCEv1做了一些改进,引入了UDP/IP协议,使RDMA流量可以跨越三层,在路由器间路由,相比于TCP,UDP更加高效且适用于各种交互场景。
由于DCB中的拥塞通知协议工作在二层,所以IBTA在定义RoCEv2的同时还定义了显示拥塞通知ECN(Explicit Congestion Notification)协议,为RoCEv2流量在三层的路由转发提供高可靠性保障。至此,CEE、ECN的结合可解决CEE中RoCE流量的时延和丢包难题。
融合增强型以太网CEE:IEEE802.1 DCB & ECN
随着各种应用在云平台上不断被部署和使用,以低延时、零丢包、高吞吐为目的融合增强型以太网CEE将更好为应用和租户提升云平台在计算、存储等各方面的网络性能。构建CEE的DCB协议组是由IEEE802.1工作组定义的一组以太网扩展协议,包含四个标准协议,分别为IEEE 802.1Qbb Priority-based Flow Control(PFC)、IEEE 802.1Qaz Enhanced Transmission Selection(ETS)、IEEE 802.1Qaz Data Center Bridging eXchange(DCBX)、IEEE 802.Qau Congestion Notification(CN)。由于CN工作于二层,所以IBTA在定义RoCEv2的同时也定义了可工作于三层的拥塞通知协议ECN(Explicit Congestion Notification)。
DCB协议组和ECN协议对比
标准协议 | 技术特点 | |
---|---|---|
IEEE802.1 Data Center Bridging(DCB) | IEEE 802.1Qbb Priority-based Flow Control(PFC) | 用于满足三种流量在以太网中共存时,存储流量无丢包,且对其它的两种流量无影响的要求 |
IEEE 802.1Qaz Enhanced Transmission Selection(ETS) | 用于避免一种流量类型的大规模流量突发对其它流量类型产生影响,为不同的流量类型提供最小带宽保证。一种流量类型只有在其它流量类型带宽不占用的情况下,才能使用分配带宽之外的额外带宽。这使多种流量类型可在同一网络中和谐共存 | |
IEEE 802.1Qaz Data Center Bridging eXchange(DCBX) | IEEE 802.1Qaz定义了两部分协议,一个是ETS,另一个就是DCBX。DCBX是基于LLDP(Link Layer Discovery Protocol)的扩展协议,用于在设备间自动协商并配置PFC、ETS及CN等 | |
IEEE 802.Qau Congestion Notification(CN) | 用于降低引起拥塞的端点站的报文发送速率,从根源上避免拥塞,以保持网络的畅通,解决因拥塞引发报文重传或流量控制,导致报文时延增加的问题 | |
Explicit Congestion Notification(ECN) | 用于当设备的转发队列中的报文超过ECN门限时,向宿端服务器发送携带ECN标记的报文以告知宿端设备网络中出现拥塞。而宿端设备收到携带ECN标记的报文后会向源端服务器发送CNP(Congestion Notification Protocol)拥塞通知报文,以通知源端服务器进行流量降速,以达到消除拥塞的目的,保持网络通畅 |
DCB和ECN技术得到了数据中心网络厂商的认同后进行了大量部署,这加快了数据中心网络融合的进程。而网络融合可以带来非常多的优势:
- 可以便于管理,一次连接服务器,光纤存储和以太网共享同一个端口,需要更少的线缆和适配器,简化系统的复杂性;
- 数据中心不再需要部署多类技术人才,只需要懂以太网技术的人员即可;
- 大幅降低数据中心网络建设成本,不仅包括网络基础设施的建设,还包括线缆、监控、散热、管理等其它附加费用。所以网络融合将成为数据中心网络发展的必然趋势。