多wan口的网关、实现http下载的方法及系统的制作方法

文档序号:9730224阅读:537来源:国知局
多wan口的网关、实现http下载的方法及系统的制作方法
【技术领域】
[0001]本发明涉及一种多WAN 口的网关及多WAN 口的网关实现HTTP下载的方法及系统。
【背景技术】
[0002]多WAN 口(广域网接口)网关具有物理上的多个WAN 口作为外网接入,内网PC (计算机)就可以经过多个WAN 口同时使用多个外网接入线路,大幅提高了网络带宽。
[0003]现在很多下载工具为了充分利用多WAN 口网关的WAN 口,都是采用了多会话下载的形式下载,即内网PC同时发出多条下载请求,多WAN 口网关将这些下载请求分配到不同的WAN 口进行下载,进而实现网络带宽叠加,提高下载速度。但是HTTP (超文本传输协议)下载是单会话下载,在现有的多WAN 口网关上一条会话只能通过一个WAN 口发送至外网服务器,再由发送的WAN接收请求下载的数据,下载速度最大只能为这一个WAN 口的最大下载速度,这样造成了其它的WAN 口的资源浪费,无法实现带宽叠加。

【发明内容】

[0004]本发明解决了现有技术中只能通过一个WAN 口实现HTTP下载、下载速度受限于WAN 口的最大下载速度的缺陷,提供了一种能够通过多个WAN 口实现高速HTTP下载的多WAN 口的网关、实现HTTP下载的方法及系统。
[0005]本发明是通过下述技术方案解决上述技术问题的:
[0006]一种多WAN 口的网关实现HTTP下载的方法,其特点是,该方法包括:
[0007]S1、该网关将内网PC的一 HTTP GET请求包(一种符合HTTP协议的数据包)发送至外网服务器,并记录该HTTP GET请求包请求下载的内容、TCP head(传输控制协议的头信息)和IP head (网络之间互连的协议的头信息),TCP head包括seq、ack等字段,IP head包括内网PC的IP和外网服务器的IP等;
[0008]S2、该网关将外网服务器的一响应于该HTTP GET请求包的response数据包发送至内网PC,并记录该response数据包(一种符合HTTP协议的数据包)的Content-Length字段和TCP head ;
[0009]S3、该网关生成一 RESET数据包,并将该RESET数据包发送至外网服务器;
[0010]S4、该网关根据Si中的HTTP GET请求包请求下载的内容、Content-Length字段和该网关的WAN 口的数量,生成η个HTTP GET请求包,生成的每个HTTP GET请求包分别包括一 Range字段,所有的Range字段表征的请求下载的内容之和等于Si中的HTTP GET请求包请求下载的内容且η为大于或等于2的整数;
[0011]S5、该网关将S4中生成的HTTP GET请求包通过至少两个WAN 口发送至外网服务器;
[0012]S6、该网关通过S5中发送HTTP GET请求包的WAN 口接收由外网服务器发送的下载数据包,该下载数据包响应于S4中生成的HTTP GET请求包且包括实际下载的数据;
[0013]S7、根据S:记录的IP head和TCP head及S2记录的TCP head,该网关修改接收到的下载数据包的IP head和TCP head,尤其是将接收到的下载数据包的IP head的源IP修改为外网服务器的IP,将下载数据包的IP head的目的端口的IP修改为内网PC的IP,将下载数据包的TCP head的seq字段和ack字段修改成与S2记录的TCP head的seq字段和ack字段连续,及修改下载数据包的TCP head的checksum字段和IP head的checksum字段;
[0014]Ss、该网关将修改后的下载数据包发送至内网PC。
[0015]本技术方案在不改变内网PC和外网服务器之间的网络数据交互的前提下,通过该网关根据原有的内网PC发送的HTTP GET请求包生成多个HTTP GET请求包,由不同的WAN 口分发该网关生成的HTTP GET请求包,实现了通过多个WAN 口进行HTTP下载,充分利用了多WAN 口的网关能够并行下载的优势,提高了下载的速度。
[0016]较佳的,η大于或等于WAN 口的数量;
[0017]S4*的生成η个HTTP GET请求包为:逐批生成等于或小于该网关的WAN 口的数量的HTTP GET请求包,直到生成的所有的HTTP GET请求包的Range字段表征的请求下载的内容之和等于Si中的HTTP GET请求包请求下载的内容,且同一批次的HTTP GET请求包在S5中分别通过不同的WAN 口发送至外网服务器,在此S4中,每个批次生成的HTTP GET请求包的数量不一定相同,如该网关具有5个WAN 口,第一批次生成的HTTP GET请求包的数量为5,因为每个WAN 口接收下载数据包的完成时间不同,所以后续的批次生成的HTTP GET请求包的数量可能为4或3或2或1,在本技术方案中η的值并不是预先设定的,而是表示生成的所有的HTTP GET请求包的总和,该网关根据请求下载的资源的大小、WAN 口的下载速率等控制调节生成HTTP GET请求包的数量;
[0018]S4中的生成η个HTTP GET请求包或为:一次性生成η个HTTP GET请求包,且S5中每个WAN 口至少发送一个S4中生成的HTTP GET请求包至外网服务器,在本技术方案中该网关生成的所有的HTTP GET请求包是在其中任意一个HTTP GET请求包发送至外网服务器之前一起生成的,η的值是根据请求下载的资源的大小、WAN 口的下载速率等计算得到的。
[0019]在本技术方案中,每个WAN 口都得到了充分利用,将η个HTTP GET请求包分发至不同WAN 口发送符合负载均衡原理。
[0020]较佳的,在S4中该网关将Si中的HTTP GET请求包请求下载的内容按照每个WAN口的带宽正比例分配到每个Range字段。这是因为每个WAN 口的带宽可能不同,所以每个WAN 口发送的HTTP GET请求包的Range字应该适应于WAN 口的带宽,最佳的分配方案就是给带宽大的WAN 口分配相对多的下载内容,给带宽小的WAN 口分配相对少的下载内容,这样才能充分利用每个WAN 口的带宽。
[0021]较佳的,S8替换为方案一或方案二或方案三:
[0022]方案一、该网关将修改后的下载数据包按照修改完成的顺序逐一发送至内网PC ;
[0023]方案二、该网关在修改后的下载数据包中筛选出Range字段连续的下载数据包一同发送至内网PC ;
[0024]方案三、该网关待所有下载数据包修改完毕后一同发送至内网PC。
[0025]较佳的,Si中还记录该HTTP GET请求包的HTTP head ;S2中还记录response数据包的 HTTP head。
[0026]一种多WAN 口的网关,其特点是,该网关包括一发送模块、一记录模块、一 RESET数据包生成模块、一 HTTP GET请求包生成模块、一接收模块和一修改模块;
[0027]该记录模块用于在调用该发送模块将内网PC的一 HTTP GET请求包发送至外网服务器时记录该HTTP GET请求包请求下载的内容、TCP head和IP head,还用于在调用该发送模块将外网服务器的一响应于该HTTP GET请求包的response数据包发送至内网PC时记录该response数据包的Content-Length字段和TCP head,然后调用该RESET数据包生成模块;
[0028]该RESET数据包生成模块用于生成一 RESET数据包,然后调用该发送模块将该RESET数据包发送至外网服务器,然后调用该HTTP GET请求包生成模块;
[0029]该HTTP GET请求包生成模块用于根据该记录模块记录的HTTP GET请求包请求下载的内容、Content-Length字段和该网关的WAN 口的数量,生成η个HTTP GET请求包,生成的每个HTTP GET请求包分别包括一 Range字段,所有的Range字段表征的请求下载的内容之和等于该记录模块记录的HTTP GET请求包请求下载的内容且η为大于或等于2的整数,然后调用该发送模块将该HTTP GET请求包生成模块生成的HTTP GET请求包通过至少两个WAN 口发送至外网服务器,然后调用该接收模块;
[0030]该接收模块用于通过该
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1