报文处理方法及装置与流程

文档序号:11215636阅读:322来源:国知局
报文处理方法及装置与流程

本发明实施例涉及通信技术领域,尤其涉及一种报文处理方法及装置。



背景技术:

随着技术的飞速发展,各大企业对网络的稳定性都有较高的要求,进而很多企业都会配备有多条数据链路,企业的终端通过任意一条数据链路都可以接入互联网,从而可以避免出现某个数据链路异常导致企业的终端无法接入互联网的问题。

其中,企业的终端连接互联网中的数据服务器之后,在与数据服务器之间进行数据交互时的流量往往是随机分配到企业的终端与数据服务器之间的某一数据链路中。

然而,这样很容易出现企业的终端与数据服务器之间的数据链路中的某些数据链路的空闲带宽较多,但同时另一些数据链路的带宽已经被占满,之后,当再一次与数据服务器之间需要进行数据交互时,如果将交互时的流量随机分配到带宽已经被占满的数据链路中,则会导致链路利用率较低。



技术实现要素:

为克服相关技术中存在的问题,本发明实施例提供一种报文处理方法及装置。

根据本发明实施例的第一方面,提供一种报文处理方法,应用于路由设备,所述方法包括:

接收域名服务器返回的dns响应报文,所述dns响应报文携带数据服务器的ip地址;

根据所述ip地址获取所述路由设备与所述数据服务器之间的多条数据链路;

从所述多条数据链路中选择允许使用、且空闲带宽最高的数据链路;

将所述选择的数据链路确定为用于传输目的地址为所述ip地址的数据请求报文的目标数据链路。

进一步地,所述方法还包括:

向终端转发所述dns响应报文;以使所述终端在接收到所述dns响应报文之后,向所述路由设备发送目标数据请求报文,所述目标数据请求报文携带的目的ip地址为所述数据服务器的ip地址。

进一步地,所述方法还包括:

接收终端发送的所述目标数据请求报文;

利用所述目标数据链路向所述数据服务器转发所述目标数据请求报文。

其中,所述从所述多条数据链路中选择允许使用、且空闲带宽最高的数据链路,包括:

获取所述多条数据链路中的每一条数据链路的使用状态,使用状态包括禁止使用和允许使用;

从所述多条数据链路中选择使用状态为允许使用的数据链路;

对于每一条使用状态为允许使用的数据链路,获取所述数据链路的固定带宽和当前被占用流量,将所述固定带宽与所述当前被占用流量相减得到所述数据链路的空闲带宽;

在使用状态为允许使用的数据链路中选择空闲带宽最高的数据链路。

其中,所述在使用状态为允许使用的数据链路中选择空闲带宽最高的数据链路,包括:

如果存在至少两条空闲带宽最高的数据链路,则对于所述至少两个数据链路中的每一条数据链路,通过所述数据链路向数据服务器发送探测报文,并记录发送所述探测报文的发送时刻;

检测是否通过所述数据链路接收到所述数据服务器根据所述探测报文返回的响应报文,当接收到所述响应报文时,记录接收到所述响应报文的接收时刻;

根据所述发送时刻和所述接收时刻确定所述数据链路的传输时延;

从所述至少两条数据链路中选择传输时延最低的数据链路。

其中,所述从所述至少两条数据链路中选择传输时延最低的数据链路,包括:

如果存在至少两条传输时延最低的数据链路,则对于所述至少两个传输时延最低的数据链路中的每一条数据链路,根据是否通过所述数据链路接收到所述数据服务器根据所述探测报文返回的响应报文的信息确定所述数据链路的丢包率;

从所述至少两条传输时延最低的数据链路中选择丢包率最低的数据链路。

根据本发明实施例的第二方面,提供一种报文处理装置,应用于路由设备,所述装置包括:

第一接收模块,用于接收域名服务器返回的dns响应报文,所述dns响应报文携带数据服务器的ip地址;

获取模块,用于根据所述ip地址获取所述路由设备与所述数据服务器之间的多条数据链路;

选择模块,用于从所述多条数据链路中选择允许使用、且空闲带宽最高的数据链路;

确定模块,用于将所述选择的数据链路确定为用于传输目的地址为所述ip地址的数据请求报文的目标数据链路。

进一步地,所述装置还包括:

第一转发模块,用于向终端转发所述dns响应报文;以使所述终端在接收到所述dns响应报文之后,向所述路由设备发送目标数据请求报文,所述目标数据请求报文携带的目的ip地址为所述数据服务器的ip地址。

进一步地,所述装置还包括:

第二接收模块,用于接收终端发送的所述目标数据请求报文;

第二转发模块,用于利用所述目标数据链路向所述数据服务器转发所述目标数据请求报文。

其中,所述选择模块包括:

第一获取单元,用于获取所述多条数据链路中的每一条数据链路的使用状态,使用状态包括禁止使用和允许使用;

第一选择单元,用于从所述多条数据链路中选择使用状态为允许使用的数据链路;

第二获取单元,用于对于每一条使用状态为允许使用的数据链路,获取所述数据链路的固定带宽和当前被占用流量;相减单元,用于将所述固定带宽与所述当前被占用流量相减得到所述数据链路的空闲带宽;

第二选择单元,用于在使用状态为允许使用的数据链路中选择空闲带宽最高的数据链路。

其中,所述第二选择单元包括:

发送子单元,用于如果存在至少两条空闲带宽最高的数据链路,则对于所述至少两个数据链路中的每一条数据链路,通过所述数据链路向数据服务器发送探测报文,并记录发送所述探测报文的发送时刻;

接收子单元,用于检测是否通过所述数据链路接收到所述数据服务器根据所述探测报文返回的响应报文,当接收到所述响应报文时,记录接收到所述响应报文的接收时刻;

确定子单元,用于根据所述发送时刻和所述接收时刻确定所述数据链路的传输时延;

选择子单元,用于从所述至少两条数据链路中选择传输时延最低的数据链路。

其中,所述选择子单元具体用于:

如果存在至少两条传输时延最低的数据链路,则对于所述至少两个传输时延最低的数据链路中的每一条数据链路,根据是否通过所述数据链路接收到所述数据服务器根据所述探测报文返回的响应报文的信息确定所述数据链路的丢包率;从所述至少两条传输时延最低的数据链路中选择丢包率最低的数据链路。

本发明实施例提供的技术方案可以包括以下有益效果:

在本发明实施例中,接收dns服务器域名服务器返回的dns响应报文,dns响应报文携带数据服务器的ip地址;根据数据服务器的ip地址获取路由设备与数据服务器之间的多条数据链路;从该多条数据链路中选择允许使用、且空闲带宽最高的数据链路;将选择的数据链路确定为用于传输目的地址为ip地址的数据请求报文的目标数据链路。通过本发明实施例的方法,之后利用选择允许使用、且空闲带宽最高的数据链路传输目的地址为ip地址的数据请求报文的目标数据链路,进而可以实现路由设备与数据服务器之间的多条数据链路的负载均衡,进而提高了链路利用率。且在提高链路利用率的过程中无需人工参与,人工成本较低。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明实施例。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明实施例的原理。

图1是根据一示例性实施例示出的一种报文处理系统的结构示意图;

图2是根据一示例性实施例示出的一种报文处理方法的流程图;

图3是根据一示例性实施例示出的一种报文处理装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明实施例的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种报文处理系统的结构示意图,如图1所示,该系统包括终端1、路由设备2、域名服务器3以及数据服务器4。

终端1与路由设备2之间存在数据链路,因此终端1与路由设备2之间可以利用二者之间的数据链路实现数据交互。路由设备2与域名服务器3之间存在数据链路,因此路由设备2与域名服务器3之间可以利用二者之间的数据链路实现数据交互。路由设备2与数据服务器3之间存在多条数据链路,路由设备2与数据服务器3之间可以利用二者之间的任意一条数据链路实现数据交互。

当终端1向域名服务器3传输数据时,需要通过路由设备2将数据转发至域名服务器3中,相应地,当域名服务器3向终端1传输数据时,需要通过路由设备2将数据转发至终端1中。

同样地,当终端1向数据服务器4传输数据时,需要通过路由设备2将数据转发至数据服务器4中,相应地,当数据服务器4向终端1传输数据时,需要通过路由设备2将数据转发至终端1中。

图2是根据一示例性实施例示出的一种报文处理方法的流程图,如图2所示,该方法用于路由设备中,该方法包括以下步骤。

在步骤s101中,接收域名服务器返回的dns响应报文,dns响应报文携带数据服务器的ip地址;

在本发明实施例中,用户通常利用终端上网,当用户需要利用终端访问某一网页时,用户需要首先在终端中输入该网页的域名,例如,www.baidu.com或者www.taobao.com等。终端获取用户输入的该网页的域名,并根据该网页的域名从域名服务器中获取存储有该网页的数据的数据服务器的ip地址(internetprotocoladdress,互联网协议地址),进而再根据数据服务器的ip地址从数据服务器中获取该网页,并在终端的屏幕上显示该网页,以供用户浏览。

