基于动态选择传输层协议的HTTP协议_第1页
基于动态选择传输层协议的HTTP协议_第2页
基于动态选择传输层协议的HTTP协议_第3页
基于动态选择传输层协议的HTTP协议_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中南财经政法大学学 年 论 文题 目:基于动态选择传输层协议的HTTP协议学院名称:信息学院专业名称:电子商务0402学 号:0409040109姓 名:陈说指导老师:喻晓和2007年 6月20日基于动态选择传输层协议的HTTP协议中南财经政法大学信息学院电子商务0402 姓名: 陈说 学号:0409040109 内容摘要:当前, 对于Web页面的访问应用都是基于HTTP应用协议的,而在下层则使用TCP(传输控制协议);但TCP并不适合于短会话(少量的数据交换的情况),当其用于短对话时会增加额外开销,而建立、撤销TCP链接的开销却又是必需的。 因此,提出了一种混合TCP与UDP的动态选择传输层

2、协议来实现HTTP协议的方法,若在短对话时使用UDP(用户数据报协议)作为传输层协议,而当有大量数据需要传输时则使用TCP作为传输层协议。这样,对于短会话可以避免TCP的额外开销,而对于长会话又可以得到由TCP提供的可靠传输并减少网络拥塞。关键词:HTTP TCP UDP 短会话一、HTTP协议的基本实现过程HTTP(超文本传输协议)是目前通过Internet进行信息交换最主要的方式。HTTP协议是基于请求/响应范式的(相当于客户机/服务器)。一个客户机与服务器建立一条TCP链接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、

3、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为:一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理和服务器之间通过一个单独的连接来完成。如图1在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。这个过程就好像我们打电话订货一样,我们可以

4、打电话给商家,告诉他我们需要什么规格的商品,然后商家再告诉我们什么商品有货,什么商品缺货。这些,我们是通过电话线用电话联系(HTTP是通过TCP链接),当然我们也可以通过传真,只要商家那边也有传真。HTTP是一个请求/响应协议(相当于客户机/服务器), 而在WWW中,"客户"与"服务器"是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。其实简单说就是任何服务器除了包括HTML文件以外,还有一个HTT

5、P驻留程序,用于响应用户请求。你的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。在这一过程中,在网络上发送和接收的数据已经被分成一个或多个数据包(packet),每个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包。TCP/IP决定了每个数据包的格式。如果事先不告诉你,你可能不会知道信息被分成用于传输和再重新组合起来的许多小块。我们再以电话订货举例。也就是说商家除了拥有商品之外,它也有一个职员在接听你的电话,当

6、你打电话的时候,你的声音转换成各种复杂的数据,通过电话线传输到对方的电话机,对方的电话机又把各种复杂的数据转换成声音,使得对方商家的职员能够明白你的请求。这个过程你不需要明白声音是怎么转换成复杂的数据的。二、原有HTTP协议应用上的不足HTTP/1.0协议使用的是非持久连接,即在非持久连接下,一个TCP连接只传输一个Web对象。因此一个包含HTML内容和图片的页面将需要建立多次的短期的TCP链接。一次TCP链接的建立将需要3次握手。另外,为了获得适当的传输速度,则需要TCP花费额外的回路链接时间(RTT)。每一次链接的建立需要这种经常性的开销,而其并不带有实际有用的数据,只是保证链接的可靠性。

7、而HTTP/1.1协议提出了持久连接的实现方法,HTTP/1.1将只建立一次TCP的链接而重复地使用它传输一系列的Web对象,因此减少了链接建立的次数和经常性的链接开销。HTTP/1.1虽协议减少了每次TCP链接建立的时间,但是一个空闲的TCP链接将需要一个Socket和相应的存储缓冲区。一个Socket缓冲区的最小长度必须大于一个TCP包的最大长度,即64 KB,而且很多实现方法在链接建立时还要预先分配一些缓冲区。可用的Socket的数量是有限的,很多基于BSD的操作系统对于能够同时打开的链接数都有一个缺省的最大值。这仍然没有减少开销,反而造成一定的拥塞与负荷。当前Web页面的访问大多都是通

