网络流量的处理方法及装置、清洗设备、网络设备与流程

文档序号:11215685阅读:612来源:国知局
网络流量的处理方法及装置、清洗设备、网络设备与流程

本申请涉及网络技术领域,尤其涉及一种网络流量的处理方法及装置、清洗设备、网络设备。



背景技术:

随着网络的发展,攻击流量越来越大,通过与运营商合作,在用户的出口处进行安全防护,将攻击分散的消灭在源端,从而减少攻击时服务器机房的带宽压力。现有技术中与运营商进行合作部署的近源端分布式拒绝服务(distributeddenialofservice,简称为ddos)防护系统,有些地区因为各种原因无法部署,这时候一般采用两级ddos防护策略,即:一级为部分的和运营商合作的近源端防护系统,一级为云服务提供商(或idc机房)部署在机房入口的近目的端防护系统。当攻击目标被攻击时,近源端防护系统和近目的端防护系统联动工作,同时对攻击流量进行流量清洗,丢弃攻击流量,放行正常流量。

但是上述防护方法存在如下问题:目的端防护系统流量清洗边界网关协议(bordergatewayprotocol,简称为bgp)由于在牵引流量时无法区分攻击流量和正常流量,会将全部到达攻击目标的访问流量牵引到清洗设备上进行流量清洗,会使一些通过近源端防护系统清洗后的正常流量到达云服务提供商的idc机房时仍然会被近目的端防护系统牵引到清洗设备上进行清洗,从而浪费目的端防护系统的清洗设备的计算资源以及正常流量的误清洗。



技术实现要素:

有鉴于此,本申请提供一种新的技术方案,可以避免正常流量到达云服务提供商的idc机房时不会被近目的端防护系统牵引到清洗设备上进行清洗,降低目的端防护系统的清洗设备的计算资源,避免正常流量的误清洗。

为实现上述目的,本申请提供技术方案如下:

根据本申请的第一方面,提出了一种网络流量的处理方法,应用在网络流量的源端,包括:

对被牵引的网络流量进行流量清洗,得到所述网络流量中的正常流量;

对所述正常流量的第一数据报文进行隧道封装,得到封装后的第二数据报文;

将所述第二数据报文通过隧道传输至目标服务器。

根据本申请的第二方面,提出了一种网络流量的处理方法,应用在网络流量的目的端,包括:

接收网络流量的数据报文;

当所述网络流量的数据报文为封装后的第二数据报文时,对所述第二数据报文进行解封装,得到所述网络流量的第一数据报文以及所述第一数据报文的目的ip地址;

根据所述第一数据报文的目的ip地址将所述第一数据报文转发至目标服务器。

根据本申请的第三方面,提出了一种网络流量的处理装置,应用在网络流量的源端,包括:

流量清洗模块,用于对被牵引的网络流量进行流量清洗,得到所述网络流量中的正常流量;

封装模块,用于对所述流量清洗模块清洗得到的所述正常流量的第一数据报文进行隧道封装,得到封装后的第二数据报文;

发送模块,用于将所述封装模块封装后的所述第二数据报文通过隧道传 输至目标服务器。

根据本申请的第四方面,提出了一种网络流量的处理装置,应用在网络流量的目的端,包括:

接收模块,用于接收网络流量的数据报文;

解封装模块,用于当所述接收模块接收到的所述网络流量数据报文为封装后的第二数据报文时,对所述第二数据报文进行解封装,得到所述网络流量的第一数据报文以及所述第一数据报文的目的ip地址;

转发模块,用于根据所述解封装模块解封装得到的所述第一数据报文的目的ip地址将所述第一数据报文转发至目标服务器。

根据本申请的第五方面,提出了一种流量清洗设备,所述清洗设备包括:

第一处理器;用于存储所述第一处理器可执行指令的第一存储器;第一网络接口;

其中,所述第一处理器,用于对被牵引的网络流量进行流量清洗,得到所述网络流量中的正常流量;对所述正常流量的第一数据报文进行隧道封装,得到封装后的第二数据报文;

所述第一网络接口,用于将所述第一处理器得到的所述第二数据报文通过隧道传输至目标服务器。

根据本申请的第六方面,提出了一种网络设备,所述网络设备包括:

第二处理器;用于存储所述第二处理器可执行指令的第二存储器;第二网络接口;

