← 返回首页

TCP/IP 协议入门教程

什么是 TCP/IP?

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)是互联网的基础通信协议套件。它是一组用于在网络上传输数据的规则和标准,使得不同类型的计算机和设备能够相互通信。

TCP/IP 协议诞生于 20 世纪 70 年代,最初是为美国国防部的 ARPAnet 项目开发的。与 OSI 七层模型不同,TCP/IP 采用了更为实用的四层模型,经过几十年的发展,已成为全球互联网的标准协议。

TCP/IP 四层模型

TCP/IP 协议栈分为四个层次,每层负责特定的功能:

graph TB
    subgraph 应用层["应用层 (Application Layer)"]
        A1["HTTP / FTP / SMTP / DNS"]
    end
    subgraph 传输层["传输层 (Transport Layer)"]
        T1["TCP 🔗 可靠连接"]
        T2["UDP ⚡ 高效无连接"]
    end
    subgraph 网络层["网络层 (Internet Layer)"]
        N1["IP 路由与寻址"]
        N2["ARP / ICMP"]
    end
    subgraph 接口层["网络接口层 (Link Layer)"]
        L1["Ethernet / Wi-Fi / PPP"]
        L2["MAC 地址"]
    end
    A1 --> T1
    A1 --> T2
    T1 --> N1
    T2 --> N1
    N1 --> L1
    N2 -.-> L1
    style 应用层 fill:#e3f2fd
    style 传输层 fill:#e8f5e9
    style 网络层 fill:#fff3e0
    style 接口层 fill:#fce4ec

图1:TCP/IP 四层模型与核心协议

各层通过 接口 传递数据,每层只与相邻层交互,实现高度解耦。

sequenceDiagram
    participant 浏览器
    participant 操作系统 as 传输层
    participant 路由器 as 网络层
    participant 交换机 as 接口层
    浏览器->>操作系统: 应用层数据
    操作系统->>操作系统: 添加TCP/UDP头部
    操作系统->>路由器: IP数据包
    路由器->>交换机: 帧封装
    Note over 交换机: 物理信号传输

图2:数据在各层之间的封装与传递过程

TCP 协议详解

TCP(传输控制协议)是一种面向连接的、可靠的传输层协议。

1. 三次握手建立连接

TCP 建立连接需要经过三次握手(Three-Way Handshake),这是 TCP 协议最核心的机制之一。

三次握手流程图

sequenceDiagram
    participant C as 客户端
    participant S as 服务器
    C->>S: SYN (seq=x)
    Note over C: SYN_SENT状态
    Note over S: SYN_RECV状态
    S->>C: SYN+ACK (seq=y, ack=x+1)
    C->>S: ACK (ack=y+1)
    Note over C: ESTABLISHED
    Note over S: ESTABLISHED
    C->>S: 数据传输开始 →

图3:TCP 三次握手时序图

三次握手详细步骤

**第一次握手(SYN):**

结语

TCP/IP 协议是现代互联网的基石,理解 TCP/IP 对于网络编程和系统管理至关重要。通过学习 TCP/IP,你将能够更好地理解网络通信原理,排查网络问题,甚至开发自己的网络应用。

想要深入了解具体的协议,可以继续阅读我们的HTTP 协议详解 和 HTTPS 协议详解 教程,也可以尝试使用我们的 子网掩码计算器 来练习 IP 地址计算。

延伸阅读:UDP 协议详解、WebSocket 教程、DNS 协议详解