[发明专利]报文处理方法及装置在审
申请号: | 201710192563.9 | 申请日: | 2017-03-28 |
公开(公告)号: | CN107154927A | 公开(公告)日: | 2017-09-12 |
发明(设计)人: | 李洪宇 | 申请(专利权)人: | 北京安博通科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/12 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙)11363 | 代理人: | 逯长明,许伟群 |
地址: | 100120 北京市西城*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 报文 处理 方法 装置 | ||
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种报文处理方法及装置。
背景技术
当前,域名解析服务器为人们提供网页域名与IP地址(Internet Protocol Address,互联网协议地址)相互转换的信息,是互联网系统的一项基础性技术设施,是人们日常浏览网页的过程中不可或缺的部分。
目前,当用户利用终端访问某一网页时,用户可以在终端中输入待访问网页的域名,例如,当用户需要浏览百度的主页面时,可以在终端中输入百度的主页面的域名“www.baidu.com”,终端获取用户输入的待访问网页的域名,并生成DNS(Domain Name System,域名系统)请求报文,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响应报文不同;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京安博通科技股份有限公司,未经北京安博通科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710192563.9/2.html,转载请声明来源钻瓜专利网。