一、网络分层体系
1、OSI参考模型
OSI 参考模型(Open Systems Interconnection Reference Model)是由国际标准化组织(ISO)制定的网络通信框架标准,通过定义七层标准化通信体系,为不同厂商设备互联提供统一规范:
- 目的:解决早期网络设备兼容性问题,实现跨厂商、跨平台的互联互通;
- 核心思想:分层解耦,每层专注特定功能,下层为上层提供服务;
- 意义:虽实际网络中TCP/IP协议栈更常用,但OSI模型仍是网络协议设计的理论基础和教学工具。

2、TCP/IP的分层
网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。TCP/IP分层模型是互联网协议套件的基础,它简化了OSI模型,将网络通信过程划分为四个层次。TCP/IP模型的主要目的是提供一个实际可行的网络通信架构,它是互联网和许多其他网络的基础。TCP /IP,是一组不同层次上的多个协议的组合。 TCP/ IP通常被认为是一个四层协议系统,如下图所示。

- 应用层:定义数据格式与交互规则,提供 HTTP、FTP、SMTP、DNS 等协议,通过端口与传输层衔接,实现多应用并发。
- 传输层:通过端口复用实现端到端通信;TCP 提供可靠连接、重传与拥塞控制,UDP 仅增加端口与可选校验,高效但不可靠。
- 网络层:以 IP 为核心,负责跨网寻址、路由与转发;配套 ICMP、IGMP、ARP 实现差错报告、组播管理和地址解析,支持分片重组,构建全球统一地址空间。
- 链路层:处理比特流传输,将报文封装成帧,添加 MAC 地址与 CRC;通过 ARP 解析硬件地址,实现局域网互联,为 TCP/IP 提供无差别的帧级传输接口。
OSI七层模型是网络通信的理论标准,TCP/IP四层则是实际应用的简化版本,通过分层协作实现了高效的数据传输。
OSI分层 | TCP/IP四层 | 典型协议/单元 | 功能简述 |
---|---|---|---|
应用层 | 应用层 | HTTP, FTP, SMTP, DNS | 用户业务数据格式与交互规则 |
表示层 | 应用层 | SSL/TLS, JPEG, ASCII | 数据加密、压缩、格式转换 |
会话层 | 应用层 | RPC, NetBIOS | 会话建立、维持、终止 |
传输层 | 传输层 | TCP, UDP | 端到端可靠/不可靠传输、端口复用 |
网络层 | 网络层 | IP, ICMP, IGMP, ARP | 跨网寻址、路由、分片、差错报告 |
数据链路层 | 链路层 | Ethernet, PPP, ARP | 帧封装、MAC 寻址、差错检测 |
物理层 | 链路层 | 比特流, RJ-45, 光纤 | 电气/光学信号、比特传输 |
二、数据的封装和分用
当应用程序用 TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程叫做数据的封装。当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作数据的分用。过程如下所示。

三、以太网帧数据的传输
在讲述网络传输之前,了解以下网络中的名词是十分重要的。
名称 | 所在层级 | 作用域 | 核心职能 |
---|---|---|---|
IP 地址 | 网络层 (L3) | 全网逻辑 | 跨网络标识主机,决定“去哪”;与掩码配合判断本地/远程 |
MAC 地址 | 链路层 (L2) | 本地物理段 | 固化标识网卡,同网段内“交给谁” |
子网掩码 | 网络层 (L3) | 主机本地 | 划分 IP 中的网络位与主机位,决定“是否同一网段” |
网关 (默认路由) | 网络层 (L3) | 跨网段 | 提供下一跳 IP,把远程流量送出本段 |
交换机 | 链路层 (L2) | 单广播域 | 自学习 MAC 地址,按表二层转发帧,隔离冲突域 |
路由器 | 网络层 (L3) | 多广播域 | 查 IP 路由表,跨网转发包,隔离广播,实现网际互联 |
CAM表 | 链路层 (L2) | 交换机内部 | MAC-端口映射表,用于快速硬件查表,决定帧从哪个端口发出 |
路由表 | 网络层 (L3) | 路由器内部 | 目的网络-下一跳-出接口映射,指导 IP 报文跨网转发 |
1、局域网间通讯

如(图)网络传输所示,若电脑A与电脑B通讯,数据传输步骤如下所示:
- 电脑A用子网掩码判断目标IP与自身同网段 → 走局域网直接交付。
- 电脑A查本地ARP缓存:
- 命中 → 直接得到电脑B的MAC;
- 未命中 → A发ARP请求(广播),B单播回应MAC,A缓存并填充帧头。
- 电脑A构造以太网帧:目的MAC=B,源MAC=A,类型=0x0800,载荷为IP报文。
- 帧进入交换机A:
- 交换机A学习源MAC,更新CAM表;
- 查目的MAC,若表项存在则单播转发到对应端口;若无表项则泛洪到同一VLAN内所有端口(除源端口)。
- 电脑B收到帧,FCS校验正确后解封→交IP层→确认目的IP为本机,完成通信。
2、跨网络通讯
如(图)网络传输所示,若电脑A与电脑E通讯,数据传输步骤如下所示:
- 电脑A用子网掩码判断目标IP与自身不同网段 → 需走默认网关。
- 电脑A查本地ARP缓存:
- 命中 → 直接得到网关MAC;
- 未命中 → A发ARP请求(广播),网关单播回应MAC,A缓存并填充帧头。
- 电脑A构造以太网帧:目的MAC=网关,源MAC=A,类型=0x0800,载荷为IP报文(目的IP=E)。
- 帧进入交换机A:
- 学习源MAC,更新CAM表;
- 查目的MAC命中网关端口,单播转发给路由器A。
- 路由器A收帧→解封至IP层→查路由表得下一跳(路由器B接口)→减TTL→重新封装新帧: 目的MAC=路由器B接口MAC,源MAC=本出接口MAC。
- 帧经交换机B(若存在)→送达路由器B。
- 路由器B解封→查路由表得目的网络直连本地接口→查ARP缓存:
- 命中 → 直接得到电脑E的MAC;
- 未命中 → B发ARP请求(广播),E单播回应MAC,B缓存并填充帧头。
- 路由器B构造末帧:目的MAC=E,源MAC=本接口MAC,类型=0x0800,发往交换机C。
- 交换机C学习源MAC,查目的MAC命中E端口,单播转发。
- 电脑E收到帧,FCS校验正确后解封→交IP层→确认目的IP为本机,完成跨网络通信。
