一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种实现DNS的方法、设备、存储介质与流程

2022-02-22 05:58:11 来源:中国专利 TAG:

一种实现dns的方法、设备、存储介质
技术领域
1.本技术涉及域名解析领域,尤其涉及一种实现dns的方法、设备、存储介质。


背景技术:

2.ip地址标识着计算机互联网中的终端用户。终端用户会用域名访问来替代ip地址。为了实现域名的访问,两者之间需要域名解析。
3.域名系统(domain name system,dns)是连接整个互联网应用层和网络层的纽带,主要功能是实现ip地址与域名间的转换,以定位和标识互联网的资源,是众多网络应用(网页浏览、电子邮件等)正常运转的基础。
4.但现有的域名解析时往往由于网络带宽小、用户访问量大,而出现访问网站的响应速度慢等问题,影响用户体验。


技术实现要素:

5.本技术提供了一种实现dns方法,解决了由于用户访问量大导致访问网站的响应速度慢的技术问题。
6.一种实现域名系统dns加速方法,包括:
7.可编程交换机接收主机发送的报文,判断所述报文是否为域名系统dns请求报文;
8.若是,查询芯片硬件表项中是否存在所述dns请求报文查询的ip地址,所述芯片硬件表项是存储在所述交换机内的;
9.若是,则向所述主机返回所述ip地址;
10.若否,将所述dns请求报文上传到本地域名服务器进行查询;
11.接收所述本地域名服务器返回的包含所述ip地址的dns响应报文;
12.对所述dns响应报文进行解析,根据解析获得的ip地址将所述dns请求报文包含的域名与所述ip地址的映射关系存储在所述芯片硬件表项中,并将所述ip地址返回到所述主机。
13.在本技术的一种实施例中,所述判断所述报文是否为域名系统dns请求报文,具体包括:从可编程交换机的端口接收主机发送的报文;对所述报文进行解析;将解析后的报文传送到逻辑处理单元进行定义规则的匹配;将能够与定义规则匹配的报文识别为域名系统dns请求报文。
14.在本技术的一种实施例中,所述查询芯片硬件表项中是否存在与所述dns请求报文查询的ip地址对应的ip地址,具体包括:在所述芯片硬件表项中查询是否存在与所述dns请求报文中包含的dns域名一致的dns域名;若是,查询所述dns域名对应的ip地址;确定所述对应的ip地址的状态有效;向主机返回所述ip地址。
15.在本技术的一种实施例中,所述将所述dns请求报文上传到本地dns服务器进行查询,具体包括:若本地域名服务器在本地查询到了所述dns请求报文包含的域名对应的ip地址,则向可编程服务器回复携带所述ip地址的报文;若所述本地域名服务器未在本地查询
到域名对应的ip地址,则向其上一级域名服务器查询ip地址;若所述本地域名服务器的上一级未查询到对应的ip地址,则继续向所述本地域名服务器的上一级域名服务器的上一级域名服务器进行查询,执行递归查询,直到查询到所述域名对应的ip地址;当查询到与所述域名对应的ip地址时,通过域名服务器逐级递归传递回所述本地域名服务器;通过可编程交换机接收所述本地域名服务器查询到的对应所述域名的ip报文,并将所述域名对应的ip地址存储到所述芯片硬件表项中。
16.在本技术的一种实施例中,所述对所述报文进行解析,具体包括:解析得到所述报文中的源mac地址和源ip地址,以确定发送所述报文的主机;解析得到所述报文中的vlan信息,以确定所述报文的转发路径;解析得到所述报文中的dns数据段,以确定所述报文为dns报文;解析得到所述dns报文中的标志位,以确定所述dns报文是dns请求报文还是dns响应报文;解析得到所述dns报文中的标识位,以辅助可编程交换机确定dns请求报文与dns响应报文的一致性。
17.在本技术的一种实施例中,在将所述dns请求报文包含的域名与所述ip地址的映射关系存储在所述芯片硬件表项中之后,所述方法还包括:若域名服务器中存储的域名和ip地址的映射关系更改,则对所述芯片硬件表项中的ip地址进行刷新。
18.在本技术的一种实施例中,当主机接收到的dns响应报文中包含的ip地址无效时,向可编程交换机发送ip地址无效的信号;基于用户的刷新操作,由主机重新向可编程交换机发送dns请求报文;可编程交换机接收到所述dns请求后向本地域名服务器转发所述dns请求报文。
19.在本技术的一种实施例中,在接收主机发送的报文之前,所述方法还包括:在可编程交换机上运行dns server程序;根据运行的所述dns server程序,将生成的sr.conf默认为主配置文件,将生成的root.z文件用于配置相关记录。
20.本技术实施例还提供了一种实现域名系统dns的设备,包括:
21.至少一个处理器;以及,
22.与所述至少一个处理器通信连接的存储器;其中,
23.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
24.可编程交换机接收主机发送的报文,判断所述报文是否为域名系统dns请求报文;
25.若是,查询芯片硬件表项中是否存在所述dns请求报文查询的ip地址,所述芯片硬件表项是存储在所述交换机内的;
26.若是,则向所述主机返回所述ip地址;
27.若否,将所述dns请求报文上传到本地域名服务器进行查询;
28.接收所述本地域名服务器返回的包含所述ip地址的dns响应报文;
29.对所述dns响应报文进行解析,根据解析获得的ip地址将所述dns请求报文包含的域名与所述ip地址的映射关系存储在所述芯片硬件表项中,并将所述ip地址返回到所述主机。
30.本技术实施例还提供了一种非易失性存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
31.可编程交换机接收主机发送的报文,判断所述报文是否为域名系统dns请求报文;
32.若是,查询芯片硬件表项中是否存在所述dns请求报文查询的ip地址,所述芯片硬件表项是存储在所述交换机内的;
33.若是,则向所述主机返回所述ip地址;
34.若否,将所述dns请求报文上传到本地域名服务器进行查询;
35.接收所述本地域名服务器返回的包含所述ip地址的dns响应报文;
36.对所述dns响应报文进行解析,根据解析获得的ip地址将所述dns请求报文包含的域名与所述ip地址的映射关系存储在所述芯片硬件表项中,并将所述ip地址返回到所述主机。
37.本技术提供了一种实现dns方法,至少包括以下有益效果:当终端用户访问域名时,通过将可编程交换机作为作为本地dns服务器,能够加速主机对应域名的查询,有效避免网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。通过对第一次查询其ip地址的域名进行记录,实现了一次学习,在之后的相同域名的dns请求即可实现多次自动回复,而无需经过多级的域名服务器进行查询,加速了dns的查询。通过可编程交换机硬件级别的dns节点访问加速,加速dns域名解析。同时实现轻量级的dns服务器部署,满足小型网络的dns服务器部署要求,节省用户成本。
附图说明
38.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
39.图1为本技术实施例提供的一种实现dns方法的步骤示意图;
40.图2为本技术实施例提供的可编程交换机实现dns系统示意图;
41.图3为本技术实施例提供的一种实现dns的设备组成结构示意图。
具体实施方式
42.为了使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例对本技术进行清楚、完整的描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.网络之间互连的协议(internet protocol,ip)地址标识着计算机互联网中的终端用户。终端用户会用域名访问来替代ip地址。为了实现域名的访问,两者之间需要域名解析。由于域名系统的设计是传输控制协议/网络之间互连的协议(transmission control protocol/internet protocol,tcp/ip)应用程序的分布式数据库。那么访问域名时,如果在主机本地域名系统(domain name system,dns)解析器的缓存记录中拿不到对应的ip地址后,就会递归往下一个dns递归服务器进行查询,最终拿到域名对应的ip地址。
44.域名系统(domain name system,dns)是连接整个互联网应用层和网络层的纽带,主要功能是实现ip地址与域名间的转换,以定位和标识互联网的资源,是众多网络应用(网页浏览、电子邮件等)正常运转的基础。
45.但现有的域名解析时往往由于网络带宽小、用户访问量大,而出现访问网站的响应速度慢等问题,影响用户体验。
46.本技术提供的一种实现dns方法,当终端用户访问域名时,通过将可编程交换机作为作为本地dns服务器,能够加速主机对应域名的查询,有效避免网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。下面进行具体说明。
47.图1为本技术实施例提供的一种实现dns方法的步骤示意图,可以包括以下步骤:
48.s101:接收主机发送的报文,判断报文是否为域名系统dns请求报文。
49.主机在访问网络的过程中,要查询访问的网络对应的ip地址,首先要由主机向可编程交换机发送dns请求报文,当可编程交换机查询到对应的ip地址时,生成dns响应报文返回主机。如图2所示,dns查询可通过建立的可编程交换机的系统进行加速。可编程交换机接收到来自主机的dns请求报文后,通过cpu对该报文进行处理,若在可编程交换机的可编程芯片中查询到对应的ip地址,则向主机回复dns响应报文,若未在可编程芯片p4中查询到,则将dns请求报文转发到上一级dns服务器进行查询。当上一级dns服务器查询到对应的ip地址时,向可编程交换机返回dns响应报文。
50.在本技术的一种实施例中,在接收主机发送的报文之前,在可编程交换机上运行dns服务器(dns server)程序;根据运行的dns server程序,将生成的sr.conf默认为主配置文件,将生成的root.z文件用于配置相关记录。dns server是一个能够支持主机通过可编程交换机查找域名对应的ip地址的应用程序。
51.具体地,为了能够在可编程交换机上良好的运行dns server程序,可编程交换机上的操作系统可为linux操作系统,安装的软件为dnspod-sr,以支持dns server程序在可编程交换机上运行。dnspod-sr是一个运行在linux操作系统上的高性能的递归dns服务器软件,具备高性能、高负载、易扩展的优势,其特性稳定,有效降低解析的失败率,能够主动刷新缓存,且响应速度快。
52.在解开的根目录会有三个配置文件:records.z、root.z、sr.conf,sr.conf默认为主配置文件,启动时自动会读取该配置文件的内容。root.z配置文件用于配置相关记录。
53.在本技术的一种实施例中,主机发送的报文从可编程交换机的端口进入,然后通过可编程交换机中可编程芯片对报文进行解析。报文一般包含主机的源mac地址、源ip地址、vlan信息以及dns数据段等。解析得到报文中的源mac地址和源ip地址,以确定发送报文的主机;解析得到报文中的vlan信息,以确定报文的转发路径;解析得到报文中的dns数据段,以确定报文为dns报文,在数据层面上识别了dns流量;解析得到dns报文中的标志位,以确定dns报文是dns请求报文还是dns响应报文;解析得到dns报文中的标识位,以辅助可编程交换机确定dns请求报文与dns响应报文的一致性。
54.将解析后的报文传送到逻辑处理单元进行定义规则的匹配,通过解析获得的数据段内容,能够根据定义规则匹配识别出该数据段内容为dns请求数据,那么接下来便对该报文执行相应的处理。
55.s102:若是,查询芯片硬件表项中是否存在所述dns请求报文查询的ip地址,所述芯片硬件表项是存储在所述交换机内的。
56.在本技术的一种实施例中,当可编程交换机接收并识别出主机发送来的报文是dns请求报文,首先在可编程交换机中的芯片硬件表项中查询是否存在与该dns请求报文中包含的dns域名一致的dns域名,芯片硬件表项的格式如下表所示。
57.s103:若是,则向主机返回ip地址。
58.若存在,在芯片硬件表项中查询该dns域名是否有对应的ip地址;若是,查询对应的ip地址的状态是否有效;若是,向主机返回ip地址。
59.dns域名域名对应ip地址状态www.****.comx.x.x.x有效
60.s104:若否,将dns请求报文上传到本地域名服务器进行查询。
61.在本技术的一种实施例中,当可编程交换机没有在其本地查询到dns请求报文对应的ip地址,则根据tcp/ip参数中设置的首选dns服务器(一般为本地域名服务器),向本地域名服务器转发dns请求报文,此本地域名服务器收到查询请求时,如果要检测到查询的域名包含在本地域名服务器在本地配置区域资源中,也就是说,若本地域名服务器在本地查询到了dns请求报文包含的域名对应的ip地址,则向可编程服务器回复解析结果,即携带ip地址的报文,完成域名解析。如果域名不在本地域名服务器进行解析,但是在本地域名服务器缓存了域名与ip地址的映射关系,则完成域名解析。
62.若本地域名服务器未在本地查询到域名对应的ip地址,则向其上一级域名服务器查询ip地址;若本地域名服务器的上一级未查询到对应的ip地址,则继续向本地域名服务器的上一级域名服务器的上一级域名服务器进行查询,执行递归查询,直到查询到域名对应的ip地址;当查询到与域名对应的ip地址时,通过域名服务器逐级递归传递回本地域名服务器;通过可编程交换机接收本地域名服务器查询到的对应域名的ip报文,并将域名对应的ip地址存储到芯片硬件表项中。
63.具体地,如果本地域名服务器和缓存解析都失败,则根据本地域名服务器的设置进行查询,该本地域名服务器就会把dns请求报文转发至上一级域名服务器,由上一级服务器进行解析,本地域名服务器的上一级域名服务器一般为根域名服务器,根域名服务器如果不能解析,那么由根域名服务器再把转请求转至其上一级域名服务器,根域名服务器的上一级域名服务器一般为顶级域名服务器,以此进行递归查询。当查询到与域名对应的ip地址时,通过域名服务器逐级递归传递回本地域名服务器,例如若在顶级域名服务器查询到了对应的ip地址,便由顶级域名服务器传递回到根域名服务器,再由根域名服务器传递回本地域名服务器,再由本地域名服务器传递回可编程交换机,再由可编程交换机返回到主机。
64.s105:接收本地域名服务器返回的包含对应ip地址的dns响应报文。
65.当本地域名服务器发送dns响应报文时,通过可编程交换机接收返回的包含对应ip地址的dns响应报文。
66.s106:对dns响应报文进行解析,根据解析获得的ip地址将dns请求报文包含的域名与ip地址的映射关系存储在芯片硬件表项中,并将ip地址返回到主机。
67.当可编程交换机接收本地域名服务器查询到的对应域名的ip报文时,对该报文解析并将域名对应的ip地址存储到芯片硬件表项中。通过将域名与ip地址的映射关系存入到芯片硬件表项中,实现了一次学习,多次自动回复该域名请求的ip地址,实现了dns的加速查询。
68.在本技术的一种实施例中,在将dns请求报文包含的域名与ip地址的映射关系存储在芯片硬件表项中之后,为了防止缓存的映射关系失效,当域名服务器中存储的域名和ip地址的映射关系失效或更改时,则对芯片硬件表项中的ip地址进行刷新。
69.在本技术的一种实施例中,可编程交换机根据芯片硬件表项中存储的映射关系向主机返回对应的ip地址,当主机接收到的dns响应报文中包含的ip地址无效时,在主机界面咋看不到访问的网址的页面信息,那么就说明主机接受到的ip地址是无效的。主机此时可向可编程交换机发送ip地址无效的信号,告知可编程交换机中存储的ip地址是无效的。未访问到对应网址则用户会点击界面中的刷新按钮,此时主机会再次向可编程交换机发送dns请求报文;可编程交换机接收到所述dns请求后向本地域名服务器转发该dns请求报文,由本地域名服务器去查询该网址对应的ip地址,然后通过递归的方式将ip地址返回主机。
70.以上为本技术实施例提供的一种实现dns方法,基于同样的发明思路,本技术实施例还提供了相应的一种实现dns的设备,如图3所示。
71.本实施例提供了一种实现dns的设备,包括:
72.至少一个处理器;以及,
73.与至少一个处理器通信连接的存储器;其中,
74.存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:
75.可编程交换机接收主机发送的报文,判断报文是否为域名系统dns请求报文;
76.若是,查询芯片硬件表项中是否存在dns请求报文查询的ip地址,芯片硬件表项是存储在交换机内的;
77.若是,则向主机返回ip地址;
78.若否,将dns请求报文上传到本地域名服务器进行查询;
79.接收本地域名服务器返回的包含ip地址的dns响应报文;
80.对dns响应报文进行解析,根据解析获得的ip地址将dns请求报文包含的域名与ip地址的映射关系存储在芯片硬件表项中,并将ip地址返回到主机。
81.基于同样的思路,本技术的一些实施例还提供了上述方法对应的介质。
82.本技术的一些实施例提供的一种实现dns的非易失性存储介质,存储有计算机可执行指令,计算机可执行指令设置为:
83.可编程交换机接收主机发送的报文,判断报文是否为域名系统dns请求报文;
84.若是,查询芯片硬件表项中是否存在dns请求报文查询的ip地址,芯片硬件表项是存储在交换机内的;
85.若是,则向主机返回ip地址;
86.若否,将dns请求报文上传到本地域名服务器进行查询;
87.接收本地域名服务器返回的包含ip地址的dns响应报文;
88.对dns响应报文进行解析,根据解析获得的ip地址将dns请求报文包含的域名与ip地址的映射关系存储在芯片硬件表项中,并将ip地址返回到主机。
89.本技术提供了一种实现dns方法,至少包括以下有益效果:当终端用户访问域名时,通过将可编程交换机作为作为本地dns服务器,能够加速主机对应域名的查询,有效避免网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。
90.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实
施例的部分说明即可。
91.本技术实施例提供的方法和介质与方法是一一对应的,因此,方法和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述方法和介质的有益技术效果。
92.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程方法商品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程方法商品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程方法商品或者方法中还存在另外的相同要素。
93.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献