所述第二网络接口,用于接收网络流量的数据报文;

所述第二处理器,用于当所述第二网络接口接收到的所述网络流量的数据报文为封装后的第二数据报文时,对所述第二数据报文进行解封装,得到所述网络流量的第一数据报文以及所述第一数据报文的目的ip地址;根据所述第一数据报文的目的ip地址将所述第一数据报文转发至目标服务器。

由以上技术方案可见,本申请通过对正常流量的第一数据报文进行隧道封装,得到封装后的第二数据报文,将第二数据报文通过隧道传输至目标服 务器,可以避免正常流量被目的端的清洗设备重复清洗,继而避免对目的端的清洗设备的计算资源造成浪费,并且还能避免目的端的清洗设备对正常流量的误清洗。

附图说明

图1a示出了本发明的示例性实施例所适用的网络架构图之一;

图1b示出了本发明的示例性实施例所适用的网络架构图之二;

图2a示出了根据本发明的示例性实施例一的网络流量的处理方法的流程示意图;

图2b示出了根据本发明的示例性实施例一的gre隧道封装的报文格式的示意图;

图3示出了根据本发明的示例性实施例二的网络流量的处理方法的流程示意图;

图4示出了根据本发明的示例性实施例三的网络流量的处理方法的流程示意图;

图5示出了根据本发明的示例性实施例四的网络流量的处理方法的流程示意图;

图6示出了根据本发明的示例性实施例五的网络流量的处理方法的流程示意图;

图7示出了根据本发明的一示例性实施例的清洗设备的结构示意图;

图8示出了根据本发明的一示例性实施例的网络设备的结构示意图;

图9示出了根据本发明的示例性实施例一的网络流量的处理装置的结构示意图;

图10示出了根据本发明的示例性实施例二的网络流量的处理装置的结构示意图;

图11示出了根据本发明的示例性实施例三的网络流量的处理装置的结构示意图;

图12示出了根据本发明的示例性实施例四的网络流量的处理装置的结构示意图。

具体实施方式

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

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

图1a示出了本发明的示例性实施例所适用的网络架构图之一;以m地区部署有源端防护系统以及n地区未部署源端防护系统为例进行示例性说明,如图1a所示,m地区源端防护系统在发现攻击流量后,第一路由器111将攻击流量牵引到源端防护系统的第一清洗设备121中进行流量清洗,通过下述图2a或图3所示实施例将攻击流量中的第一正常流量进行隧道封装后,得到封装后的第二数据报文,将第二数据报文回注到第一路由器111上,其中,隧道封装后的第二正常流量被封装起来,封装后的第二正常流量的外层 的目的ip地址修改为隧道的终结网关13的ip地址,该封装后的第一正常流量被转发至目的机房的第二路由器112后,由于封装后的第二数据报文的目的ip地址为隧道终点的网关设备13的ip地址,因此封装后的第二数据报文不会被目的防护系统牵引到第二清洗设备122上,而是通过第二路由器112转发到隧道终点的网关设备13,网关设备13对封装后的第二数据报文通过下述图4-图6任一所示实施例的方法流程进行解封装,得到第一数据报文,将第一数据报文转发到目标服务器14。n地区的攻击流量直接转发至目的机房的第二路由器112后,目的端防护系统检测到攻击后将攻击流量牵引到第二清洗设备122上进行流量清洗,并将清洗后的第二正常流量回注给第二路由器112,第二路由器112将第二正常流量转发给目标服务器14。

图1b示出了本发明的示例性实施例所适用的网络架构图之二;以m地区部署有源端防护系统以及n地区未部署源端防护系统为例进行示例性说明,如图1b所示,m地区对攻击流量进行清洗以及正常流量封装的方式参见图1a的相关描述,在此不再详述,当封装后的第二数据报文通过目的端防护系统牵引到第二清洗设备122后,第二清洗设备122检测到牵引流量为封装后的第二数据报文后,第二清洗设备122对封装后的第二数据报文通过下述图4-图6任一所示实施例的方法流程进行解封装,得到原始的第一数据报文,将解封装后的第一数据报文转发到目标服务器14。n地区的攻击流量的处理方式参见上述图1a的相关描述,在此不再详述。

为对本申请进行进一步说明,提供下列实施例:

