计算机网络体系结构深度解析:从理论到实践的全面梳理
计算机网络体系结构深度解析:从理论到实践的全面梳理
本系列博客源自作者在大二期末复习计算机网络时所记录笔记,看的视频资料是B站湖科大教书匠的计算机网络微课堂,祝愿大家期末都能考一个好成绩!
一、常见计算机网络体系结构
计算机网络体系结构是计算机网络课程的重点与难点,其核心在于通过分层模型实现网络通信的标准化与模块化。以下是三种主流体系结构的详细解析:
(一)OSI参考模型:法律上的国际标准
- 分层结构:7层协议体系,从下至上依次为物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。
- 特点与局限
- 优势:标准化程度高,理论框架完整,明确定义了各层功能边界。
- 不足:协议实现复杂,运行效率低;制定周期长,缺乏商业驱动力;层次划分存在功能重复(如会话层与表示层的部分功能可被应用层替代)。
(二)TCP/IP参考模型:事实上的国际标准
- 分层结构:4层协议体系,从下至上依次为网络接口层、网际层、运输层、应用层。
- 核心协议
- 网际层:IP协议(网际协议),负责互联不同网络接口,实现“IP over everything”与“Everything over IP”。
- 运输层:TCP协议(可靠传输,面向连接)与UDP协议(不可靠传输,无连接)。
- 应用层:包含HTTP、SMTP、DNS等大量应用层协议。
- 设计优势:网络接口层兼容多种物理网络(如以太网、WiFi);体系结构简洁,适配互联网快速发展需求。
(三)五层协议原理体系结构:折中教学模型
- 分层结构:融合OSI与TCP/IP优点,分为物理层、数据链路层、网络层、运输层、应用层。
- 分层意义:将TCP/IP的网络接口层细化为物理层与数据链路层,更便于教学中理解完整网络原理。
(四)体系结构对比分析
体系结构 | 层数 | 核心特点 | 应用场景 |
---|---|---|---|
OSI参考模型 | 7层 | 理论完整,标准化高 | 早期学术研究与理论教学 |
TCP/IP参考模型 | 4层 | 简洁高效,适配互联网 | 实际网络通信(如因特网) |
五层协议原理体系结构 | 5层 | 教学导向,兼顾细节 | 计算机网络原理课程学习 |
二、计算机网络体系结构分层的必要性
分层思想的核心是将复杂问题拆解为可管理的子问题,通过逐层抽象简化网络设计与实现。以下从典型场景看分层的必要性:
(一)物理层:解决底层通信基础
- 问题场景:两台主机通过网线直连时,需确定传输媒体(如双绞线)、物理接口(如RJ-45)、信号编码(如用高低电平表示0/1)。
- 功能定位:定义比特流的物理传输方式,屏蔽具体硬件差异。
(二)数据链路层:保障单网络内数据传输
- 问题场景:总线型网络中,主机A向主机C发送数据时,需解决主机编址(如MAC地址)、分组封装(区分地址与数据)、总线争用(如CSMA/CD协议)。
- 功能定位:实现帧在单一链路或网络中的可靠传输。
(三)网络层:支持跨网络通信
- 问题场景:多个网络通过路由器互联时,需解决网络与主机编址(如IP地址,前3字节标识网络,第4字节标识主机)、路由选择(如路由器根据IP地址转发分组)。
- 功能定位:实现分组在不同网络间的路由与转发。
(四)运输层:实现进程间通信保障
- 问题场景:主机同时运行浏览器与QQ进程时,需区分应用进程(如端口号标识不同进程),处理传输错误(如TCP的重传机制)。
- 功能定位:为应用进程提供端到端的通信服务(可靠或不可靠)。
(五)应用层:支撑具体网络应用
- 问题场景:用户通过浏览器访问Web服务器时,需遵循HTTP协议构建请求/响应报文。
- 功能定位:定义应用进程间交互的协议(如HTTP、SMTP、FTP),实现具体网络服务。
(六)分层优势总结
- 简化复杂度:各层专注特定功能,降低设计与维护难度。
- 灵活性高:某层协议更新不影响其他层(如应用层协议独立于底层网络)。
- 标准化强:明确各层接口与服务,促进不同厂商设备互联。
三、计算机网络体系结构分层思想举例:Web访问流程解析
以主机通过浏览器访问Web服务器为例,演示数据在各层的封装与解封装过程:
(一)主机端封装过程(自顶向下)
-
应用层:根据HTTP协议构建请求报文(如GET / HTTP/1.1)。
-
运输层:为HTTP报文添加TCP首部,生成TCP报文段(包含源/目的端口号,实现可靠传输)。
-
网络层:为TCP报文段添加IP首部,生成IP数据报(包含源/目的IP地址,用于路由转发)。
-
数据链路层:为IP数据报添加以太网帧首部与尾部,生成以太网帧(包含源/目的MAC地址,用于局域网传输)。
-
物理层:将帧转换为比特流,添加前导码(如7字节10101010同步序列),通过物理介质发送。
(二)路由器转发过程
- 物理层:接收比特流,去除前导码,还原为以太网帧。
- 数据链路层:解析帧首部,提取IP数据报(去除MAC地址信息)。
- 网络层:解析IP首部,根据目的IP地址查找路由表,确定转发端口。
- 数据链路层:重新封装IP数据报为目标网络的帧格式(如另一局域网的MAC地址)。
- 物理层:将新帧转换为比特流,添加前导码后转发。
(三)Web服务器端解封装过程(自底向上)
- 物理层:接收比特流,去除前导码,还原为以太网帧。
- 数据链路层:解析帧首部,提取IP数据报(去除MAC地址信息)。
- 网络层:解析IP首部,提取TCP报文段(去除IP地址信息)。
- 运输层:解析TCP首部,提取HTTP请求报文(去除端口号信息)。
- 应用层:解析HTTP报文,生成响应报文,反向重复封装过程返回给主机。
四、计算机网络体系结构专用术语解析
(一)实体与对等实体
- 实体:任何可发送或接收信息的硬件或软件进程(如应用进程、网卡驱动程序)。
- 对等实体:通信双方相同层次中的实体(如主机与服务器的应用层进程互为对等实体)。
(二)协议:逻辑通信的规则集合
-
定义:控制对等实体间逻辑通信的规则,包括语法、语义、同步三要素。
-
语法:数据格式与结构(如IP数据报的字段顺序与长度)。
-
语义:通信双方的操作定义(如HTTP请求报文中的GET方法表示资源获取)。
-
同步:时序关系与状态转换(如TCP三次握手建立连接的顺序)。
-
-
特点:协议是“水平的”,对等实体间通过协议实现逻辑通信,下层协议对上层实体透明。
(三)服务:层间数据交互的抽象
- 定义:下层通过协议为上层提供的功能,服务是“垂直的”。
- 服务访问点(SAP):相邻层实体交换信息的逻辑接口(如网络层SAP为IP协议字段,运输层SAP为端口号)。
- 服务原语:上层调用下层服务的命令(如“请求建立连接”“确认数据接收”)。
(四)数据单元:不同层的数据包术语
类型 | 定义 | 各层示例 |
---|---|---|
协议数据单元(PDU) | 对等层间传输的数据包 | 物理层:比特流;数据链路层:帧;网络层:IP数据报;运输层:TCP报文段/UDP用户数据报;应用层:应用报文 |
服务数据单元(SDU) | 同一系统内层间交换的数据包 | 如应用层SDU(HTTP报文)传递给运输层,成为TCP PDU的载荷 |
![]() |
五、总结:分层思想的核心价值
计算机网络体系结构通过分层模型,将复杂的通信问题分解为可管理的子层,每个层专注于特定功能,通过标准化接口与协议实现协同工作。从OSI的理论框架到TCP/IP的实际应用,再到五层模型的教学折中,分层思想贯穿始终,体现了“分而治之”的工程哲学。理解这些体系结构与术语,是深入学习网络协议、故障排查与系统设计的基础。随着后续课程的推进,分层模型的优雅性与实用性将进一步凸显,帮助我们构建完整的计算机网络知识体系。
相关文章:

