ubuntu下访问网站或ping包慢的一种可能原因

        背景:

        说一下问题吧.自己代码写了一台DNS服务器,部署在国外.在国内测试域名解析时,发现windows下ping指令比ubuntu下解析的快.使用windows 下浏览器(谷歌)访问网站也比Ubuntu下浏览器(火狐)快很多.是什么原因呢?

        首先简单解释一下ping的流程,'ping + IP '的话会直接向IP地址发送icmp包,'ping+ 域名'的话,会先向DNS解析域名,将域名解析成具体IP后向指定IP发送icmp包.

        解决过程:

1.先自己写了个DNS客户端分别在windows和ubuntu下向DNS服务器查询指定域名A记录,发现耗时差不多都很快,dig指令查询也很快,说明问题不是在域名解析速度这块儿.

2.在Ubuntu和windows上分别安装wireshark抓dns网络包,对比发现windows下默认直接向DNS服务器查询域名的A记录,ubuntu下会向DNS服务器查询域名的A记录和AAAA记录(A记录对应域名ipv4地址,AAAA记录对应ipv6地址).而我自己的DNS服务器上只增加了该域名的A记录.所以在查询A和AAAA记录时,因为DNS没有增加AAAA记录没有响应,会有等待的过程,问题就出在这块耗时.

3.在我向DNS服务器增加相应AAAA记录后ubuntu下ping就很快.

        总结:

         ubuntu 下ping指令是同时发送dns查询包查A记录和AAAA记录,当两个记录类型都存在时解析很快,如果出现任何一个丢包或者查询无返回的话,会有等待超时.windows ping指令默认直接查域名A记录,Ubuntu ping指令如果单纯想ping 域名ipv4地址的话建议使用 'ping -4 +域名'.指定ping ipv4.  另外火狐浏览器访问网址时会默认查询A和AAAA记录,没有AAAA记录响应的情况下域名解析过程会比较缓慢,谷歌浏览器会默认直接查询域名的A记录,所以比较快.以上是我遇到的情况,仅供参考,希望对大家有所帮助.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值