其中,为了能够根据该网页的域名从域名服务器中获取存储有该网页的数据服务器的ip地址,终端需要根据该网页的域名生成dns请求报文,并向路由设备2发送dns请求报文;路由设备接收到dns请求报文之后,就会向域名服务器转发dns响应报文;当域名服务器接收到dns响应报文之后,域名服务器就会根据dns请求报文携带的该网页的域名获取数据服务器的ip地址,并根据数据服务器的ip地址和该网页的域名生成dns响应报文,然后向路由设备返回dns响应报文;路由设备接收到dns响应报文之后,就会执行步骤s102。

其次,路由设备还需要向终端转发dns响应报文;之后终端在接收到dns响应报文之后,就可以从dns响应报文中提取出数据服务器的ip地址,并根据数据服务器的ip地址访问该网页。在根据数据服务器的ip地址访问该网页时,终端可以向路由设备发送目标数据请求报文,目标数据请求报文携带的目的ip地址为数据服务器的ip地址。

在步骤s102中,根据数据服务器的ip地址获取路由设备与数据服务器之间的多条数据链路;

在本发明实施例中,路由设备与数据服务器之间存在多条数据链路,路由设备与服务器之间可以通过多条数据链路中的任意一条数据链路实现数据交互。

其中,路由设备与数据服务器之间的每一条数据链路均是由路由设备上的一个出口端口和数据服务器上的一个入口端口承载的。因此,对于路由设备与数据服务器之间的任意一条数据链路,事先可以将数据服务器的ip地址与承载该数据链路的路由设备上的出口端口组成一条记录,并存储在ip地址与出口端口之间的对应关系中。对于对于路由设备与数据服务器之间的任意一条数据链路,同样执行上述操作。

所以,在本步骤中,当得到数据服务器的ip地址之后,可以在上述对应关系中查找与数据服务器的ip地址相对应的所有出口端口,然后获取查找到的每一个出口端口承载的数据链路,即得到路由设备与数据服务器之间的多条数据链路。

在步骤s103中,从该多条数据链路中选择允许使用、且空闲带宽最高的数据链路;

在本步骤中,可以获取多条数据链路中的每一条数据链路的使用状态,使用状态包括禁止使用和允许使用;从多条数据链路中选择使用状态为允许使用的数据链路;对于每一条使用状态为允许使用的数据链路,获取数据链路的固定带宽和当前被占用流量,将固定带宽与当前被占用流量相减得到数据链路的空闲带宽;在使用状态为允许使用的数据链路中选择空闲带宽最高的数据链路。

在本发明另一实施例中,有可能存在至少两条空闲带宽最高的数据链路,如果存在至少两条空闲带宽最高的数据链路,则对于至少两个数据链路中的每一条数据链路,可以通过该数据链路向数据服务器发送探测报文,并记录发送探测报文的发送时刻;检测是否通过该数据链路接收到数据服务器根据探测报文返回的响应报文,当接收到响应报文时,记录接收到响应报文的接收时刻;根据发送时刻和接收时刻确定数据链路的传输时延;从至少两条数据链路中选择传输时延最低的数据链路。选择传输时延最低的数据链路可以降低路由设备与数据服务器之间进行数据交互时的传输时延,进而降低终端与数据服务器之间进行数据交互时的传输时延。

在本发明又一实施例中,有可能存在至少两条传输时延最低的数据链路,如果存在至少两条传输时延最低的数据链路,则对于至少两个传输时延最低的数据链路中的每一条数据链路,根据是否通过该数据链路接收到数据服务器根据探测报文返回的响应报文的信息确定数据链路的丢包率;从至少两条传输时延最低的数据链路中选择丢包率最低的数据链路。选择丢包率最低的数据链路可以尽可能地避免路由设备与数据服务器之间进行数据交互时的数据丢失,进而尽可能地避免终端与数据服务器之间进行数据交互时的数据丢失。

在步骤s104中,将选择的数据链路确定为用于传输目的地址为ip地址的数据请求报文的目标数据链路。

进一步地,当终端得到数据服务器的ip地址之后,如果需要与数据服务器之间实现数据交互,则可以向路由设备发送目标数据请求报文,目标数据请求报文携带的目的ip地址为数据服务器的ip地址。路由设备接收终端发送的目标数据请求报文;利用目标数据链路向数据服务器转发目标数据请求报文。当数据服务器接收到目标数据请求报文时,就会根据目标数据请求报文生成目标数据响应报文,进而向路由设备发送目标数据响应报文。当路由设备接收到目标数据响应报文之后,就会向终端转发目标数据响应报文。终端接收目标目标响应报文,从而实现终端与数据服务器之间进行数据交互。

