网络协议与层次划分:探索计算机网络体系结构


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭
~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:计算机网络

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

目录

协议与划分层次

网络协议的三个组成要素

协议的两种形式

层次式协议结构

划分层次的概念举例

两个主机交换文件

再设计一个通信服务模块

再设计一个网络接入模块

分层的好处与缺点

好处

缺点

层数多少要适当

各层完成的主要功能

差错控制:

流量控制:

分段和重装:

复用和分用:

连接建立和释放:

计算机网络的体系结构

具有五层协议的体系结构

主机1向主机2发送数据流程(图解)

实体、协议、服务和服务访问点

协议和服务在概念上是不一样的

复杂的协议

TCP/IP 的体系结构

​TCP/IP 体系结构的另一种表示方法


协议与划分层次

计算机网络中的数据交换必须遵守事先约定好的规则。

这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。

网络协议(network protocol),简称为协议是为进行网络中的数据交换而建立的规则、标准或约定。

开始之前可以先大概了解一下计算机网络中的网络基础与通信原理,链接如下:

网络基础与通信原理:构建数字世界的框架-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Srlua/article/details/136201056


网络协议的三个组成要素

  • 语法:数据与控制信息的结构或格式
  • 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
  • 同步:事件实现顺序的详细说明。

由此可见,网络协议是计算机网络的不可缺少的组成部分。


协议的两种形式

  • 一种是使用便于人来阅读和理解的文字描述。
  • 另一种是使用让计算机能够理解的程序代码。

这两种不同形式的协议都必须能够对网络上信息交换过程做出精确的解释。


层次式协议结构

ARPANET的研制经验表明,对于非常复杂的计算机网络协议,其结构应该是层次式的。


划分层次的概念举例

主机 1向主机 2 通过网络发送文件。可以将要做的工作进行如下的划分:

第一类工作与传送文件直接有关。

  • 确信对方已做好接收和存储文件的准备。
  • 双方已协调好一致的文件格式。

两个主机将文件传送模块作为最高的一层,剩下的工作由下面的模块负责。


两个主机交换文件

再设计一个通信服务模块

再设计一个网络接入模块

网络接入模块负责做与网络接口细节有关的工作,例如:规定传输的帧格式,帧的最大长度等。


分层的好处与缺点

好处

  • 各层之间是独立的。
  • 灵活性好。
  • 结构上可分割开。
  • 易于实现和维护

缺点

  • 降低效率。
  • 有些功能会在不同的层次中重复出现,因而产生了额外开销能促进标准化工作。

层数多少要适当

  • 层数太少,就会使每一层的协议太复杂。
  • 层数太多,又会在描述和综合各层功能的系统工程任务时遇到较多的困难。

各层完成的主要功能

差错控制:

使相应层次对等方的通信更加可靠。

流量控制:

发送端的发送速率必须使接收端来得及接收,不要太快。

分段和重装:

发送端将要发送的数据块划分为更小的单位,在接收端将其还原。

复用和分用:

发送端几个高层会话复用一条低层的连接,在接收端再进行分用。

连接建立和释放:

交换数据前先建立一条逻辑连接,数据传送结束后释放连接。


计算机网络的体系结构

计算机网络的体系结构(architecture)计算机网络的各层及其协议的集合

体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。

实现(implementation)是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。

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

  • OSI的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用
  • TCP/IP 是四层体系结构:应用层、运输层、网际层和网络接口层。但最下面的网络接口层并没有具体内容。

因此往往采取折中的办法,即综合 OSI和TCP/IP 的优点,采用一种只有五层协议的体系结构

具有五层协议的体系结构

主机1向主机2发送数据流程(图解)

 

OSI参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU(ProtocolDataUnit)。这个名词现已被许多非OSI标准采用。

任何两个同样的层次把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”(peer layers)之间的通信。

各层协议实际上就是在各个对等层之间传递数据时的各项规定。


实体、协议、服务和服务访问点

实体(entity)表示任何可发送或接收信息的硬件或软件进程。

协议是控制两个对等实体进行通信的规则的集合。

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。

