无损以太网关键技术研究
2012-04-29罗鉴宋晓丽
罗鉴 宋晓丽
中图分类号:TN915.1文献标志码:A 文章编号:1009-6868 (2012) 04-0027-005
摘要:文章认为为使以太网能更好地适应数据中心网络融合需求,需对现有以太网进行全面性能提升,以实现低延时、无损的增强型以太网。文章探讨了无损以太网关键技术:量化拥塞通知(QCN)、基于优先级的流控(PFC)、增强传输选择(ETS)、自动发现和能力交换协议(DCBX),并对这些技术的特点及协议兼容性进行了研究和分析。文章认为无损以太网技术是保障数据中心网络基础设施在处理网络流量过程中低延迟、无丢包的关键技术,将逐步为数据中心产品所支持。
关键词:无损以太网;拥塞管理;流量控制;增强传输选择
Abstract:Before converging Ethernet in data centers, it is necessary to improve the performance of existing Ethernet so that low-delay, lossless enhanced Ethernet can be achieved. In this paper, we introduce the key technologies in lossless Ethernet networks, including quantized congestion notification, priority-based flow control, enhanced transmission selection, and data-center bridging exchange. We analyze protocol compatibility between these technologies and predict the future of these technologies. Lossless Ethernet technologies are central in creating low-delay, lossless data-center networks and will be supported in all future data-center products.
Key words:lossless Ethernet; congestion management; flow control; enhanced transmission selection
新的数据中心中无损以太网技术是关键技术之一,国际电子电气工程师学会(IEEE) 802.1数据中心桥接(DCB)工作组为此定义了多个标准。这些标准主要有:
(1)802.1 Qau[1],该标准定义了后向拥塞通知协议,也称量化拥塞通知(QCN)。其主要原理是当配置拥塞检测点(CP)的桥端口检测到拥塞情况,则通过拥塞通知消息(CNM)将拥塞情况反压给导致拥塞的反应点(RP),通知其进行自身数据传送速率的控制。
(2)802.1 Qbb[2],该标准定义了基于优先级的流控(PFC)。该标准采用了类似802.3X的暂停(PAUSE)机制,但PAUSE机制是对每个优先级单独进行的。
(3)802.1Qaz[3],该标准包括增强传输选择(ETS)、自动发现和能力交换协议(DCBX)两部分。其中ETS将具有相同时延、丢包要求的不同优先级业务流划分到一个流量类别(TC)组,并为该TC分配一定比重的可用带宽,以满足不同应用对传输带宽的需求;DCBX主要是通过扩展链路层发现协议(LLDP)的类型长度值(TLV)实现DCB控制层面协议。
(4)802.3bd[4],该标准是为支持802.1Qbb PFC而对802.3[5]媒体访问控制(MAC)控制帧进行的修订,用于通过修订后的M_CONTROL PFC原语实现对各优先级的PFC功能的使能和流量控制。
1 无损以太网关键技术
1.1 量化拥塞通知
QCN是IEEE 802.1Qau标准所定义的拥塞管理机制。相对于其他拥塞管理技术,QCN采用了相对精准的后向拥塞通知机制,在核心网络设备基于出端口队列设置拥塞检测点,检测到拥塞发生则组建包含拥塞程度的拥塞通知消息CNM,并反压至导致拥塞的源终端,令其依据CNM指示降低相应流的数据传送速率。
图1为QCN拥塞控制机制示意图,终端数据流在设置了拥塞检测的核心网络设备汇聚,若发生拥塞,核心设备则根据拥塞程度组建CNM通知相应的终端降低速率。
图1中核心网络设备B6检测其出端口缓冲占用率并采样收到的帧,一旦发生拥塞即生成拥塞通知消息CNM,反压到造成拥塞的数据帧的源节点,其中检测拥塞的网络功能实体为拥塞检测点(CP),对拥塞情况进行反应并进行相应数据速率调节的功能实体为反应点(RP)。
由上述QCN机制可见,其核心组件主要是用于检测网络拥塞的CP和用于调整终端速率的RP,下面将分别就CP和RP的工作原理进行简要介绍。
(1)拥塞检测点
CP是通过对于当前缓存占用情况的衡量来决定是否需要调整当前来包的速率,以及调整幅度的大小;通过对来包采样来决定通知哪个源站点降低传送速率。CP的缓存如图2所示。
图2中,Qeq是一个门限值,通常为物理缓存的20%,Q为当前队列长度,Q off =Q -Q eq代表当前队列超出阈值的长度。定义Q old为上次反馈F产生时的队列长度,Q? =Q -Q old反应了自上一次F发送后的速度增加情况。则F的计算公式为:
这里w是一个非负常数,基准值为2。根据上述对于Q off和Q old的定义,当F为负(F <0)时,证明缓存过溢,需反馈CNM消息;当F >=0时,说明没有拥塞发生,因此不需反馈拥塞消息。当F为负,即判断有拥塞发生时,CP将提取被采样报文的源地址作为CNM消息的目的地址,并将反应拥塞程度的参数信息作为CNM消息的有效负荷反压至源终端,令其降低数据传送速率。
(2)反应点
RP主要是基于CP反馈回来的CNM消息调整传送速率,以进行拥塞管理或自动带宽恢复,此外还可用于探测额外的可用带宽。
对于传送速率的调整,分为降低发送速率和增加发送速率。发送速率的降低可通过CNM消息及其携带的参数判断执行,然而CNM消息中并没有通知速率恢复/增加的参数,因此RP提供了一种用于自动增加传送速率的机制,即等待一定周期内若没有收到CNM消息,则判断拥塞解除或无拥塞发生,并按照约定规则自行增加数据传送速率。其中等待周期的设置是根据CP点抽样概率而定的,通常为100个包的长度,这样设置的思路是,假设CP的最小采样概率是1%,当RP点已经传送100个包,还未收到拥塞通知,则可判定CP未发生拥塞,因此RP将按照约定原则增加其传送速度。
1.2 基于优先级的流控
PFC是基于优先级的流控机制,该机制是在802.3ad的PAUSE机制上做了修改,将流量按802.1Q协议中虚拟局域网(VLAN)标签的优先级字段分为8个优先级,对每个优先级的流量分别实现独立的PAUSE机制。其原理机制如图3所示。
PFC为基于每优先级的链路级流控,该功能通过M_CONTROL PFC原语实现,该原语是源于IEEE 802.3 MA_CONTROL原语,为此IEEE802.1 DCB工作组特制订了相应的802.3bd协议用以规范为扩展PFC原语而对IEEE 802.3 MAC控制帧所作的修改。当PFC功能在某个端口使能,那么该端口IEEE 802.3 PauseAdminMode应关闭以免造成误处理。
M_CONTROL PFC原语包含请求和指示两种,若全双工链路一侧用户希望阻止对端某一优先级数据的传输则产生M_CONTROL.request原语,作为对该原语的处理,对端对等实体会收到相应的MA_CONTROL.indication原语。这两个原语operand_list参数包含priority_enable_vector和time_vector两个字段,分别用于指示各优先级PFC使能情况,以及需要暂停数据传送的时长。
考虑延时和处理时长的关系,接收方需要确保有足够的缓存来存放从发送PFC PAUSE请求到远端系统对PFC PAUSE帧作出反应之前所发送的报文,以免报文因缓存溢出而丢失。精确地计算缓存容量需求与网络实现密切相关。图4显示了延时计算模型。
该模型中包含4个部分:
?PFC PAUSE帧产生和排队时长
?PFC PAUSE帧通过物理介质的时长
?远端对于PFC PAUSE帧的响应时长
?返回路径的物理介质传输时延
为了保证无损的以太网络,PFC技术实现中缓存的设计一定要充分考虑到时延的最坏情况。
1.3 增强传输选择
ETS提供了一种数据中心环境下优先级处理和带宽分配的操作模型,通过ETS的使用,可以将不同类型业务比如局域网、存储、集群、管理划分至不同的流量类别(TC),并为其提供相应的带宽分配或尽力而为服务。ETS典型应用示例如图5所示。
ETS是对输出端口传输选择实体功能的改进与增强。其思路是按照不同应用的传输性能(带宽、丢包、时延等)需求将端口流量分配至不同的TC,并为每个TC分配一定比例的可用带宽。同一TC中的流量享受相同的待遇(带宽、丢包等)。例如,数据中心中网络流量按应用类型分为交互进程通信(IPC)数据、存储区域网络(SAN)数据和普通局域网(LAN)数据3类,这3类数据对网络性能的要求不同,IPC数据对时延敏感;SAN数据对丢包敏感;LAN数据对网络要求最低,能适应现在的以太网。于是ETS就将这3类数据划分至不同的TC,每个TC组分配不同的带宽比,以确保在网络带宽不足时关键数据能优先使用带宽资源,IPC数据优先于SAN数据,LAN数据优先组级别最低。
ETS支持3~8个TC。之所以ETS至少应支持3个TC,是为了满足ETS的最低配置,即一个TC包含PFC使能的优先级,一个TC包含PFC非使能的优先级,一个TC使用严格优先级。每个TC可以包含一个或多个优先级,同属于一个TC的所有优先级共享为该TC分配的带宽,若该组的实际使用带宽小于为其分配的带宽,那么空闲的带宽可为其他业务流量临时占用。
1.4 自动发现和能力交换协议
DCBX是应用于DCB的控制层协议,该协议的主要目的是:
?DCBX了解对端设备的DCB能力,比如对端设备是否支持PFC和ETS。
?DCBX检测设备关于DCB功能配置的不匹配。不匹配的检测特性相关,有一些是允许不对称配置的。
?在对端设备允许的情况下,DCBX为对端设备进行DCB功能配置。
该协议主要应用于DCB的PFC、ETS特性,IEEE 802.1 Qau能力的协商与检测采用了类似该协议的机制,它们都是承载于IEEE 802.1AB LLDP[6]协议的TLV字段传输。
2 无损以太网关键技术
特点及协议兼容性分析
PFC协议的目的是实现“零丢包”的无损传输。其优点是基于全双工,反应快,能够快速缓解拥塞,用于处理网络流量浪涌是不错的选择。PFC协议但并没有根本解决问题,还会导致拥塞扩散。PFC协议比较适合小规模的组网环境。
QCN主要是通过桥接设备和终端设备对该协议的支持,实现后向拥塞的精准控制。该协议的使用能够从根本上解决网络的拥塞问题,找到导致拥塞的最源节点,并通知其降低速率;缺点是因CNM消息往往要跨网络多节点传输,反应速度较慢,拥塞发生后往往需要一段时间才能产生显著效果。QCN与PFC的联合使用是一个不错的解决方案,一方面PFC能够快速缓解网络拥塞问题,另一方面,QCN能够根本的解决拥塞问题。QCN可以看做是PFC的补充解决方案。
ETS实现了带宽资源的合理利用,按照不同应用的传输性能(带宽、丢包、时延等)需求将端口流量分配至不同的TC组,并为每个TC组分配一定比例的可用带宽。ETS提供了一种数据中心环境下优先级处理和带宽分配的操作模型,通过ETS的使用,可以将不同类型业务比如LAN、存储、集群、管理划分至不同的TC组,并为其提供相应的带宽分配或尽力而为服务。通过ETS的使用,人们
实现了有限带宽资源的最大化利用。
DCBX协议是无损以太网技术控制层面的协议,设备对于DCBX的支持是实现PFC和ETS的前提。通过该协议的使用,实现直连对等设备间配置信息交换,不匹配检测及对端参数配置等。
通过上述分析可以看出,无损以太网涉及到的各项技术均是出于不同的目的(如无丢包、低延迟、增加带宽利用率等)单独设计实施的,那么在各项技术使用时,是否会遇到不同协议共存的协调性问题呢?下面将就无损以太网涉及的各项关键技术,从兼容性角度进一步进行分析。
PFC在点到点全双工链路基于优先级队列中实现,对等实体间的配置应一致。PFC的触发条件,可以为输入缓存达到一定阈值(并未作具体规定)。PFC产生后主要作用于各个输出队列。当与QCN同时使用时,因QCN检测也是基于出端口优先级队列,应注意PFC与QCN触发的阈值设置问题。PFC与QCN共用应用场景如图6所示。如PFC的阈值设置不当(较低),就会导致QCN机制的失效。因此综合考虑,合理设置QCN与PFC的阈值是十分必要的。
图6中,当网络发生拥塞时,设备E的入端口会产生用于PAUSE某优先级的PFC指示,同时QCN也应基于对出端口的拥塞检测,创建CNM消息反压至导致拥塞的源节点。该场景中,如无法掌握阈值合理设置,采用QCN来触发PFC也是一种可选方案,这种方案使得网络拥塞时,PFC可以较快速的响应并暂时缓解拥塞,QCN则利用PFC作用时间从根本上解决拥塞。在有些芯片具体实现中,QCN边缘也可通过QCN触发PFC。主要是解决终端不支持QCN的情况。
当PFC与ETS或者其他协议共用时,应充分考虑优先级与TC的映射。如果出端口多个优先级数据映射到同一个物理先入先出(FIFO)队列,一个优先级被PAUSE可能会导致同队列的其他优先级受连累的情况。优先级TC映射不一致导致PFC异常情况举例如图7所示(在与PFC共用的情况下应充分考虑优先级队列与TC的映射关系)。
QCN主要基于设备出端口队列进行,出端口缓存达到一定的阈值则创建CNM消息反压至导致拥塞的终端。该协议的使用不会对其他协议产生共存方面影响。相反,该协议与PFC共用能够更好的解决网络拥塞问题(如6所示)。
ETS是对端口输出队列进行分组,形成虚拟TC队列,并依此执行相应的调度,以实现带宽的合理充分利用。不会对出端口物理队列产生实质的影响,因此它不会对其他协议产生影响。
此外,无损以太网在与TRILL[7]网络共同使用时,PFC与ETS是基于全双工链路的,不会出现什么问题,QCN机制中因CNM的目的地址是直接提取被抽样数据报文的源地址,而TRILL网络源地址信息是每跳更新的,因此QCN无法将CNM正确地反压回去。网络部署中,如果采用TRILL网络,则相应的QCN必须具备拥塞通知互通功能,在网络边缘重建CNM消息反压至正确的源终端。另外,当与TRILL网络共同使用时,还应充分考虑网络边缘优先级的映射问题,最好可以做到优先级的一一映射,否则QCN机制可能出现错误。
3 结束语
无损以太网技术是保障数据中心网络基础设施在处理网络流量过程中低延迟、无丢包的关键技术。伴随云计算以及下一代数据中心网络的快速发展,日益增长的应用需求以及网络需求对于无损以太网性能的要求越来越高[8-14]。可以预见,无损以太网技术将逐步为数据中心产品所支持,并成为数据中心网络性能提高的基础性关键技术。
4 参考文献
[1] IEEE Std 802.1qau-2010, IEEE standard for local and metropolitan area networks -- Virtual bridged local area networks, Amendment 13: congestion notification [S]. 2010.
[2] IEEE Std 802.1qbb-2011, IEEE standard for local and metropolitan area networks — Virtual bridged local area networks, Amendment19: PBB-TE Infrastructure Segment Protection [S]. 2011.
[3] IEEE Std 802.1qaz-2011, IEEE standard for local and metropolitan area networks —Media access control (MAC) bridges and virtual bridged local area networks—Amendment 18: Enhanced transmission selection for bandwidth sharing between traffic classes [S]. 2011.
[4] IEEE Std 802.3bd-2001, IEEE standard for information technology —Telecommunications and information exchange between systems — Local and metropolitan area networks — Specific requirements, Part 3: Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications, Amendment 8: MAC control frame for priority-based flow control [S]. 2001.
[5]IEEE Std 802.3-2005, IEEE standard for information technology - Telecommunications and information exchange between systems — Local and metropolitan area networks — Specific requirements, Part 3: Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications [S]. 2005.
[6] IEEE Std 802.1ab-2009, IEEE standard for local and metropolitan area networks— Station and Media Access Control Connectivity Discovery [S]. 2009.
[7] Perlman R, EASTLAKE D, DUTT D, et al. Routing bridges (RBridges): Base protocol specification [S]. IETF. RFC 6325. 2011.
[8] 唐雄燕. 电信运营商的云计算与物联网发展策略 [J]. 中兴通讯技术, 2011,17(2):33-36.
[9] 毛玉泉, 李思佳, 李波, 郑秋荣. 一种新的多链路轮询方案 [J]. 重庆邮电大学学报(自然科学版), 2011,23(5):585-592.
[10] 高洪, 董振江. 云计算分布式缓存技术及其在物联网中的应用 [J]. 中兴通讯技术, 2011,17(4):37-40.
[11] 施华雷, 王宁, 刘宇, 田增山. 以太网数字影像遥测编码器的硬件设计与实现 [J]. 数字通信,2 012,(1):49-54.
[12] 徐志发. 中国云数据中心的优化布局与科学发展 [J]. 中兴通讯技术, 2011,17(6):37-39.
[13] 吴少勇, 甘玉玺, 张翰之. 以太网的环路检测技术 [J]. 中兴通讯技术, 2012,18(1):40-43.
[14] 薛一波, 易成岐. 云存储 [J]. 中兴通讯技术, 2012,18(1):57-60.
收稿日期:2012-05-10
作者简介
罗鉴,四川大学计算机科学系硕士毕业;中兴通讯股份有限公司承载网预研部部部长;从事数据和光通信研究;已发表技术论文10余篇。
宋晓丽,中兴通讯股份有限公司三级主任工程师;主要从事云计算数据中心方面的技术研究,负责相关领域技术预研、相关标准跟踪及制订等;已成功申请创新专利20余项,完成行业标准3项。