1.5 计算机网络的分层结构

embedded/2024/9/24 8:57:57/

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

文章目录

  • 前言
  • 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.ppmy.cn/embedded/116012.html

相关文章

后端常用的mybatis-plus方法以及配合querywapper使用

目录 一、插入数据 save方法 二、删除操作 removeById方法 三、更新操作 updateById方法 四、查询操作 selectById方法 五、条件构造器QueryWrapper的更多用法 1.比较操作符 2.逻辑操作符 3.模糊查询 4.空值判断 一、插入数据 save方法 save(T entity):向数据库中插入…

win10 win11 设置文件权限以解决Onedrive不能同步问题

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

【Docker】基于docker compose部署artifactory-cpp-ce服务

基于docker compose部署artifactory-cpp-ce服务 1 环境准备2 必要文件创建与编写3 拉取镜像-创建容器并后台运行4 访问JFog Artifactory 服务 1 环境准备 docker 以及其插件docker compose ,我使用的版本如下图所示: postgresql 的jdbc驱动, 我使用的是…

基于C#+SQL Server(CS界面)学生选课及成绩查询管理系统

学生选课及成绩查询管理系统的设计与开发 1、项目背景 学生选课及成绩查询系统是一个学校不可缺少的部分,传统的人工管理档案的方式存在着很多的缺点,如:效率低、保密性差等,所以开发一套综合教务系统管理软件很有必要&#xff…

手写数字识别案例分析(torch,深度学习入门)

在人工智能和机器学习的广阔领域中,手写数字识别是一个经典的入门级问题,它不仅能够帮助我们理解深度学习的基本原理,还能作为实践编程和模型训练的良好起点。本文将带您踏上手写数字识别的深度学习之旅,从数据集介绍、模型构建到…

常用的k8s容器网络模式有哪些?

常用的k8s容器网络模式包括Bridge模式、Host模式、Overlay模式、Flannel模式、CNI(ContainerNetworkInterface)模式。K8s的容器网络模式多种多样,每种模式都有其特点和适用场景。Bridge模式适用于简单的容器通信场景;Host模式适用…

手机上轻松解压并处理 JSON 文件

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,在手机上有着广泛的应用场景。 首先,在数据传输方面,许多移动应用程序通过网络请求与后端服务器进行交互,而服务器端的 API 接口通常使用 JS…

Linux-网络编程

1. 初始网络协议 “协议” 是一种约定. 打电话约定电话铃响的次数的约定 协议分层 协议本质也是软件, 在设计上为了更好的进行模块化, 解耦合, 也是被设计成为层状结构的 1.1 OSI 七层模型 OSI(Open System Interconnection&#…