图2a示出了根据本发明的示例性实施例一的网络流量的处理方法的流程示意图,图2b示出了根据本发明的示例性实施例一的gre隧道封装的报文格式的示意图;本实施例可以在上述图1a或图1b所示的第一清洗设备121上实现,如图2a所示,包括如下步骤:

步骤201,对被牵引的网络流量进行流量清洗,得到网络流量中的正常流量。

步骤202,对正常流量的第一数据报文进行隧道封装,得到封装后的第 二数据报文。

步骤203,将第二数据报文通过隧道传输至目标服务器。

上述步骤201中对网络流量进行流量清洗的方式可以参见现有技术中的相关描述,在此不再详述。上述步骤203中通过隧道传输至目标服务器的方式可以参见现有技术中的相关描述,在此不再详述。

上述步骤202中,隧道封装的方式可以为gre隧道封装,还也可以为vxlan隧道封装等;以gre封装为例进行示例性说明,如图2b所示,上述对正常流量的第一数据报文进行gre隧道封装的处理的过程例如为:按照gre的报文格式将第一数据报文内层ip头(inneripheader)设置第一数据报文的目标服务器的ip地址,负荷(payload)为第一数据报文,外层ip头(outeripheader)和gre头(greheader)为gre隧道封装添加的报文,其中,外层ip头中的目的ip地址(dstip)为gre隧道的终结网关的ip地址或者目标服务器的ip地址。vxlan隧道封装的方式可以参见上述gre隧道封装的描述,在此不再详述。

由上述描述可知,本发明实施例通过对正常流量的第一数据报文进行隧道封装,得到封装后的第二数据报文,将第二数据报文通过隧道传输至目标服务器,可以避免正常流量被目的端的清洗设备重复清洗,继而避免对目的端的清洗设备的计算资源造成浪费,并且还能避免目的端的清洗设备对正常流量的误清洗。

图3示出了根据本发明的示例性实施例二的网络流量的处理方法的流程示意图;本实施例结合图1a进行示例性说明,如图3所示,包括如下步骤:

步骤301,对被牵引的网络流量进行流量清洗,得到网络流量中的正常流量。

步骤302,确定隧道协议的类型。

步骤303,根据与隧道协议的类型相对应的报文格式对正常流量的第一数据报文进行封装,得到封装后的第二数据报文。

步骤304,将第二数据报文通过隧道传输至目标服务器。

上述步骤301中对网络流量进行流量清洗的方式可以参见现有技术中的相关描述,在此不再详述。上述步骤304中通过隧道传输至目标服务器的方式可以参见现有技术中的相关描述,在此不再详述。

上述步骤302中,隧道协议的类型可以为gre协议,还也可以为vxlan协议。在部署源端和目的端的ddos防护系统时,源端和目的端的ddos防护系统可以约定双方所采用的隧道协议的类型。

上述步骤303中,在一实施例中,可以确定隧道对应的终结设备的ip地址,根据与隧道协议的类型相对应的报文格式将正常流量的第一数据报文封装在内层ip头和负荷对应的字段,将终结设备的ip地址封装在外层ip头对应的字段,例如,通过gre协议的gre隧道封装可以参见上述图2a的相关描述,在此不再详述。在一实施例中,终结设备可以为目标服务器,在另一实施例中,终结设备也可以为隧道的网关设备,可以视第二数据报文的外层的目的ip地址而定,当第二数据报文的外层的目的ip地址为目标服务器时,则终结设备为目标是服务器,当第二数据报文的外层的目的ip地址为隧道的网关设备时,终结设备为目标是服务器。

本实施例在具有上述实施例的有益技术效果的基础上,根据与隧道协议的类型相对应的报文格式对正常流量的第一数据报文进行封装,提高了源端的清洗设备在封装第一数据报文时的灵活性。

图4示出了根据本发明的示例性实施例三的网络流量的处理方法的流程示意图;应用在网络流量的目的端,如图4所示,包括如下步骤:

步骤401,接收网络流量的数据报文。

步骤402,当网络流量的数据报文为封装后的第二数据报文时,对第二数据报文进行解封装,得到网络流量的第一数据报文以及第一数据报文的目的ip地址。

步骤403,根据第一数据报文的目的ip地址将第一数据报文转发至目标服务器。

上述步骤401以及步骤403的描述可以参见现有技术中的相关描述,在 此不再详述。

上述步骤402中,以第二数据报文通过gre协议封装得到为例进行示例性说明,与上述图2a所示实施例中关于封装相反过程,当第二数据报文到达图1a所示的网关设备13或者清洗设备122后,网关设备13或者清洗设备122可以对第二数据报文进行解封装,解封装的动作为:去除图2b所示的报文格式中的外层ip头和gre头,第二数据报文的内层ip头和负荷(inneripheader和payload)即为源端的清洗设备121进行流量清晰后放行的第一正常流量,该第一数据报文可以被网关设备13或者清洗设备122转发给目标服务器14。

由上述描述可知,本发明实施例当第二数据报文为封装后的数据报文时,对第二数据报文进行解封装,得到网络流量的第一数据报文以及第一数据报文的目的ip地址,根据第一数据报文的目的ip地址将第一数据报文转发至目标服务器,从而可以避免正常流量被目的端的清洗设备重复清洗,继而避免对目的端的清洗设备的计算资源造成浪费,并且还能避免目的端的清洗设备对正常流量的误清洗。

图5示出了根据本发明的示例性实施例四的网络流量的处理方法的流程示意图;本实施例以在图1a所示的网关设备13上实现解封装为例进行示例性说明,如图5所示,包括如下步骤:

步骤501,接收网络流量的数据报文。

步骤502,当网络流量的数据报文为封装后的第二数据报文时,确定第二数据报文在进行隧道封装时采用的隧道协议的类型。

步骤503,根据与隧道协议的类型相对应的报文格式对第二数据报文进行解封装,得到网络流量的第一数据报文以及第一数据报文的目的ip地址。

步骤504,根据第一数据报文的目的ip地址将第一数据报文转发至目标服务器。

上述步骤501以及步骤504的描述可以参见现有技术中的相关描述,在此不再详述。

上述步骤502中,在一实施例中,可以通过解析第二数据报文,得到第二数据报文的外层ip地址,将该外层ip地址分别与目标服务器14的ip地址、隧道终结的网关设备13的ip地址进行比较来确定是否为封装后的第二数据报文,例如,当检测到外层ip地址与网关设备13的ip地址相同时,则可以确定该网络流量为需要转发至网关设备13的数据报文,当检测到外层ip地址与目标服务器14的ip地址相同时,则可以确定该网络流量为需要转发至第二清洗设备122的数据报文。

上述步骤503中的解封装的描述可以参见上述图4所示实施例的相关描述,在此不再详述。

本实施例在具有上述实施例的有益技术效果的基础上,通过将对第二数据报文进行解封装的流程在网关设备上实现,既可以缓解目的端的清洗设备的流量清洗的压力,还可以缩短正常流量达到目标服务器的时间,提升了用户体验。

图6示出了根据本发明的示例性实施例五的网络流量的处理方法的流程示意图;本实施例以在图1b所示的第二流量清洗设备122上实现解封装为例进行示例性说明,如图6所示,包括如下步骤:

步骤601,接收网络流量的数据报文。

步骤602,检测网络流量的数据报文是否为封装后的第二数据报文,当网络流量的数据报文为封装后的第二数据报文时,执行步骤603,当网络流量的数据报文为攻击流量时,对网络流量进行流量清洗。

步骤603,当第二数据报文为封装后的数据报文时,确定第二数据报文在进行隧道封装时采用的隧道协议的类型。

步骤604,根据与隧道协议的类型相对应的报文格式对第二数据报文进行解封装,得到网络流量的第一数据报文以及第一数据报文的目的ip地址。

步骤605,根据第一数据报文的目的ip地址将第一数据报文转发至目标服务器。

上述步骤601以及步骤606的描述可以参见现有技术中的相关描述,在 此不再详述。上述步骤603和步骤604的相关描述可以参见上述图5所示实施例的描述,在此不再详述。

上述步骤602中,可以在封装后的第二数据报文中设置一个比特位,通过该比特位来表示第二数据报文为已封装的数据报文,例如,当该比特位为1时,确定第二数据报文为已封装的数据报文。

本实施例在具有上述实施例的有益技术效果的基础上,通过将对第二数据报文进行解封装的流程在目的端的清洗设备上实现,避免了在目的端增加一个专用的隧道终结的网络设备,节省用户在网络部署时的硬件成本。

