注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

逍遥子 曰:

得失失得 何必患得患失 舍得得舍 不妨不舍不得

 
 
 

日志

 
 

[原]IP、主机名和域名  

2016-09-21 10:18:26|  分类: 计算机网络 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在网络通信中,每个IP可唯一标识一台主机,在多网卡或者路由器等的情况下,每个主机可以有多个IP,通过哪个IP都可以找到该主机;但是IP地址是一个32位的数字,为了便于记忆,我们通常把按每字节划分,然后用10进制表示出来,即我们通常说的点分十进制(在IPV6的中采用的是冒号分十六进制)。如下图的网络抓包,可以看到一个我们常见的IP地址:192.168.100.1的实际存在形式用16进制就是:c0 a8 64 01 ,用二进制表示就是:

11000000 101010001100100 00000001

备注:

十进制

十六进制

二进制

192

c0

11000000

168

a8

10101000

100

64

1100100

1

1

00000001

[原]IP、主机名和域名 - 逍遥子 - 逍遥子 曰:

 

可以看到IP地址的可读性非常差,虽然用点分十进制表示之后,可读性有所提升,但是依然难以记忆,尤其是对于数字不敏感的老外,因此他们就想用易读的单词来代替这些纯数字,于是就诞生了主机名和域名。

在局域网中,每台主机都有一个主机名,可以使用英文字母或者单词组成的主机名来代替该主机的IP地址(这里假设主机只有一个网卡一个IP),这样就非常方便记忆,例如我们局域网中有一个主机名为:clsserv202的服务器,它的IP地址是:11.12.112.202,我们在使用IP地址11.12.112.202的地方使用clsserv202来代替它,例如我们要ping该主机,则可以执行命令:

ping clsserv202

该命令的执行情况如下图所示:

[原]IP、主机名和域名 - 逍遥子 - 逍遥子 曰:

 Ping 主机名

跟ping ip地址是一样的效果,如下图:

[原]IP、主机名和域名 - 逍遥子 - 逍遥子 曰:

 Ping ip地址

这内部发生了什么事情呢?

在实际开发过程中,我们通常使用gethostbyname和gethostbyaddr这两个系统函数,其中gethostbyname表示通过主机名来查询IP地址,即传入一个主机名或域名,它就给你返回一个IP地址;gethostbyaddr表示通过IP地址来查询主机名;

在ping命令的源码中可以看到它就调用了gethostbyname函数将主机名转换成IP地址,然后才进行的ping操作。ping.c

Hosts文件

在linux系统中有个hosts文件来记录本机所在局域网中的主机的IP地址和对应的主机名,如下图所示:

[原]IP、主机名和域名 - 逍遥子 - 逍遥子 曰:

 可以看到host文件由一行行的IP和主机名的对应关系组成,其中每行的开始是一个IP地址,紧接着IP地址(隔着空格)的就是该IP对应的主机名;

如果局域网内的所有主机都想使用域名来代替IP进行通信,那么要求该局域网中每个主机上的hosts文件都要把本局域网中的所有主机的主机名和IP的对应关系都存起来。当局域网内的主机非常多的时候,维护起来就非常麻烦,例如IP有变更的时候就需要挨个把所有的主机的hosts文件都更新一遍。

那么有没有更好的办法来解决这个问题呢?方法就是通过搭建内网DNS服务来完成主机名和IP的映射;

域名

域名可以认为是主机在公网环境中的标识,在在公网下,对应一个唯一的IP,例如我们访问百度的主页:www.baidu.com

主机名和域名的区别

实质上,主机名的含义是机器本身的名字,域名是方面记录IP地址才做的一种IP映射;通过上述介绍可以看到,二者有共性:都能对应到一个唯一的IP上,从应用场景上可以这么简单理解二者的区别:主机名用于局域网中;域名用于公网中。

  评论这张
 
阅读(67)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017