Skip to content

计算机网络五层模型学习笔记

一、 为什么要分层?

分层的核心意义在于 “分而治之”,将一个极其复杂的问题分解成若干个更小、更易于管理和解决的独立模块。

1. 网络通信的复杂性

将一条消息(如 “我爱你”)从一台电脑发送到另一台电脑,需要解决一系列复杂问题:

  • 内容包装:如何承载数据?(塑料瓶 vs 玻璃瓶)
  • 传输环境:如何保证传输过程中的特定条件?(低温保存)
  • 安全性:如何防止数据在途中被窃取或篡改?(贴封条、写“毒药”)
  • 寻址:如何找到接收方?(联系私人侦探、找物流朋友)
  • 物理运输:用什么方式把数据送过去?(汽车、火车、飞机)

2. 分层结构的特点

将上述问题分层解决,形成一个自上而下的交付流程。

可乐运输分层模型(类比):

  1. 包装层:固定可乐形态(用瓶子装)。
  2. 温控层:保持低温(放入带冰块的保温箱)。
  3. 安全层:保证安全(贴上封条)。
  4. 寻址层:确定目的地(贴上收件人地址标签)。
  5. 运输层:选择交通工具(交给快递公司用货车运输)。

分层优势总结:

  • 独立性:每层只专注于解决自己的核心问题,无需关心其他层的具体实现。
  • 灵活性与可替代性:每一层的具体实现方案(如安全层用“封条”还是“写毒药”)可以自由替换,不影响上下层。
  • 解耦:上层任务完成后直接交付给下层,下层无需关心上层是如何实现的。
  • 逐层封装:每一层都会在上一层交付物的基础上,增加一些额外信息(如包装盒、封条、地址标签等),这个过程称为 封装

二、 五层网络模型详解

实际的网络通信就是基于一个标准化的分层模型来协同工作的。

层级 (从上到下)名称主要解决的问题常见协议 / 设备
5应用层 (Application Layer)定义不同应用场景下的消息格式和交互规范。HTTP, FTP, DNS, SMTP
4传输层 (Transport Layer)保证数据的可靠、有序传输。TCP, UDP
3网络层 (Network Layer)在广袤的互联网中找到目标主机,并规划最佳传输路径。IP 协议、路由器 (Router)
2数据链路层 (Data Link Layer)在一个局域网(子网/广播域)内,准确找到具体的设备。MAC 地址、交换机 (Switch)
1物理层 (Physical Layer)将二进制数据 (01) 转换成物理信号(电信号、光信号、电磁波)进行传输。网线、光纤、集线器 (Hub)

各层详细说明

1. 应用层 (Application Layer)

  • 核心功能:为特定网络应用(如网页浏览、文件传输、电子邮件)提供统一的数据格式标准。
  • 常见协议
    • HTTP (HyperText Transfer Protocol): 用于万维网(网页访问)。
    • FTP (File Transfer Protocol): 用于文件共享和传输。
    • DNS (Domain Name System): 用于域名到 IP 地址的解析。
    • SMTP/POP3: 用于电子邮件的发送和接收。

2. 传输层 (Transport Layer)

  • 核心功能:提供端到端的可靠或不可靠数据传输服务。
  • 关键协议
    • TCP (Transmission Control Protocol)
      • 可靠传输:确保数据不丢失、无差错、不重复,并按序到达。
      • 类比:挨家挨户上门、一对一地当面通知,确保对方收到且理解。
      • 应用:网页浏览 (HTTP 基于 TCP)、文件传输,对数据准确性要求高的场景。
    • UDP (User Datagram Protocol)
      • 不可靠传输:尽最大努力交付,不保证数据能否到达、是否完整。速度快、开销小。
      • 类比:在村口用大喇叭广播,不保证每个人都听到或听清。
      • 应用:在线直播、视频会议,允许丢失少量数据(表现为卡顿或花屏)。

3. 网络层 (Network Layer)

  • 核心功能
    1. 寻址 (Addressing):通过 IP 地址,在整个互联网中唯一标识一台设备。
    2. 路由 (Routing):当存在多条路径时,选择一条最佳路径将数据从源头传送到目的地。
  • 核心协议IP (Internet Protocol)。
  • 核心设备:路由器 (Router)。
  • 核心功能:当数据包到达目标所在的局域网(例如,同一个 WiFi 下的所有设备)后,通过 MAC 地址找到该网络内具体的设备。
  • 核心标识MAC 地址 (Media Access Control Address)。