8、过HTTP协议,并使用TCP作为下层的传输控制协议。但是,TCP并不适合短会话的应用,UDP比较适合。但若仅采用UDP协议,就需要在应用层建立一套类似于TCP复杂的控制协议,从而进行重排序和拥塞控制来保证传输的可靠性,操作比较烦琐复杂。因此,本文提出了一种混合TCP与UDP的动态选择传输层协议来实现HTTP协议的方法,它不同于现在采用的使用单一TCP传输协议来进行数据传输的方式。它不仅可以改善取回页面的延迟、网络拥塞以及服务器的负荷,还能使TCP与UDP得以充分利用。图2给出了在客户端发起HTTP GET请求后,在客户端和服务器之间进行数据包交换的示意。图中只有两个数据包是有用的(即携带了数据

9、):一个是HTTP GET请求,另一个是HTTP的响应。其它的都是TCP用来进行握手操作的数据包。为了减轻Web服务器的负荷,经常采用重定向机制。这样从服务器发来的重定向响应报文是很短的数据包。使用TCP作为传输协议需要至少7个数据包,而使用UDP则只需要2个数据包就足够了。三、动态选择传输层协议的实现方法我们使用动态选择传输层协议的方法是:首先,对于需要比较少数据传输的情况,它将使用UDP作为传输层的协议,从而避免了TCP链接的多次握手引起的多余开销;另外,对于需要较多数据传输的情况,它将使用可靠的带有重排序和拥塞控制的TCP协议作为传输层的协议。动态选择传输层协议的实现方法只需要对应用层的

10、改动,而操作系统的核心代码不用任何更改。这样对于短链接而言就避免了TCP经常性的握手开销,而对于长链接则仍可获得TCP的优点,如超时重传、拥塞控制、错误恢复机制等。这种方法中,客户端首先尝试使用UDP作为传输层的协议,如果对于所请求的URL UDP并不适合,则再次使用TCP链接。这种方法给用户提供了多重保险:如果初始的UDP数据包丢失,仍可采用TCP重新链接而不会受到影响;如果所链接的服务器没有使用混合传输层的实现机制,客户端还可使用TCP重新进行链接。图3是动态选择传输层协议的基本算法。HTTP客户端首先使用UDP作为传输层的协议发出HTTP GET请求,同时启动超时定时器。当服务器处理客户

11、端发来的请求时,它可以从以下两点做出选择: 如果响应的数据足够小(比如,可放到一个数据包中),服务器将使用UDP发回响应。(如比较小的网页或HTTP REDIRECT响应就属于这一类) 如果响应的数据很大,无法放进一个UDP数据包中,服务器则要求客户端使用TCP重试。这可以通过添加一个HTTP的头部字段来解决(如 TCPRETR)。在客户端,将会出现以下三种情况: 客户端从服务器接收到响应。如果响应中包含了所需的HTTP响应,客户端将对数据进行处理。如果服务器要求客户端重试,客户端将使用TCP作为传输层协议重试。 如果服务器没有处理通过UDP传输的HTTP包,客户端就会收到ICMP错误消息(目的地址无法到达/协议无法到达)。此时客户端将会使用TCP重试。 如果定时器超时,客户端应使用TCP重试。图4给出了在定时器超时情况下,客户端和服务器之间进行数据包的交换。这种超时机制提供了可靠性,以及与未使用动态选择机制的服务器的兼容性。图5表示服务器要求客户端使用TCP重发请求时,客户端和服务器之间的数据包交换。结束语动态选择传输层协议方法改善了参与HTTP传输的三个方面:客户端、服务器和网络。对于客户端而言,可以避免由于TCP而引入的三向握手的时间,从而减少了浏览的延迟时间。对于服务器而言,由于所需的TCP的链接数量减少,从而降低了由于建立、维护、撤销TCP链接所带来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论