网络核心初识:OSI七层、TCP/IP模型与数据传输全过程

一、先搞懂:网络传输的四大核心要素

所有网络数据传输,本质都是两台设备之间的精准数据投递,全程离不开四个核心标识和传输规则,也是网络编程的基础核心:

  • 源IP :发送方设备的IP地址,相当于快递的寄件人地址,标记数据来自哪里

  • 目标IP :接收方设备的IP地址,相当于快递的收件人地址,标记数据要去哪里

  • 源端口 :发送方设备的应用程序端口,相当于寄件人房间号,区分是本机哪个程序发的数据

  • 目标端口 :接收方设备的应用程序端口,相当于收件人房间号,指定数据要交给对方哪个程序

  • 传输协议:数据传输的规则约定,核心为 TCP、UDP,相当于快递的运输规则(特快/普通件、是否签收确认)

简单总结:IP 负责找设备,端口负责找程序,协议负责定传输规则,三者配合完成精准数据传输。

二、两大网络模型:OSI七层 & TCP/IP四层(主流实用模型)

计算机网络的所有数据传输,都是严格按照网络层级自上而下封装、自下而上解包完成的。行业内主要分为两套模型,OSI七层是理论标准,TCP/IP四层是实际落地的工业标准,也是我们网络编程重点掌握的内容。

1. OSI 七层网络模型(理论模型)

OSI 是国际标准化组织制定的理论分层模型,层级划分细致,用于规范网络通信标准,实际互联网并不完全严格使用,是学习网络的理论基础。七层从上到下依次为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

2. TCP/IP 四层(五层)模型(实战模型)

这是互联网真实运行、网络编程唯一用到的模型 ,简化了 OSI 七层结构,将底层合并、上层整合,分为四层,部分教材会将物理层单独拆分,称为五层模型。从上至下依次为:应用层、传输层、网络层、数据链路层、物理层(五层划分)

依旧用快递物流整体类比五层模型,方便大家整体理解:

  • 应用层:寄件人/收件人(用户/应用程序),产生、使用原始数据

  • 传输层:快递揽收员,负责打包数据、标记收发端口、约定传输方式

  • 网络层:快递中转站,标记收发地址(IP)、规划传输路由

  • 数据链路层:快递运输货车,负责局部链路的数据传输、校验数据完整性

  • 物 理层 :公路、网线、无线电波,数据传输的物理载体

三、逐层详解:每层核心功能、协议、数据单元

网络传输的核心精髓:上层数据是下层的数据载荷,数据从上到下逐层封装头部信息,从下到上逐层剥离头部(分用)。同时每层对应专属数据单元和核心协议,一一对应、绝不混淆。

1. 应用层(最上层)

数据传输的起点和终点,是用户和网络的交互入口。我们的浏览器、APP、服务器程序,都运行在应用层。

核心功能:生成原始业务数据(文字、图片、请求报文等),向下传递给传输层。

常见协议:HTTP、HTTPS、FTP、SSH、DNS 等

2. 传输层:端口管控 + 传输规则定义

接收应用层的原始数据,负责程序与程序之间的端到端传输,核心管控端口和传输可靠性。

核心协议与对应数据单元

  • TCP 协议 :数据单元为 段(Segment),可靠传输、面向连接(三次握手、四次挥手)

  • UDP 协议 :数据单元为 数据报(Datagram),无连接、快速传输、不保证可靠性

封装规则 :传输层在应用层原始数据(载荷)基础上,添加 TCP/UDP 报头

其中报头核心信息:源端口、目标端口,用于精准匹配收发双方的应用程序。

封装后结构:TCP/UDP 报头 + 应用层原始数据(载荷)

3. 网络层:IP寻址 + 路由转发

接收传输层封装好的数据,负责设备与设备之间的跨网段传输,核心管控 IP 地址和传输路由。

核心协议与数据单元

  • IP 协议 :数据单元为 包(Packet),负责全网寻址、路由选择

封装规则 :在传输层的数据段/数据报(载荷)基础上,添加 IP 报头

其中 IP 报头核心信息:源IP地址、目标IP地址,用于定位收发设备、规划传输路径。

封装后结构:IP 报头 + 传输层封装数据(载荷)

4. 数据链路层:链路传输 + 数据校验

接收网络层的IP数据包,负责同一局域网内的设备传输,完成数据的局部投递和完整性校验。

核心协议与数据单元

  • 以太网协议、802.11(无线WiFi协议) :数据单元为 帧(Frame)

