报文的处理方法和装置的制造方法

文档序号:10578110阅读:736来源:国知局
报文的处理方法和装置的制造方法
【专利摘要】本发明提供一种报文的处理方法和装置,该方法应用在网络设备上,该网络设备上基于预设知名端口建立SSL VPN隧道,该预设知名端口为L2TP的注册端口,该方法包括:当通过预设知名端口接收到业务报文时,确定业务报文的报文类型,报文类型包括L2TP类报文和SSL VPN类报文;根据报文类型将业务报文存入与报文类型对应的套接字Socket队列;调用与Socket队列对应的处理进程对Socket队列中的业务报文进行业务处理。应用上述实施例,可以实现SSL VPN与L2TP共用一个知名端口,避免SSL VPN类报文被网络设备过滤,使SSL VPN类报文能够进入对应的处理进程,从而对SSL VPN类报文的业务处理,提高用户体验。
【专利说明】
报文的处理方法和装置
技术领域
[0001]本发明涉及网络安全技术领域,尤其涉及一种报文的处理方法和装置。
【背景技术】
[0002]SSL VPN (Secure Sockets Layer Virtual Private Network,安全套接层虚拟专用网)即指采用SSL协议来实现远程接入的一种新型VPN技术,SSL VPN具有部署简单、维护成本低以及网络适应性强等特点,因此被广泛应用于企业网络,为企业的总部和分部之间提供安全隧道,即SSL VPN隧道,从而为企业内部资源访问提供便捷,并提高内部资源访问的安全性。
[0003]目前,采用UDP(User Datagram Protocol,用户数据报协议)非知名端口建立SSLVPN (Secure Sockets Layer Virtual Private Network,安全套接层虚拟专用网)隧道,但由于网络设备对报文的安全检查标准不一致,会导致SSL VPN类报文被网络设备过滤处理,而不能对SSL VPN类报文进行业务处理,降低用户体验。

【发明内容】

