1.5 计算机网络的分层结构

news2024/9/24 15:43:13

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

文章目录

  • 前言
  • 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.coloradmin.cn/o/2160725.html

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

相关文章

Ubuntu22.04安装GNSS数据处理软件GAMIT/GLOBK

由于微信公众号改变了推送规则,为了每次新的推送可以在第一时间出现在您的订阅列表中,记得将本公众号设为星标或置顶喔~ 手把手带您安装gamit/globk软件~ 🌿前言 受朋友之托,出一期Ubuntu22.04安装GNSS数据处理软件——gamit软件…

Web端云剪辑解决方案,智能字幕,精准识别语音字幕,一键上轨编辑

无论是企业宣传、个人Vlog、在线教育还是直播带货,高质量的视频内容都是吸引眼球、传递价值的关键。然而,面对繁琐的剪辑流程、高昂的时间成本以及技术门槛,许多创作者往往望而却步。正是洞察到这一市场需求,美摄科技携其创新的We…

解锁MySQL升级秘诀:提升性能、增强安全的必备指南

随着mysql不断演进,旧的版本不断地会发现新的漏洞,为修复漏洞体验新版本的功能,就需要对数据库进行升级操作。 升级注意点 备份!备份!备份! 1.从5.6升级到5.7需首先升级到5.6最新版;不支持跨…

消息中间件常见面试题(RabbitMQ)

MQ场景: 异步发送(验证码、短信、邮件)MySQL、Redis、ES之间的数据同步分布式事务等 一、RabbitMQ 1.1 消息不丢失 提问:如果保证消息不丢失呢? 流程:生产者将消息发送给交换机,交换机发送给…

css实现类似歌词字体渐变的效果