计算机网络体系结构深度解析:从理论到实践的全面梳理
计算机网络体系结构深度解析:从理论到实践的全面梳理 本系列博客源自作者在大二期末复习计算机网络时所记录笔记,看的视频资料是B站湖科大教书匠的计算机网络微课堂,祝愿大家期末都能考一个好成绩! 一、常见计算机网络体系结构 …...
Qwen2.5-VL模型sft微调和使用vllm部署
本文的server.py和req.py代码参见:https://github.com/zysNLP/quickllm 配套课程《AIGC大模型理论与工业落地实战》;Deepseek相关课程更新中 1. 安装相关docker镜像:nvcr.io/nvidia/pytorch:25.02-py3 docker pull nvcr.io/nvidia/pytorch:…...
python打卡DAY22
##注入所需库 import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import random import numpy as np import time import shap # from sklearn.svm import SVC #支持向量机分类器 # # from sklearn.neighbors import KNeighborsClassifier …...

【教程】Docker更换存储位置
转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 目录 背景说明 更换教程 1. 停止 Docker 服务 2. 创建新的存储目录 3. 编辑 Docker 配置文件 4. 迁移已有数据到新位置 5. 启动 Docker 服务 6…...

鸿蒙Next API17学习新特性之组件可见区域变化事件新增支持设置事件的回调参数,限制它的执行间隔
概述 鸿蒙开发文档更新的非常快,对应我们开发者的学习能力也要求非常高,今天这篇文章给大家分享一下鸿蒙API17中更新的新特性学习。 鸿蒙 Next 的组件可见区域变化事件在最新的 API Version 17 中得到了增强,新增了支持设置事件的回调参数的…...
AI大模型从0到1记录学习 mysql day23
第 1 章 MySQL概述 1.1 基本概念 1.1.1 数据库是什么? 数据库(DB:Database):存储数据的地方。 1.1.2 为什么要用数据库? 应用程序产生的数据是在内存中的,如果程序退出或者是断电了,…...
spring -MVC-02
SpringMVC-11 - 响应 在 SpringMVC 中,响应是服务器对客户端请求的反馈,它可以以多种形式呈现,包括视图名称、ModelAndView 对象、JSON 数据以及重定向等。以下是对 SpringMVC 中不同响应类型的详细介绍: 1. 视图名称 通过返回…...