要实现本层协议,还需要使用下层所提供的服务。


协议和服务在概念上是不一样的

协议的实现保证了能够向上一层提供服务。

本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。

协议是“水平的”即协议是控制对等实体之间通信的规则。

服务是“垂直的”即服务是由下层向上层通过层间接口提供的。


复杂的协议

协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。

看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,还必须非常仔细地检查这个协议能否应付各种异常情况


TCP/IP 的体系结构

TCP/IP 体系结构的另一种表示方法

实际上,现在的互联网使用的 TCP/IP 体系结构有时已经发生了演变,即某些应用程序可以直接使用IP层,或甚至直接使用最下面的网络接口层。

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

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

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

相关文章

Vulnhub - Symfonos

希望和各位大佬一起学习,如果文章内容有错请多多指正,谢谢! 个人博客链接:CH4SER的个人BLOG – Welcome To Ch4sers Blog Symfonos 靶机下载地址:https://www.vulnhub.com/entry/symfonos-1,322/ 0x01 信息收集 …

鼎阳SDS6204示波器EPICS IOC的搭建

三年前曾写过这个文: 鼎阳SDS6204示波器的EPICS IOC调试 文章里有EPICS网站设备IOC搭建的指南,具体搭建IOC的步骤就没详细写了,几年后重新搭建时发现还是费了些力气才搭建起来,因此写此文记录下手把手的过程方便自己以及EPICS的初…

【论文阅读】MSGNet:学习多变量时间序列预测中的多尺度间序列相关性