在本发明实施例中,接收dns服务器域名服务器返回的dns响应报文,dns响应报文携带数据服务器的ip地址;根据数据服务器的ip地址获取路由设备与数据服务器之间的多条数据链路;从该多条数据链路中选择允许使用、且空闲带宽最高的数据链路;将选择的数据链路确定为用于传输目的地址为ip地址的数据请求报文的目标数据链路。通过本发明实施例的方法,之后利用选择允许使用、且空闲带宽最高的数据链路传输目的地址为ip地址的数据请求报文的目标数据链路,进而可以实现路由设备与数据服务器之间的多条数据链路的负载均衡,进而提高了链路利用率。且在提高链路利用率的过程中无需人工参与,人工成本较低。

图3是根据一示例性实施例示出的一种报文处理装置的框图。参照图3,该装置包括:

第一接收模块11,用于接收域名服务器返回的dns响应报文,所述dns响应报文携带数据服务器的ip地址;

获取模块12,用于根据所述ip地址获取所述路由设备与所述数据服务器之间的多条数据链路;

选择模块13,用于从所述多条数据链路中选择允许使用、且空闲带宽最高的数据链路;

确定模块14,用于将所述选择的数据链路确定为用于传输目的地址为所述ip地址的数据请求报文的目标数据链路。

进一步地,所述装置还包括:

第一转发模块,用于向终端转发所述dns响应报文;以使所述终端在接收到所述dns响应报文之后,向所述路由设备发送目标数据请求报文,所述目标数据请求报文携带的目的ip地址为所述数据服务器的ip地址。

进一步地,所述装置还包括:

第二接收模块,用于接收终端发送的所述目标数据请求报文;

第二转发模块,用于利用所述目标数据链路向所述数据服务器转发所述目标数据请求报文。

其中,所述选择模块13包括:

第一获取单元,用于获取所述多条数据链路中的每一条数据链路的使用状态,使用状态包括禁止使用和允许使用;

第一选择单元,用于从所述多条数据链路中选择使用状态为允许使用的数据链路;

第二获取单元,用于对于每一条使用状态为允许使用的数据链路,获取所述数据链路的固定带宽和当前被占用流量;相减单元,用于将所述固定带宽与所述当前被占用流量相减得到所述数据链路的空闲带宽;

第二选择单元,用于在使用状态为允许使用的数据链路中选择空闲带宽最高的数据链路。

其中,所述第二选择单元包括:

发送子单元,用于如果存在至少两条空闲带宽最高的数据链路,则对于所述至少两个数据链路中的每一条数据链路,通过所述数据链路向数据服务器发送探测报文,并记录发送所述探测报文的发送时刻;

接收子单元,用于检测是否通过所述数据链路接收到所述数据服务器根据所述探测报文返回的响应报文,当接收到所述响应报文时,记录接收到所述响应报文的接收时刻;

确定子单元,用于根据所述发送时刻和所述接收时刻确定所述数据链路的传输时延;

选择子单元,用于从所述至少两条数据链路中选择传输时延最低的数据链路。

其中,所述选择子单元具体用于:

如果存在至少两条传输时延最低的数据链路,则对于所述至少两个传输时延最低的数据链路中的每一条数据链路,根据是否通过所述数据链路接收到所述数据服务器根据所述探测报文返回的响应报文的信息确定所述数据链路的丢包率;从所述至少两条传输时延最低的数据链路中选择丢包率最低的数据链路。

在本发明实施例中,接收dns服务器域名服务器返回的dns响应报文,dns响应报文携带数据服务器的ip地址;根据数据服务器的ip地址获取路由设备与数据服务器之间的多条数据链路;从该多条数据链路中选择允许使用、且空闲带宽最高的数据链路;将选择的数据链路确定为用于传输目的地址为ip地址的数据请求报文的目标数据链路。通过本发明实施例的方法,之后利用选择允许使用、且空闲带宽最高的数据链路传输目的地址为ip地址的数据请求报文的目标数据链路,进而可以实现路由设备与数据服务器之间的多条数据链路的负载均衡,进而提高了链路利用率。且在提高链路利用率的过程中无需人工参与,人工成本较低。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明实施例的一般性原理并包括本发明实施例未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明实施例的真正范围和精神由所附的权利要求指出。

应当理解的是,本发明实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明实施例的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1