首页 理论教育HTTP协议的卫星适应性分析

HTTP协议的卫星适应性分析

【摘要】:HTTP基于TCP,需要TCP为其提供可靠的传输保证。图2-42基于HTTP的Web访问4个基本步骤2.4.2.2HTTP协议在卫星网络中的适应性分析HTTP协议在卫星网络中应用的性能主要受限于长时延、串行化交互和重复访问3个方面。TCP连接打开之后用户会发出HTTP请求,服务器端收到请求后,会对其进行分析处理并发出HTTP应答包,用户将在第二个往返时延后收到该HTTP应答包。

2.4.2.1 HTTP协议流程

HTTP最初的设计目的是为了提供一种发布和接收HTML页面的方法。该方法不仅能保证计算机正确快速地传输超文本文档,还能确定传输文档中的哪一部分,以及哪部分内容会优先显示(如文本先于图形)等。简单地说,HTTP就是Web客户端的浏览器(后简称浏览器)和Web服务器之间请求和应答的标准。通常,由浏览器发起Web请求并建立一个到Web服务器指定端口的TCP连接,Web服务器在指定的端口监听来自浏览器的Web请求,一旦收到Web请求,Web服务器就向浏览器返回相应的Web应答。HTTP基于TCP,需要TCP为其提供可靠的传输保证。

如图2-42所示,浏览器向Web服务器请求网页的过程分为4个基本步骤:①浏览器与Web服务器建立TCP连接;②浏览器向Web服务器发送HTTP请求报文;③Web服务器响应浏览器的请求,即发送HTTP响应报文;④浏览器或Web服务器断开连接。

图2-42 基于HTTP的Web访问4个基本步骤

2.4.2.2 HTTP协议在卫星网络中的适应性分析

HTTP协议在卫星网络中应用的性能主要受限于长时延、串行化交互和重复访问3个方面。当然,这几个方面绝不仅仅只存在于卫星网络中,地面网络也面临这些问题。但相对于地面网络数十毫秒的时延,卫星网络上百毫秒级的时延会给HTTP的运行效率带来更为严重的影响,造成用户浏览网页时等待时间过长,甚至出现无法正常访问网页等现象。下面从影响HTTP在卫星网络中应用性能的三方面进行具体分析。

1)长时延对访问响应时间的影响

在Web应用中,网页的访问响应时间主要取决于下面3大因素。

(1)链路传播时延。卫星链路的传播时延要远大于地面链路。GEO卫星单向传播时延值高达250 ms,往返时延达500 ms。在Web应用中,浏览一个门户网页可能需要几十个甚至上百个往返时延,卫星链路上百毫秒级的时延势必会对网页的浏览造成很大的影响。

(2)Web服务器产生的时延。当服务器端处理单个HTTP请求时,会有处理时延;当其需要同时处理多个HTTP请求时,会产生排队时延。

(3)路由器、网关和防火墙等产生的时延。在通常情况下,客户端到服务器端的链路上会有多个网络设备,如路由器、网关和防火墙等,它们对传输的每个数据包都要执行存储与转发操作,这将会产生一定的处理时延。同时,这些设备还会增加排队时延。当网络负载过重时,还可能会丢弃数据包,这就要求客户端和服务器端采用可靠的协议来恢复,这样又将会产生一定的时延。

在上述3大因素中,后两个因素是卫星网络与地面网络同样会面临的问题,第一个是卫星网络区别于地面网络的最为明显的特征之一,也是导致卫星网络用户上网体验更为不好的重要因素之一。

HTTP是基于TCP的多交互式协议。每个HTTP请求打开一个新的TCP连接,就意味着会出现一个往返时延。TCP连接打开之后用户会发出HTTP请求,服务器端收到请求后,会对其进行分析处理并发出HTTP应答包,用户将在第二个往返时延后收到该HTTP应答包。

在不同HTTP版本中,Web访问有基于非持续TCP连接(HTTP 1.0)和持续TCP连接(HTTP 1.1)两种方式。如图2-43(a)所示,若客户端和服务器端之间采用非持续TCP连接,对于每个请求的对象都需要建立专门的TCP连接,假设一个Web页面中包含了一个主页和N个嵌入对象,则这个页面的总访问响应时间为:2×RTT(获取主页时间)+2N×RTT(获取所有嵌入对象时间),即为2(N+1)RTT。如图2-43(b)所示,若客户端和服务器端之间采用持续TCP连接,页面的总访问响应时间将是(2+N)×RTT。因此,无论基于哪种TCP连接方式,总访问响应时间都将会是RTT的倍数。以访问某门户网站为例,该网站大约包含400个内嵌对象,如果采用持续TCP连接,在典型的地面网络环境中,假设RTT为10 ms,完成对门户网站的访问大约需要4 s;而在RTT为500 ms的GEO卫星网络中,完成同样的网页访问则至少需要200 s。可以看出,卫星链路上百毫秒级的往返时延势必会对网页访问响应时间造成很大影响。

图2-43 不同HTTP版本TCP连接方式对比

(a)非持续TCP连接(HTTP 1.0);(b)持续TCP连接(HTTP 1.1)

2)串行化交互协议的影响

HTTP采用“请求-响应”的数据块模式来发送数据,每块数据发送完毕后,服务器端必须等下一个“请求”到达后才开始发送下一个数据块。这类协议在时延相对较小的地面网络中性能良好,但在长时延的卫星网络中响应速度会急剧下降。

以访问50个内嵌对象的网页为例,大约需要50次的串行化协议交互。在典型的地面网络环境中,假设RTT为10 ms,完成对整个网页的访问只需要0.5 s;而在RTT为500 ms的GEO卫星网络中,完成同样的过程则至少需要25 s,这种量级的等待时间显然是用户无法忍受的。

3)重复访问对卫星网络受限带宽的影响

互联网上,用户访问Web对象的行为具有以下特征。

(1)对Web页面的访问规律是不均匀的。网络上Web请求中大约有80%是对访问频率排名在前20%的热点页面发起的。

(2)Web对象的大小服从重尾分布。用户访问较多的是较小的对象,而对较大的对象访问相对较少。

(3)Web对象访问具有时间局部性。距离用户上一次访问的时间间隔越短,Web对象被用户再一次访问的可能性就越大。

(4)Web对象访问具有空间局部性。与当前被访问的Web对象在物理位置上越接近的对象将来被访问的概率越大。

特征(1)~(3)说明互联网用户对Web对象的访问具有明显的重复性,访问重复性会导致相同的数据在链路上传输很多次。在卫星网络中,这样不但会浪费宝贵的带宽资源,而且会导致每次重复访问时,用户都要承受几十甚至上百个RTT的访问时延,会带来极差的用户体验。

综上所述,卫星长时延、协议本身以及用户的访问规律等带来的问题单靠传输层的增强技术无法得到很好的解决,需要针对HTTP特点,研究HTTP增强技术改善其在卫星网络中的传输性能,最终达到提升网页访问速度和节省卫星带宽资源的目的。