深入解析 React 的 useEffect:从入门到实战
文章目录 前言一、为什么需要 useEffect?核心作用: 二、useEffect 的基础用法1. 基本语法2. 依赖项数组的作用 三、依赖项数组演示1. 空数组 []:2.无依赖项(空)3.有依赖项 四、清理副作用函数实战案例演示1. 清除定时器…...

通过Ollama读取模型
通过Ollama读取模型 前言一、查看本地Ollama上有哪些模型二、调用bge-m3模型1、调用模型2、使用bge-m3进行相似度比较 三、调用大模型 前言 手动下载和加载大模型通常需要复杂的环境配置,而使用Ollama可以避免这一问题。本文将介绍如何调用Ollama上的模型。 一、查…...
C#控制流
🧩 一、控制流概述 C# 中的控制流语句用于根据条件或循环执行代码块。它们是程序逻辑的核心部分。 ✅ 二、1. if、else if、else int score 85;if (score > 90) {Console.WriteLine("优秀"); } else if (score > 60) {Console.WriteLine("及…...

永久免费,特殊版本!
随着大家审美的不断提升,无论是社交平台的日常分享还是特定场景的图像展示,人们对图像质量的要求都日益严苛。为了呈现更完美的视觉效果,许多小伙伴都会对原始图像进行精细化的后期处理,其中复杂背景抠图、光影调整、色彩校正等专…...

Canva 推出自有应用生成器以与 Bolt 和 Lovable 竞争
AI 目前是一个巨大的市场,每个人都想从中分一杯羹。 即使是 Canva,这个以拖放图形设计而闻名的流行设计平台,也在其 Canva Create 2025 活动中发布了自己版本的代码生成器,加入了 AI 竞赛。 但为什么一个以设计为先的平台会提供代码生成工具呢? 乍看之下,这似乎有些不…...

Matrix-Game:键鼠实时控制、实时生成的游戏生成模型(论文代码详细解读)
1.简介 本文介绍了一种名为Matrix-Game的交互式世界基础模型,专门用于可控的游戏世界生成。 Matrix-Game通过一个两阶段的训练流程来实现:首先进行大规模无标签预训练以理解环境,然后进行动作标记训练以生成交互式视频。为此,研…...

MySQL 5.7在CentOS 7.9系统下的安装(下)——给MySQL设置密码
新下载下来的MySQL,由于没有root密码,(1)所以如果我们希望登陆mysql,得给mysql的root账户设置密码,或者另一方面来说,(2)未来如果你忘记root密码了,也能通过这…...

机器学习笔记2
5 TfidfVectorizer TF-IDF文本特征词的重要程度特征提取 (1) 算法 词频(Term Frequency, TF), 表示一个词在当前篇文章中的重要性 逆文档频率(Inverse Document Frequency, IDF), 反映了词在整个文档集合中的稀有程度 (2) API sklearn.feature_extraction.text.TfidfVector…...
AgentCPM-GUI,清华联合面壁智能开源的端侧GUI智能体模型
AgentCPM-GUI是什么 AgentCPM-GUI 是由清华大学与面壁智能团队联合开发的一款开源端侧图形用户界面(GUI)代理,专为中文应用进行优化。基于 MiniCPM-V 模型(80 亿参数),该系统能够接收智能手机的屏幕截图&a…...
Go语言实现链式调用
在 Go 语言中实现链式调用(Method Chaining),可以通过让每个方法返回对象本身(或对象的指针)来实现。这样每次方法调用后可以继续调用其他方法。 示例:实现字符串的链式操作 假设你想对一个字符串连续执行…...