知识点补充:IP 地址 vs. MAC 地址

特性MAC 地址IP 地址
本质物理地址,全球唯一逻辑地址,在同一子网内唯一
来源烧录在网卡上,出厂即固定由网络(如路由器)动态分配
变化性基本不变经常变化(连接不同网络时会改变)
类比身份证号 (唯一且不随地点改变)家庭住址/通讯地址 (会随搬家而改变)

查看 MAC 地址的命令示例:

bash
# Windows
ipconfig /all

macOS / Linux

ifconfig

5. 物理层 (Physical Layer)

  • 核心功能:定义物理传输介质的电气、光学和机械规范,负责将上层传来的所有二进制数据转换成可传输的物理信号。
  • 传输内容:原始的比特流 (01010101...)。
  • 传输介质:双绞线(电信号)、光纤(光信号)、WiFi(电磁波)等。

三、 数据的封装 (Encapsulation) 与解封装 (Decapsulation)

数据在各层之间传递时,会经历一个“打包”和“拆包”的过程。

1. 封装(发送过程:从上到下)

当用户发送数据时,数据从应用层开始,每经过一层,都会被加上该层的“头部”信息(有时还有“尾部”),这个过程就是封装。

  1. 应用层:原始数据(如“我爱你”)被加上 HTTP 头部,形成 HTTP 报文。
  2. 传输层HTTP 报文被加上 TCP 头部(包含端口号、序号等信息),形成 TCP 段 (Segment)。
  3. 网络层TCP 段被加上 IP 头部(包含源/目标 IP 地址),形成 IP 数据包 (Packet)。
  4. 数据链路层IP 数据包被加上帧头(包含源/目标 MAC 地址)和帧尾(用于校验),形成数据帧 (Frame)。
  5. 物理层:将数据帧转换为二进制比特流,再通过物理介质(如网线)以电信号的形式发送出去。

2. 解封装(接收过程:从下到上)

接收方收到物理信号后,执行相反的“拆包”过程,逐层剥离头部,最终还原出原始数据。

  1. 物理层:将物理信号转换回二进制数据帧。
  2. 数据链路层:检查帧头中的 MAC 地址是否是自己,确认无误后,剥离帧头和帧尾,将 IP 数据包向上传递。
  3. 网络层:检查 IP 头部中的 IP 地址,确认是发给自己的,剥离 IP 头部,将 TCP 段向上传递。
  4. 传输层:根据 TCP 头部信息进行数据校验和重组,保证数据无误后,剥离 TCP 头部,将 HTTP 报文向上传递。
  5. 应用层:解析 HTTP 头部,最终提取出原始数据(“我爱你”)并呈现给用户。

四、 其他网络模型(4层 & 7层)

  • TCP/IP 四层模型:业界事实上的标准。它将五层模型中的 数据链路层物理层 合并为 网络接口层
  • OSI 七层模型:由国际标准组织提出的理论模型,比五层模型多出了 会话层表示层。虽然理论上很完善,但因其复杂性,在实际中很少被直接应用,主要作为教学和理论研究的参考(“叫好不叫座”)。
  • 五层模型:结合了 OSI 和 TCP/IP 模型的优点,结构清晰,便于教学和理解,是我们当前学习的重点。

五、 面试题:谈一谈你对网络五层模型的理解

  1. 点明层次:首先,清晰地列出五层模型的名称,可以自上而下(应用层 -> 物理层)或自下而上。
  2. 阐述功能:简要说明每一层的核心功能和要解决的问题。
    • 应用层:负责应用程序的通信,定义数据格式(HTTP)。
    • 传输层:负责端到端的可靠传输(TCP)或快速传输(UDP)。
    • 网络层:负责网络寻址和路由选择(IP)。
    • 数据链路层:负责局域网内的设备寻址(MAC)。
    • 物理层:负责将比特流转换为物理信号进行传输。
  3. 讲解流程:结合 封装解封装 的概念,描述数据从发送方到接收方的完整流程。说明数据在向下传递时如何被逐层添加头部(打包),在向上传递时如何被逐层移除头部(拆包),最终还原成原始信息。