打开一个网页找到服务器的地址

为什么需要

上一页的网址里,potluck.example 这一段是(domain name),即网站便于记忆的名字。但网络上的消息不按名字投递,而按 (IP address)投递:一串数字,例如 192.0.2.10,用来在网络上找到一台设备。每条消息都写着收件方和发出方的 IP 地址,路上的设备照着它一站站往下送。

为什么不直接用数字?一是数字难记;二是网站会搬家:百家菜换一台服务器,IP 地址就变了,名字却可以不变。所以发请求之前,手机先要知道这个名字现在对应哪个数字。

怎样做

把域名换成 IP 地址的查询服务,叫(DNS)。手机自己并不从头去查,而是把问题交给一台(resolver),由它替手机去问。解析服务器可能由你家宽带或手机网络的运营商提供,也可以用公共的,例如 1.1.1.1。

域名从右往左一级一级地分:最右边是根(平时不写出来),往左是 .example 这一级,再往左才是 potluck.example。每一级都有自己的服务器,只知道下一级该去问谁,只有最后一级知道地址。所以解析服务器从没查过这个名字时,就要(iterative resolution):根服务器答「去问管 .example 的服务器」,那一级答「去问管 potluck.example 的服务器」,最后这一台才给出 192.0.2.10。它只负责回答地址,菜谱在另一台电脑上,也就是百家菜服务器。

查到的答案会被记住一段时间。百家菜在答复里写明可以记多久,叫(TTL),例如 5 分钟或 1 小时。在这段时间里,再有人问同一个名字,解析服务器直接用记住的答案;手机和浏览器自己也会先看看记没记着。

在下图里切换「从没查过」和「最近查过」,比一比要等多久。图里按每问一处、等它回答约 11 (millisecond,千分之一秒)估算,这大约是相邻两座大城市之间一个来回的用时,第 3 页细讲。

问地址:从没查过和最近查过,各要问几处

先看这里先选「从没查过」,按「下一步」看解析服务器怎样一级一级去问;再选「最近查过」,看哪一段被跳过,下面的等待少了多少。

这个域名
发起方
解析
逐级询问

尚未开始,共 5 步

还没开始。按「下一步」,从手机发出第一个问题看起。

问到的地方(到此刻为止)0处
走完的来回0个
等待(每个来回按 11 毫秒)0毫秒

播放到最后一步,这里会写出这一次一共等了多久。

.example 是专供举例保留的名字,真实的根服务器不会把它指给任何服务器;这张图只是示意。真实的网站在这一级是 .com、.cn 这样的名字。

打个比方,这像查电话簿,拿名字换号码。比方在两处不成立:查询会一层层转问,不是翻一本书就能查到;查到的号码只在一段时间内有效,过期要重新查。

你的手机在网上用的是什么地址?

服务器把响应送回来,靠的是请求上写的发出方地址。在家里,手机、平板和电脑都连着同一台(router),就是连着宽带的那台无线路由器。路由器是网络上的中转站,看消息上写的地址,把它交给下一站;家里的设备都经它出门。

家里的每台设备都有一个(private IP address),例如 192.168.1.2 到 192.168.1.5,只在家里有效。消息出门时,路由器把发出方换成自己的(public IP address)203.0.113.7,并记下是哪台设备发的;响应回来,再交还给那台设备。这种换地址的做法叫(NAT)。

为什么不给每台设备一个对外地址?现在最常用的那种 IP 地址(IPv4)一共只有约 43 亿个,2011 年全球的地址总库就已经分完了;更新的那种(IPv6)多得多,但还没有完全取代它。

家里几台设备一起上网:在外面看,都来自同一个地址

先看这里选一台设备发请求,按「下一步」,看它出门时发出方怎样被换掉;再选「四台一起」,看服务器那边看到几个不同的地址。

发请求的设备
家里
转发
处理

尚未开始,共 4 步

还没开始。选一台设备,按「下一步」。

发请求的设备1台
服务器看到的不同发出方(到此刻为止)0个

学校机房也是这样:机房里的电脑各有一个 10 开头的内网地址,出门时都换成 198.51.100.80。运营商还会在自己的网络里再换一层,让许多户人家共用一批对外地址;为许多网站提供网络服务的 Cloudflare 公司 2025 年的研究发现,一个对外地址背后可能有几百甚至几千个用户。

代价是什么

查地址是打开网页之前必须走完的一步。它出了故障,网站本身再好也打不开:2025 年 7 月 14 日,Cloudflare 的公共解析服务 1.1.1.1 因为一次内部配置错误中断了 62 分钟。用它查地址的人大多查不到地址,对其中许多人来说,大多数网站和服务都打不开了。

记住答案省下了时间,代价是改动生效得慢:过期时间越长,百家菜换了地址以后,各处记着旧地址的时间就越长。修好故障以后也要等:2025 年 10 月,亚马逊旗下出租电脑和在线服务的 AWS 有一项服务的地址记录出了错;修好以后,各处记住的还是故障时那个空的答案,里面一个地址也没有,又过了约 15 分钟才陆续过期,这项服务的客户这才真正恢复。

共用对外地址也有代价:在外面看,一家人、一间机房的电脑,甚至许多手机用户,用的都是同一个地址。第 11 章讲限流时会看到,按 IP 地址计数,会把他们当成同一个请求者。

资料来源

以下资料均于 2026-10-20 访问。

  1. What is a domain name?MDN Web Docs(Mozilla),2025-06-23
  2. RFC 9499: DNS TerminologyIETF(P. Hoffman、K. Fujiwara),2024-03
  3. Time to Live (TTL)Cloudflare DNS 文档,2026-04-16
  4. Azure network round-trip latency statisticsMicrosoft Learn,2026-07-30
  5. How does the Internet work?MDN Web Docs(Mozilla),2026-09-04
  6. RFC 1918: Address Allocation for Private InternetsIETF(Y. Rekhter 等),1996-02
  7. RFC 3022: Traditional IP Network Address Translator (Traditional NAT)IETF(P. Srisuresh、K. Egevang),2001-01
  8. NATMDN Web Docs(Mozilla),2025-07-11
  9. Free Pool of IPv4 Address Space DepletedNumber Resource Organization,2011-02-03
  10. The IANA IPv4 Address Free Pool is now DepletedARIN,2011-02-03
  11. The 2025 Cloudflare Radar Year in Review- the rise of AI, post-quantum, and record-breaking DDoS attacksCloudflare,2025-12-15
  12. One IP address, many users: Detecting CGNAT to reduce collateral effectsVasilis Giotsas、Marwan Fayed,Cloudflare,2025-10-29
  13. Cloudflare 1.1.1.1 incident on July 14, 2025Cloudflare 博客,2025-07-15
  14. Summary of the Amazon DynamoDB Service Disruption in the Northern Virginia (US-EAST-1) RegionAWS,未注明日期