封装规则 :在网络层的IP数据包(载荷)基础上,添加 以太网报头以太网报尾

报头存储MAC地址等链路信息,报尾用于数据校验,判断传输过程中数据是否丢失、出错。

封装后结构:以太网报头 + IP数据包(载荷) + 以太网报尾

5. 物理层(最底层)

无封装操作,仅负责将数据链路层的二进制帧,转化为物理信号传输。比如网线的电信号、WiFi的无线电波、光纤的光信号,是所有网络数据传输的物理载体。

四、核心流程:数据封装(发送) + 数据分用(接收)

网络数据传输的完整闭环,分为发送端逐层封装 和**接收端逐层分用(解包)**两个过程,全程严格自上而下封装、自下而上解包。

1. 发送端:逐层封装(打包快递)

应用层生成原始数据 → 传输层(TCP/UDP加端口报头,封装为段/数据报) → 网络层(IP加IP地址报头,封装为数据包) → 数据链路层(以太网协议加报头报尾,封装为数据帧) → 物理层转为信号发出。

2. 接收端:逐层分用(拆快递)

物理层接收信号,转为二进制帧 → 数据链路层剥离以太网报头报尾,取出IP数据包 → 网络层剥离IP报头,取出传输层数据段/数据报 → 传输层剥离TCP/UDP报头,取出原始业务数据 → 交给应用层解析使用。

简单记忆:发送层层加码,接收层层脱衣

五、关键对应:数据单元与层级、协议精准匹配

这是网络面试、编程实操的高频考点,一一对应,绝对不能混淆:

  • 传输层 TCP 协议 → 数据单元:段(Segment)

  • 传输层 UDP 协议 → 数据单元:数据报(Datagram)

  • 网络层 IP 协议 → 数据单元:包(Packet)

  • 数据链路层(以太网/802.11无线协议) → 数据单元:帧(Frame)

六、网络设备工作层级:交换机 & 路由器

网络设备的转发逻辑,完全对应网络层级,也是网络编程的基础硬件认知:

1. 交换机(二层设备)

工作在数据链路层(二层) ,也叫二层转发。基于 MAC 地址转发数据帧,仅负责局域网内部的数据传输,不识别IP地址。

2. 路由器(三层设备)

工作在网络层(三层) ,也叫三层转发。基于 IP 地址转发数据包,负责跨网段、跨网络的数据路由转发,是连接不同局域网的核心设备。

七、全文核心总结

  1. 网络传输核心:IP定设备,端口定程序,协议定规则

  2. OSI七层为理论模型,TCP/IP五层为实战落地模型,是网络编程核心;

  3. 数据传输核心逻辑:发送端逐层封装,接收端逐层分用

  4. 层级数据单元一一对应:TCP段、UDP数据报、IP包、链路帧;

  5. 二层交换机基于MAC转发,三层路由器基于IP转发;

  6. 无线局域网核心协议为 802.11,工作在数据链路层。

掌握这套底层逻辑,就能彻底理解网络编程的数据传输原理,后续学习 TCP/UDP 编程、HTTP 请求、网络抓包分析都会事半功倍。

相关推荐
那年窗外下的雪.4 小时前
AIDC 学习日志|第 25 天|设备输出反推、MAC Flapping 与 EAD 撤销
前端·网络·git·学习·macos
Lysander.Jovian4 小时前
OpenStack使用_网页版
php·openstack
疯狂打码的少年5 小时前
【计算机网络】网络互连设备(中继器 / 网桥 / 交换机 / 路由器 / 网关)
网络·笔记·计算机网络·智能路由器
Shadow(⊙o⊙)5 小时前
epoll三大接口到内核+正确认识应用层与内核的联系(6000字)
linux·服务器·网络
captain3765 小时前
网络原理(4)-TCP
java·服务器·网络·网络协议·tcp/ip·java-ee
siner.li5 小时前
Mac通过brew安装的PHP8.0,编译安装swoole4
php
pt10435 小时前
Cisco Splunk for AI Operations:AIOps机器学习
运维·网络·人工智能·机器学习
AlanBruce7 小时前
摩尔信使MThings IEC 60870-5-104数据配置使用指南
网络·网络协议·tcp/ip
隐擎fox15 小时前
高性能网络爬虫架构设计:基于 Python 的长连接复用与分布式会话池调度实践
分布式·python·网络协议·tcp/ip·高并发·网络爬虫、