当前位置:  技术问答>linux和unix

一个gethostbyname的疑问

    来源: 互联网  发布时间:2016-04-20

    本文导语:  struct hostent *gethostbyname(const char *name); 我用www.sina.com试了一下,每次运行后返回的hostent结构里的IP地址的序列,不仅仅只是顺序不一样,而且内容都可能不一样,有人知道为什么吗?请指教! 附测试数据: [root@loc...

struct hostent *gethostbyname(const char *name);

我用www.sina.com试了一下,每次运行后返回的hostent结构里的IP地址的序列,不仅仅只是顺序不一样,而且内容都可能不一样,有人知道为什么吗?请指教!

附测试数据:
[root@localhost addrtoname]# ./addr www.sina.com
Official hostname: ara.sina.com.cn
alias: www.sina.com
alias: us.sina.com.cn
alias: news.sina.com.cn
alias: jupiter.sina.com.cn
address: 58.63.236.49
address: 58.63.236.50
address: 58.63.236.26
address: 58.63.236.27
address: 58.63.236.28
address: 58.63.236.37
address: 58.63.236.38
address: 58.63.236.39
address: 58.63.236.40
address: 58.63.236.41
address: 58.63.236.42
address: 58.63.236.43
address: 58.63.236.44
address: 58.63.236.45
address: 58.63.236.46
address: 58.63.236.47
[root@localhost addrtoname]# ./addr www.sina.com
Official hostname: ara.sina.com.cn
alias: www.sina.com
alias: us.sina.com.cn
alias: news.sina.com.cn
alias: jupiter.sina.com.cn
address: 58.63.236.31
address: 58.63.236.32
address: 58.63.236.33
address: 58.63.236.34
address: 58.63.236.35
address: 58.63.236.36
address: 58.63.236.37
address: 58.63.236.38
address: 58.63.236.39
address: 58.63.236.40
address: 58.63.236.41
address: 58.63.236.42
address: 58.63.236.43
address: 58.63.236.44
address: 58.63.236.45
address: 58.63.236.46

|
猜想:
1. 大型的服务(比如web server)为了负载平衡和容灾难,通常不可能只有一台服务器,而是有多台服务器同时运行在网络上!在DNS配置中,通过配置一个域名对应多个IP来实现了简单的客户访问负载均衡。也就是可以看到上面的有个多个IP的原因吧

2. 为什么每次结果不一样呢? 估计是他们DNS Server里面的配置策略导致的(一种随机的,动态的刷新域名与IP绑定的策略吧),这个没有深入研究过,估计要研究DNS server方面的东东才能完全搞明白。


good luck!

|
呵呵,就是楼上说的那样
我们公司也是这样做的

你每次去ping它都得到不同的ip
这样就把请求分散到很多机器去了

    
 
 

您可能感兴趣的文章:

  • 关于gethostbyname的一个疑问
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于gethostbyname弱爆了,救命啊
  • 如何使gethostbyname()超时返回,不要永远阻塞
  • 急,gethostbyname_r,gcc编译时要指定特别的库吗?
  • 程序中使用gethostbyname出现段错误
  • #请问nslookup和程序中使用gethostbyname为什么结果不同?
  • gethostbyname
  • 关于/etc/resolv.conf和gethostbyname
  • 关于中断gethostbyname的问题
  • 域名解析gethostbyname,错误:Host name lookup failure
  • linux网络编程中gethostbyname、gethostbyaddr函数的用法
  • 初学者求救:gethostbyname的应用,看看看错在哪里?谢谢。。。
  • 关于linux socket下的gethostbyname()这个函数的IP问题
  • gethostbyname非阻塞还是自己设计dns?
  • 有没有什么方法使gethostbyname和connect这些行为能够超时结束?
  • gethostbyname所得ip不能使用
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 ubuntu10.04 安装 mysql4.0 源码出错,提示gethostbyname_r的参数数量不对
  • linux获取主机名后用gethostbyname() 不能获取主机ip
  • [进者有分]c 中gethostbyname()的源代码是什么?
  • gethostbyname_r内部出错到问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3