internet 是「网际网」的通称,Internet 是特指「那个全球的」。 它的定义不是「规模大」,是「用同一套协议、自愿互联」。
2.2 讲完了标准,2.3 讲「互联网」这个词本身。 这一节会用到三个真实站点的往返时间,数据是当场测的。
一、两个词,一大一小
中文都叫「互联网」,英文却是两个词:
| 写法 | 含义 | 例子 |
|---|---|---|
| internet | 网际网(通称) | 任何互相连起来的网络 |
| Internet | 特指全球互联网 | 你在用的那一个 |
| intranet | 内部网 | 公司内部的那个 |
第一行那个小写的词是「技术概念」:只要几个网络用统一的协议连起来,就叫一个 internet。 所以一个公司内部跨机房连起来,也是一个 internet。 第二行那个大写的词是「专有名词」:它是「所有 internet 里最大的那一个」, 而且它没有所有者、没有总部、没有总开关。 这个词的首字母大写是唯一能区分两者的地方,所以中文里说「互联网」时,往往要靠上下文判断。
二、定义不在规模,在协议
三个特征,缺一个就不算:
| 特征 | 含义 | 反例 |
|---|---|---|
| 同一套协议 | 都能跑 IP | 专有网络(SNA) |
| 自愿互联 | 没有强制、没有中心 | 一个公司的内网 |
| 对等开放 | 任何网络都能申请接入 | 封闭的行业网 |
第一行是「技术门槛」:只要你的网络能跑 IP,并且愿意连出去,你就在互联网里。 不需要申请、不需要批准、不需要付费给某个「互联网管理机构」。 你只需要找一个 ISP 买接入。 第二行是「结构特征」:互联网是一堆网络「自愿」连起来的, 所以它没有「上级」可以下一道命令让所有网络改协议。 这就是为什么协议升级那么慢——IPv6 推了二十多年还在过渡期。 第三行解释了一个常见误解:「公司内网」也是一个 internet(网际网), 但它不对外开放,所以不算 Internet 的一部分。 区别不在技术,在「开不开放」。
三、量一下「距离」
「网和网之间」这句话,用往返时间能体会到:
| 站点 | 建连毫秒 | 说明 |
|---|---|---|
| www.qq.com | 53.7 | 国内,最近 |
| www.python.org | 189.1 | 海外,跨洋 |
| www.example.com | 239.1 | 海外,更远 |
三个数差几倍,说明它们物理上就不在同一个地方。 而你的机器到它们之间要经过若干个「不同的网络」——每过一个,就是一次「网际互联」。 注意这三个数都是 IPv6 路径上测的:本机走的是 IPv6, 而 IPv6 的路由往往不如 IPv4 成熟,绕远是常事。 所以这个数不能当成「物理距离」的度量,它只说明「路径不一样」。 这也是互联网的一个特点:两点之间的路径不是固定的,路由可以随时变。 所以同一个网站,早上和晚上走的可能完全是两条路。
四、动手 Demo:互联网是「一堆互相连的网络」,先量一下距离
连三个不同地域的站点,各量一次 TCP 建连时间。 这个数不是「物理距离」,是「路径长短」的近似。
import socket, time
for host in ('www.qq.com', 'www.python.org', 'www.example.com'):
try:
t0 = time.perf_counter()
c = socket.create_connection((host, 443), timeout=6)
ms = (time.perf_counter() - t0) * 1000
ip = c.getpeername()[0]
c.close()
print('%-18s %-28s %.1f' % (host, ip, ms))
except Exception as e:
print('%-18s %s' % (host, type(e).__name__))
实跑输出:
--------------------------------------------------------------------
互联网是「一堆互相连的网络」,先量一下距离
--------------------------------------------------------------------
**「互联网」这个词的直观含义,可以用往返时间来体会。**下面连三个不同地域的站点,
各量一次 TCP 建连时间。
站点 对端 IP 建连毫秒
---------------------------------------------------------
www.qq.com 240e:97c:2f:201d::12d 53.7
www.python.org 2a04:4e42::223 189.1
www.example.com 2606:4700:10::ac42:93f3 239.1
**三个数差几倍,说明它们物理上就不在同一个地方。**
**而你的机器到它们之间,要经过若干个「不同的网络」**——**每过一个,就是一次「网际互联」。**
**注意这一列出来的对端地址全是 IPv6**:**说明本机走的是 IPv6 路径**,
**而 IPv6 的路由往往不如 IPv4 成熟,绕远是常事**——**这也是「能通」与「走得好」是两件事的例子。**
**这就是「互联网(internet)」的字面意思**:**不是「一个网」,是「网和网之间」。**
**所以它没有中心,也没有「总开关」。**
三个数分别是几十、一百多、两百多毫秒:国内最短,跨洋明显变长。
但这不是「距离越远越慢」的严格证明——因为路径可能绕路,而且中间设备的排队也会影响。
注意对端地址全是 IPv6:说明本机走的是 IPv6 路径。
想对比 IPv4 的话,可以强制指定地址族,
做法是在 create_connection 前先 getaddrinfo 挑出 IPv4 地址。
这一列数值波动很大,同一台机器隔几分钟再测可能差一倍。
所以「测一次就下结论」是不可靠的——要测就多测几次看中位数。
30 秒实验
- 连跑三次,看三个数的波动有多大。
- 把端口改成 80,看建连时间有没有区别。
- 想一下:如果某个网站被「墙」了,这个测试会表现成什么?
常见误区
- 以为 internet 和 Internet 是一回事。 小写是通称,大写是特指,中文里都译成「互联网」。
- 以为互联网有「管理机构」能下命令。 它是自愿互联的,没有总开关,也没有上级。
- 以为「往返时间」等于「物理距离」。 路径可以绕路、可以拥塞,这个数只说明「路径长短」。
自测三问(点开对答案)
1. internet 与 Internet 的区别是什么? —— **internet 是「网际网」的通称**(任何互连的网络),**Internet 特指全球互联网**。 首字母大写是唯一区分。 2. 互联网的三个特征是哪些? —— **同一套协议(都能跑 IP)、自愿互联(无中心)、对等开放(谁都能接)。** 缺一个就不算 Internet。 3. 为什么协议升级在互联网上这么慢? —— **因为没有「上级」能下令**:它是一堆网络自愿连起来的,所以只能靠「慢慢渗透」。 IPv6 推了二十多年还在过渡。下一节讲互联网与 TCP/IP 到底是什么关系。
- ☐ (本节完,下一节 2.3.2 互联网与TCP/IP的关系)