当服务器无法访问,如何快速定位问题点

596 篇文章 18 订阅
405 篇文章 4 订阅

工作和生活中,我们难免会遇到这样的问题:
  图片

这种情况出现时,如何快速定位排查呢?

一、了解什么是域名 VS IP

1、什么是域名?

www.baidu.com

2、为什么用域名通信,不直接用IP通信?

ip地址不好记忆,如:124.56.78.333

3、为什么又要转化为IP地址呢?

ip地址长度固定,域名不固定

总结:IP地址是面向主机的,而域名则是面向用户的。

二、DNS协议概念

1、在没有 DNS 协议的时候我们用什么来进行 IP 和 域名地址转换

在没有 DNS 协议的时候,电脑上都会有一个 hosts 文件

主机有个 hosts 文件可以保存域名和 IP 的对应关系

C:Windows\System32\drivers\etc

可以自己编辑一些 IP 地址 和 域名 的匹配绑定,如下图;绑定之后我们的电脑在访问域名:www.某.com 的时候就会去优先去查找这个文件中有没有匹配的映射 IP地址,那么访问 域名:www.某.com 就相当于访问 对应的 IP地址
在这里插入图片描述

作用

加快域名解析:对于经常访问的网站,直接将映射关系添加在 Hosts 文件中,不需请求网络上的 DNS 服务器

方便局域网用户:局域网很少假设DNS服务器,为了访问方便直接建立 Hosts 文件

可以自己编辑一些 IP 地址 和 域名 的匹配,如下图

但是如果有很多的域名和IP地址那就要长期的维护这个文件很不方便,才有了 DNS 协议

2、DNS协议工作原理

DNS:域名系统(Domain Name System)是一个 应用层 协议,人类可读的域名(如,www.qq.com) 转换为机器可读的IP地址(如:119.147.15.13)

DNS协议建立在 UDP 或 TCP 协议 之上,默认使用 UDP 协议的 53 号端口
在这里插入图片描述

问题:www. baidu.com每个点隔开的代表什么呢?

域名是分层结构,域名服务器也是对应的层级结构。

根域:最高层次的服务器,本地服务器无法解析时会找根服务器。

顶级域名:用来指示某个国家、地区或者组织。如com-商业公司,edu-教育机构,,mil-军事部门,net-网络, org-非盈利组织; 中国-cn,美国-us,

二级域名:个人或者组织在Internet使用的注册名称
在这里插入图片描述

3、DNS协议交互过程

在这里插入图片描述

用户希望通过客户端浏览器访问百度服务器域名为www.baidu.com:

1.用户在浏览器里输入www.baidu.com域名,默认优先查找浏览器缓存,看缓存中是否含有域名对应的IP地址;

2.当浏览器中找不到时,会检测系统中的Hosts文件中是否有对应的IP地址;

3.如果hosts里没有这个域名的映射,则查找本地DNS服务器;

4.若没有,通过DNS服务器就向根域名服务器中进行查找;根域名服务返回可供查询的顶级域名服务器IP地址;;

5.顶级域名服务器返回DNS响应消息;

6.主机收到响应消息后,可以正常访问该服务器了;并将结果保存,以备下一次使用。

4、DNS 解析过程

在这里插入图片描述

(1)输入域名后,先查找自己主机对应的域名服务器,域名服务器先查找自己的数据库中的数据;

(2)如果没有,就向上级域名服务器进行查找,依次类推;

(3)最多回溯到根域名服务器,肯定能找到这个域名的IP地址;

(4)域名服务器自身也会进行一些缓存, 把曾经访问过的 域名 和 对应的 IP地址 缓存起来, 可以加速查找过程;

优先级:浏览器缓存 > Hosts > DNS缓存 > 本地DNS服务器

5、DNS查询方法

递归查询:本机向本地域名服务器发出一次查询请求,就静待最终的结果。如果本地域名服务器无法解析,自己会以DNS客户机的身份向根域名服务器查询,根域名如果不知道,会自己去向顶级域名服务器查询;直到得到最终的IP地址告诉本机;

迭代查询:本地域名服务器向根域名服务器查询,根域名服务器告诉它下一.步到哪里去查询,然.后它再去查,每次它都是以客户机的身份去各个服务器查询。

在这里插入图片描述
在这里插入图片描述

总结:通常情况下,主机向本地域名服务器的查询一般都是采用递归查询,本地域名服务器向根域名服务器的查询通常采用迭代查询。

在这里还是要推荐下我自己建的软件测试学习Q群:746506216,群里都是学测试的,如果你想学或者正在学习测试,欢迎你加入,大家都是测试党,不定期分享干货(只有软件测试相关的),包括我自己整理的一份2022最新的Python自动化测试进阶资料和零基础教学,欢迎进阶中和对测试感兴趣的小伙伴加入!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值