TCP/IP四层模型

TCP/IP 四层模型

TCP/IP 模型将网络通信过程分为四个层次,每一层负责不同的功能,上层协议依赖于下层协议提供的服务。 这种分层结构简化了网络设计的复杂性,使得各层可以独立发展和演进。

1. 链路层 (Link Layer) / 网络接口层 (Network Interface Layer)

  • 作用: 负责在网络中的相邻节点之间传输数据。它处理物理介质的访问、数据帧的封装和解封装、以及物理地址(例如 MAC 地址)的使用。
  • 关注点:
    • 物理介质: 如何在物理链路上发送和接收数据(例如,使用电缆、光纤、无线电波等)。
    • 寻址: 使用硬件地址(MAC 地址)在局域网内标识设备。
    • 成帧: 将数据报封装成帧,以便在物理链路上进行传输。
    • 错误检测: 检测传输过程中发生的错误。
  • 关键协议和技术:
    • 以太网 (Ethernet): 最常见的局域网技术。
    • Wi-Fi (IEEE 802.11): 无线局域网技术。
    • ARP (地址解析协议): 将 IP 地址映射到 MAC 地址。
    • MAC (媒体访问控制): 控制对共享物理介质的访问。
  • 数据单元: 帧 (Frame)

2. 网络层 (Internet Layer)

  • 作用: 负责在不同网络之间路由数据包。它使用 IP 地址来标识网络中的设备,并根据路由表将数据包转发到目标网络。
  • 关注点:
    • 寻址: 使用 IP 地址在互联网上唯一标识设备。
    • 路由: 确定数据包从源地址到目标地址的最佳路径。
    • 分片与重组: 如果数据包太大,则将其分割成更小的片段,并在目标端重新组装。
  • 关键协议:
    • IP (网际协议): 定义了 IP 地址格式、数据包结构和路由规则。
    • ICMP (互联网控制消息协议): 用于在网络设备之间传递控制消息,例如错误报告和网络诊断。
    • 路由协议 (例如,RIP, OSPF, BGP): 用于在路由器之间交换路由信息,构建路由表。
  • 数据单元: 数据包 (Packet) 或 IP 数据报 (IP Datagram)

3. 传输层 (Transport Layer)

  • 作用: 提供端到端的、可靠或不可靠的数据传输服务。它负责将数据分割成段 (Segment),并管理连接的建立、维护和终止。
  • 关注点:
    • 可靠性: 确保数据能够可靠地传输到目标端,例如通过确认、重传和流量控制。
    • 端口号: 使用端口号来标识应用程序,允许多个应用程序同时使用网络连接。
    • 拥塞控制: 防止网络拥塞,确保公平地共享网络资源。
  • 关键协议:
    • TCP (传输控制协议): 提供可靠的、面向连接的传输服务。 它使用三次握手建立连接,使用序列号和确认机制来保证数据的可靠传输,并使用滑动窗口和拥塞控制算法来提高传输效率。
    • UDP (用户数据报协议): 提供不可靠的、无连接的传输服务。 它传输速度快,但可能丢失数据。 适用于对实时性要求高、对可靠性要求低的应用程序,例如视频流和在线游戏。
  • 数据单元: 段 (Segment) (TCP) 或 数据报 (Datagram) (UDP)

4. 应用层 (Application Layer)

  • 作用: 为应用程序提供网络服务。 它定义了应用程序之间交换数据的格式和协议。
  • 关注点:
    • 数据格式: 定义了应用程序之间交换的数据的结构和语义。
    • 协议: 定义了应用程序如何发送和接收数据,以及如何处理错误和异常情况。
  • 关键协议:
    • HTTP (超文本传输协议): 用于在 Web 浏览器和 Web 服务器之间传输 HTML 文档和其他 Web 资源。
    • FTP (文件传输协议): 用于在客户端和服务器之间传输文件。
    • SMTP (简单邮件传输协议): 用于发送电子邮件。
    • DNS (域名系统): 将域名映射到 IP 地址。
    • SSH (安全外壳协议): 用于安全地远程登录到计算机。
  • 数据单元: 消息 (Message)

总结表格:

层级 作用 关键协议 数据单元
链路层 在相邻节点之间传输数据 以太网, Wi-Fi, ARP, MAC 帧 (Frame)
网络层 在不同网络之间路由数据包 IP, ICMP, 路由协议 (RIP, OSPF, BGP) 数据包 (Packet)
传输层 提供端到端的、可靠或不可靠的数据传输服务 TCP, UDP 段 (Segment) / 数据报 (Datagram)
应用层 为应用程序提供网络服务 HTTP, FTP, SMTP, DNS, SSH 消息 (Message)

数据封装和解封装:

当数据从应用程序发送到网络时,它会逐层向下传递,每一层都会在数据上添加自己的头部信息(这个过程称为 封装)。当数据从网络到达应用程序时,它会逐层向上传递,每一层都会移除自己的头部信息(这个过程称为 解封装)。

理解 TCP/IP 四层模型是理解网络通信的基础。 掌握每一层的功能和关键协议,可以帮助你更好地理解网络应用程序的工作原理,并进行网络编程和故障排除。


TCP/IP四层模型
https://schrodingerfish.github.io/2025/06/01/Web/TCPIP四层模型/
作者
Johnson
发布于
2025年6月1日
许可协议