一种报文转发方法和装置的制造方法

文档序号:8530445阅读:238来源:国知局
一种报文转发方法和装置的制造方法
【技术领域】
[0001]本发明涉及网络通信技术领域,尤其涉及一种报文转发方法和装置。
【背景技术】
[0002]广域网链路应用服务(WideArea Applicat1n Services,WAAS)是一种应用加速和广域网链路优化的解决方案,可用于在广域网链路上加速基于传输控制协议(Transmiss1n Control Protocol,TCP)应用的传输性能。现有的WAAS传输技术中,客户端仅需把数据报文发送给客户端网关,客户端网关代替服务器确认此数据,对于客户端来说已经发送成功,可以继续发送;客户端网关缓存数据报文,并发给服务器网关,进而传给服务器。通过WAAS设备的提前确认,以及优化拥塞算法、压缩、冗余消除等手段,达到了应用加速和优化WAN链路传输效率的目的。
[0003]然而,现有WAAS实现中,代理服务器下挂主机发起大量连接时,代理服务器和对端代理服务器需要建立相同数量的连接,从而出现了如下弊端:
[0004]代理服务器之间的大量连接实际使用的是同一条链路,但是各自独立的维护了TCP连接链路传输相关的信息,例如超时重传时间、最大报文长度、拥塞控制参数等,浪费了设备的内存和运算资源,在下挂主机发起TCP连接数量较大时,容易造成对设备的冲击,造成丢包、延时等问题,影响用户体验。

【发明内容】

