TCP/IP协议栈详解

TCP/IP协议栈是互联网通信的基础,采用分层架构设计。

四层模型

1. 网络接口层 (Network Interface Layer)

  • 功能: 负责物理网络传输,处理硬件细节
  • 协议: Ethernet, WiFi, PPP
  • 数据单元: 帧 (Frame)
  • 地址: MAC地址 (48位)

2. 网络层 (Internet Layer)

  • 功能: 逻辑寻址和路由选择
  • 核心协议: IP (Internet Protocol)
  • 数据单元: 数据报 (Datagram)
  • 地址: IP地址 (IPv4/IPv6)
  • 关键协议:
    • IP: 无连接、不可靠的数据报传输
    • ICMP: 错误报告和诊断 (ping命令)
    • ARP: IP地址到MAC地址的映射
    • RARP: MAC地址到IP地址的解析

3. 传输层 (Transport Layer)

  • 功能: 端到端通信和可靠性保障

  • 主要协议:

    TCP (Transmission Control Protocol)

    • 面向连接、可靠传输
    • 三次握手建立连接
    • 流量控制和拥塞控制
    • 数据单元: 段 (Segment)
    • 端口范围: 0-65535

    UDP (User Datagram Protocol)

    • 无连接、不可靠传输
    • 简单高效,开销小
    • 适用于实时应用
    • 数据单元: 数据报 (Datagram)

4. 应用层 (Application Layer)

  • 功能: 为用户提供网络服务
  • 常见协议:
    • HTTP/HTTPS: Web服务 (80/443端口)
    • FTP: 文件传输 (20/21端口)
    • SMTP/POP3/IMAP: 邮件服务
    • DNS: 域名解析 (53端口)
    • SSH: 安全远程登录 (22端口)

数据封装过程

应用数据 → 应用层头部 → 传输层头部 → 网络层头部 → 数据链路层头部 → 物理传输

端口分类

  • 知名端口 (0-1023): 系统保留端口
  • 注册端口 (1024-49151): 应用程序注册使用
  • 动态端口 (49152-65535): 临时分配使用

常见组合

应用传输层网络层端口
Web浏览TCPIP80/443
文件传输TCPIP20/21
域名解析UDP/TCPIP53
远程登录TCPIP22
邮件发送TCPIP25
邮件接收TCPIP110/143

💡 学习建议: 理解协议栈的关键是掌握每一层的功能和数据单元的封装过程。

🔗 相关笔记: 01.01_网络基础知识 02.01_网络协议详解