1.5 计算机网络的分层结构

欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅!

文章目录

  • 前言
  • 1 分层设计
  • 2 网络体系结构
    • 2.1 基本概述
    • 2.2 常见的三种网络体系结构
  • 3 各层之间的关系
    • 3.1 水平关系
    • 3.2 垂直关系
  • 4 数据传输过程
    • 4.1 水平视角
    • 4.2 垂直视角


前言

在当今数字化时代,计算机网络作为信息交流的重要基础,其复杂性与日俱增。为了有效管理这种复杂性,分层结构的设计思想应运而生。通过将庞大而复杂的问题分解为若干较小的局部问题,分层结构使得网络的设计、实现和管理变得更加高效与灵活。


本文参考: 【王道计算机考研 计算机网络】

1 分层设计

①定义
分层设计是一种将复杂系统划分为多个层次的设计方法。
在计算机网络、软件开发和系统架构中,每一层都承担特定的功能,层与层之间通过定义好的接口进行交互。这种设计使得系统的各个部分可以独立开发、测试和维护。

②核心思想
将庞大而复杂的问题,转化为若干较小的局部问题。

③优点

  • 模块化:每一层可以独立开发和维护,减少了系统的复杂性。
  • 可重用性:某一层的功能可以在不同的系统中复用,降低了开发成本。
  • 易于理解:层次化的结构使得系统更易于理解和学习,便于新成员的加入。
  • 灵活性:可以在不影响其他层的情况下对某一层进行修改或替换,增强了系统的灵活性和适应性。
  • 简化故障排查:可以更容易地定位问题,因为可以逐层检查,识别故障所在。
  • 并行开发:不同团队可以同时开发不同层的功能,提高开发效率。

【情景引入】
快递网络是一个复杂的系统,需要完成诸多功能。
例如:

  • 货物打包
  • 取件、派件
  • 冷链存储
  • 包裹“路由”
  • 运输包裹

运用分层设计的思想将复杂的快递网络在逻辑上划分为多个层次,并将各种“功能”安排在合适的层次中。

在这里插入图片描述

【同理】
计算机网络是一个复杂的系统,要完成诸多功能。
例如:

  • 差错控制:确保数据在传输过程中不出错。
  • 流量控制:发送端的发送速率必须使接收端来得及接收,不可过快。
  • 分段和重装:发送端将要发送的数据块划分为更小的单位,并在接收端将其还原。
  • 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
  • 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。

在这里插入图片描述
这种分层设计不仅提升了网络的可维护性,还使得不同类型的节点可以实现不同的功能层次,满足各种

【注意】

  • 不同类型的节点,实现的功能层次可能不一样。
  • 分层结构的设计并不唯一,可以根据实际需求增加或减少层次
  • 同一个功能可以在多个层次中重复出现

2 网络体系结构

2.1 基本概述

网络的体系结构定义了计算机网络及其构件应完成的功能(不涉及实现),是一种抽象的设计规范。而实现则是在这一体系结构框架下,使用何种硬件或软件来完成这些功能。通过清晰的层次划分,网络的复杂性得以管理,功能的实现也变得更加明晰。

【注意】
体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

2.2 常见的三种网络体系结构

常见的三种网络体系结构包括 OSI 模型、TCP/IP 模型和五层模型。
在这里插入图片描述

①OSI模型(开放系统互联模型)

OSI 模型是国际标准化组织(ISO)提出的理论模型,通常分为七个层次:

  • 物理层:负责物理介质的传输,包括电缆、信号传输等。
  • 数据链路层:负责节点之间的数据帧传输,处理错误检测和纠正,提供链路控制。
  • 网络层:负责数据包的路由选择和转发,管理IP地址,确保数据从源到目的地。
  • 运输层:提供端到端的通信服务,确保数据完整性和顺序,常用的协议有TCP和UDP。
  • 会话层:管理会话和连接,处理会话的建立、维护和终止。
  • 表示层:负责数据格式转换、加密解密等,以便于不同系统间的互操作性。
  • 应用层:提供网络服务给用户和应用程序,如HTTP、FTP、SMTP等。

优点

  • 提供清晰的分层结构,有助于理解和开发。
  • 各层功能独立,便于维护和升级。