1、HTML <view class"title">哈哈哈哈哈</view> 2、CSS animation: hue 6s infinite linear;background-image: linear-gradient(135deg, #fc00c7 0%, #1c4efd 54%, #00aded 100%);-webkit-text-fill-color: transparent;color: transparent;-webkit-ba…

【**倒计时,人工智能的ASI时代几年内将至-samaltman深夜发文预言**】

在未来的几十年里&#xff0c;我们将能够做到我们的祖辈认为像魔术一样的事情。 这是Sama Ltman博文的第一句话。技术进步加速&#xff1a;随着时间的推移&#xff0c;人类的能力显著提高&#xff0c;我们能够完成前人认为不可能的事情。他认为&#xff1a; 我们的能力增强不…

Spring 核心

Spring 核心 这篇文章&#xff0c;我们换个思路来学习&#xff0c;来践行一下以始为终&#xff0c;以面试题为引来重温一下Spring&#xff0c;毕竟孔子曾说&#xff0c;“温故而知新&#xff0c;可以为师矣。” &#xff0c;可以通过这个链接看看有哪些常见的面试题 Spring 面…

【深度学习】03-神经网络2-1损失函数

在神经网络中&#xff0c;不同任务类型&#xff08;如多分类、二分类、回归&#xff09;需要使用不同的损失函数来衡量模型预测和真实值之间的差异。选择合适的损失函数对于模型的性能至关重要。 这里的是API 的注意⚠️&#xff0c;但是在真实的公式中&#xff0c;目标值一定是…

第二证券:a股创业板科创板是什么意思?各自代码是什么?

a股创业板科创板是什么意思&#xff1f; a股是指人民币一般股票的总称&#xff0c;其发行公司是在我国境内注册的&#xff0c;a股在境内发行并以人民币计价&#xff0c;a股的投资者首要是境内安排、安排或个人&#xff0c;也包括合格的境外安排投资者。 创业板是股票商场的一…

睡眠监测系统基于边缘计算和微服务缓存

这篇论文的主要内容是关于基于边缘计算和微服务缓存的睡眠监测系统。以下是详细内容概述&#xff1a; 标题 睡眠监测系统基于边缘计算和微服务缓存 作者 Nico Surantha - 东京市立大学&#xff0c;日本David Jayaatmaja - 雅加达Bina Nusantara大学&#xff0c;印度尼西亚S…

项目管理软件应具备哪些功能?分享一款功能齐全的项目管理工具

项目管理软件是一类专门设计用于规划、执行和监控项目的工具。它提供了一种集中管理和协调项目活动的方式&#xff0c;有助于提升项目的效率和成功率。本文将介绍项目管理软件的九大基本功能是什么&#xff0c;以及分享一款功能齐全的项目管理软件供大家参考。 一、项目计划与…

CANopen开源库canfestival的移植

本文记录将CANopen开源库CANfestival移植到GD32F470单片机的过程。CANopen协议理解请参考博客&#xff1a;CANopen协议的理解-CSDN博客 CANfestival开源库下载链接 CSDN链接&#xff1a; https://download.csdn.net/download/heqiunong/89774627 官网链接&#xff1a;https:/…

2024年主动降噪头戴式耳机该如何选择?四款品牌高性价比推荐

今天与大家聊一聊头戴式降噪蓝牙耳机。无论是沉浸在游戏的世界中&#xff0c;还是专注于观看视频课程汲取知识&#xff0c;它都能为我带来清晰、震撼的音质体验。对程序员来说&#xff0c;在嘈杂的工作环境中&#xff08;比如机房里&#xff09;&#xff0c;头戴式耳机都能让我…

Linux shell编程学习笔记83:time命令——争分夺秒

0 引言 在DOS或Windows中&#xff0c;我们可以使用time命令来查看或修改系统时间。 但是在Linux中&#xff0c;time命令的功能却与DOS或Windows迥然不同。 1 time命令 的功能、帮助信息、命令格式和参数说明 1.1 time命令 的功能 在Linux&#xff0c;time命令的功能是测量…

鸿蒙 OS 开发单词打卡 APP 项目实战 20240922 笔记和源码分享

配套有完整的录播课, 需要的私信. 零基础入门级别, 有点前端基础都能学会. 效果截图: 代码截图: 页面完整代码: import { AnswerStatus } from ../enums/AnswerStatus import { PracticeStatus } from ../enums/PracticeStatus import { getRandomQuestions, Question …

江协科技STM32学习- P17 TIM输入捕获

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

【C++篇】探寻C++ STL之美:从string类的基础到高级操作的全面解析

文章目录 C string 类详解&#xff1a;从入门到精通前言第一章&#xff1a;C 语言中的字符串 vs C string 类1.1 C 语言中的字符串1.2 C string 类的优势 第二章&#xff1a;string 类的构造与基础操作2.1 string 类的构造方法2.1.1 示例代码&#xff1a;构造字符串 2.2 string…

Kotlin 多种形式的 when 表达式(七)

导读大纲 1.0.1 在变量中捕捉 when 表达式1.0.2 对任意对象使用 when 表达式1.0.3 使用不带参数的 when 表达式 when 表达式专题系列 从枚举类引出 when 表达式 1.0.1 在变量中捕捉 when 表达式 在前面的示例中,when 表达式的评估值是color变量 它是通过调用 measureColor() …

pip的安装和使用

pip的安装和使用 1、 pip 是一个现代的&#xff0c;通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。便于我们对Python的资源包进行管理。 2、注&#xff1a;pip 已内置于 Python 3.4 和 2.7 及以上版本&#xff0c;其他版本需另行安装。 3、在安…

java并发工具包JUC(Java Util Concurrent)

1. 什么是JUC 1.1 JUC简介 JUC&#xff08;Java Util Concurrent&#xff09;是Java中的一个并发工具包&#xff0c;提供了一系列用于多线程编程的类和接口&#xff0c;旨在简化并发编程并提高其效率和可维护性。JUC库包含了许多强大的工具和机制&#xff0c;用于线程管理、同…