重排序模型解读 mxbai-rerank-base-v2 强大的重排序模型
mxbai-rerank-base-v2 强大的重排序模型 模型介绍benchmark综合评价安装 模型介绍 mxbai-rerank-base-v2 是 Mixedbread 提供的一个强大的重排序模型,旨在提高搜索相关性。该模型支持多语言,特别是在英语和中文方面表现出色。它还支持代码和 SQL 排序&a…...

期望是什么:(无数次的均值,结合概率)21/6=3.5
https://seeing-theory.brown.edu/basic-probability/cn.html 期望是什么:(无数次的均值,结合概率)21/6=3.5 一、期望(数学概念) 在概率论和统计学中,**期望(Expectation)**是一个核心概念,用于描述随机变量的长期平均取值,反映随机变量取值的集中趋势。 (一…...

uniapp-vue3项目中引入高德地图的天气展示
前言: uniapp-vue3项目中引入高德地图的天气展示 效果: 操作步骤: 1、页面上用定义我们的 当前天气信息:<view></view> 2、引入我们的map文件 <script setup>import amapFile from ../../libs/amap-wx.js …...
容器化-k8s-介绍及下载安装教程
一、K8s 概念 官网地址: https://kubernetes.io/zh/docs/tutorials/kubernetes-basics/ 1、含义 Kubernetes 是一个开源的容器编排引擎,用于自动化部署、扩展和管理容器化应用程序。它可以将多个容器组合成一个逻辑单元,实现对容器的集中管理和调度,从而简化复杂应用的部…...

lc42接雨水
1.原题 42. 接雨水 - 力扣(LeetCode) 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 2.题目解析 这一题是经常被考到的一道算法题,其中最简单最好用的方法就是双指…...

通义千问-langchain使用构建(三)
目录 序言docker 部署xinference1WSL环境docker安装2拉取镜像运行容器3使用的界面 本地跑chatchat1rag踩坑2使用的界面2.1配置个前置条件然后对话2.2rag对话 结论 序言 在前两天的基础上,将xinference调整为wsl环境,docker部署。 然后langchain chatcha…...
uniapp自动构建pages.json的vite插件
对于 uniapp 来说,配置 pages.json 无疑是最繁琐的事情,具有以下缺点: 冗长,页面很多时 pages 内容会很长难找,有时候因为内容很长,导致页面配置比较难找,而且看起来比较凌乱json弊端ÿ…...

系统漏洞扫描服务:维护网络安全的关键与服务原理?
系统漏洞扫描服务是维护网络安全的关键措施,能够迅速发现系统中的潜在风险,有效预防可能的风险和损失。面对网络攻击手段的日益复杂化,这一服务的重要性日益显著。 服务原理 系统漏洞扫描服务犹如一名恪尽职守的安全守护者。它运用各类扫描…...
nlf loss 学习笔记
目录 数据集: 3d 投影到2d 继续求loss reconstruct_absolute 1. 功能概述 2. 参数详解 3. 两种重建模式对比 数据集: agora3 | 5264/5264 [00:00<00:00, 143146.78it/s] behave 37736/37736 [00:00<00:00, 76669.67it/s] mads 32649/3264…...

【Redis】零碎知识点(易忘 / 易错)总结回顾
一、Redis 是一种基于键值对(key-value)的 NoSQL 数据库 二、Redis 会将所有数据都存放在内存中,所以它的读写性能非常惊人 Redis 还可以将内存的数据利用快照和日志的形式保存到硬盘上,这样在发生类似断电或者机器故障时…...

基于three.js 全景图片或视频开源库Photo Sphere Viewer
Photo Sphere Viewer 是一个基于 JavaScript 的开源库,专门用于在网页上展示 360 全景图片或视频。它提供了丰富的交互功能,允许用户通过鼠标、触摸屏或陀螺仪来浏览全景内容,适用于旅游、房地产、虚拟现实、教育等多个领域。 主要特点 多种…...

LangPDF: Empowering Your PDFs with Intelligent Language Processing
LangPDF: Empowering Your PDFs with Intelligent Language Processing Unlock Global Communication: AI-Powered PDF Translation and Beyond In an interconnected world, seamless multilingual document management is not just an advantage—it’s a necessity. LangP…...

OpenVLA (2) 机器人环境和环境数据
文章目录 [TOC](文章目录) 前言1 BridgeData V21.1 概述1.2 硬件环境 2 数据集2.1 场景与结构2.2 数据结构2.2.1 images02.2.2 obs_dict.pkl2.2.3 policy_out.pkl 3 close question3.1 英伟达环境3.2 LIBERO 环境更适合仿真3.3 4090 运行问题 前言 按照笔者之前的行业经验, 数…...