[0005]有鉴于此,本发明提供一种报文转发方法和装置,实现WAAS组网中代理服务器之间的连接的多路复用,节约设备的内存和运算资源,提升用户体验。
[0006]根据本发明实施例的第一方面,提供一种报文转发方法,用于广域网链路应用服务WAAS组网中的代理服务器,所述方法包括:
[0007]本地代理服务器判断是否接收到至少一个本地终端发送的用于与对端终端进行连接的第一报文;
[0008]当所述本地代理服务器接收到所述第一报文时,将所述第一报文存入所述本地代理服务器的缓存区;
[0009]在所述缓存区中将多个所述第一报文作为数据内容进行封装,得到第一封装报文;
[0010]转发所述第一封装报文到对端代理服务器,所述对端代理服务器对所述第一封装报文解封装后得到的每个第一报文发送到对应的对端终端。
[0011]根据本发明实施例的第二方面,提供一种报文转发装置,用于广域网链路应用服务WAAS组网中的代理服务器,所述装置包括:
[0012]第一判断单元,用于本地代理服务器判断是否接收到至少一个本地终端发送的用于与对端终端进行连接的第一报文;
[0013]缓存单元,用于当所述本地代理服务器接收到所述第一报文时,将所述第一报文存入所述本地代理服务器的缓存区;
[0014]封装单元,用于在所述缓存区中将多个所述第一报文作为数据内容进行封装,得到第一封装报文;
[0015]转发单元,用于转发所述第一封装报文到对端代理服务器,所述对端代理服务器对所述第一封装报文解封装后得到的每个第一报文发送到对应的对端终端。
[0016]本发明实施例中,WAAS组网中的代理服务器对缓存区中的多个所述第一报文进行封装后转发,使得代理服务器之间多个连接复用同一条WAAS链路,节约了代理服务器的内存和运算资源,提升了用户体验。
【附图说明】
[0017]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0018]图1是应用本发明实施例实现报文转发的应用场景示意图;
[0019]图2是本发明报文转发方法的一个实施例流程图;
[0020]图3是本发明报文转发方法的另一个实施例流程图;
[0021]图4是本发明WAAS链路上传输的封装报文的示意图;
[0022]图5是本发明建立WAAS连接的流程图;
[0023]图6是本发明WAAS组网中转发数据报文的处理流程图;
[0024]图7是本发明报文转发装置所在设备的一种硬件结构图;
[0025]图8是本发明报文转发装置的一个实施例框图。
【具体实施方式】
[0026]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0027]在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0028]应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0029]参见图1,为应用本发明实施例实现报文转发的应用场景示意图:
[0030]图1中,广域网链路应用服务WAAS组网中,代理服务器I下挂两个主机,主机I向代理服务器I发起与主机2建立TCP连接的第一报文,本实施例中为TCP连接1,主机2向代理服务器I发起TCP连接2。代理服务器I在分别接收到主机I和主机2发送的基于TCP协议的第一报文后,本实施例中可选地为互联网协议(Internet Protocol,IP)报文,将两个IP报文封装后转发到代理服务器2,封装报文中的数据内容为IP报文I和IP报文2。
[0031]通过上述过程,使得代理服务器之间不需要为每个TCP连接建立单独的链路,TCP连接I和TCP连接2可以复用同一条WAAS链路,节约了代理服务器的内存和运算资源,提升了用户体验。
[0032]另外,由于多个TCP连接复用了同一条链路,代理服务器可以统一管理同一条链路上的TCP连接,避免大量TCP连接各自独立进行拥塞控制造成无谓的带宽浪费,提高了传输效率。
[0033]参见图2,为本发明报文转发方法的一个实施例流程图,该实施例从广域网链路应用服务WAAS组网中的代理服务器进行描述,包括以下步骤:
[0034]步骤201:本地代理服务器判断是否接收到至少一个本地终端发送的用于与对端终端进行连接的第一报文。
[0035]本实施例中,本地代理服务器在接收第一报文之前,需要与对端代理服务器预先建立WAAS连接。可选地,比较本地代理服务器与对端代理服务器的IP地址大小,如果本地IP地址小,则由本地代理服务器通过预定的第一端口向对端代理服务器预定的第二端口发起基于所述第一协议的第一连接请求;如果本地IP地址大,则监听所述第一端口,以接收到对端代理服务器通过所述第二端口发送到第一端口的基于所述第一协议的第二连接请求,来建立WAAS连接,其中所述第一端口、第二端口为所述本端代理服务器和对端代理服务器之间用于建立WAAS连接的端口。
[0036]可选地,本实施例中,所述本地终端与所述对端终端之间建立的连接为TCP连接。所述第一端口号与所述第二端口号不使用现有的端口号,所述第一端口号与所述第二端口号的值可以相同。
[0037]建立WAAS连接之后,所述本地代理服务器可以判断当前是否接收到终端侧发送的第一报文。可选地,判断所述第一报文在所述本地代理服务器上的第一入接口是否使能了 WAAS,当第一入接口未使能WAAS时,说明该第一报文来自终端侧,否则说明该第一报文来自对端代理服务器。
[0038]当所述本地代理服务器接收到来自终端侧的所述第一报文时,需要进一步根据所述本地代理服务器上预先存储的路由表,判断所述第一报文在所述本地代理服务器上的出接口是否使能了 WAAS,当出接口使能了所述WAAS时,说明待发送的第一报文可能需要通过预先建立的WAAS连接进行发送,如果出接口未使能所述WAAS,将所述第一报文按现有方式转发即可。
[0039]可选地,本实施例中,需要查找所述路由表,确定发送所述第一报文的下一跳地址。如果下一跳地址为预先建立了 WAAS连接的对端代理服务器的第二 IP地址,则执行步骤202,否则将所述第一报文按现有方式转发。
[0040]步骤202:当所述本地代理服务器接收到所述第一报文时,将所述第一报文存入所述本地代理服务器的缓存区。
[0041 ] 缓存过程与现有方式相同,在此不再赘述。
[0042]步骤203:在所述缓存区中将多个所述第一报文作为数据内容进行封装,得到第一封装报文。
[0043]将多个所述第一报文作为第一封装报文的数据内容,封装上WAAS连接的IP+TCP
头O
[0044]步骤204:转发所述第一封装报文到对端代理服务器,所述对端代理服务器对所述第一封装报文解封装后得到的每个第一报文发送到对应的对端终端。
[0045]本实施例中,本地代理服务器与对端代理服务器之间不需要为每一
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1