ping 未知域名的全过程 -2014-03-16 19:54

实验环境:
主机A,B(可不再同一网段),主机B有域名假设为www.baidu.com
首先:1. 本地主机A在命令行下执行"ipconfig/flushdns"命令来清空本地DNS高速缓存;
     2. 本地主机A在命令行下执行"arp -d"命令来清空arp缓存

然后,主机A执行ping www.baidu.com(即主机B的域名)

在此过程中都发生了那些报文交互?
我个人理解:
思路:1.要执行ping命令主机A必须将域名转化为IP地址,故而一定会有DNS解析过程;
     2.在DNS解析之前,主机A一定要知道自己默认网关的MAC地址,这就要涉及到ARP解析的问题;
     3.ping命令本身是ICMP回显请求,故而肯定要有ICMP协议的回显请求交互。
以下是全过程:
(此处可参照“跨网段的ping过程”来看,此处假设DNS服务器和主机A不在同一网段,若二者在同一网段那么我想只需进行简单arp就可得到DNS服务器的mac不需经过网关)
1.主机A发送ARP请求报文目的mac为FFFFFF-FFFFFF,目的IP为网关的IP,要求获得网关的MAC地址;
2.路由器(主机A的默认网关)发送目的mac为A的mac,目的IP为A的IP的ARP回答报文,以告知A网关的mac地址;
3.A获得网关的mac地址后,就向网关发送一个DNS查询报文,其目的mac地址为网关的mac地址,目的IP为DNS服务器的IP地址;
4.网关收到DNS查询报文后,拆包检查发现是DNS查询于是将相应(查询)信息封装,向DNS服务器发送该报文,其目的IP地址为DNS服务器的IP,目的mac为下一跳的mac,解析域名IP地址此时就交给了DNS服务器;
5.经过DNS解析,主机A知道了所要ping的域名的ip地址;
6.剩下的ping过程就和ping一个特定的ip地址相同了,首先判断ping命令的目的B的IP地址是否和A在同一网段,若在同一网段则相当于同网段内ping,若不在同一网段,就是不同网段的ping只不过此时主机不需要再解析网关的mac地址了。

转自http://blog.sina.com.cn/s/blog_7c35df9b0100vomk.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值