计算机网络研究的是「如何把地理上分散的计算机连接起来,可靠、高效地交换数据」。它的核心思想只有一个:分层(Layering)——把复杂的通信问题拆成若干层,每层只解决自己的问题,并为上层提供服务。

一句话定位

计算机网络 = 分层模型 + 每层的协议。学它的关键在于理解「数据从应用层一路封装到物理层,再在对端一层层解封装」的全过程。

知识体系

flowchart TD
    A[计算机网络] --> B[分层模型]
    A --> C[各层协议]
    A --> D[核心机制]

    subgraph B [分层模型]
        B1["OSI 七层模型"]
        B2["TCP/IP 四层模型"]
    end

    subgraph C [各层协议]
        C1["物理层: 比特流传输"]
        C2["数据链路层: 以太网 / MAC / ARP"]
        C3["网络层: IP / ICMP / 路由"]
        C4["传输层: TCP / UDP"]
        C5["应用层: HTTP / DNS / SMTP"]
    end

    subgraph D [核心机制]
        D1["封装与解封装"]
        D2["可靠传输: 确认 / 重传 / 滑动窗口"]
        D3["拥塞控制: 慢启动 / 拥塞避免"]
        D4["三次握手 / 四次挥手"]
        D5["分组交换与路由选择"]
    end

    B1 -.-> B2
    C3 -.-> D5
    C4 -.-> D2
    C4 -.-> D3
    C4 -.-> D4

分层对照

层次OSI 七层TCP/IP 四层典型协议
上应用层 / 表示层 / 会话层应用层HTTP、HTTPS、DNS、SMTP
中传输层传输层TCP、UDP
中网络层网络层IP、ICMP、ARP、路由协议
下数据链路层网络接口层以太网、MAC、PPP
下物理层网络接口层双绞线、光纤、无线

核心要点

  • 物理层:解决 0/1 比特如何在介质上传输(电压、光、电磁波),关注带宽、时延、编码。
  • 数据链路层:把比特流组织成「帧」,负责差错检测与 MAC 寻址,典型是以太网。
  • 网络层:解决「跨网络寻址与路由」,核心是 IP 协议;IP 只尽力而为,不保证送达。
  • 传输层:
    • TCP:面向连接、可靠、有序,靠三次握手建连、确认重传、流量控制和拥塞控制。
    • UDP:无连接、不可靠、开销小,适合实时音视频和高频小包。
  • 应用层:直接面向用户业务,HTTP 是 Web 的基础,DNS 负责域名解析。

TCP vs UDP

维度TCPUDP
连接面向连接无连接
可靠性可靠、有序不可靠、可能乱序
开销头 20 字节起头仅 8 字节
场景文件传输、网页、邮件直播、游戏、DNS 查询

相关