对应于上述的网络流量的处理方法,本申请还提出了图7所示的根据本申请的一示例性实施例的清洗设备的示意结构图。请参考图7,在硬件层面,该清洗设备包括第一处理器、内部总线、第一网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。第一处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成网络流量的处理装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

其中,第一处理器,用于对被牵引的网络流量进行流量清洗,得到网络流量中的正常流量;对正常流量的第一数据报文进行隧道封装,得到封装后的第二数据报文;

第一网络接口,用于将第一处理器得到的第二数据报文通过隧道传输至目标服务器。

对应于上述的网络流量的处理方法,本申请还提出了图8所示的根据本申请的一示例性实施例的网络设备的示意结构图。请参考图8,在硬件层面,该网络设备包括第二处理器、内部总线、第二网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。第二处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成网络流量的处理装置。当然,除了软件实现方式之外,本申请并不排除其他实现方 式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

其中,第二网络接口,用于接收网络流量的数据报文;

第二处理器,用于当第二网络接口接收到的网络流量的数据报文为封装后的第二数据报文时,对第二数据报文进行解封装,得到网络流量的第一数据报文以及第一数据报文的目的ip地址;根据第一数据报文的目的ip地址将第一数据报文转发至目标服务器。

图9示出了根据本发明的示例性实施例一的网络流量的处理装置的结构示意图;如图9所示,该网络流量的处理装置可以应用在网络流量的源端,包括:流量清洗模块91、封装模块92、发送模块93。其中:

流量清洗模块91,用于对被牵引的网络流量进行流量清洗,得到网络流量中的正常流量;

封装模块92,用于对流量清洗模块91清洗得到的正常流量的第一数据报文进行隧道封装,得到封装后的第二数据报文;

发送模块93,用于将封装模块92封装后的第二数据报文通过隧道传输至目标服务器。

图10示出了根据本发明的示例性实施例二的网络流量的处理装置的结构示意图;如图10所示,在上述图9所示实施例的基础上,在一实施例中,封装模块92可包括:

第一确定单元921,用于确定隧道协议的类型;

封装单元922,用于根据与第一确定单元确定的隧道协议的类型相对应的报文格式对正常流量的第一数据报文进行封装。

在一实施例中,封装单元922可包括:

确定子单元9221,用于确定隧道对应的终结设备的ip地址;

封装子单元9222,用于根据与隧道协议的类型相对应的报文格式将正常流量的第一数据报文封装在内层ip头和负荷对应的字段,将确定子单元9221确定的终结设备的ip地址封装在外层ip头对应的字段。

图11示出了根据本发明的示例性实施例三的网络流量的处理装置的结构示意图;如图11所示,该网络流量的处理装置可以应用在网络流量的目的端,包括:接收模块11、解封装模块12、转发模块13。其中:

接收模块11,用于接收网络流量的数据报文;

解封装模块12,用于当接收模块11接收到的网络流量数据报文为封装后的第二数据报文时,对第二数据报文进行解封装,得到网络流量的第一数据报文以及第一数据报文的目的ip地址;

转发模块13,用于根据解封装模块12解封装得到的第一数据报文的目的ip地址将第一数据报文转发至目标服务器。

图12示出了根据本发明的示例性实施例四的网络流量的处理装置的结构示意图;如图12所示,在上述图11所示实施例的基础上,在一实施例中,解封装模块12可包括:

第二确定单元1201,用于确定第二数据报文在进行隧道封装时采用的隧道协议的类型;

解封装单元1202,用于根据与第二确定单元1201确定的隧道协议的类型相对应的报文格式对第二数据报文进行解封装。

在一实施例中,装置还可包括:

检测模块14,用于检测接收模块11接收到的网络流量的第二数据报文是否为封装后的数据报文;

当检测模块14检测到第二数据报文为封装后的数据报文时,解封装模块12执行对第二数据报文进行解封装的步骤。

上述实施例可见,本申请通过对正常流量的第一数据报文进行隧道封装,得到封装后的第二数据报文,将第二数据报文通过隧道传输至目标服务器,可以避免正常流量被目的端的清洗设备重复清洗,继而避免对目的端的清洗设备的计算资源造成浪费,并且还能避免目的端的清洗设备对正常流量的误清洗。

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

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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