用于智能设备的数据包处理方法和系统的利记博彩app

文档序号:10488180阅读:475来源:国知局
用于智能设备的数据包处理方法和系统的利记博彩app
【专利摘要】本发明实施例提供一种用于智能设备的DNS数据包处理方法和系统,其中,方法包括:在通过智能设备内核层的数据包中,对DNS数据包进行捕获;对所述捕获的DNS数据包进行数据处理,并丢弃所述捕获的DNS数据包;将处理后的DNS数据包发送至所述DNS数据包的目的端口。本发明通过在数据包经过内核时对其进行捕获和处理,改变了现有技术中数据包在应用层处理需要经过两次内存拷贝,处理效率不高的状况,实现了DNS数据包的更高效处理,进一步地,由于处理效率更高,也能增强系统的抗D?dos攻击的能力。
【专利说明】
用于智能设备的数据包处理方法和系统
技术领域
[0001]本发明实施例涉及智能设备领域,尤其涉及一种用于智能设备的数据包处理方法和系统。
【背景技术】
[0002]DNS(Domain Name System,域名系统),由解析器和域名服务器组成。域名服务器保存有该网络中的所有主机的域名和对应的IP地址,并具有将域名转换为IP地址的功能。其中域名必须对应一个IP地址,而IP地址不一定有域名。互联网上域名与IP地址——对应,域名虽便于人们记忆,但是机器之间只识别IP地址,两者之间的转换工作即称为域名解析,域名解析需要由专门的域名解析系统来完成的,DNS就是进行域名解析的系统。
[0003]现有技术中,域名解析的系统位于应用层,当收到一个DNS数据包之后,先有硬件接收,之后往上传输到内核,再往上传输到应用层,由应用层的域名解析系统对该数据包进行解析,然后解析后的数据包再经由内核、硬件传输到该数据包的目的端口,完成解析工作。
[0004]现有技术中,数据包从内核到应用层和由应用层到内核的两个过程中,不可避免地需要进行两次内存拷贝,这严重影响了服务效率。

【发明内容】