MSGNet:学习多变量时间序列预测中的多尺度间序列相关性 文献介绍摘要总体介绍背景及当前面临的问题现有解决方案及其局限性本文的解决方案及其贡献 背景知识的相关工作背景知识问题表述: Method论文主要工作1.输入嵌入和剩余连接 (Input Embedding and R…

工业AMR机器人如何实现规模化的柔性生产

在当下高度复杂的工业生产环境中,机器人如何实现规模化的柔性生产,已成为业界关注的焦点。特别是在追求高效率、高质量的生产过程中,团队协作的重要性愈发凸显。富唯智能一体化AMR控制系统,作为机器人的核心指挥部,犹如…

【MySQL】2. 数据库基础

1. 数据库基础(重点) 1.1 什么是数据库 存储数据用文件就可以了,为什么还要弄个数据库? 文件保存数据有以下几个缺点: 文件的安全性问题 文件不利于数据查询和管理 文件不利于存储海量数据 文件在程序中控制不方便 数据库存储介…

Nginx底层基础数据结构

基础数据结构 ngx_int_t 32位操作系统4字节,64位操作系统8字节 解决跨平台以及,普通int类型在x86和x64操作系统上面是4字节,在类型转换时造成内存浪费(如在x64下面转换long类型) typedef intptr_t ngx_int_t;#ifdef _WIN64 typedef __int64 intptr_t; #else typedef _…

【贪心算法】Leetcode 55. 跳跃游戏 45. 跳跃游戏 I

【贪心算法】Leetcode 55. 跳跃游戏 45. 跳跃游戏 II Leetcode 55. 跳跃游戏解法1 贪心 Leetcode 45. 跳跃游戏I解法 贪心 Leetcode 55. 跳跃游戏 ---------------🎈🎈55. 跳跃游戏 题目链接🎈🎈------------------- 解法1 贪心…

SpringMVC结合设计模式:解决MyBatisPlus传递嵌套JSON数据的难题

🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏《Spring 狂野之旅:从入门到入魔》 &a…

Spark杂谈

文章目录 什么是Spark对比HadoopSpark应用场景Spark数据处理流程什么是RDDSpark架构相关进程入门案例:统计单词数量Spark开启historyServer 什么是Spark Spark是一个用于大规模数据处理的统一计算引擎Spark一个重要的特性就是基于内存计算,从而它的速度…

LSS (Lift, Splat, Shoot)

项目主页 https://nv-tlabs.github.io/lift-splat-shoot 图1:本文提出一种模型,给定多视角相机数据 (左), 直接在鸟瞰图 (BEV) 坐标系(右)中推理语义。我们展示了车辆分割 (蓝色),可驾驶区域 (橙色) 和车道分割 (绿色) 的结果。然…

C语言项目:数组与函数实践:扫雷游戏

目录 目录: 1.扫雷游戏分析与设计 1.1扫雷游戏的功能说明: 1.1.1使用控制台实现经典扫雷的游戏 1.1.2游戏可以通过菜单实现继续玩或者退出游戏 1.1.3扫雷棋盘是9*9的格子 1.1.4默认随机布置10个雷 1.1.5 可以排查雷 2.扫雷游戏的代码实现 1.遇到的问题…

项目文章|真菌ChIP-seq+RNA-seq解析脱落酸生物合成的调控机制

组蛋白翻译后修饰是表观遗传调控的主要机制之一,已被证明在基因表达的调控中发挥重要作用,参与真菌发育、感染相关的形态发生、环境应激反应、次级代谢产物的生物合成和致病性。我们分享过不少真菌组蛋白修饰的文章,今天接着带来一篇利用ChIP…

Anaconda安装proplot库

看了一下Anaconda中的环境,现在我有4个,其中gee是一个虚拟环境 因此一般在prompt中装库时要先进入其中一个虚拟环境 conda activate geepip install proplot --no-deps下完了之后,发现版本不对应 conda install matplotlib3.4.3

软件开发项目管理/研发项目管理软件:国产EDA工具厂商行芯科技上线奥博思PowerProject项目管理软件平台

国内领先的EDA工具链提供商杭州行芯科技有限公司(以下简称:行芯科技)与北京奥博思软件技术有限公司达成战略合作,奥博思软件将基于PowerProject项目管理系统助力行芯科技实现研发项目的全生命周期管理,提升管理效能&am…

论文阅读:Face Deblurring using Dual Camera Fusion on Mobile Phones

今天介绍一篇发表在 ACM SIGGRAPH 上的文章,是用手机的双摄系统来做人脸去模糊的工作。这也是谷歌计算摄影研究组的工作。 快速运动物体的运动模糊在摄影中是一个一直以来的难题,在手机摄影中也是非常常见的问题,尤其在光照不足,…

jasypt加解密

项目中经常遇到jasypt加解密的配置文件,尤其是项目不是自己创建的时候,压根不知道加密的内容是什么,而配置文件中一般加密的也都是数据库或其他非结构型数据库的账号或密码,这时候想要看一下db的内容就非常的头疼,除了…

【爬虫】– 抓取原创力文档数据

使用RPA工具,实现针对于原创力中不可下载文档的抓取,可延用于其他类似文库 1 使用工具、环境 影刀RPA、WPS Office、谷歌浏览器(非指定) 2 代码流程 3 关键点 此方案只适合抓取非VIP即可预览全文的文档,抓取下来的数…

B007-springcloud alibaba 消息驱动 Rocketmq

目录 MQ简介什么是MQMQ的应用场景异步解耦流量削峰 常见的MQ产品 RocketMQ入门RocketMQ环境搭建环境准备安装RocketMQ启动RocketMQ测试RocketMQ关闭RocketMQ RocketMQ的架构及概念RocketMQ控制台安装 消息发送和接收演示发送消息接收消息 案例订单微服务发送消息用户微服务订阅…

(done) 解释 python3 torch.utils.data DataLoader

特别注意:DataLoader 返回的迭代器是无尽的,依据如下 (CHATGPT3.5) DataLoader 返回的迭代器默认情况下是无尽的,因为它会无限地循环遍历数据集,以提供批量的数据。在训练神经网络时,通常会使用无尽的迭代器来循环遍历…

LEETCODE 100255. 成为 K 特殊字符串需要删除的最少字符数

整体思路: 1.可以看到这道题是要求是最小的,那么可以想到遍历所有情况 2.把题干已知条件转换为一个数组,那么只需要以数组每个元素为开头遍历所有情况即可。 3.对于一个数考虑其后面的情况,其后每个数等于这个数k和数本身的最小值(遍历累计求…