②TCP/IP模型
TCP/IP 模型是互联网的基础,通常分为四个层次:

  • 网络接口层:对应于 OSI 的物理层和数据链路层,处理物理传输和链路控制。
  • 网际层:负责IP地址和路由选择,主要协议是IP(Internet Protocol)。
  • 传输层:提供端到端的传输服务,常用协议有TCP(面向连接)和UDP(无连接)。
  • 应用层:为用户应用程序提供网络服务,支持多种协议,如HTTP、FTP、DNS等。

优点

  • 设计简洁,实际应用广泛。
  • 强调实用性和灵活性,适应快速变化的网络环境。

③五层模型
五层模型是一种简化的网络结构,通常用于教学和简化理解,通常分为五个层次:

  • 物理层:与 OSI 和 TCP/IP 模型相同,负责数据的物理传输。
  • 数据链路层:负责节点间的数据传输和错误检测。
  • 网络层:与互联网层相同,负责数据包的路由和转发。
  • 传输层:处理端到端的通信,确保数据的完整性和顺序。
  • 应用层:提供网络服务给最终用户和应用。

优点

  • 简化了模型,便于理解。
  • 足够用于基本的网络通信分析和设计。

这三种网络体系结构在功能和层次上有所不同,但它们都旨在提高网络通信的效率和可管理性。OSI模型提供了最详细的框架,而TCP/IP模型则更为实用,五层模型则是一个更简单的表示。

3 各层之间的关系

在计算机网络的分层结构中,各层通过协议和接口进行通信。

3.1 水平关系

①实体:每一层的活动元素(包括软件和硬件)。

②第n层实体:第n层的活动元素(包括软件和硬件)。

③对等层:在同一层次上的不同设备之间进行通信的层称为对等层。

④对等实体:位于对等层中的各个实体,负责处理相同层级的协议。

⑤协议:网络协议(Network Protocol)是一组控制对等实体之间通信的规则。这种关系是水平的

在这里插入图片描述
在网络分层中,实体是指每一层的活动元素,包括软件和硬件为了实现有效的通信,同一层次上的不同设备之间通过对等层进行交互。此时,这些设备的相应部分称为对等实体,它们负责处理相同层级的协议。协议是这一层次交流的核心,它定义了对等实体之间的通信规则。这些网络协议确保了数据在不同设备间的可靠传输,同时降低了网络管理的复杂性。

3.2 垂直关系

①接口:同一节点内相邻两层的实体之间交换信息的逻辑接口,称为服务访问点(Service Access Point,SAP)。

②服务:服务是指下层为紧邻的上层提供的功能调用。这种关系是垂直的

在这里插入图片描述
在分层结构中,接口起着至关重要的作用。它定义了不同层级之间的信息交换方式,使得上层能够调用下层提供的功能。这种垂直关系不仅简化了网络设计,还增强了各层之间的独立性,允许每一层在不影响其他层的情况下进行优化和更新。

【注意】
在这里插入图片描述

4 数据传输过程

4.1 水平视角

在这里插入图片描述
在水平视角中,数据在同一层级的两个主机之间传输,其中一台主机数据传输过程如下:

  1. 应用层:用户发起请求(如发送电子邮件),数据被打包成应用层报文。
  2. 运输层:应用层报文被封装为段(TCP)或数据报(UDP),并添加头部信息(如端口号)。
  3. 网络层:运输层段被封装为数据包,添加IP头部信息(源和目标IP地址)。
  4. 数据链路层:数据包被封装为帧,包含物理地址(MAC地址)。
  5. 物理层:帧转化为比特,通过物理媒介(如电缆或无线信号)传输。

另一台主机接收到通过物理媒介传输的比特后,数据传输过程如下:

  1. 物理层:接收的比特被转换回帧,物理层将比特信号解码为数据帧。
  2. 数据链路层:帧中的头部信息被去掉,提取出数据包,并进行错误检查(如校验和)。
  3. 网络层:数据包中的IP头部被去掉,提取出运输层段。
  4. 运输层:运输层段的头部信息被去掉,最终还原为应用层报文。
  5. 应用层:最后,应用层处理还原后的数据,用户就能看到或接收到发送的内容。
    在这里插入图片描述