[0004]有鉴于此,本发明提供一种报文的处理方法和装置,以解决SSL VPN类报文被网络设备过滤处理,而不能对SSL VPN类报文进行业务处理的问题。
[0005]具体地,本发明是通过如下技术方案实现的:
[0006]本发明提供一种报文的处理方法,所述方法应用在网络设备上,所述网络设备上基于预设知名端口建立SSL VPN隧道,所述预设知名端口为第二层隧道协议L2TP的注册端口,所述方法包括:
[0007]当通过所述预设知名端口接收到业务报文时,确定所述业务报文的报文类型,所述报文类型包括L2TP类报文和SSL VPN类报文;
[0008]根据所述报文类型将所述业务报文存入与所述报文类型对应的套接字Socket队列;
[0009]调用与所述Socket队列对应的处理进程对所述Socket队列中的业务报文进行业务处理。
[0010]本发明还提供一种报文的处理装置,所述装置应用在网络设备上,所述网络设备上基于预设知名端口建立SSL VPN隧道,所述预设知名端口为L2TP的注册端口,所述装置包括:
[0011]确定单元,用于当通过所述预设知名端口接收到业务报文时,确定所述业务报文的报文类型,所述报文类型包括L2TP类报文和SSL VPN类报文;
[0012]第一存储单元,用于根据所述报文类型将所述业务报文存入与所述报文类型对应的Socket队列;
[0013]执行单元,用于调用与所述Socket队列对应的处理进程对所述Socket队列中的业务报文进行业务处理。
[0014]应用上述实施例,可以根据业务报文的报文类型,将业务报文存入与报文类型对应的Socket队列,最终进入对应的处理进程以对业务报文进行业务处理,从而实现SSLVPN与L2TP共用一个知名端口,避免SSL VPN类报文被网络设备过滤,使SSL VPN类报文能够进入对应的处理进程,从而对SSL VPN类报文的业务处理,提高用户体验。
【附图说明】
[0015]图1是本发明一示例性实施例示出的一种报文的处理方法的流程示意图;
[0016]图2是本发明一示例性实施例示出的另一种报文的处理方法的流程示意图;
[0017]图3是本发明一示例性实施例示出的一种报文的处理装置的所在设备一硬件结构示意图;
[0018]图4是本发明一示例性实施例示出的一种报文的处理装置的流程示意图。
【具体实施方式】
[0019]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0020]在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0021]应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0022]本发明实施例提供的一种报文的处理方法,该方法应用在网络设备上,该网络设备上基于预设知名端口建立SSL VPN隧道,从而使SSL VPN与L2TP (Layer 2 TunnelingProtocol,第二层隧道协议)共用该预设知名端口,避免SSL VPN类报文被网络设备过滤处理,并基于报文类型将报文存入对应的Socket队列,保障SSL VPN类报文与L2TP类报文不产生冲突,顺利进入各自对应的处理进程,完成相应的业务处理。
[0023]图1是本发明一示例性实施例示出的一种报文的处理方法的流程示意图。
[0024]如图1所示,一种报文的处理方法,该方法的实现过程可以包括内核态部分和用户态部分,在内核态下,在接收到业务报文后,可以确定该业务报文的报文类型,其中,报文类型可以包括L2TP类报文和SSL VPN类报文,并根据报文类型将业务报文存入与之对应的Socket队列,比如,L2TP Socket队列和SSL VPN Socket队列,再通过调用用户态下的处理进程,比如,L2TP处理进程和SSL VPN处理进程,使该处理进程对相应的Socket队列中的业务报文进行业务处理。
[0025]为了使本技术领域的人员更好地理解本发明实施例中的技术方案,将结合以下附图对本发明实施例中技术方案作进一步详细的说明。
[0026]图2是本发明一示例性实施例示出的另一种报文的处理方法的流程示意图。
[0027]如图2所示,一种报文的处理方法,该方法应用在网络设备上,且该网络设备上基于预设知名端口建立SSL VPN隧道,预设知名端口为L2TP的注册端口,该方法包括如下步骤:
[0028]步骤201,当通过预设知名端口接收到业务报文时,确定业务报文的报文类型,其中,报文类型包括L2TP类报文和SSL VPN类报文。
[0029]从传输层而言,L2TP类报文和SSL VPN类报文的五元组是相同的,因此不能准确地区分两类报文的报文类型,根据本发明的优选实施例,可以从应用层的报文信息以确定两类报文的报文类型,具体地,可以从业务报文的协议字段获取业务报文的应用层协议,如果该应用层协议为L2TP,则确定该业务报文为L2TP类报文,而如果应用层协议为SSL协议,则确定该业务报文为SSL VPN类报文。
[0030]优选地,预设知名端口可以为1701端口。
[0031]步骤202,根据报文类型将业务报文存入与述报文类型对应的Socket队列。
[0032]可以预先设置与报文类型对应的Socket队列,比如,L2TP Socket队列和SSL VPNSocket队列,在通过步骤201确定业务报文的报文类型后,将业务报文存入类型与报文类型匹配的Socket队列中。
[0033]步骤203,调用与Socket队列对应的处理进程对Socket队列中的业务报文进行业务处理。
[0034]通过步骤203,可以调用用户态中的处理进程,以对Socket队列中的业务报文进行业务处理,实现L2TP类报文和SSL VPN类报文分流处理,避免预设知名端口发生端口冲突问题,从而使不同类型的业务报文能够成功进入对应的处理进程,保障正常业务处理。
[0035]下面通过举例对上述实施例子进一步详细的说明。
[0036]假设预设知名端口为1701端口,本技术领域人员可以理解的是,1701端口为L2TP的注册端口,L2TP类报文可以通过1701端口成功进入对应的处理进程,从而实现对L2TP类报文的业务处理,然而,如果SSL VPN也使用1701端口,则1701端口将会出现端口冲突问题,而不能正常地进行业务处理。而采用本发明实施例,可以对L2TP类报文和SSL VPN类报文的报文类型进行识别,并根据识别出的报文类型将对应的业务报文存入与报文类型对应的Socket队列中,从而使业务报文进行对应的处理进行,避免1701端口出现端口冲突问题,保障正常地对通过1701端口的每类报文进行业务处理。
[0037]根据本发明一可选实施例,可以预先创建套接字缓存Socket Buffer,基于此,在步骤201之后,可以将业务报文保存至Socket Buffer,并为保存有所述业务报文的SocketBuffer标记与所述报文类型对应的第一识别特征,以将所述Socket Buffer中的业务报文存入与所述第一识别特征对应的Socket队列。举例来说,可以将0x01标记为存有L2TP类报文的Socket Buffer的第一识别特征,将0x02标记为存有SSL VPN类报文的SocketBuffer的第一识别特征。
[0038]基于上述优选实施例,本发明还提供一优选实施例,可以预先设置两个分别用于存储两类业务报文的Socket队列,本技术领域人员可以理解的是,一个五元组(比如,协议类型、源IP地址、目的IP地址、源端口和目的端口)可以确定一个Socket,但是由于本发明实施例中的两类报文的五元组相同,为了区分两类报文的Socket,可以为Socket队列标记第二识别特征,比如,可以在Socket的encap_type字段进行字段扩展处理,增加该字段值对,例如,在encap_type字段定义OxOl表示L2TP的Socket,定义0x02表示SSL VPN的Socket,可以将encap_type字段的0x01作为L2TP的Socket队列的第二识别特征,将0x02作为SSL VPN的Socket队列的第二识别特征。
[0039]进一步地,步骤102具体可以基于第一识别特征,判断第一识别特征是否与第二识别特征匹配,如果匹配,则可以将Socket Buffer中的业务报文存入所述第二识别特征对应的Socket队列中。
[0040]应用上述实施例,可以根据业务报文的报文类型,将业务报文存入与报文类型对应的Socket队列,最终进入对应的处理进程以对业务报文进行业务处理,从而实现SSLVPN与L2TP共用一个知名端口,且SSL VPN类报文能够成功进入对应的处理进程,保障对SSL VPN类报文的业务处理,提高用户体验。
[0041]与前述报文的处理方法的实施例相对应,本发明还提供了报文的处理装置的实施例。
[0042]本发明报文的处理装置400的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明报文的处理装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的网络设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
[0043]图4是本发明一示例性实施例示出的一种报文的处理装置的流程示意图。
[0044]如图4所示,一种报文的处理装置400,该装置400应用在网络设备上,该网络设备上基于预设知名端口建立SSL VPN隧道,预设知名端口为L2TP的注册端口,该装置400包括确定单元401、第一存储单元402以及执行单元403。
[0045]确定单元401用于当通过所述预设知名端口接收到业务报文时,确定所述业务报文的报文类型,所述报文类型包括L2TP类报文和SSL VPN类报文。
[0046]根据本发明的优选实施例,确定单元401可以包括获取子单元和确定子单元,其中,获取子单元用于从所述业务报文的协议字段获取所述业务报文的应用层协议;确定子单元用于若所述应用层协议为第二层隧道协议L2TP,则确定所述业务报文为L2TP类报文;若所述应用层协议为安全套接层SSL协议,则确定所述业务报文为SSL VPN类报文。
[0047]第一存储单元402用于根据所述报文类型将所述业务报文存入与所述报文类型对应的Socket队列。
[0048]执行单元403用于调用与所述Socket队列对应的处理进程对所述Socket队列中的业务报文进行业务处理。
[0049]根据本发明一可选实施例,一种报文的处理装置400,还可以包括缓存创建单元、第二存储单元、第一标记单元以及第三存储单元,其中,缓存创建单元,用于创建套接字缓存Socket Buffer ;第二存储单元,用于在确定所述业务报文的报文类型之后,将所述业务报文保存至所述Socket Buffer ;第一标记单元,用于为保存有所述业务报文的SocketBuffer标记与所述报文类型对应的第一识别特征;第三存储单元,用于将所述SocketBuffer中的业务报文存入与所述第一识别特征对应的Socket队列。
[0050]基于该可选实施例,一种报文的处理装置400还可以包括队列创建单元和第二标记单元,其中,队列创建单元,用于创建与所述报文类型对应的Socket队列;第二标记单元,用于为所述Socket队列标记与所述报文类型对应的第二识别特征。进一步地,第一存储单元402可以包括判断子单元和存储子单元,其中,判断子单元,用于判断所述第一识别特征是否与所述第二识别特征匹配;存储子单元,用于当匹配时,将所述Socket Buffer中的业务报文存入匹配的所述第二识别特征对应的Socket队列。
[0051]根据本发明的优选实施例,预设知名端口为1701端口。
[0052]上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0053]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0054]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1.一种报文的处理方法,其特征在于,所述方法应用在网络设备上,所述网络设备上基于预设知名端口建立SSL VPN隧道,所述预设知名端口为第二层隧道协议L2TP的注册端口,所述方法包括: 当通过所述预设知名端口接收到业务报文时,确定所述业务报文的报文类型,所述报文类型包括L2TP类报文和SSL VPN类报文; 根据所述报文类型将所述业务报文存入与所述报文类型对应的套接字Socket队列; 调用与所述Socket队列对应的处理进程对所述Socket队列中的业务报文进行业务处理。2.根据权利要求1所述的方法,其特征在于,所述确定所述业务报文的报文类型,包括: 从所述业务报文的协议字段获取所述业务报文的应用层协议; 若所述应用层协议为L2TP,则确定所述业务报文为L2TP类报文; 若所述应用层协议为安全套接层SSL协议,则确定所述业务报文为SSL VPN类报文。3.根据权利要求1所述的方法,其特征在于,所述方法还包括: 创建套接字缓存Socket Buffer ; 在确定所述业务报文的报文类型之后,将所述业务报文保存至所述Socket Buffer ; 为保存有所述业务报文的Socket Buffer标记与所述报文类型对应的第一识别特征; 将所述Socket Buffer中的业务报文存入与所述第一识别特征对应的所述Socket队列。4.根据权利要求3所述的方法,其特征在于,所述方法还包括: 创建与所述报文类型对应的Socket队列; 为所述Socket队列标记与所述报文类型对应的第二识别特征; 所述根据所述报文类型将所述业务报文存入与所述报文类型对应的Socket队列,包括: 判断所述第一识别特征是否与所述第二识别特征匹配; 当匹配时,将所述Socket Buffer中的业务报文存入所述第二识别特征对应的Socket队列。5.根据权利要求1?4中任一项所述的方法,其特征在于,所述预设知名端口为1701端口。6.一种报文的处理装置,其特征在于,所述装置应用在网络设备上,所述网络设备上基于预设知名端口建立SSL VPN隧道,所述预设知名端口为第二层隧道协议L2TP的注册端口,所述装置包括: 确定单元,用于当通过所述预设知名端口接收到业务报文时,确定所述业务报文的报文类型,所述报文类型包括L2TP类报文和SSL VPN类报文; 第一存储单元,用于根据所述报文类型将所述业务报文存入与所述报文类型对应的Socket 队列; 执行单元,用于调用与所述Socket队列对应的处理进程对所述Socket队列中的业务报文进行业务处理。7.根据权利要求6所述的装置,其特征在于,所述确定单元包括: 获取子单元,用于从所述业务报文的协议字段获取所述业务报文的应用层协议; 确定子单元,用于若所述应用层协议为L2TP,则确定所述业务报文为L2TP类报文;若所述应用层协议为安全套接层SSL协议,则确定所述业务报文为SSL VPN类报文。8.根据权利要求6所述的装置,其特征在于,所述装置还包括: 缓存创建单元,用于创建套接字缓存Socket Buffer ; 第二存储单元,用于在确定所述业务报文的报文类型之后,将所述业务报文保存至所述 Socket Buffer ; 第一标记单元,用于为保存有所述业务报文的Socket Buffer标记与所述报文类型对应的第一识别特征; 第三存储单元,用于将所述Socket Buffer中的业务报文存入与所述第一识别特征对应的Socket队列。9.根据权利要求8所述的装置,其特征在于,所述装置还包括: 队列创建单元,用于创建与所述报文类型对应的Socket队列; 第二标记单元,用于为所述Socket队列标记与所述报文类型对应的第二识别特征; 所述第一存储单元,包括: 判断子单元,用于判断所述第一识别特征是否与所述第二识别特征匹配; 存储子单元,用于当匹配时,将所述Socket Buffer中的业务报文存入所述第二识别特征对应的Socket队列。10.根据权利要求6?9中任一项所述的装置,其特征在于,所述预设知名端口为1701端口。
【文档编号】H04L12/46GK105939308SQ201510447366
【公开日】2016年9月14日
【申请日】2015年7月27日
【发明人】李绍辉, 王永亮
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1