什么是微突发?
微突发(Microburst)是指端口在非常短的时间(毫秒级别)内收到非常多的突发数据,典型的微突发的持续时间通常在1~100毫秒之间,以至于瞬时突发速率达到平均速率的数十倍、数百倍,甚至超过端口带宽的现象。
网管或网络性能监测软件通常是基于比较长的时间(数秒到数分钟)计算网络实时带宽。在这种情况下,看到流量速率通常是一条比较平稳的曲线(如图1-1所示),没有任何的网络异常。但是,一秒钟对于一个高速收发数据包的接口来说是非常长的一个时间段。如果将数据更改为更细粒度(例如毫秒级)进行观察,实际流量中会看到更多突发,这些微突发非常纤细,流量速率很可能是带锯齿的(如图1-2所示)。如果锯齿突变很大,就称为微突发。
图1-1 宏观流量速率
图1-2 微观流量速率
微突发产生的原因
网络中产生微突发,主要有如下原因:
业务流量存在波动。很多的业务模型下,用户的请求和服务器的响应是离散出现的,导致业务流量是间歇性的,不稳定。同时对时延和带宽敏感的业务要求尽快发送数据,加剧业务的突发性。
图1-3 业务流量存在波动
流量的入端口总带宽超过出端口的总带宽。例如:大带宽的端口向低带宽的出端口发送流量、相同速率的多个入端口向一个出端口发送流量。
图1-4 大带宽的端口向低带宽的出端口发送流量
图1-5 相同速率的多个入端口向一个出端口发送流量
传统的TCP发包原则:通过慢启动和拥塞避免机制,尽快将数据包发送出去。慢启动使得发送速率不会快速上升。当吞吐量达到上限后,TCP滑动窗口减半,速率迅速下降,导致会话流量呈锯齿状,具有突发性。TCP总是期望把发送窗口中的数据尽快发送完,所以会在等待TCP的报文到达确认(ACK)到来后,通过滑动窗口机制再继续发送数据,如此循环,使得发包速率不平缓,突发性强。
图1-6 拥塞避免机制下,传统的TCP会话流量曲线呈锯齿状
微突发的影响及产生过程
当微突发流量的瞬时速率超过交换机的转发能力时,交换机会将突发的数据进行缓存以便稍后发送。如果交换机没有足够的缓存,那么超出的数据只能丢弃,这就产生了拥塞丢包。
如下是一个典型的毫秒级微突发场景。假设Port1、Port2都以10Gbps的线速速率分别向Port3发送5MB的数据,则总发送速率为20Gbps。而Port3的速率为10Gbps,仅为总发送速率的一半,因此只能将一半的数据(5MB)发送出去,另一半数据(5MB)则需要先缓存起来,待Port3有空闲能力时再发送。这时,由于交换机只有1MB的缓存,因此会有4MB的数据由于缓存不足而丢弃。在不考虑帧间隙、前导码、帧校验和、报文头等开销数据的情况下,这个突发持续的时间为5MB/10Gbps = 4ms。‘
参考链接:https://support.huawei.com/enterprise/zh/doc/EDOC1100087023?idPath=24030814%7C21782165%7C21782236%7C22318638%7C7542409