📄 一句话概括
域名给人记(字母上口、最长 255 字符),IP 给机器用(定长 4 字节、比对快)——两者各有长处,谁也替不掉谁,中间必须有翻译。
📝 本节和前面几节的关系
1.2.1 认识了 IP;本篇马上回答一个自然的问题——既然难记,为什么不只用名字?
一、域名的好
字母组合符合语言习惯,含义可读(www、mail); 组织搬家(换服务器)不用通知所有用户,改登记就行。
二、IP 的好
定长 32 比特,路由器比对起来快而简单; 域名最长 255 字符、每层 63 字符,做路由匹配就太重了。
三、结论
人输域名,机器传 IP——中间插一个翻译官, 翻译官就是下一节的解析器。
四、动手 Demo:域名和 IP 各管什么
两种写法的账并排放:
print('%-18s %-8s %-12s %s' % ('写法','人类','机器','上限'))
print('%-18s %-8s %-12s %s' % ('www.lab.glb.com','好记','先翻译','255/层63'))
print('%-18s %-8s %-12s %s' % ('172.20.1.1','难记','4字节快','32比特'))
实跑输出:
--------------------------------------------------------------------
域名和 IP 各管什么
--------------------------------------------------------------------
同一个目标,两种写法,账算给你看:
写法 人类 机器 长度上限
----------------------------------------------------------------------
www.lab.glb.com 好记 要先翻译 255 字符 / 每层 63
172.20.1.1 难记 定长 4 字节比对快 固定 32 比特
----------------------------------------------------------------------
各有所长,谁也替不掉谁——所以两条都要用:
人输域名,机器传 IP,中间插一个【翻译官】(下一节的解析器)。
【长度上限 255】是全名(含点)的上限;每一层(两个点之间) 最多 63 字符——这两条都是 DNS 协议的硬规定。
30 秒实验
- 把浏览器书签里的一条域名换成 IP 访问,看还能不能通(虚拟主机多数不通)。
- 数一数身边最长的一个域名有多少字符。
- ping 一个域名,观察输出里域名与 IP 同时出现。
常见误区
- 以为有了域名 IP 就可以不要——路由层面只认 IP。
- 以为 IP 和域名是一对一——一个域名可对多个 IP(负载分摊),反之亦然。
自测三问(点开对答案)
1. 域名对人的好处是什么? —— 好记、含义可读、搬家不用改口。 2. IP 对机器的好处是什么? —— 定长 4 字节,比对快。 3. 两者之间的翻译官叫什么? —— 解析器(resolver),下一节登场。- ☐ 下一节(1.2.3 Socket库提供查询IP地址的功能)
相关笔记
- IP地址的基本知识 —— IP 这边的基础
- Socket库提供查询IP地址的功能 —— 翻译官在哪、怎么叫
- 🔌 网络是怎样连接的 · 索引