4.2 垂直视角

在垂直视角中,数据在不同层级之间传输时,每一层都会对数据进行封装和解封装,具体过程如下:

①发送端

  • 数据从应用层开始向下传递,逐层封装。
  • 每层添加相应的头部信息,最终在物理层以比特形式发送。

在这里插入图片描述
②接收端

  • 接收端的物理层接收到比特,逐层向上传递。
  • 每层去掉相应的头部信息,将数据交给上层,最终还原为应用层报文。

在这里插入图片描述

【同理】
在这里插入图片描述
在这里插入图片描述
通过这种方式,数据在网络中被有效地传输和处理,确保了通信的完整性与可靠性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/881242.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp H5 打开地图 并选中标记点

uniapp H5 打开地图 并选中标记点 先上代码 //打开地图 显示景区位置openMap() {// 支付宝// #ifdef MP-ALIPAYmy.openLocation({longitude: Number(this.detailObj.longitude), // 经度latitude: Number(this.detailObj.latitude), // 纬度name: this.detailObj.scenicName, …

CertiK因发现Apple Vision Pro眼动追踪技术漏洞,第6次获苹果认可

​2024年9月20日,头部Web3.0安全机构CertiK自豪地宣布,CertiK的工程师因发现Apple Vision Pro MR(混合现实)头显设备中的关键漏洞而获得Apple公司认可,这已经是Apple公司第六次公开发布对CertiK的致谢,Cert…

文件格式转换:EXCEL和CSV文件格式互相转换

目录 1.EXCEl和CSV文件格式互相转换1.1首先安装所需的Python包1.2excel转换为csv代码如下:1.3csv转换为excel代码如下: 由于excel文件在数学建模数据处理当中的局限性,我们通常把excel文件转换为csv文件来处理,下面是相关的代码&a…

IDEA配置全局的maven环境

1、关闭掉所有打开的项目,然后点击All settings 2、配置maven home path、user setting file、local repository。 3、配置JRE的版本 4、配置字节码版本

【第十三章:Sentosa_DSML社区版-机器学习聚类】

目录 【第十三章:Sentosa_DSML社区版-机器学习聚类】 13.1 KMeans聚类 13.2 二分KMeans聚类 13.3 高斯混合聚类 13.4 模糊C均值聚类 13.5 Canopy聚类 13.6 Canopy-KMeans聚类 13.7 文档主题生成模型聚类 13.8 谱聚类 【第十三章:Sentosa_DSML社…

聊天组件 Vue3-beautiful-chat 插槽

前言 Vue3-beautiful-chat 组件有四个插槽可以定制 一、user-avatar(头像) 首先是头像插槽,我们可以直接在 <beautiful-chat></beautiful-chat> 中间使用; 作用: 我们可以在用户头像上添加自定义样式,比如添加节日边框、可以使用首字母作为头像。。。 …

由于安全风险,安全领导者考虑禁止人工智能编码

安全团队与开发团队之间的紧张关系 83% 的安全领导者表示&#xff0c;他们的开发人员目前使用人工智能来生成代码&#xff0c;57% 的人表示这已成为一种常见做法。 然而&#xff0c;72% 的人认为他们别无选择&#xff0c;只能允许开发人员使用人工智能来保持竞争力&#xff0…

优优嗨聚集团:引领互联网服务新篇章

在当今这个日新月异的互联网时代&#xff0c;企业之间的竞争愈发激烈&#xff0c;如何高效地运营线上业务成为了众多商家关注的焦点。在这一背景下&#xff0c;四川优优嗨聚集团凭借其卓越的服务质量、创新的技术解决方案和强大的品牌影响力&#xff0c;逐渐成为了众多商家信赖…

vscode 配置rust格式化的正确方法

vscode 配置rust格式化的正确方法&#xff1a; 在settings.json里输入&#xff1a; "[rust]": {"editor.defaultFormatter": "rust-lang.rust-analyzer","editor.formatOnSave": true}

CUDA并行架构

