§ 1.3 · Sub-chapter

地址 · Address 篇

IP, MAC & Domain Names

网络上每台主机都得有"门牌号",不然数据包找不到它。但"门牌号"这个词其实有三种不同的地址——IP、MAC、域名——它们各自解决不同的问题,又互相配合。

生活场景
🗺️ 三种方式找到同一个人

你想找朋友小明——可以用三种方式描述他:

身份证号:370100199001011234——一辈子不变,全国唯一。
现居地址:北京市朝阳区 XX 路 5 号院 3 栋 501——小明搬家就换。
名字:张小明——方便你叫他,但同名的人很多。

在网络世界里,这三种描述对应:
① 身份证号 = MAC 地址(出厂烧死,全球唯一);
② 现居地址 = IP 地址(走到哪,临时分一个);
③ 名字 = 域名(baidu.com 这种,方便人记)。

MAC 地址 · 出厂身份证号

MAC 地址(Media Access Control)是网卡出厂时被厂家烧进硬件的唯一编号,格式像这样:a4:5e:60:3f:21:b7。前 6 位是厂家编号(IEEE 分配),后 6 位是厂家自己排的流水号。理论上全球唯一。

IP 地址 · 网络世界的"现居地址"

IP 地址(Internet Protocol Address)是主机在当前网络上的"逻辑位置"。它会变——你连家里 WiFi 是一个 IP,连 5G 是另一个 IP,去公司又是另一个。

IPv4 是最经典的 IP 格式:192.168.1.101——4 个数字,每个 0-255,点号分隔。全世界总共能编 232 = 43 亿个地址——早就不够用了(这就是 IPv6 出现的原因)。

类型格式典型例子说明
IPv44 个 0-255 数字8.8.8.8经典老格式,43 亿上限,已耗尽
IPv68 组 16 进制2001:4860:4860::8888新格式,能给地球每粒沙子都分一个
公网 IP全球唯一110.242.68.66整个互联网认识你
私网 IP局域网内唯一192.168.1.101只在你家局域网里有效

域名 · 给人看的名字

域名(Domain Name)是给人类看的——baidu.comxuehai-wuya.pages.dev。它比 IP 好记得多。

但计算机只认 IP。所以每次你输入域名,系统都要先做一次"翻译"——这就是 DNS(域名系统)做的事。它像一本全球联网的"电话簿"——问一句"xuehai-wuya.pages.dev 对应什么 IP",毫秒级给你答案。

Analogy · 一本会自己更新的电话簿

老式电话簿一年印一次,过时就要等新版。
DNS 像一本全球 24 小时在线的电话簿——任何人买了域名,几分钟内全世界都能查到。
这本"电话簿"分布在几十万台服务器上,互相备份——任何一个节点挂了,全球 DNS 也不会瘫。

三种地址如何配合

一次典型的"打开百度"过程,三种地址是这样协作的:

① 你输入 baidu.com

计算机看不懂这名字,先去问 DNS——"baidu.com 对应哪个 IP?"

② DNS 返回 IP

DNS 服务器回答:"是 110.242.68.66"。你的电脑记住了这个公网 IP。

③ 你的电脑构造数据包

包上写:源 IP(你的)= 192.168.1.101,目标 IP = 110.242.68.66。

④ 数据包经过你家的路由器

路由器一看"目标是公网 IP,不在我家局域网"——把包丢给上级网络,并把你的私网 IP"翻译"成你家对外的公网 IP(这个翻译叫 NAT)。

⑤ 数据包穿越公网

一路上经过几十个路由器,每个路由器都看一眼目标 IP,决定下一跳送哪。

⑥ 抵达百度机房

百度的服务器收到,按端口分发给具体的服务进程,处理请求,回包给你。

动态 vs 静态 IP

你的 IP 怎么来的?分两种:

localhost · 一个特殊的 IP

127.0.0.1(或者 localhost)是个特殊地址——它永远指向你自己这台机器。程序员常说"我在 127.0.0.1:3000 起了个服务",意思是"这个服务跑在我自己电脑上,外面访问不到"。
你 ping 一下 127.0.0.1——光速返回,因为根本没出网。

Recap · 收束

三种地址,三种用途:MAC 是身份证(一生不变);IP 是住址(暂时所属);域名是绰号(方便人记)。它们一起工作,让数据包既能在全球互联网上找到你,又能在你家客厅找到你的手机。

☰ 主页
Xue Hai Wu Ya · Network · § 1.3 · Address