暂无图片
在电脑上长ping域名的时候,是不是只有前几个包需要先请求DNS,后面会直接ping解析获得的公网IP?
我来答
分享
愤怒的蜗牛
2022-11-28
在电脑上长ping域名的时候,是不是只有前几个包需要先请求DNS,后面会直接ping解析获得的公网IP?

在电脑上长ping域名的时候,是不是只有前几个包需要先请求DNS,后面会直接ping解析获得的公网IP?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
哇哈哈

ping某个域名相对于ping IP地址来说,多了一些步骤,主要用来获取域名对应的IP地址,整个过程如下:

1、主机查找本地系统Hosts文件的DNS缓存,如果存在该域名对应的IP,则获取IP,跳转到第8步;如果不存在,则继续。

2、主机向本网络路由器发起请求,查找路由DNS缓存,如果存在该域名对于的IP,则获取IP,跳转到第8步;如果不存在,则继续。

3、路由器向本地ISP(互联网提供商)的DNS服务器发起请求,查找DNS服务器的缓存,如果存在该域名对应的IP,则跳转到第7步;如果不存在,则继续。

4、本地DNS服务器向根域名服务器发起请求,根域名服务器告诉本地服务器,下一次应查询的顶级域名服务器dns.com的IP地址。

5、本地域名服务器向顶级域名服务器dns.com进行查询,顶级域名服务器dns.com告诉本地域名服务器,下一步应查询的权限服务器dns.abc.com的IP地址。

6、本地域名服务器向权限域名服务器dns.abc.com进行查询,权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的IP地址。

7、本地域名服务器最后把查询结果——该域名对应的IP地址告诉给主机。

8、至此,主机知道了该域名的IP地址。

image.png

----------------------------------(以上部分主要是根据域名获取对应的IP地址,涉及DNS)-----------------------------------

9、主机通过子网掩码判断该IP地址是本网段还是跨网段,由于本网段比较简单,我们以跨网段进行讲解。

10、主机先查看本地ARP高速缓存,查看表中是否有本网络路由器(网关)的MAC地址,如果有,则获取MAC地址,跳转到第12步;如果没有,则继续。

11、主机使用ARP解析协议获取到本网段路由的MAC地址。

12、至此,主机知道本网络一个路由的MAC地址。

---------------------------------(以上部分主要是获取本网络一个路由的MAC地址,涉及ARP)-----------------------------

13、主机将ICMP报文封装成IP数据报,IP数据报的源地址为主机的IP地址,目的地址是域名对应的IP地址;

14、主机将IP数据报封装成MAC帧,MAC帧的源地址为主机的MAC地址,目的地址是路由器的MAC地址;

12、路由器接收到ICMP报文之后,发现MAC帧的目的地址是自己,IP地址是主机想要访问的IP地址,则将MAC帧的源地址改为自己的MAC地址,目的地址改为本网段另一个路由的MAC地址(也要通过ARP协议获取),转发下去…

13、直到最后一个路由根据ARP协议,找到了主机想要访问的IP地址对应的主机的MAC地址,然后将ICMP报文封装成MAC帧发送给该域名主机。

14、由于ARP协议具有相互学习性,域名主机接收到主机发送的ICMP回送请求报文之后,将向本网络路由发送ICMP回送回答报文,该路由又会转发下去…

15、当主机收到域名主机发送的ICMP回送回答报文之后,这样就表明该主机到域名主机是连通可达的。

暂无图片 评论
暂无图片 有用 2
打赏 0
暂无图片
watson
2022-11-28
2022-11-28
游湖

学习

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
有没有Linux自动化管理日志的脚本可以参考一下?
回答 1
!/bin/bash配置参数,按需修改LOGDIR"/var/log"日志存放目录ARCHIVEDIR"/var/log/archive"存档目录DATEFORMAT$(date"%Y%m%d%H%M
Linux装了19c,没重启之前测试数据库,监听都是没问题,重启了以后用lsnrctl status命令提示没有lsnrctl命令,用sqlplus也是没有sqlslus命令,是什么问题?
回答 1
环境变量设置的问题
12CR2 LINUX, 单机版,两个实例,如何设置两个实例都随OS自动启动?
回答 2
操作流程如下:vi/etc/orataborcl:/home/oracle/app/oracle/product/12.2.0/dbhome1:Yorcl2:/home/oracle/app/orac
linux的内核参数符合要求吗?
回答 1
你是说符合那方面的要求,等保,还是其它,Linux内核有非常多的参数。
rhel 7.9 内存使用问题
回答 3
这个不用奇怪,这个是linux的机制,不是说他使用了不够才借用swap的空间,他主要会把他认为将来要用到的,现在不用的页面放到swap,这样就会导致swap增加了。这个重启服务器或者手动释放,但是手动
linux能否针对某个操作系统用户设置密码过期策略?
回答 1
已采纳
可以
Linux以前已经安装了mysql,如果重新安装,原来的库和表还在吗?
回答 2
已采纳
如果你还需要原来的库和表,可以选择升级的方式;如果完全不要,那就卸了装新的。可参考https://www.modb.pro/db/403263
是否有款LINUX下工具命令,能查看MYSQL内存具体分布,比如PS占了多少?
回答 1
试试smem
df -h内容筛选并加列
回答 2
已采纳
如果不是要求第一行的话,命令会简单点.非最终效果展示的话,不建议dfh,使用dfPT(多了列文件系统)效果:shell命令dfh|awk&x27;{if(($6"/")||($6&
Linux在运行作业,怎么创建新的屏幕?
回答 1
你xshell再开一个窗口就行(连接这个IP)。多窗口运行。不冲突