TCP/IP 教程

TCP/IP 教程

TCP/IP(Transmission Control Protocol / Internet Protocol)是互联网的基础通信协议族,定义了数据如何在网络中传输。全世界的设备都通过 TCP/IP 协议相互通信,理解它是网络知识的核心。

TCP/IP 是什么

它不是单一协议,而是一组协议的集合,核心包括:

  • IP:寻址与路由,负责把数据包送到正确的地址
  • TCP:可靠传输,保证数据完整有序到达
  • UDP:快速无连接传输(适合音视频)
  • 以及 HTTP、DNS、SMTP 等应用层协议

分层模型

应用层    HTTP / FTP / SMTP / DNS
传输层    TCP / UDP
网络层    IP / ICMP / IGMP
网络接口层  以太网 / WiFi / 物理介质

一次网页访问的过程

浏览器输入网址
 → DNS 解析域名得到 IP
 → TCP 三次握手建立连接
 → HTTP 请求(封装成 IP 包传输)
 → 服务器响应
 → 浏览器渲染页面

本教程将介绍 TCP/IP 的寻址、协议与邮件应用。

TCP/IP 介绍

TCP/IP 介绍

TCP/IP 协议族诞生于 1970 年代美国国防部的 ARPANET 项目,1983 年成为 ARPANET 的标准协议,随后随着互联网普及成为全球事实标准。

为什么叫 TCP/IP

因为 TCP 和 IP 是最核心的两个协议:IP 负责"找到路",TCP 负责"可靠送达"。

核心特点

  • 开放性:公开标准(RFC),任何人可免费实现
  • 跨平台:任何操作系统、任何设备都能接入
  • 健壮性:数据分包传输,单点故障不影响整体
  • 可扩展:通过端口区分应用,新应用协议层出不穷

与 OSI 七层模型的关系

OSI 七层            TCP/IP 四层
应用层 ──────────────┐
表示层                │  应用层
会话层 ──────────────┘
传输层             传输层
网络层             网络层
数据链路层 ──────────┐
物理层             网络接口层

关键术语

  • IP 地址:设备在网络中的地址(IPv4/IPv6)
  • 端口:同一主机上区分不同应用(0-65535)
  • 数据包:网络传输的基本单位
  • 协议栈:设备中按层工作的协议实现

TCP/IP 寻址

TCP/IP 寻址

寻址是网络通信的前提:IP 地址标识设备,端口标识应用,域名方便人类记忆。

IP 地址

# IPv4:32 位,点分十进制
192.168.1.100
# IPv6:128 位,冒号十六进制
2001:0db8:85a3:0000:0000:8a2e:0370:7334

地址分类

  • 公网地址:全球唯一,可直接路由(如 59.110.240.202)
  • 私网地址:内网使用,不直接上公网
私有网段:
10.0.0.0/8      10.x.x.x
172.16.0.0/12   172.16~31.x.x
192.168.0.0/16  192.168.x.x(家用路由器默认)

端口

知名端口: HTTP=80, HTTPS=443, DNS=53, SSH=22, MySQL=3306
动态端口: 1024-65535(客户端随机使用)

域名与 DNS

www.laowang.click
   ↓ DNS 解析
59.110.240.202
   ↓ 目标主机端口
443 (HTTPS)

子网掩码与 CIDR

255.255.255.0  →  /24   (一个 C 类网段,256 个地址)
192.168.1.0/24 表示 192.168.1.0 - 192.168.1.255

NAT 与端口映射

家用路由器用 NAT 让多个设备共享一个公网 IP;如需外网访问内网服务,需配置端口映射(如把 80 端口映射到内网服务器)。

TCP/IP 协议

TCP/IP 协议

深入理解 TCP/IP 协议族中各协议的工作机制。

IP(网络层)

  • 无连接:每个数据包独立路由
  • 尽力而为:不保证送达,可靠性交给上层
  • 数据包结构:源/目的 IP、TTL、协议号等

TCP(传输层)

可靠传输机制:
1. 三次握手建立连接
   SYN → SYN+ACK → ACK
2. 数据分包、序号确认、重传
3. 流量控制(滑动窗口)
4. 拥塞控制(慢启动/拥塞避免)
5. 四次挥手关闭连接
   FIN → ACK → FIN → ACK

UDP(传输层)

  • 无连接、不可靠、开销小、延迟低
  • 适用:DNS、视频通话、游戏、直播

ICMP(网络层)

# ping 使用 ICMP 探测连通性
ping baidu.com

应用层协议

协议端口用途
HTTP80网页
HTTPS443加密网页
DNS53域名解析
SSH22远程登录
FTP21文件传输
SMTP/POP3/IMAP25/110/143邮件

TCP/IP 邮件

TCP/IP 邮件

电子邮件通过 TCP/IP 协议族中的多个应用层协议协同工作,理解这套流程有助于排查邮件收发问题。

邮件协议分工

协议端口作用
SMTP25/465/587发送邮件(客户端→服务器,服务器→服务器)
POP3110/995接收邮件(下载到本地)
IMAP143/993接收邮件(服务器端同步,推荐)

发送流程

发件人客户端
 → SMTP(587) 提交到发件服务器
 → 发件服务器 DNS 查 MX 记录找到收件服务器
 → SMTP(25) 服务器间传输
 → 收件服务器投递到用户邮箱
 → 收件人 IMAP/POP3 读取

邮件寻址

user@example.com
 └─┘ └────┘
账号  域名(通过 MX 记录找到邮件服务器)

发送失败常见原因

  • MX 记录缺失或错误(域名未配置邮服)
  • SPF/DKIM/DMARC 未配置导致被判定垃圾邮件
  • IP 被反垃圾黑名单收录
  • 端口被封(25 端口被云厂商默认限制)

验证命令

# 查 MX 记录
nslookup -type=MX example.com

# 测试 SMTP 连通
telnet mail.example.com 25

现代邮件

企业邮(腾讯企业邮、阿里企业邮)替用户维护投递信誉与安全,只需把 MX/SPF/DKIM 记录指向服务商即可,是中小站点的推荐方案。

第 1 / 5 节