一、背景技术
云计算的快速发展,越来越多的IT企业开始进行大规模的资源整合,将自身的计算资源以云服务的形式提供给广大用户使用。云计算的核心概念就是以互联网为中心,让每一个使用互联网的人都可以使用网络上的庞大计算资源与数据中心,这就对广域网传输的网络有很高的要求。在广域网中,常用的网络传输协议主要是稳定可靠的TCP协议,TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。然而在访问云平台时这种常用的TCP协议在广域网中的传输效果并不理想,主要是因为数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,每个连接都会占用系统的硬件资源,这些传统的TCP拥塞控制算法使得TCP协议不能适应高时延、高抖动的网络环境。
针对现有基于TCP连接的云桌面业务在网络延时大、抖动高、丢包率高等弱网环境下出现操作卡顿、画面模糊等业务体验差的问题,客户端根据网络质量动态选择传输协议,在网络质量高环境下采用TCP协议,而在弱网情况则下采用快速传输协议传输业务报文。快速传输协议基于UDP报文,在报文中插入加速报文头,引入超时/快速重传等机制保证可靠性,在弱网环境下能达到比TCP更好的传输性能,从而给用户更好的业务体验。
二、技术方案
如下图所示:
该系统主要包括:协议选择模块,加速客户端,加速服务端,快速传输协议。
- 协议选择模块:根据当前的网络质量选择网络传输协议
- 加速客户端:将云桌面报文封装为快速传输协议,用于弱网环境的网络传输
- 加速服务端:将快速传输协议解封装,转为云桌面报文,并传给云桌面服务器;
- 快速传输协议:基于UDP报文,在报文中插入加速报文头,引入超时/快速重传等机制保证可靠性。
弱网优化技术的快速传输协议采用传输层的一个具有可靠性的传输层ARQ协议,具有以下特征。
1.快速传输协议采用更短的重传超时时间(RTO),在ARQ协议中,TCP的超时计算是RTO*2,而快速传输协议的超时计算是RTO*1.5,在发生连续丢包的情况下,可以更快的重新传输数据。可以解决在网络拥堵情况下TCP协议的网络速度慢的问题,力求在保证可靠性的情况下提高传输速度。
2.TCP重传时会将最小序号丢失的以后所有的数据都要重传,快速传输协议选择性重传,只重传真正丢失的数据包。
3.TCP为了充分利用带宽,延迟发送 ACK,会超时计算会算出较大往返时延,快速传输协议的ACK是否延迟发送可以自适应调节。
- 快速传输协议在快速传送及时性要求很高的小数据时可以忽略窗口协议中的拥塞窗口机制,发送窗口大小由发送缓存大小、接收端剩余接收缓存大小决定。
云桌面在弱网环境的网络优化和加速流程如下图所示:
- 云桌面客户端连接服务端时改为连接协议选择模块;
- 连接协议选择模块判断当前网络质量,为弱网时则把报文发往加速客户端,否则通过TCP协议发送给云桌面服务器;
- 加速客户端模块对业务流量进行UDP封包、对原始报文进行压缩或加密,并添加上加速报文头信息,然后处理后的报文提交到模块中发送队列;
- 发送队列根据加速头中序列号、窗口大小来进行拥塞控制并判断该报文是否为尚未被接收方确认的数据包;
- 如果为未发送过的数据,直接发送;
- 如果判为尚未被接收方确认的数据包,则采用模块中超时/快速重传策略并发送;
- 加速服务端模块对接收到的业务数据包进行解包并根据加速头进行指标确认,然后确认过后的报文数据发送给云桌面服务端;
- 云桌面服务端对收到的报文进行处理,网络底层解包、确认报文等,最后上送给上次业务处理;
三、效果与优势
原有方案采用传统的TCP拥塞控制算法,数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,每个连接都会占用系统的硬件资源,当出现高时延、高抖动的网络环境时,会出现操作卡顿、画面模糊等问题,导致用户体验差。
本方案在原有技术的基础进行改进,主要优势如下:
- 根据网络质量动态选择传输协议,在网络质量高环境下采用TCP协议,而在弱网情况则下采用基于UDP的快速传输协议传输业务报文;
- 通过利用UDP协议简单、报文快的特点,对数据包增加UDP报文头进行转发;同时针对UDP在传输过程中不可靠,在UDP和数据中间增加加速头,进行拥塞控制、重传等机制来确保可靠性;
- 可对原始报文进行压缩,增加传输效率;
- 可对原始报文进行加密处理,有效增强安全性,并相应对外屏蔽服务端所监听TCP端口。