从域名到IP:从cutehive.com的解析说起

in HIVE CN 中文社区8 months ago

中文社区的小伙伴可能或多或少地都知道一点我创建并维护的cutehive.com,查询了一下这个域名注册于2020-04-26,网站正式上线于2020-06-07,没想到这一转眼就过去了五年。

235fc033-650d-4ed0-a941-d0181e72bfa6.webp
(插图由ChatGPT协助生成)

当你在浏览器中输入cutehive.com这个域名,会直接打开我的这个网站,里边提供HIVE见证人列表、转发查询、代理查询等诸多功能,反正我自己觉得挺好用的。

但是你有没有想过,为什么我们输入域名就会打开相应的网站呢?这看起来似乎是理所当然且非常简单的事情,但实质上,这背后可还真就不简单呢。

今天,就让我们从访问cutehive.com说起,看看这背后到底发生了些什么事情。

IP地址

现在我们都知道,互联网上有无数台联网设备,网络上给出的数据预计到 2024 年,联网设备数量将达到 271 亿台,但我觉得可能远远不止这些。

那么问题来了,这么多设备怎么互联互通呢?比如之前的帖子中我说过我在一些服务商处有N多VPS,那么我在家里如何访问到我的某台VPS呢?

答案很简单,就是IP地址,百度百科上介绍一下:

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

IP地址的分配以及绑定等也是一个复杂的话题,不过这不是我们这篇文章学习的重点,我们可以简单粗暴地认为:互联网上的每台设备都有(可能不止一个)IP地址,我们可以通过IP地址访问设备(如果允许访问的话)

所以,我在家中的电脑上,使用ssh(或者putty等工具),通过IP地址,就可以访问我远在世界各地的VPS啦。

域名

现在我们有了IP地址,但是新的问题来了,如果我在VPS上建立了一个网站,我自己访问,显然没啥大问题,我可以记住IP或者把IP写在记事本中。但是让别人记住IP,显然很难,尤其是在互联网上有无数网站的情况下。

比如我问你Google.com又或者Hive.blog站点的对应IP,你知道嘛?我也不知道。这就好比我们可能会记住父母、爱人、孩子的手机号码,但是我们不可能记得住同学、同事等每个需要打交道的人的电话号码。

对于电话号码,我们一般会将电话号码存进通讯录,比如张三(139xxxxxxxxx)、李四(888812xx)、酱油厂厂长(222211xx),这样就建立了名字和电话号码之间的对应关系。

互联网上也是一样,我们可以建立名字和IP地址之间的对应关系,比如在本地的hosts文件中保存:

198.58.99.7 cutehive.com

这样,当我们访问cutehive.com就会等同于访问198.58.99.7。

但是作为cutehive.com的站长,我们肯定希望所有人都可以访问这个站点,而我们又不能要求所有人都去修改本地的hosts文件,所以需要有一套通用的名字到IP的解析方案。

这时候就不得不提到域名,百度百科中介绍如下:

由于IP地址不方便记忆并且不能显示地址组织的名称和性质,人们设计出了域名,并通过域名系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

DNS

好,现在我们已经创建好了网站,并且已经在注册商处注册好了域名cutehive.com,那么如何把域名指向IP地址呢?这时候就要提到DNS啦。

百度百科中介绍如下:

DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。

这么一看,似乎和我之前提到的保存在本地(hosts)中的解析表没啥区别,只不过是放在网络上了。当然了,实际情况要比这个复杂多啦。

简单来讲,域名注册商将域名的DNS写入到对应的全球域名数据库中,当我们访问域名时,本地的解析器会向电脑中设置的DNS或者ISP的DNS请求将域名解析成IP。

如果缓存中存在相应的解析记录,那么直接就会返回对应的IP。否则本地(ISP的)DNS会向根服务器发送DNS请求,根服务器会逐层处理,返回域名的DNS,最后由域名的DNS返回IP。

实例

还是有些抽象,我们拿cutehive.com实例来讲吧。

我们通过域名注册商,在全球域名数据库中写入如下信息(主要是Name Server):
1745460882227(1).png

而在域名解析商(不是注册商哦)我们设置了如下解析记录:
1745461093039(1).png

当我们需要解析cutehive.com时,完整的数据链条如下:

---------------------------MSG Received---------------------------
 ; <<>> EzDig 3.0 <<>> @8.8.8.8 cutehive.com A +trace

com 172800  IN  NS  c.gtld-servers.net
com 172800  IN  NS  h.gtld-servers.net
com 172800  IN  NS  a.gtld-servers.net
com 172800  IN  NS  l.gtld-servers.net
com 172800  IN  NS  e.gtld-servers.net
com 172800  IN  NS  b.gtld-servers.net
com 172800  IN  NS  f.gtld-servers.net
com 172800  IN  NS  g.gtld-servers.net
com 172800  IN  NS  d.gtld-servers.net
com 172800  IN  NS  i.gtld-servers.net
com 172800  IN  NS  k.gtld-servers.net
com 172800  IN  NS  j.gtld-servers.net
com 172800  IN  NS  m.gtld-servers.net
;; Received 490 bytes from 192.112.36.4#53(g.root-servers.net) in 344 ms

cutehive.com    172800  IN  NS  ns29.domaincontrol.com
cutehive.com    172800  IN  NS  ns30.domaincontrol.com
;; Received 170 bytes from 192.31.80.30#53(d.gtld-servers.net) in 344 ms

cutehive.com    3600    IN  A   198.58.99.7
cutehive.com    3600    IN  NS  ns30.domaincontrol.com
cutehive.com    3600    IN  NS  ns29.domaincontrol.com
;; Received 98 bytes from 97.74.104.15#53(ns29.domaincontrol.com) in 359 ms

简单来讲就是

  • 通过根服务器查询.com域名的解析服务器
  • 通过上边的结果查询对应cutehive.com的解析服务器
  • 通过查询结果进一步查询,得到相应的A记录

以上查询使用的是我好久以前实现的一个小工具
1745461372195(1).png

可惜这个工具我好久没有更新和维护啦,哎,总是做一些半途而废的事情呢。

好了,关于域名解析这个就给大家分享到这里,你学废了嘛?

相关链接

Sort:  

补充个链接

cutehive.com 上线啦!

人工置顶

哎,一转眼五年过去了
人生又有多少个五年呢?

顶顶,更健康

谢谢友哥

是学“废了”,我觉得自己就是一个“小废物”︿( ̄︶ ̄)︿

︿( ̄︶ ̄)︿
哈哈哈,这表情不错呀

沙发🛋学废了😂
@tipu curate 7

谢谢萍萍,和O哥一起努力学习吧

好呐!向O哥好好学习!😄

报告:已经学废

不要学费所以学废嘛?哈哈

废了废了😅不得不说这个域名很可爱🐱🐱

嗯,可爱的HIVE

👍🏻👍🏻

sexyhive.com
有吗?

哈哈,你去抢注一个

是的,时间过得好快呀,一周里面过了周三,就快到周五,周末很快就到了🙂🙂🙂

马上五一了,半年过去了,2026在向我们招手

Congratulations @oflyhigh! Your post has been a top performer on the Hive blockchain and you have been rewarded with this rare badge

Post with the highest payout of the day.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP