报文处理方法及装置制造方法及图纸

技术编号:16179014 阅读:36 留言:0更新日期:2017-09-12 01:22
本发明专利技术实施例提供了一种报文处理方法及装置。本发明专利技术实施例无需将DNS请求报文通过套接字从内核空间复制到用户空间,也无需将DNS请求报文通过套接字从用户空间复制到内核空间,直接利用内核空间处理该DNS请求报文,进而利用内核空间得到DNS响应报文,并利用内核空间向终端发送DNS响应报文,从而节省了系统资源;以及节省了将DNS请求报文通过套接字复制到用户空间所需耗费的时间,进而提高了终端获取到DNS响应报文的获取效率。

Message processing method and apparatus

The embodiment of the invention provides a message processing method and a device. The embodiment of the invention without the DNS request message through a socket copied from the kernel space to user space, there is no need to copy the DNS request message to the kernel space from user space through the socket, the direct use of kernel space and processing the DNS request message, and then use the kernel space to the DNS response message and the response message to the kernel space the terminal sends DNS to save system resources; and will save the DNS request message through a socket is copied to the user space required to spend time, and improve the efficiency of access terminal receives the DNS response message.

【技术实现步骤摘要】

本专利技术实施例涉及计算机
,尤其涉及一种报文处理方法及装置
技术介绍
当前,域名解析服务器为人们提供网页域名与IP地址(InternetProtocolAddress,互联网协议地址)相互转换的信息,是互联网系统的一项基础性技术设施,是人们日常浏览网页的过程中不可或缺的部分。目前,当用户利用终端访问某一网页时,用户可以在终端中输入待访问网页的域名,例如,当用户需要浏览百度的主页面时,可以在终端中输入百度的主页面的域名“www.baidu.com”,终端获取用户输入的待访问网页的域名,并生成DNS(DomainNameSystem,域名系统)请求报文,DNS请求报文中携带待访问网页的域名,然后向代理服务器转发DNS请求报文;代理服务器利用linux(操作系统)的内核空间接收该DNS请求报文,利用套接字将DNS请求报文复制到linux的用户空间中,然后利用用户空间向域名解析服务器转发该DNS请求报文,域名解析服务器获取根据该网页的域名,获取存储有该网页的网页服务器的IP地址,并根据该网页的域名与网页服务器的IP地址生成DNS响应报文,然后向代理服务器发送该DNS响应报文,代理服务器利用用户空间接收域名解析服务器发送的该DNS响应报文,然后利用套接字将该DNS响应报文复制到内核空间中,再利用内核空间向终端发送该DNS响应报文。终端接收该DNS响应报文,进而根据该DNS响应报文中的网页服务器的IP地址从网页服务器中获取该网页,并在屏幕上显示该网页,以供用户浏览。专利技术人在实现本专利技术实施例的过程中发现,相关技术中的这种方案至少存在如下缺点。在上述过程中,需要利用套接字将DNS请求报文从内核空间复制到用户空间,以及需要利用套接字将DNS响应报文从用户空间复制到内核空间,两次复制过程耗费系统资源,且会耗费较多的时间,进而降低了终端获取到DNS响应报文的获取效率。
技术实现思路
为克服相关技术中存在的问题,本专利技术实施例提供一种报文处理方法及装置。根据本专利技术实施例的第一方面,提供一种报文处理方法,应用于代理服务器,所述方法包括:利用基于linux的内核空间接收终端发送的DNS请求报文,所述DNS请求报文携带待访问网页的域名;利用所述内核空间在预先存储的预设报文列表中查找包括所述DNS请求报文的记录;所述预设报文列表存储了多条记录,每一条记录中至少包括一个DNS请求报文与一个DNS响应报文,且不同的记录包括的DNS请求报文和DNS响应报文不同;如果查找到包括所述DNS请求报文的记录,则利用所述内核空间向所述终端发送所述查找到的DNS响应报文。进一步地,所述方法还包括:如果未查找到包括所述DNS请求报文的记录,则利用所述内核空间向域名解析服务器发送所述DNS请求报文;利用所述内核空间接收所述域名解析服务器根据所述DNS请求报文返回的DNS响应报文;利用所述内核空间向所述终端发送所述接收到的DNS响应报文。进一步地,所述方法还包括:将所述DNS请求报文与所述接收到的DNS响应报文组成一条记录,并存储在所述预设报文列表中。其中,所述利用所述内核空间向域名解析服务器发送所述DNS请求报文,包括:如果所述DNS请求报文中的源IP地址为私网IP地址,则利用所述内核空间将所述DNS请求报文中的源IP地址修改为所述代理服务器的公网IP地址,再利用所述内核空间向所述域名解析服务器发送修改了源IP地址的DNS请求报文。其中,所述向所述终端发送所述查找到的DNS响应报文,包括:利用所述内核空间将所述DNS响应报文中的目的IP地址修改为所述终端的私网IP地址,再利用所述内核空间向所述终端发送修改了目的IP地址的DNS响应报文。根据本专利技术实施例的第二方面,提供一种报文处理装置,应用于代理服务器,所述装置包括:第一接收模块,用于利用基于linux的内核空间接收终端发送的DNS请求报文,所述DNS请求报文携带待访问网页的域名;查找模块,用于利用所述内核空间在预先存储的预设报文列表中查找包括所述DNS请求报文的记录;所述预设报文列表存储了多条记录,每一条记录中至少包括一个DNS请求报文与一个DNS响应报文,且不同的记录包括的DNS请求报文和DNS响应报文不同;第一发送模块,用于如果查找到包括所述DNS请求报文的记录,则利用所述内核空间向所述终端发送所述查找到的DNS响应报文。进一步地,所述装置还包括:第二发送模块,用于如果未查找到包括所述DNS请求报文的记录,则利用所述内核空间向域名解析服务器发送所述DNS请求报文;第二接收模块,用于利用所述内核空间接收所述域名解析服务器根据所述DNS请求报文返回的DNS响应报文;第三发送模块,用于利用所述内核空间向所述终端发送所述接收到的DNS响应报文。进一步地,所述装置还包括:存储模块,用于将所述DNS请求报文与所述接收到的DNS响应报文组成一条记录,并存储在所述预设报文列表中。其中,所述第二发送模块包括:第一修改单元,用于如果所述DNS请求报文中的源IP地址为私网IP地址,则利用所述内核空间将所述DNS请求报文中的源IP地址修改为所述代理服务器的公网IP地址;第二发送单元,用于利用所述内核空间向所述域名解析服务器发送修改了源IP地址的DNS请求报文。其中,所述第三发送模块包括:第二修改单元,用于利用所述内核空间将所述DNS响应报文中的目的IP地址修改为所述终端的私网IP地址;第二发送单元,用于利用所述内核空间向所述终端发送修改了目的IP地址的DNS响应报文。本专利技术实施例提供的技术方案可以包括以下有益效果:在本专利技术实施例中,利用基于linux的内核空间接收终端发送的DNS请求报文,该DNS请求报文携带待访问网页的域名;利用内核空间在预先存储的预设报文列表中查找包括该DNS请求报文的记录;预设报文列表存储了多条记录,每一条记录中至少包括一个DNS请求报文与一个DNS响应报文,且不同的记录包括的DNS请求报文和DNS响应报文不同;如果查找到包括该DNS请求报文的记录,则利用内核空间向终端发送查找到的DNS响应报文。本专利技术实施例无需将DNS请求报文通过套接字从内核空间复制到用户空间,也无需将DNS请求报文通过套接字从用户空间复制到内核空间,直接利用内核空间处理该DNS请求报文,进而利用内核空间得到DNS响应报文,并利用内核空间向终端发送DNS响应报文,从而节省了系统资源;以及节省了将DNS请求报文通过套接字复制到用户空间所需耗费的时间,进而提高了终端获取到DNS响应报文的获取效率。其次,由于底层网络接口位于linux的内核空间中,且由于本专利技术实施例是利用内核空间来接收并处理DNS请求报文以及利用内核空间向终端发送DNS响应报文,因此,可以充分利用位于linux的内核空间中的底层的网络接口辅助处理DNS请求报文,从而提高了扩展性和灵活性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术实施例。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术实施例的原理。图1是根据一示例性实施例示出的一种报文处理系统的结构示意图;图2是根据一示例性实施例示出的一种报文处理方法的流程图;图3是根据一示例性实施例示出的一种报文处理方法本文档来自技高网
...
报文处理方法及装置

