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

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.mzph.cn/news/723613.shtml

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

相关文章

多线程系列(十五) -常用并发工具类详解

一、摘要 在前几篇文章中,我们讲到了线程、线程池、BlockingQueue 等核心组件,其实 JDK 给开发者还提供了比synchronized更加高级的线程同步组件,比如 CountDownLatch、CyclicBarrier、Semaphore、Exchanger 等并发工具类。 下面我们一起来…

OJ_空闲块

题干 C实现 /** 输入样例: 12 1024 2048 8192 512 16384 1024 32768 8192 65536 8192 77824 1024 80896 3072 86016 1024 91136 5120 99328 512 104448 1024 112640 3072 1024 2560 10240 512 1024 6400 512 -1 输出样例: 104448 1024 112640 3072 1024…

字节后端实习 一面凉经

心脏和字节永远都在跳动 深圳还有没有大厂招后端日常实习生啊,求捞~(boss小公司也不理我) 很纠结要不要干脆直接面暑期实习,又怕因为没有后端实习经历,面不到大厂实习。死锁了

SpringMVC-请求与响应(附Servlet相关接口替换方案)

1.请求 1.请求参数 SpringMVC将传递的参数封装到处理器方法的形参中&#xff0c;达到快速访问参数的目的 1.普通类型参数传参 page.jsp <% page contentType"text/html;charsetUTF-8" language"java" %> <html> <body> <h1>请…

从零学习Linux操作系统 第三十一部分 ansible常用模块介绍

一、ansible运行模块的两种方式 Ad-Hoc方式 ##利用ansible命令直接完成管理&#xff0c;主要用于临时命令使用场景 playbook方式 ##ansible脚本&#xff0c;主要用于大型项目场景&#xff0c;需要前期的规划&#xff0c;相当于shell当中的脚本 二、如何查看模块帮助 ansible…

基于Java springboot+VUE+redis实现的前后端分类版网上商城项目

基于Java springbootVUEredis实现的前后端分类版网上商城项目 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言…

DNS服务与管理

1. 规划节点 部署主从节点DNS服务的节点规划 IP主机名节点192.168.100.10master主DNS服务器192.168.100.20slave从DNS服务器 2. 基础准备 使用VMWare Workstation软件安装CentOS 7.2操作系统&#xff0c;镜像使用提供的 CentOS-7-x86_64-DVD-1511.iso&#xff0c;最小化Cen…

mysql从旧表 取出部分列并保存到新表几种方式介绍

在MySQL中&#xff0c;从旧表取出部分列并保存到新表有多种方式&#xff0c;主要包括以下几种&#xff1a; 1. 使用INSERT INTO ... SELECT语句&#xff1a; 这是最常用的方法。通过SELECT语句从旧表中选择需要的数据&#xff0c;然后使用INSERT INTO语句将数据…

shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)

CSDN 成就一亿技术人&#xff01; 作者主页&#xff1a;点击&#xff01; Shell编程专栏&#xff1a;点击&#xff01; CSDN 成就一亿技术人 前言———— shell脚本中的if-else功能对于shell程序员来说是一笔重要的财富。当您需要根据预定义条件执行一组语句时&#xff0c…

MySQL 缓存策略

MySQL 缓存方案用来干什么 ? 缓存用户定义的热点数据&#xff0c;用户直接从缓存中获取热点数据&#xff0c;降低数据的读写压力。场景分析 内存访问速度是磁盘访问速度的 10 万倍。读的需求远远大于写的需求MySQL 自身缓冲层跟业务无关。MySQL 作为项目主要数据库&#xff0…

Cookie 探秘:了解 Web 浏览器中的小甜饼

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

C++ 之LeetCode刷题记录(三十八)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅。 目标&#xff1a;执行用时击败90%以上使用 C 的用户。 18. 四数之和 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target…

CRM是什么?SaaS是什么?CRM和SaaS有什么关系?

CRM是什么&#xff1f;SaaS是什么&#xff1f;CRM和SaaS有什么关系&#xff1f; 接下来&#xff0c;我们就来好好唠唠CRM和SaaS。 下文提到的一款典型SaaS CRM模版先放在这儿了&#xff0c;有需要的可以自取——https://www.jiandaoyun.com 先来波名词解释吧 CRM是什么&#…

基于springboot的场地预约小程序的设计与实现(程序+数据库+文档)

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 目录 一、研…

《操作系统真相还原》读书笔记二:环境搭建 xshell连接virtualbox

修改 sshd_config 使用 vi /etc/ssh/sshd_config命令进入sshd服务配置&#xff0c;键盘输入i进行编辑&#xff0c;将监听端口、监听地址前的 # 号去除&#xff0c;开启允许远程登录&#xff0c;开启使用用户名密码来作为连接验证。修改完成&#xff0c;按一下Esc&#xff0c;输…

网络原理初识(1)

目录 一、网络发展史 1、独立模式 2、网络互联 3、局域网LAN 局域网组建的方式 1、基于网线直连 2、基于集线器组建 3、基于交换机组建 4、基于交换机和路由器组建 4、广域网WAN 二、网络通信基础 1、IP地址 2、端口号 3、认识协议 4、五元组 一、网络发展史 1、独立模式 …

Jmeter事务控制器聚合报告

Jmeter 事务控制器。 在Jmeter中&#xff0c;默认一个取样器就是一个事务事务控制器控制其子集取样器&#xff0c;合并为一个事务 添加&#xff1a;逻辑控制器/Logic Controller -> 事务控制器/Transaction Controller TPS: 服务器每秒处理的事务数在事务控制器下添加多个…

牛客网 华为机试 进制转换

本题是要将十六进制的字符串转换成十进制。看到题目第一眼就想到用map进行十六进制和十进制的映射。 然后我们需要注意&#xff0c;字符串前面会有0X&#xff0c;这只是一个标识十六进制的标识符&#xff0c;没有具体数字意义&#xff0c;我们在转换的时候&#xff0c;需要把它…

【视频转码】基于RK3588的视频转码探索

传统的视频转码服务基本都是基于X86下CPU、GPU转码&#xff0c;对硬件性能、功耗、成本来说都比较高。从技术角度来说现有视频转码技术有&#xff1a; 视频编码转变&#xff1a; 1. H.264 > H.265 保持视频分辨率、清晰度不变情况下&#xff0c;更改视频压缩方式&#xff0…

2024Java面试题知识点总结,一名毕业三年的女程序媛面试头条经验

程序员&#xff1a;给多少工资&#xff0c;干多少事 我们不是经常会看到一个关于西游记的“悖论”吗&#xff1a; 为什么孙悟空初期大闹天宫的时候那么厉害&#xff1f;因为他自己当老板&#xff0c;打一群天庭的打工仔。 为什么取经路上又变得不行了&#xff1f;作为一个打工…