Internet网是世界上最大的基于IP的网络。它是世界上所有计算机使用IP相互对话的一个无组织的集合。Internet上每台计算机都至少有一个IP地址来标识该计算机。
节点与主机
连接到Internet的设备被称为节点(node),这些节点可以计算机,打印机,路由器,网桥,嵌入式等设备。我们把计算机节点称为主机(host)。每个节点都应该至少有IP地址(IPV4或IPv6)来进行标识。
IPV4与IPV6
IPv4地址用4个字节来表示,每个字节从0到255,通常我们为了书写方便,采用点分十进制方式表示,如:192.168.0.1
IPv6地址为16个字节,书写时用冒号分隔8个区块,每个区块是4个十六进制数字。例如:2400:cb00:2048:0010:0000:000:6ca2:c665。前导的0可以不用写,因此可以写成2400:cb00:2048:10:0:0:6ca2:c665。如果多个区块都是0且相邻,则0可以省略,所以上面的地址又可写成2400:cb00:2048:10::6ca2:c665。注意每个地址中双冒号至多出现一次,如2001::3a3c:4a4c::25cd是错误表示方法,因为我们无法将其唯一的还原为一个128位的IPV6地址。
主机名和域名
主机名是计算机名称,即为每个计算机命名,比如mypc。域名分为顶级域名,一级域名和二级域名。顶级域名自域名系统出现以后已经指定完毕,其通常按地域,职能等来划分,如中国的顶级域名cn,公司的顶级域名为com。我们现在申请的域名都是一级域名如xdysite.cn是我申请的域名。
DNS
我们知道要访问网络上的一台主机必须知道其IP地址,因为这是它唯一的身份标识。但是IP地址一串数字,不便于记忆。于是人们发明了域名系统(DNS)。DNS的作用就是将一个便于记忆的字符串与IP地址映射起来。这时我们只需要记住该字符串即可。等到需要访问Internet上的某个主机时,我们可以拿着字符串去访问DNS来查询该主机对应的IP地址。然后再通过IP地址去访问那个主机即可。
DNS中记录的域名被称为FQDN(Fully Qualified Domain Name/完全合格的域名)。
FQDN=hostname+domainname
域名代表的是一个域,是集合的概念。这个集合的组成元素是每个具体的计算机。我们访问的是具体计算机而不是某个域,这时候就需要使用FQDN来访问才可以。
比如我申请的域名是xdysite.cn,这个域名拿来是无法访问了到某台具体的计算机的。刚好我有一台计算机,它的hostname为www。我将该计算机加入到我的域名下,则得到的FQDN=www.xdysite.cn。这时你就可以通过www.xdysite.cn来访问我这台机器了。
那具体怎么操作呢?
首先,我们去域名提供商那里买个域名,然后通过它提供的web网站来添加主机。
- 我申请的一级域名xdysite.cn
- 点击解析
图中的www是添加的一个主机
- 添加新主机
A表示将该域名映射到一个IP地址,主机记录就是主机名,记录值是该主机对应的IP地址。
添加完成后我们可以通过wyg.xdysite.cn来访问IP地址为123.126.47.53的主机了。
多个名字
一台计算机可以有多个名字。这里的多个名字是所谓的域名,其对应的是web站点的名字。我们把web站点一般都放在Linux主机上。一台Linux主机一般可运行多个web站点,每个web站点都应有一个域名来对该站点进行标识。这样的话一个IP可以和多个域名进行对应。
多个IP
有时一个域名可以对应多个IP地址,这时需要由DNS服务器来随机选择一台机器来相应各个请求。
域名服务器
每台连接到Internet中的计算机都应当访问一个称为域名服务器的机器,它通常是一个运行特殊DNS软件的UNIX/LINUX主机,这种软件里面记录了不同主机名和IP地址之间的映射关系。大多数域名服务器只知道其本地域的上主机的地址,以及其他域中一些域名服务器的地址。如果一个客户端请求本地域之外的一个机器的地址,本地域名服务器就会访问远程位置的域名服务器,然后将结果转给请求者。
Linux下的hostname
hostname表示主机名,但是我们在设置hostname时不应该设为主机名,而应该设置为FQDN
-s :查看计算机简称,其实就是主机名
-f:查看计算机全称,其实就是FQDN
-d:查看计算机所在的域,其实就是域名