TCP/IP 寻址全解析(2025 年最新、最清晰版)
TCP/IP 网络里,寻址分成 四层地址,每一层都有自己专属的“门牌号,缺一不可。
| 层级 | 地址名称 | 长度 | 作用范围 | 谁来用它 | 类比 |
|---|---|---|---|---|---|
| 应用层 | 域名(URL) | 可变 | 全世界人都认识 | 人、浏览器 | “www.baidu.com” |
| 传输层 | 端口号(Port) | 16 bit | 本机进程之间区分 | 操作系统、应用程序 | 同一栋楼的不同房间号(80、443、3306) |
| 网络层 | IP 地址 | IPv4: 32bit IPv6: 128bit | 全球唯一(公网) 局域网唯一(私网) | 路由器、操作系统 | 城市 + 街道 + 门牌号 |
| 链路层 | MAC 地址 | 48 bit | 同一局域网(二层)内唯一 | 交换机、网卡、Wi-Fi | 身份证号(出厂烧录,基本不重复) |
1. IP 地址(网络层寻址)——最核心
IPv4(正在被取代但还在大量使用)
- 32 位,用点分十进制表示:192.168.10.5
- 总共约 43 亿个,已于 2011. 2011 年全球分配完毕
- 公网 IP vs 私网 IP(NAT 之后才上网)
| 私网 IP 段(永远不会出现在公网上) | 常见场景 |
|---|---|
| 10.0.0.0 – 10.255.255.255 | 大型企业、云 VPC |
| 172.16.0.0 – 172.31.255.255 | 中型网络 |
| 192.168.0.0 – 192.168.255.255 | 家里、公司、小咖啡馆 Wi-Fi |
IPv6(正在全面普及,2025 年已成标配)
- 128 位,写法:240e:390:1f2c:1234:5678:9abc:def0:1234
- 可简写:240e:390:1f2c:1234::1234(连续的 0000 可以省略)
- 地址数量 ≈ 3.4×10³⁸ 个(地球每平方米能分几百亿亿个)
- 中国移动、电信、联通宽带默认都给 IPv6 了
- 云服务(阿里云、腾讯云、AWS、Cloudflare)全部强制支持
2. 端口号(传输层寻址)——同一台机器内部区分服务
| 范围 | 说明 |
|---|---|
| 0 – 1023 | 知名端口(Well-Known Ports),需要管理员权限 |
| 1024 – 49151 | 注册端口(Registered Ports) |
| 49152 – 65535 | 动态/私有端口(客户端随机用) |
常见端口速记表(背会就行:
| 端口 | 协议 | 用途 |
|---|---|---|
| 80 | HTTP | 普通网页 |
| 443 | HTTPS | 加密网页(现在默认) |
| 22 | SSH | 远程登录 |
| 21 | FTP 控制 | 文件传输 |
| 20 | FTP 数据 | |
| 53 | DNS | 域名解析 |
| 3306 | MySQL | 数据库 |
| 5432 | PostgreSQL | |
| 6379 | Redis |
3. MAC 地址(链路层寻址)——局域网里的“身份证”
- 48 位,16 进制表示,例如:00-1A-2B-3C-4D-5E
- 前 24 位是厂商代码(OUI),后 24 位是厂家自己编
- 交换机就是靠 MAC 地址表转发的(不跨路由器)
4. 域名(应用层寻址)——给人看的地址
www.baidu.com
│ │ │
│ │ └─────── 顶级域名(TLD):.com
│ └────────────── 二级域名:baidu
└─────────────────── 子域名(主机名):www
一个完整寻址的真实过程(你打开 https://www.baidu.com 发生了什么)
| 步骤 | 使用哪种地址 | 具体过程 |
|---|---|---|
| 1 | 域名 | 你在浏览器输入 www.baidu.com |
| 2 | DNS → IP | 操作系统向 DNS 服务器问:www.baidu.com 是多少 IP?→ 得到 220.181.38.148 |
| 3 | IP + 端口 | 浏览器向 220.181.38.148:443 发起 TCP 连接 |
| 4 | MAC 地址 | 本局域网内,电脑通过 ARP 协议问:“220.181.38.148 的网关 MAC 是多少?” |
| 5 | 数据包一路路由 | 每一跳路由器只看 IP 地址,局域网内交换机只看 MAC 地址 |
| 6 | 最终到达百度服务器的网卡 | 服务器网卡看到目的 MAC 是自己的,交给操作系统 → TCP 443 端口 → Nginx/后端 |
总结一句话:
TCP/IP 寻址 = 域名 → IP 地址 → 端口号 → MAC 地址
四层地址层层递进,缺一不可,就像寄快递要写清楚“国家-省-市-街道-楼栋-房间号”一样。
需要我给你画一张完整的寻址流程图,或者用 Wireshark 实际抓包演示这四层地址吗?随时说!