PON网络中DBA算法对高带宽业务传输速度影响的技术分析
2018-10-17吕卫东
吕卫东
中国电信股份有限公司江苏分公司
0 背景
目前宽带业务交付通过测速来实现确认是否满足客户承诺速率要求。业务测速是一个端到端的处理过程,涉及到端到端整个业务流程的每个环节,包括了业务测速服务器和用户终端的硬件性能、传输线路的带宽和时延、TCP的算法(包括发送缓冲区大小)、用户端的算法(包括滑动窗口大小)。高带宽业务测速对各环节的要求更为严格,特别是DBA算法设置合适与否,对传输线路的带宽和时延存在较大的影响,为解决上述问题,满足大规模提速需求,需深入研究DBA算法优化方案,提升光网络运营能力,提升用户感知。
1 测速原理及深度分析
1.1 TCP基本原理
TCP协议是建立在IP协议基础上,面向连接的,有传输保证的协议。当进行TCP数据传输时,Server侧向Client侧发送数据,Client侧需要对接收到的数据帧进行确认。因此,当OLT用户侧用户进行下载时,需要同时向上行发送确认帧。当OLT用户侧用户进行上传时,服务器会同时向下行发送确认帧。
在TCP交互过程中,操作系统会为每个TCP连接分配相应的发送缓冲区和接收缓冲区,TCP接收窗口和发送窗口的最大值即为接收缓冲区和发送缓冲区的大小。当TCP传输过程中出现丢包时,TCP连接会自动调节窗口大小,导致TCP传输速率降低。
另外,传输时延也会影响TCP传输速率,根据计算公式:TCP传输速率 = TCP窗口/RTT。这里RTT代表Round Trip Time,即TCP传输时报文往返所需的时间。当RTT增大时,TCP传输速率将降低。
1.2 PON传输模型分析
OLT的业务配置中,上行的带宽主要由DBA决定。针对DBA的分配机制对测速影响分析如下:
(1)PON DBA带宽分配简述
PON上行为时分复用,当ONU上行需要进行数据发送时,会向OLT上报带宽请求DBRu,OLT接收到带宽请求后会根据ONU的带宽类型进行调度计算,并在带宽分配周期将带宽分配给ONU,此时ONU才会将自己缓冲区中的数据发送到OLT。ONU的缓冲区为FIFO队列,上行存在队列调度。
(2)PON DBA带宽分配原理
协议规定的带宽类型有4种,优先级从高到底:Fixed(固定带宽)、Assured(保证带宽)、Non-Assured(不保证带宽)、Best-Effort(尽力而为带宽)。
OLT定义的带宽类型:
Type1:固定带宽。完全预留给特定ONU或者ONU的特定业务,即使在ONU没有上行业务流的情况下,这部分带宽也不能为其他ONU使用。
Type2:保证带宽。保证在ONU需要使用带宽时可获得的带宽。当ONU的实际业务流量未达到保证带宽时,设备的DBA机制应能够将其剩余带宽分配给其他ONU的业务。
Type3:保证带宽+最大带宽。Type3类型为带宽组合类型,在保证用户有一定带宽的同时,还允许用户有一定带宽的抢占,但总和是不会超过用户配置的最大带宽。
Type4:最大带宽。最大带宽是在ONU使用带宽时可获得的带宽上限值,最大程度地满足ONU使用的带宽资源。
Type5:固定带宽+保证带宽+最大带宽。既给用户预留其他用户不能抢占的固定带宽资源,又确保在需要使用带宽时可获得的保证带宽,同时允许用户有一定带宽的抢占,但总和是不会超过用户配置的最大带宽。
图1 OLT定义的带宽类型和协议规定的带宽类型的对应关系
如图1所示,Type3配置Assured大小和Max,Non-Assured不显示配置,可由Non-Assured = Max–Assured计算得到;Type4配置Max,Best Effort即Max配置的大小。
由协议规定的优先级可看出Type3的优先级大于Type4,即在拥塞的情况下,配置为Type3的用户至少可以获得Assured带宽。
(3)PON DBA带宽分配过程
如图2所示,PON DBA分配过程可以理解为:总带宽分四轮按带宽类型的优先级进行分配。
图2 PON DBA带宽分配过程
1.3 上下行TCP传输分析
为了测试验证TCP传输速率与RTT的关系,以及PON DBA算法各种类型的差异,搭建测试环境如图3所示,并利用WiresharK软件进行抓包分析。
图3 测试拓扑图
(1)TCP传输速率与RTT有关。根据TCP传输速率 =TCP窗口/RTT,当RTT增大时,TCP窗口固定的情况下,TCP传输速率会降低。
如图4所示,测试FTP下载速率为175KB/s,RTT分析在34ms到42ms之间波动。
图4 (1-2) 测试FTP下载速率为175KB/s时RTT变化情况
如图5所示,当RTT增大时,FTP的下载速率也随之降低。如下RTT超过550ms,速率仅为14KB/s。
图5 (1-2) 测试RTT增大时FTP下载速率变化情况
(2)当同时进行上传时,根据TCP传输速率与TCP窗口和RTT的关系计算:
下载速率=下载TCP窗口/RTT上传
上传速率=上传TCP窗口/RTT下载
由于传输上传和下载传输路径相同,这里假设RTT上传= RTT下载,则下载速率=上传速率×下载TCP窗口/上传TCP窗口。如果上传速率为1M,当下载TCP窗口> 3倍上传TCP窗口时,下载带宽可以保持在3M左右波动。
使用PC-A作为Client在OLT用户侧,PC-B作为Server在OLT网络侧,用户侧PC-A同时进行下载和上传,测试结果如图6所示,上传速率达到最大限速值1M,此时RTT达到35ms左右,下载带宽仍能保持在3M左右波动。
图6 (1-2) PC-A为Client在OLT用户侧、PC-B为Server在OLT网络侧测试情况
将上述测试的Client和Server互换,使用PC-B在OLT用户侧,PC-A在OLT网络侧。此时PC-B同时进行下载和上传。由于此时上传TCP窗口和下载TCP窗口的比例关系发生变化。上传TCP窗口变大,而使得TCP吞吐量增大,ONU的队列深度也将变得更深,导致RTT会增大,同时由于下载TCP窗口变小,导致下载速率降低。测试结果如图7所示,RTT为450ms左右,用户侧下载速率仅为15KB/s。
图7 (1-2) PC-B为Client在OLT用户侧、PC-A为Server在OLT网络侧测试情况
因此,在不改变OLT和ONU上任何配置的情况下,仅Client和Server的缓冲能力发生变化,也会导致测试结果不同。
(3)当DBA逐渐调大,由于ONU将报文发送给OLT的速率增大,报文在ONU缓存里缓存的时间减小,缓存深度降低,因此RTT也会随之减小。当RTT减小到一定值时(即下载TCP窗口/下行限速),下行速率又可以达到最大值。如图8所示,将DBA提升至3M,则RTT平均值减少到5ms以下,下行速率也提升至3M左右,且上行DBA越大,RTT越小,下载速率越高。
图8 DBA提升至3M时RTT变化情况
根据上述分析,TCP传输速率与TCP窗口和RTT都有关系。 从实际应用角度,增大DBA可以减少ONU缓存造成的影响,降低TCP传输RTT,因此在实际配置中可以根据用户的情况适当放大。
另外,不同的DBA带宽类型,其实际效果也有差异。对于Type3的Assure带宽,为保证带宽,其带宽分配优先级高于Max带宽。即当ONU上报带宽请求时,Assure的带宽是可以保证能够分配到的。对于Type4的Max带宽,为最大带宽,这部分带宽类型是不保证的,即ONU上报带宽请求时,OLT会根据剩余带宽的情况以及PON口下各ONU的带宽请求进行调度,不能保证一定能分配到。因此,当ONU配置的带宽类型为Max时,需要根据PON口下的剩余带宽以及PON口下实时的带宽请求进行计算,最终决定ONU能否分配到的带宽。因此,当PON口下存在多个ONU或ONU上存在多个TCONU,且均存在上行带宽请求时,Max带宽分配是无法保证的;导致RTT增加且不稳定,导致下载速率存在波动。
2 现网测试验证
2.1 非拥塞情况下
非拥塞情况下,每个用户使用相同带宽配置,Type3和Type4测试对比结果,如表1所示:
表1 非拥塞情况下Type3和Type4测试对比结果
2.2 拥塞情况下
拥塞情况下,每个用户使用相同带宽配置,Type3和Type4对比测试结果,如表2所示:
表2 拥塞情况下Type3和Type4测试对比结果
拥塞情况下,每个用户使用不相同带宽配置,type3和type4对比测试结果,如表3所示:
表3 拥塞情况下配置不同带宽Type3和Type4测试对比结果
从测试可以看出:
针对PON口下配置为Type3 或 Type4 的带宽类型进行测速对比来看:
(1)用户的带宽配置相同时,Type3和Type4的测速结果基本无差异,带宽平均分配;
(2)用户的带宽配置不相同时,Type3优先保证Assure的带宽,Type4平均分配。
3 结论
测速和应用层协议、缓冲区大小设置以及实际网络状态都有关系,需要结合这些因素做综合考虑:
(1)上行DBA越大,引入RTT越小,下行速率越大;
(2)同PON口Type3和Type4混合场景时, 拥塞情况下,Assure带宽配置比Max带宽配置引入RTT小,Type3好于Type4;
(3)非拥塞情况下,Type3和Type4差异不大。
按照上述结论对现网DBA算法规模优化后,效果显著,新装高带宽客户均能满足业务速率要求,大大提升了客户感知。