1.2_1 分层结构、协议、接口和服务

news2025/1/15 12:52:02

1.2_1 分层结构、协议、接口和服务

(一)为什么要分层?

image-20240305194914812

  主机A如果想要向主机B发送文件,则一定要经过中间的一些介质、链路。

发送文件前要完成的工作

  1.发起通信的计算机必须将数据通信的通路进行激活

  所谓的激活,就相当于把这条道路先清一下,确保自己能成功发送、对方能成功接收。

  2.要告诉网络如何识别目的主机。

  主机A给主机B发送文件,要找到主机B,并不是靠主机A自己去找,而是把文件先发送到网络上,然后由网络对主机B进行识别,从而知道发送到哪里。

  3.发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。

  4.发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。

  5.确保差错和意外可以解决。

  …………(等等…)

  对于如此庞大、复杂的一系列问题,对我们来说显然就很难一下子解决,那对于计算机网络也是一样,这么多问题堆在一块,当然很难解决。所以它要把问题分成一个个的小问题(分层),逐个解决。

(二)怎么分层?

image-20240305210810414

  比如你有一瓶酒,要通过快递寄给另一个人。

  首先,你会给这瓶酒加上一些软包装(棉花之类的),然后再加上一层硬包装(纸箱、木盒子),之后交给快递公司让他们邮寄(你不需关注快递公司是采用陆运、空运还是海运)。

  邮寄到对方手上后,对方先拆开外面的硬包装,再拆开里面的软包装,最后拿到这瓶酒。

一些术语

  1.实体

  如上面例子中,这瓶酒,就是实体。或者“用棉花软包装过的酒”,也叫实体。

  同一层的两个实体,就叫对等实体

  2.协议

  指的就是一系列的规则或约定。

  比如上面例子中,对于“给酒进行软包装”这一层,棉花应该怎么塞、怎么拿,我们进行要求。其他每一层同理,也都会有对应的协议。

  需要注意的是,协议是水平方向的,只有对等实体之间才有协议(例如“装棉花”和“拆棉花”就是同层的对等实体)。不对等的实体(比如“装棉花”这一层,和“拆木箱”这一层)之间是没有协议的。

  3.接口

  接口就很好理解了。指的是每两层之间关节处的位置,就叫做接口。

  4.服务

  服务指的就是,每两个层次之间提供的东西,就叫服务。

  但是需要注意的是,在计算机网络当中,上层是要使用下层的服务的,也就是说,下级要为上级提供服务。

  以上面的例子为例,我们要把这个酒邮寄过去,对于“已经包装过棉花的酒”这一层来说,它要想邮出去,就一定要经历“给酒再包装木箱”这一层。所以,“包装过棉花的酒”这一层,它要求下级为它提供的服务就是,“你把我装木箱,然后把我送走”。这就是上层需要下层为它提供服务。


分层的基本原则

  1.各层之间相互独立,每层只实现一种相对独立的功能。

  2.每层之间界面自然清晰,易于理解,相互交流尽可能少。

  这一点其实说的就是接口,两层之间的接口要尽量的简洁、直观明了。

  3.结构上可分割开。每层都采用最合适的技术来实现。

  每两层之间是不会相互影响的。每一层只需要管好自己,采用最合适的技术。

  4.要保持下层上层的独立性,上层单向使用下层提供的服务

  5.整个分层结构应该能促进标准化工作。

(三)正式认识分层结构

image-20240305220915902

  1.实体

  第n层中的活动元素称为n层实体。(另一端的主机上)同一层的实体叫对等实体

  2.协议

  为进行网络中的对等实体数据交换而建立的规则、标准或约定,称为网络协议。(注:协议是水平的,同一层的对等实体之间才有协议。如果说是第4层与第3层之间,是没有协议的)

  协议有三大要素:语法、语义、同步。

  1)语法:规定传输数据的格式。

  2)语义:规定要完成的功能。

  3)同步:规定各种操作的顺序。

  3.接口(访问服务点SAP)

  上层使用下层服务的入口。

  4.服务

  下层为相邻上层提供的功能调用。(注意:服务是垂直方向的,且是单向的。下层为上层提供服务,上层使用下层的服务)