[0005]本发明实施例提供一种用于智能设备的数据包处理方法和系统,用以解决现有技术中服务效率不高的缺陷,实现更高效的域名解析服务。
[0006]本发明实施例提供一种用于智能设备的数据包处理方法,包括:
[0007]在通过智能设备内核层的数据包中,对DNS数据包进行捕获;
[0008]对所述捕获的DNS数据包进行数据处理,并丢弃所述捕获的DNS数据包;
[0009]将处理后的DNS数据包发送至所述DNS数据包的目的端口。
[0010]本发明实施例提供一种用于智能设备的数据包处理系统,包括:
[0011]捕获单元,配置用于在通过智能设备内核层的数据包中,对DNS数据包进行捕获;
[0012]处理单元,配置用于对所述捕获的DNS数据包进行数据处理,并丢弃所述捕获的DNS数据包;
[0013]发送单元,配置用于将处理后的DNS数据包发送至所述DNS数据包的目的端口。
[0014]本发明实施例提供的用于智能设备的数据包处理方法和系统,通过在数据包经过内核时对其进行捕获和处理,改变了现有技术中数据包在应用层处理效率不高的状况,实现了 DNS数据包的更高效处理。
【附图说明】
[0015]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为现有技术中DNS数据包在智能设备中的流向图;
[0017]图2为本发明中DNS数据包在智能设备中的流向图;
[0018]图3为本发明用于智能设备的数据包处理方法的一个实施例流程图;
[0019]图4为本发明用于智能设备的数据包处理方法的另一个实施例流程图;
[0020]图5为本发明中DNS数据包在协议栈中的路由图;
[0021]图6为本发明用于智能设备的数据包处理系统实施例结构示意图;
[0022]图7为可以应用于实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。。
【具体实施方式】
[0023]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0025 ]图1为现有技术中DNS数据包在智能设备中的流向图。
[0026]如图1所示,数据包传入时,先经由底层的硬件设备,例如数据线、网卡、网络接口之类的;之后再经由计算机的内核层,例如数据链路层、网络层和传输层;之后再由内核层传递至应用层;在应用层中对数据包进行处理;处理完的数据包再经由内核层和硬件设备发送出去。其中,由内核层向应用层和由应用层向内核层传输的两个过程需要进行两次数据拷贝,非常占用内存,从而导致处理效率不高。DNS数据包也是经由上述过程处理的,由于两次数据拷贝,非常占用内存,进一步还可能导致系统抗D-Dos攻击的能力较差,容易受到攻击。
[0027]为了解决现有技术中存在的一个或多个问题,提出了本发明的技术方案。
[0028]进一步参考图2,其示出了本发明中DNS数据包在智能设备中的流向图。
[0029]如图2所示,本发明的技术方案在数据包流经内核层时就可以将其截获,在内核层对其进行处理,从而减少了从内核层到应用层以及从应用层到内核层的两次拷贝,减少了对内存的占有,提高了处理效率,由于处理效率的提高,进一步地,可以增强系统的抗D-Dos攻击的能力。
[0030]下面将结合具体的实施例和附图对本发明的技术方案进行进一步地解释和说明。需要注意的是,本发明的实施例中虽然按照一定的顺序对本发明的步骤进行了说明,但并不用于限制本发明的技术方案,本领域的技术人员不用付出创造性劳动既可以按照其他顺序实施本发明的技术方案,按照其他顺序实施的方案也都在本发明的保护范围之内。
[0031]下面参考图3,其示出了本发明用于智能设备的数据包处理方法的一个实施例流程图300。
[0032]如图3所示,在步骤301中,在通过智能设备内核层的数据包中,对DNS数据包进行捕获。
[0033]在本实施例中,智能设备可以是手机、电脑、智能手表等可穿戴设备、智能电视等智能家电,还可以是其他未来将会出现的智能设备。在每一个通过智能设备的数据包,捕获DNS数据包,可以是通过数据包的特征信息来判别,也可以是在DNS数据包必经的端口对其进行检测。其中,捕获数据包可以是在内核层,还可以是在硬件层,在数据包经过网卡时对其进行捕获,本发明在此方面没有限制。
[0034]在步骤302中,对所述捕获的DNS数据包进行数据处理,并丢弃所述捕获的DNS数据包。
[0035]在本实施例中,数据处理可以包括接收该数据包,对该数据包进行解析以及生成DNS响应数据包等过程。丢弃数据包可以是以中止路由的方式丢弃,也可以是以其他方式,例如改变其路由路径等,本领域的技术人员在不付出创造性劳动的情况下可以给出多种方式丢弃该数据包,本发明在此方面没有限制。
[0036]在步骤303中,将处理后的DNS数据包发送至DNS数据包的目的端口。
[0037]在本实施例中,处理后的数据包为之前进行数据处理的数据包,例如可以包括接收该数据包,对该数据包进行解析以及生成DNS响应数据包等数据处理。DNS数据包的目的端口为写在数据包包头部分的目的端口,即DNS数据包的最终目的地。
[0038]通过在内核层将DNS数据包捕获,并在内核层对DNS数据包进行处理,之后丢弃该DNS数据包,例如可以是中止DNS数据包往上(例如向应用层的路由)传输,最后将处理后的DNS数据包发送至该DNS数据包的目的端口,完成了DNS数据包在内核层中的整个处理过程。与现有技术相比,可以实现在内核层对DNS数据包的处理,并且通过丢弃该数据包,防止该数据包发往应用层的处理,从而可以避免两次内存拷贝,提高处理效率。进一步地,由于处理效率提尚了,可以提尚抗D-Dos能力。
[0039],参考图4,其示出了本发明用于智能设备的数据包处理方法的另一个实施例流程图 400。
[0040]如图4所示,在步骤401中,在数据包在内核层途经的各条路径上设置DNS数据包检查点。
[0041]在本实施例中,数据包在内核层途经的各条路径可以是如图5所示的各条路径以及可能设置检查点的各个位置。
[0042]进一步参考图5,其示出了本发明中DNS数据包在协议栈中的路由图。
[0043]如图5所示,数据包在传输的过程中,可能会经过图中的5个检查点A、B、C、D、E。对于收到的每个数据包,都从“A”点进来,经过路由判决,如果是发送给本机的就经过“B”点,然后往协议栈的上层继续传递;否则,如果该数据包的目的地是不本机,那么就经过点,然后顺着“E”点将该包转发出去。对于发送的每个数据包,首先也有一个路由判决,以确定该包是从哪个接口出去,然后经过“D”点,最后也是顺着“E”点将该包发送出去。
[0044]在本实施例中,可以在上述的任意一个位置设置检查点,也可以是在所有的位置上都设置检查点,例如,如果在“A”点设置检查点,即表示对每个数据包都进行检查,无论该数据包是否经过本机都将对其进行检查;如果设置在“B”点,则可以表示只对发往本机的数据包进行检查。其它各个位置,本领域技术人员在不付出创造性劳动的基础上也能知道都有什么作用,在本发明中就不一一例举了。
[0045]进一步可选的,可以将检查点设置在数据包的入口处,例如设置在“B”点,即该数据包一定是发往本机的,进一步地,还可以只对发往本机应用层的DNS数据包进行捕获。例如在数据包将要从内核层发往应用层的途中对其进行捕获和处理,从而避免数据包发往应用层再回到内核层的两次拷贝,提高处理效率。
[0046]在步骤402中,在所述DNS数据包检查点上预先注册回调插件,其中,所述回调插件包括用于执行之后的各项操作。
[0047]在本实施例中,例如可以是在“A”点或“B”点设置检查点,之后可以提前在检查点上注册回调插件,该回调插件用于执行后续步骤中的各项操作,例如之后的数据包的捕获、数据包的处理、数据包的丢弃以及数据包的发送。
[0048]在步骤403中,在通过智能设备内核层的数据包中,对DNS数据包进行捕获。
[0049]在本实施例中,数据包通过内核层时,及对其进行检查,并对其中的DNS数据包进行捕获,其中可以是根据DNS数据包与别的数据包的不同对其进行识别和捕获,本申请在此方面没有限制。
[0050]在步骤404中,对所述捕获的DNS数据包进行数据处理,并丢弃所述捕获的DNS数据包。
[0051 ] 在本实施例中,其中,对捕获的DNS数据包的数据处理可以包括对DNS数据包的解析,生成DNS响应数据包等操作。丢弃可以是以中止路由的方式进行丢弃,本申请在此方面没有限制。
[0052]在步骤405中,将处理后的DNS数据包发送至DNS数据包的目的端口。
[0053]在本实施例中,处理后的DNS数据包可以是生成了响应报文的数据包,可以将该数据包发送至该数据包的目的端口,即发往该数据包的目的地。
[0054]通过在数据包必经的路径上设置检查点,并在检查点上预先注册回调插件,从而可以实现对数据包的捕获和处理,结合之后在内核层对数据包的处理,可以实现数据包的高效处理,进一步地,由于处理速度更快了,还可以增强抗D-dos攻击的能力。
[0055]其中,步骤403,步骤404和步骤405与图3中的步骤301,步骤302和步骤303对应,在图3中对各个步骤的解释和说明以及技术效果的描述同样适用于本实施例中的步骤403,步骤404和步骤405,在此不再赘述。
[0056]应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的某些步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0057]请参考图6,其示出了本发明用于智能设备的数据包处理系统实施例结构示意图600。
[0058]如图6中所示,本发明用于智能设备的数据包处理系统600包括捕获单元603、处理单元604以及发送单元605。其中,捕获单元603,配置用于在通过智能设备内核层的数据包中,对DNS数据包进行捕获;处理单元604,配置用于对所述捕获的DNS数据包进行数据处理,并丢弃所述捕获的DNS数据包;发送单元605,配置用于将处理后的DNS数据包发送至所述DNS数据包的目的端口。
[0059]在本实施例中,通过在内核层捕获DNS数据包,对其进行解析、发送等处理,并终止该DNS数据包的继续传输,可以实现DNS数据包在内核层的处理,从而避免了 DNS数据包在应用层处理时从内核层到应用层以及从应用层到内核层的两次数据拷贝,实现更高效的处理。
[0060]可选的,本发明用于智能设备的数据包处理系统600还包括检查点设置单元601和注册单元602。其中,检查点设置单元601,配置用于在数据包在内核层途经的各条路径上设置DNS数据包检查点;注册单元602,配置用于在所述DNS数据包检查点上预先注册回调插件,其中,所述回调插件包括用于执行之后的各项操作。
[0061]在本实施例中,由于在数据包途经的检查点上注册相关的回调插件对DNS数据包进行处理,可以实现在内核层对DNS数据包进行处理,从而可以提高处理效率,进一步地还能增强抗D-dos攻击的能力。
[0062]应当理解,图6中记载的诸单元与参考图3和图4中描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征以及相应的技术效果同样适用于图6中的诸单元,在此不再赘述。
[0063]值得注意的是,本发明的实施例中的单元并不用于限制本发明的方案,例如捕获单元可以描述为用于在通过智能设备内核层的数据包中,对DNS数据包进行捕获的单元。另外,还可以通过硬件处理器来实现相关功能模块,例如捕获单元也可以用处理器实现,在此不再赘述。
[0064]下面参考图7,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统700的结构示意图。
[0065]如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(R0M)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有系统700操作所需的各种程序和数据。CPU 70KROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线 704。
[0066]以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706 ;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口 705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
[0067]特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
[0068]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0069]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0070]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种用于智能设备的DNS数据包处理方法,包括: 在通过智能设备内核层的数据包中,对DNS数据包进行捕获; 对所述捕获的DNS数据包进行数据处理,并丢弃所述捕获的DNS数据包; 将处理后的DNS数据包发送至所述DNS数据包的目的端口。2.根据权利要求1所述的方法,其中,在通过智能设备内核层的数据包中,对DNS数据包进行捕获之前包括: 在数据包在内核层途经的各条路径上设置DNS数据包检查点; 在所述DNS数据包检查点上预先注册回调插件,其中,所述回调插件包括用于执行之后的各项操作。3.根据权利要求2所述的方法,其中,在数据包在内核层途经的各条路径上设置DNS数据包检查点进一步包括: 在所述DNS数据包的入口处设置检查点。4.根据权利要求1所述的方法,其中,所述在所述处理组件中对所述捕获的DNS数据包进行数据处理包括: 利用所述智能设备内核层中的域名服务器解析所述DNS数据包,并形成DNS响应数据包。5.根据权利要求1所述的方法,其中,所述丢弃所述捕获的DNS数据包包括: 通过强制中止所述DNS数据包的路由丢弃所述捕获的DNS数据包。6.—种用于智能设备的DNS数据包处理系统,包括: 捕获单元,配置用于在通过智能设备内核层的数据包中,对DNS数据包进行捕获; 处理单元,配置用于对所述捕获的DNS数据包进行数据处理,并丢弃所述捕获的DNS数据包; 发送单元,配置用于将处理后的DNS数据包发送至所述DNS数据包的目的端口。7.根据权利要求6所述的系统,其中,所述系统还包括: 检查点设置单元,配置用于在数据包在内核层途经的各条路径上设置DNS数据包检查占.V , 注册单元,配置用于在所述DNS数据包检查点上预先注册回调插件,其中,所述回调插件包括用于执行之后的各项操作。8.根据权利要求7所述的系统,其中,检查点设置单元进一步被配置用于在所述DNS数据包的入口处设置检查点。9.根据权利要求6所述的系统,其中,所述处理单元进一步包括: 解析单元,配置用于利用所述智能设备内核层中的域名服务器解析所述DNS数据包,并形成DNS响应数据包。10.根据权利要求6所述的系统,其中,所述处理单元进一步包括: 路由中止单元,配置用于通过强制中止所述DNS数据包的路由丢弃所述捕获的DNS数据包。
【文档编号】G06F9/54GK105847461SQ201610196594
【公开日】2016年8月10日
【申请日】2016年3月31日
【发明人】李洪福, 李艳松
【申请人】乐视控股(北京)有限公司, 乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1