【技术保护点】
一种报文处理方法,应用于代理服务器,其特征在于,所述方法包括:利用基于操作系统linux的内核空间接收终端发送的域名系统DNS请求报文,所述DNS请求报文携带待访问网页的域名;利用所述内核空间在预先存储的预设报文列表中查找包括所述DNS请求报文的记录;所述预设报文列表存储了多条记录,每一条记录中至少包括一个DNS请求报文与一个DNS响应报文,且不同的记录包括的DNS请求报文和DNS响应报文不同;如果查找到包括所述DNS请求报文的记录,则利用所述内核空间向所述终端发送所述查找到的DNS响应报文。

【技术特征摘要】
1.一种报文处理方法,应用于代理服务器,其特征在于,所述方法包括:利用基于操作系统linux的内核空间接收终端发送的域名系统DNS请求报文,所述DNS请求报文携带待访问网页的域名;利用所述内核空间在预先存储的预设报文列表中查找包括所述DNS请求报文的记录;所述预设报文列表存储了多条记录,每一条记录中至少包括一个DNS请求报文与一个DNS响应报文,且不同的记录包括的DNS请求报文和DNS响应报文不同;如果查找到包括所述DNS请求报文的记录,则利用所述内核空间向所述终端发送所述查找到的DNS响应报文。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果未查找到包括所述DNS请求报文的记录,则利用所述内核空间向域名解析服务器发送所述DNS请求报文;利用所述内核空间接收所述域名解析服务器根据所述DNS请求报文返回的DNS响应报文;利用所述内核空间向所述终端发送所述接收到的DNS响应报文。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:将所述DNS请求报文与所述接收到的DNS响应报文组成一条记录,并存储在所述预设报文列表中。4.根据权利要求3所述的方法,其特征在于,所述利用所述内核空间向域名解析服务器发送所述DNS请求报文,包括:如果所述DNS请求报文中的源IP地址为私网IP地址,则利用所述内核空间将所述DNS请求报文中的源IP地址修改为所述代理服务器的公网IP地址,再利用所述内核空间向所述域名解析服务器发送修改了源IP地址的DNS请求报文。5.根据权利要求4所述的方法,其特征在于,所述向所述终端发送所述查找到的DNS响应报文,包括:利用所述内核空间将所述DNS响应报文中的目的IP地址修改为所述终端的私网IP地址,再利用所述内核空间向所述终端发送修改了目的IP地址的DNS响应报文。6.一种报文处理装置,应用于代理服务器,其特征在于,所述...

【专利技术属性】
技术研发人员:李洪宇
申请(专利权)人:北京安博通科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1