image-20240305222816015

  现在,把第5、4、3层抽出来,看看它们各层包含了什么数据、之间是什么关系。

  1.SDU服务数据单元

  为完成用户所要求的功能而应传送的数据。

  说白了就是每一层要传送的数据,也就是有用的那部分。(而不是其它一些辅助性、修饰性的部分)

  2.PCI协议控制信息

  控制协议操作的信息。

  3.PDU协议数据单元

  对等层次之间传送的数据单位。

  传送的有用数据SDU,加上控制信息PCI,合起来就得到了PDU。

  注意,上面一层的PDU作为下面一层的SDU,再加上下面一层的PCI,就得到了下面一层的PDU。再往下层同理。

总结

  1.网络体系结构是从功能上描述计算机网络结构。

  计算机网络要处理一个大问题,要先根据功能把它分成多个小问题,每个小问题是一个层次。

  2.计算机网络体系结构简称网络体系结构,是分层结构

  3.每层遵循某个/些网络协议以完成本层功能。

  4.计算机网络体系结构是计算机网络的各层及其协议的集合。

  5.第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供过来的功能。

  注:在谈到“服务”时,一定要记住,服务发生在相邻两层之间,服务是单向的,由下层为上层提供服务,上层使用下层所提供的服务。

  但不要忘了,下层的服务也是由下下层所提供过来的,这实际上是一个递归的思想。因此,对于某一层来说,它虽然使用的是相邻下面一层提供的服务,但实际上它享受了下面所有层次的服务。

  6.仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。

  你具体怎么实现这个功能接口,我不关心,你只需要实现好之后提供给我使用就可以了。

  第5层和第4层之间有接口,第4层和第3层之间有接口。但是第5层和第3层之间没有接口,第5层和第3层也不能进行服务上的交流。

  7.体系结构是抽象的,而实现是指能运行的一些软件和硬件。

  计算机网络的这种体系结构,是一种抽象的架子。而厂家如果要进行具体的实现,要看具体使用的是什么软件和硬件,比如使用的是C语言还是JAVA,这些硬件、软件也没有什么固定的要求,都是看厂家自己想怎么样实现。

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

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

相关文章

【码银送书第十三期】《ChatGPT原理与架构》

OpenAI 在 2022 年 11 月推出了人工智能聊天应用—ChatGPT。它具有广泛的应用场景,在多项专业和学术基准测试中表现出的智力水平,不仅接近甚至有时超越了人类的平均水平。这使得 ChatGPT 在推出之初就受到广大用户的欢迎,被科技界誉为人工智能…

gofly接口入参验证使用介绍

接口传入的参数做相关性质验证是开发中较为常用,gofly框架内置校验工具,提供开发效率,开发接口简单调用即可实现验证,下面介绍gofly框架数据验证设计思路及使用方法。 gofly框架提供了功能强大、使用便捷、灵活易扩展的数据/表单…

【unity】shader优化总结-转载

分为三个部分:Unity官方文档,GDC,个人经验。 Unity Manual 1.计算量优化。着色器进行的计算和处理越多,对性能的影响越大。针对不影响最终效果但依然进行计算的无效代码,进行移除操作。计算的频率也会影响游戏的性能…

增肌_锻炼

目录 练第一步 有氧运动关节活动度 第二步 脊柱侧弯吃 练 https://www.bilibili.com/video/BV14v4y1G7A3 第一步 有氧运动 有氧运动锻炼心肺 最大心率保持在50% - 60% 关节活动度 髋关节活动 亚足背屈   绕肩,肩环绕肩   第二步 高频的中等强度&#xf…

【QT】菜单栏/工具栏/状态栏的应用

