第11.10.1章: 网络基础
OSI 模型(开放系统互连)
OSI 模型是一个概念框架,它把通信系统的功能标准化成七个抽象层:
| 层 | 名称 | 说明 | 例子 |
|---|---|---|---|
| 7 | 应用层 | 面向用户应用的高层协议 | HTTP、FTP、SMTP、DNS、SSH |
| 6 | 表示层 | 数据表示、加密、压缩 | SSL/TLS、JPEG、MPEG |
| 5 | 会话层 | 管理应用之间的会话 | NetBIOS、RPC |
| 4 | 传输层 | 主机之间可靠的数据传输 | TCP、UDP |
| 3 | 网络层 | 数据包的路由与转发 | IP、ICMP、ARP |
| 2 | 数据链路层 | 结点到结点的数据传输 | 以太网、Wi-Fi、PPP |
| 1 | 物理层 | 原始比特的物理传输 | 以太网线缆、光纤、无线电波 |
实践中更常用的是 TCP/IP 模型(更简单的四层模型):
- 应用层(合并 OSI 的第 5–7 层):HTTP、FTP、DNS、SMTP
- 传输层:TCP、UDP
- 互联网层:IP、ICMP
- 网络接入层(合并 OSI 的第 1–2 层):以太网、Wi-Fi
IP 地址:IPv4 与 IPv6
IP 地址唯一标识网络中的一台设备。有两个版本:
IPv4
- 32 位地址,写成用点分隔的四个十进制数
- 例子:
192.168.1.1、8.8.8.8 - 地址空间:约 43 亿个地址(232)
- 由于互联网的增长已接近耗尽
-
特殊范围:
127.0.0.1— 本机(回环)10.0.0.0/8、172.16.0.0/12、192.168.0.0/16— 私有网络0.0.0.0— 任意地址255.255.255.255— 广播
IPv6
- 128 位地址,写成用冒号分隔的八组四位十六进制数
- 例子:
2001:0db8:85a3:0000:0000:8a2e:0370:7334 - 可以省略前导零和连续的零组:
2001:db8:85a3::8a2e:370:7334 - 地址空间:约 3.4×1038 个地址(足够给地球上每个原子一个)
-
特殊地址:
::1— 本机(回环)::— 任意地址fe80::/10— 链路本地地址
常用端口
端口是一个 16 位数字(0–65535),标识主机上的某个具体服务。知名端口(0–1023)由 IANA 分配:
| 端口 | 协议 | 服务 |
|---|---|---|
| 20–21 | TCP | FTP(文件传输协议) |
| 22 | TCP | SSH(安全外壳) |
| 23 | TCP | Telnet(不加密,避免使用) |
| 25 | TCP | SMTP(简单邮件传输协议) |
| 53 | TCP/UDP | DNS(域名系统) |
| 67–68 | UDP | DHCP(动态主机配置协议) |
| 80 | TCP | HTTP(超文本传输协议) |
| 110 | TCP | POP3(邮局协议第 3 版) |
| 143 | TCP | IMAP(互联网消息访问协议) |
| 443 | TCP | HTTPS(HTTP 安全版) |
| 465 | TCP | SMTPS(基于 SSL 的 SMTP) |
| 587 | TCP | SMTP(提交端口,配合 STARTTLS) |
| 993 | TCP | IMAPS(基于 SSL 的 IMAP) |
| 995 | TCP | POP3S(基于 SSL 的 POP3) |
| 3306 | TCP | MySQL |
| 3389 | TCP | RDP(远程桌面协议) |
| 5432 | TCP | PostgreSQL |
| 5900 | TCP | VNC(虚拟网络计算) |
| 6379 | TCP | Redis |
| 8080 | TCP | HTTP 备用端口(常用作代理) |
| 8443 | TCP | HTTPS 备用端口 |
| 27017 | TCP | MongoDB |
注意:端口 0–1023 是知名端口(绑定需要 root/管理员权限)。端口 1024–49151 是注册端口。端口 49152–65535 是动态/临时端口(用于客户端连接)。