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 垂直视角

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

①发送端

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

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

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

在这里插入图片描述

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

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【推广】图书|2024新书《大模型RAG实战:RAG原理、应用与系统构建》汪鹏、谷清水、卞龙鹏等,机械工业出版社

探索RAG系统新高度:《大模型RAG实战:RAG原理、应用与系统构建》 随着大模型技术的爆发,尤其是ChatGPT之后,以ChatPDF为首的知识库问答产品迅速走红,引发了RAG(检索增强生成)系统的广泛关注与讨论…

EfficientFormer实战:使用EfficientFormerV2实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

macOS平台编译libidn2库给iOS及macOS用

1.克隆源码: git clone https://gitlab.com/libidn/libidn2.git --recursive 2.安装依赖库: pkg-config也要安装 3.启动bootstrap生成configure 配置成功 configure生成成功

TikTok提示“Network is out of reach”怎么处理?

当TikTok提示“Network is out of reach”时,意味着应用无法连接到互联网。导致这一问题的常见原因包括网络连接不稳定、地理限制或网络设置与应用不兼容等。解决方法有:拔除手机卡、关闭手机定位服务、切换至稳定的海外IP网络等。使用TikTok专用网络也可…

数据结构字节对齐

求 sizeof(name1)?(晟安信息) struct name1{ char str; short x; int num; }; 8 分析:char 1字节,short 2字节,int 4字节;所以以4字节为一个步长,需要2步长,所以sizeof(name1)为8。 (电工时代) …

C++入门基础知识79(实例)——实例 4【求商及余数】

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C 实例 【求商及余数】相关内容&#xf…

【Go】Go 环境下载与安装教程(Windows系统)

引言 Go,也被称为Golang,是一种静态类型,编译型的编程语言,由Google设计和开发。Go语言的设计目标是“解决软件开发中的一些问题”,特别是在大规模软件系统的构建和维护方面。 下载安装包 打开官网下载页面&#xff…

查找算法 03散列查找

自己设计一个散列表,总长度由你决定,并设计一个合理的散列函数,使用线性探测法解决冲突 基于上述散列表,设计不少于10个元素的插入序列,依次插入散列表,画出散列表最终的样子(插入过程至少发生…

javase复习day29 io

高级流 缓冲流效率较高。 字节缓冲流 public class Demo1 {public static void main(String[] args) throws IOException {BufferedInputStream bis new BufferedInputStream(new FileInputStream("javaseday29\\a.txt"));BufferedOutputStream bos new BufferedO…

Python | Leetcode Python题解之第424题替换后的最长重复字符

题目&#xff1a; 题解&#xff1a; class Solution:def characterReplacement(self, s: str, k: int) -> int:num [0] * 26n len(s)maxn left right 0while right < n:num[ord(s[right]) - ord("A")] 1maxn max(maxn, num[ord(s[right]) - ord("…

安卓数据存储——SQLite

一、SQLite数据库 创建表 CREATE TABLE IF NOT EXISTS user_info (_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,name VARCHAR NOT NULL,age INTEGER NOT NULL,height LONG NOT NULL,weight FLOAT NOT NULL);注&#xff1a; IF NOT EXISTS&#xff1a;如果该表不存在则创…

后端:理解与创建项目

理解 项目得放到tomcat中才能运行 &#xff0c;所以请求不是到服务端&#xff0c;是到具体的项目里的服务生里(servlet)。 servlet能够响应接受请求。 用jqueryajax发出请求 请求&#xff08;请求路径-->找到服务生&#xff09;&#xff0c; 请求方式&#xff08;get/post&…

【深入理解SpringCloud微服务】深入理解nacos配置中心(六)——spring-cloud-context关于配置刷新的公共逻辑

【深入理解SpringCloud微服务】深入理解nacos配置中心&#xff08;六&#xff09;——spring-cloud-context关于配置刷新的公共逻辑 原理分析源码解析RefreshEventListener#onApplicationEvent(ApplicationEvent)ContextRefresher#refresh()ContextRefresher#refreshEnvironmen…

Spring IDEA 2024 安装Lombok插件

1.简介 Lombook插件的Data标签可以自动生成类的get和set以及toString方法。 2.安装步骤 在idead设置的插件中搜索lombok插件&#xff0c;安装。 在Spring项目的pom.xml中添加依赖项 <dependency><groupId>org.projectlombok</groupId><artifactId…

2024年研赛 C、D、F三题论文首发+部分代码分享

本届研赛助攻题目 C D F三题论文均已经全部完成。后更新计划 如图所示。 免费给大家分享 三个问题的论文部分代码 2024年华为杯-研赛分享资料&#xff08;论文部分代码&#xff09;&#xff08;已更新部分代码&#xff09;&#xff1a; 链接&#xff1a;https://pan.baidu.com…

【HTML样式】加载动画专题 每周更新

加载动画专题 煎蛋加载动画方块移动加载动画电子风变脸正方体组合跳跃式加载动画 煎蛋加载动画 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width…

Science Robotic 内在触觉实现直观的物理人机交互

触觉传感器和电子皮肤是为机器人提供物理交互感的常见设备&#xff0c;但当用于机器人的大面积覆盖时&#xff0c;它们会变得复杂且昂贵。德国宇航中心近期发表的Science Robotics研究工作&#xff0c;使用内部高分辨率关节力扭矩传感器&#xff0c;在机械臂中实现了固有的全身…

读构建可扩展分布式系统:方法与实践11强一致性

1. 强一致性 1.1. 最终一致数据库通过跨多台机器分区和复制数据集来获得可扩展性&#xff0c;其代价是要跨副本维持强数据一致性以及允许冲突写入 1.1.1. 在更新数据对象后&#xff0c;不同的客户端可能会看到该对象的旧值或新值&#xff0c;直到所有副本都收敛到最新值 1.2…

UDS诊断ISO14229新手入门篇

前言:参考ISO-14229 UDS 诊断教程(一) UDS 由 ISO-14229 系列标准定义,ISO 14229-1 定义了诊断服务,不涉及网络及实现,只有应用层的内容。而 ISO 14229-3 则定义了 UDS 在 CAN 总线上的实现。诊断通信的过程从用户角度来看非常容易理解,诊断仪发送诊断请求(request),…

MQ入门(一):同步调用和异步调用--RabbitMQ基础入门

目录 1.初识MQ 1.1.同步调用 1.2.异步调用 1.3.技术选型 2.RabbitMQ 2.1.安装部署 2.2.RabbitMQ基本架构 2.3.收发消息 2.3.1.交换机 2.3.2.队列 2.3.3.绑定关系 2.3.4.发送消息 2.4.数据隔离 2.4.1.用户管理 2.4.2.virtual host 1.初识MQ 微服务一旦拆分&…