QMainWindow 菜单栏(menuBar)—只有一个 打开对话框 connect(ui->actionOpen,&QAction::triggered,this,[](){ //打开文件通常有一个返回值 //过滤条件,对打开的文件进行过滤QString…

【三维重建】相移法+格雷码

本篇文章介绍一种稠密点云的获取方式——条纹结构光三维重建算法。 在学习此算法前,我们需要对基于视觉的三维重建算法有一定了解。 需要了解什么是相机模型、相机标定以及三角化的相关知识。 【三维重建】摄像机几何-CSDN博客 【三维重建】摄像机标定&#xff…

AlibabaCloud微服务:Linux 部署 Sentinel 流量控制

目录 一、实验 1.环境 2.Linux 部署 Sentinel 3. 微服务接入Sentinel配置 二、 问题 1.Linux本地启动Sentinel控制台 2.JDBC连接失败 一、实验 1.环境 (1)主机 表1 主机 系统软件版本IP备注Linuxopenjdk 1.8.0192.168.204.200 maven3.5.0nac…

【QT】QDialog/ QMessageBox/提示对话框/颜色(文字)------对话框

QDialog—对话框 什么是对话框,如下样式 非模态对话框,即打开以后,我还可以对其他框进行操作。 模态对话框,打开以后,其他框都不能再操作了 模态对话框是阻塞对话框 QDialog dig(this);//显示模态对话框dig.exec();…

数据库-Mysql-读写分离(Atalas,Mysql-Router,Mysql-Proxy)

Atalas 这个是很老的了,了解即可。 wget https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpm rpm -ivh Atlas-2.2.1.el6.x86_64.rpm #安装后的目录 cd /usr/local/mysql-proxy配置 /usr/local/mysql-proxy/bin/encrypt roo…

【Bugs】java: 错误: 不支持发行版本 xx

文章目录 报错场景:报错原因:解决方法: 报错场景: IDEA运行Java项目报错,点击运行之后,IDEA在编译代码的时候就出现报错: 报错类型一:java: 错误: 不支持发行版本 21报错类型二&am…

H12-821_131

131.如图所示,R1、R2、R3和R4运行OSPF,缺省情况下该网络中选举________个DR。(请填写阿拉伯数字) 答案:3 注释: DR是链路上的概念,使用路由器接口的IP地址表示。链路的网络类型是广播网络类型或…

钉钉h5应用 globalthis is not defined vite client

钉钉h5应用 globalthis is not defined vite client problem 背景 钉钉h5应用使用 vue3 vite 构建的前端工程 问题 h5页面在pc端浏览器和pc端钉钉打开正常h5页面在移动端钉钉打开异常 页面空白 通过调试工具找到报错信息 globalthis is not defined vite client reason …

flutter插件市场,字节大牛耗时八个月又一力作

目录 触摸事件分发机制view渲染机制常用view布局ViewGroup自定义View实战 高级UI晋升 1.android的事件分发机制 2.Android面试题——View篇 3.自定义View面试题! 4.布局ViewGroup 5.Android自定义View实战 最后 其实Android开发的知识点就那么多,面试…

低代码:数智化助力新农业发展

随着科技的飞速发展和数字化转型的深入推进,低代码开发平台正逐渐成为软件开发的热门话题。尤其在农业领域,低代码技术为传统农业注入了新的活力,助力新农业实现高效、智能的发展。 低代码开发平台的概念与特点 随着科技的飞速发展&#xff0…

Sublime Text 格式化Json文件 之 Pretty Json

需要使用到 Pretty Json插件。 一、安装方法 sublime 下,按快捷键 Comand control p, 输入install Package,然后回车 等几秒钟,加载启动进程完毕后弹出的页面中输入pretty json, 然后回车 等待几秒钟,可以查看Sublime 最下面的…

《UE5_C++多人TPS完整教程》学习笔记27 ——《P28 项目资产(Assets for The Project)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P28 项目资产(Assets for The Project)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译…

如何查询docker镜像的最新版本

查询Docker镜像的最新版本通常有两种方式: 通过Docker CLI在本地查询: 如果你已经拉取过某个镜像并且想要查看本地是否已经有该镜像的最新版本,可以使用docker images命令列出所有本地镜像及其标签(即版本)。但请注意&…

各中间件性能、优缺点对比

参考资料: Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?

十三、类的继承、访问级别

类的继承与访问控制 类的继承 使用sealed修饰的类,是私有类,不能作为基类使用C#中一个类,只能有一个父类,但是可以实现多个接口子类的访问级别不能超过父类的访问级别 using System; using System.Collections.Generic; using S…

Mysql实战(1)之环境安装

1,进入:MySQL :: MySQL Downloads 2, 3, 4,