信息化工作人员必备常识8——DNS缓存【查看缓存与清理dns缓存】
- 前言
- 信息化人员必备常识回顾(不想看回顾的直接往下滑哦~)
- ping
- telnet
- nslookup命令
- ipconfig命令
- 域名
- DNS
- DNS缓存
- 主机上解析DNS的优先级
- 清理DNS缓存
- 查看当前电脑有哪些DNS缓存
前言
信息化相关的工作人员,无论你是开发人员、产品经理、CIO领导,你只要是在做信息化相关的工作,有些基础知识和操作,你就必须要会,不然工作中被别人发现你不会,那真的是贻笑大方了。
就比如说:部署的系统进不去了,领导来问你,你又去电话问供应商,这时候供应商来一句用你的电脑ping一下、telnet一下,看看是不是网络问题,你愣住了不知道该怎么弄,这不是丢脸丢大了。(虽然一般来说你是甲方你不会也可以骂乙方,谁让你是金主爸爸呢~)
telnet命令&ping命令——信息化工作人员必备常识1
telnet命令——信息化工作人员必备常识2——telnet详解
信息化工作人员必备常识3——nslookup命令【用来诊断域名(DNS) 基础结构的信息以及用来查看域名和IP的对应关系】
信息化工作人员必备常识4——ping命令详解【不间断发包&自定义发包的大小&自定义发包次数】
信息化工作人员必备常识5——ipconfig命令详解【显示当前的TCP/IP配置】
信息化工作人员必备常识6——域名详解【顶级域名&一级域名&二级域名&三级域名】
信息化工作人员必备常识7——DNS【域名解析详解】
信息化人员必备常识回顾(不想看回顾的直接往下滑哦~)
ping
主要是测试网络的连通性,例如对内网和外网的测试,确认用户是不是因为网络而进不去网站的:
常用语法:
ping IP地址;
ping 域名;
telnet
Telnet命令是一种用于远程登录到另一台计算机的网络协议,telnet 用于远程管理连接主机。同时也是测试目标机器的TCP端口是否开放。
常用语法:
telnet IP 端口
telnet 域名 端口
如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败;
端口打开的情况下,链接成功,则进入telnet页面(全黑的),证明端口可用
nslookup命令
nslookup 主要用来诊断域名系统 (DNS) 基础结构的信息
也就是查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题。或者,最常用的就是查一下这个域名的ip地址是多少。
nslookup baidu.com //采用默认的DNS服务器查询
nslookup baidu.com 114.114.114.114 //采用指定的DNS服务器查询
- 每个DNS服务器查询到的IP可能不相同(因为大网站在多地都有机房,一般是就近获取,所以会不一样)
- 可能查询出来的记录会出现多个
- 对于被污染的域名,查询的结果是不准确的
ipconfig命令
ipconfig可用于显示系统的TCP/IP网络配置值,并刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置。通常是用来检验人工配置的TCP/IP设置是否正确。当我们所在的局域网使用了DHCP服务器,我们就很可能经常用ipconfig查看客户端的IP地址,以及其它的一些高级功能。
ipconfig
ipconfig /all
.....
域名
以www.baidu.com为例
com为一级域名(即顶级域名);
baidu是二级域名;
www是三级域名。
每一个相同顶级域名中的二级域名注册都是独一无二的,不可重复的,
但不同顶级域名中的二级域名可以是相同的
DNS
DNS是域名系统(Domain Name System)的简称,作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址。
域名是为了方便记忆而专门建立的一套地址转换系统,要让一台服务器访问互联网,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。
一般一个域名对应一个IP地址,一个IP地址可以对应多个域名;
多个域名可以同时被解析到一个IP地址。
域名解析需要由专门的域名解析服务器(DNS)来完成。
例如:www.taobao.com 实际解析到的ip就是——>140.205.220.96
DNS缓存
首先,计算机在网络上通讯时只能识别IP地址(网络通讯大部分是基于TCP/IP协议,而TCP/IP是基于IP地址的)。
比如我要在浏览器中访问百度的地址,我可以在地址栏直接输入14.215.177.39就能访问到百度的首页。但是我们无法记住更多的IP地址。
那么域名就出现了,域名是由一串用”.”分隔的唯一名字。所以现在我们访问网站的时候,就可以在浏览器地址栏中输入域名(www.baidu.com),那么DNS就会把域名翻译成IP,然后访问IP。
【以下是详细逻辑说明】
用户程序(如ping、telnet等)使用域名访问网络时,首先会向DNS客户端的地址解析器发出DNS请求。
一般来说,用户程序(例如Ping、Tracert)、缓存区和解析器(DNS客户端)是在同一台主机上,域名服务器(DNS服务器)和它们在不同的主机上。
- 地址解析器收到DNS请求后,首先查询本地域名缓存。
- 情况一:在浏览器中输入www.baidu.com域名,浏览器会从浏览器的DNS缓存中检查是否有这个网址的映射关系,如果有,就返回IP,完成域名解析。这种情况效率很快,到这里就结束了。
- 情况二:如果本地域名缓存中不存在所要查找的映射表项,地址解析器(DNS客户端)就向DNS服务器发送查询请求报文。
- DNS服务器收到查询报文后,首先判断请求的域名是否处于自己被授权管理的子域里,再根据不同的判断结果,向DNS客户端发送相应的响应报文。
- 情况一:如果请求的域名在自己被授权管理的子域范围之内,该DNS服务器首先从自己的数据库中查找域名对应的IP地址。
- 情况二:如果请求的域名不在自己被授权管理的子域范围之内,该DNS服务器就将请求交给上一级的DNS服务器处理。DNS服务器完成解析后,将解析的结果返回给DNS客户端。
- DNS客户端的地址解析器接收并解析DNS服务器发回来的响应报文,将解析结果(ip地址)返回给用户程序。
到这里,你输入的www.baidu.com就被解析成了ip地址进行访问了。
每次动态解析成功的域名与IP地址的映射均会存放在动态域名缓存区中,当下一次查询相同域名的时候,就可以直接从缓存区中读取,不用再向域名服务器进行请求。
缓存区中的映射在一段时间后会被老化删除,以保证及时从域名服务器得到最新的内容。
看了上面的描述,你就明白为什么会存在【DNS缓存】这个东西了
DNS缓存可以提高查询效率,但是当域名和IP地址映射关系发生变化时,或者缓存的IP地址对应的服务器故障时,使用DNS缓存就不能正常访问网站了,因此DNS缓存默认也是有时间限制的。
主机上解析DNS的优先级
1.浏览器缓存
浏览器DNS缓存(内存中): 浏览器会按照一定频率缓存DNS记录
2.本地DNS缓存
本地DNS缓存(内存中): 如果浏览器缓存中找不到需要的DNS记录,那就去操作系统找
3.HOST文件
直接写死主机和域名的对应关系,供系统查询,会影响ping命令的结果Windows系统中位于C:\Windows\System32\drivers\etc
linux系统位于/etc/sysconfig/network
4.查询本地DNS服务器
5.外部DNS服务器如本地DNS服务器查询不到,则转发至外部DNS服务器查询
清理DNS缓存
有时候会突然出现上不了网或者打不开某些网站的情况,这一般是由DNS缓存信息太多、或者是缓存的DNS解析信息过旧所导致的,此时可以尝试通过以下方法来清理DNS缓存。
在“CMD”窗口中,输入DNS缓存清理命令
ipconfig/flushdns
查看当前电脑有哪些DNS缓存
ipconfig /displaydns
推销一下自己~:
博主 DTcode7 带您 溺亖在知识的海洋里,嘿嘿嘿.~
🐒 个人主页—— DTcode7 的博客 🐒
《微信小程序相关博客》
《Vue相关博客》
《前端开发习惯与小技巧相关博客》
《AIGC相关博客》
《photoshop相关博客》
😚 吾辈才疏学浅,摹写之作,恐有瑕疵。望诸君海涵赐教。望轻喷,嘤嘤嘤 🙈
🕍 愿斯文对汝有所裨益,纵其简陋未及渊博,亦足以略尽绵薄之力。倘若尚存阙漏,敬请不吝斧正,俾便精进!