一、CUDA简介 CUDA(Compute Unified Device Architecture)是一种由NVIDIA推出的通用并行计算架构&#xff0c;该架构使GPU(Graphics Processing Unit)能够对复杂的计算问题做性能速度优化。 二、串并行模式 高性能计算的关键是利用多核处理器进行并行计算。 串行模式&#…

Python 中的 typing 模块常见用法

typing 模块是 Python 提供的一个标准库&#xff0c;主要用于为函数、变量和类定义类型提示&#xff08;Type Hints&#xff09;&#xff0c;从而提高代码的可读性和类型安全性。虽然 Python 是动态类型语言&#xff0c;但通过 typing 模块&#xff0c;开发者可以明确指定变量和…

【2024研赛】【华为杯E题】2024 年研究生数学建模比赛思路、代码、论文助攻

思路将在名片下群聊分享 高速公路应急车道紧急启用模型 高速公路拥堵现象的原因众多&#xff0c;除了交通事故外&#xff0c;最典型的就是部分路段出现瓶颈现象&#xff0c;主要原因是车辆汇聚&#xff0c;而拥堵后又容易蔓延。高速公路一些特定的路段容易形成堵点&#xff0…

Scrapy爬虫实战——某瓣250

# 按照我个人的习惯&#xff0c;在一些需要较多的包作为基础支撑的项目里&#xff0c;习惯使用虚拟环境&#xff0c;因为这样能极大程度的减少出现依赖冲突的问题。依赖冲突就比如A、B、C三个库&#xff0c;A和B同时依赖于C&#xff0c;但是A需要的C库版本大于N&#xff0c;而B…

一文说清楚ETL与Kafka如何实现集成

ETL与Kafka为何需要集成? 随着企业对实时流数据的处理要求越来越高&#xff0c;很多企业都把实时流数(日志、实时CDC采集数据、设备数据…)先推入到kafka中&#xff0c;再通过ETL对kafka中的数据进行消费通过ETL强大的数据的转换、清洗功能来进行数据的集成与分发。 实时数据…

CefSharp_Vue交互(Element UI)_WinFormWeb应用---设置应用透明度(含示例代码)

一、界面预览 1.1 设置透明(整个页面透明80%示例) 限制输入值:10-100(数字太小会不好看见) 1.2 vue标题栏 //注册类与js调用 (async function(

11年计算机考研408-数据结构

设执行了k次。 解析&#xff1a; d要第一个出&#xff0c;那么abc先入栈&#xff0c;d入栈然后再出栈&#xff0c;这前面是一个固定的流程&#xff0c;后面就很灵活了&#xff0c;可以ecba&#xff0c;ceba&#xff0c;cbea&#xff0c;cbae。 答案是4个序列。 解析&#xff1a…

CSS 复合选择器简单学习

目录 1. Emmet 语法 1.1 快速生成 HTML 结构语法 1.2 快速生成 CSS 样式 1.3 格式化工具 2. 调试 2.1 打开调试工具 2.2 使用调试工具 3. 复合选择器 3.1 后代选择器 3.2 子选择器 3.3 并集选择器 3.4 伪类选择器 3.3.1 链接伪类选择器 3.3.2 :focus 伪类选择器 …

OpenCV特征检测(5)检测图像中的角点函数cornerMinEigenVal()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 计算用于角点检测的梯度矩阵的最小特征值。 该函数类似于 cornerEigenValsAndVecs&#xff0c;但它计算并存储协方差矩阵导数的最小特征值&…

帧率和丢帧分析理论

一、丢帧问题概述 应用丢帧通常指的是在应用程序的界面绘制过程中&#xff0c;由于某些原因导致界面绘制的帧率下降&#xff0c;从而造成界面卡顿、动画不流畅等问题。以60Hz刷新率为例子&#xff0c;想要达到每秒60帧&#xff08;即60fps&#xff09;的流畅体验&#xff0c;每…

NLP 主要语言模型分类

文章目录 ngram自回归语言模型TransformerGPTBERT&#xff08;2018年提出&#xff09;基于 Transformer 架构的预训练模型特点应用基于 transformer&#xff08;2017年提出&#xff0c;attention is all you need&#xff09;堆叠层数与原transformer 的差异bert transformer 层…