【基础计算机网络1】认识计算机网络体系结构,了解计算机网络的大致模型(下)

前言

       在上一篇我们主要介绍了有关计算机网络概述的内容,下面这一篇我们将来介绍有关计算机网络体系结构与参考模型的内容。这一篇博客紧紧联系上一篇博客。

       这一篇博客主要内容是:计算机网络体系结构与参考模型,主要是计算机网络分层结构协议接口服务的概念ISO/OSI参考模型和TCP/IP模型


【考纲内容】

计算机网络体系结构与参考模型

  1. 计算机网络分层结构;计算机网络协议、接口、服务的概念
  2. ISO/OSI参考模型和TCP/IP模型

【特别注意】 

       本章主要介绍计算机网络体系结构的基本概念,读者可以在理解的基础上适当地记忆。重点掌握网络的分层结构(包括5层和7层结构),尤其是ISO/OSI参考模型各层的功能及相关协议、接口和服务等概念。掌握有关网络的各项性能指标。特别是时延带宽速率吞吐量等的计算。

 一、计算机网络分层结构

1.1 体系结构

       先来认识一下体系结构:计算机网络中的层次、各层的协议层间接口的集合层次结构以垂直分层模型来表示。除了在物理媒体上进行的是实通信之外,其余各对等实体间进行的都是虚通信对等层的虚通信必须遵循该层的协议

什么是实通信、什么又是虚通信呢?

  •        举个生动的例子,我要送一支笔送给某个人,当某个人拿到笔的时候,这样就是虚通信,因为不是我拿着笔送给某个人,而是通过快递的方式进行的。
  •        我将笔给快递员,快递员给分拣员,然后再通过高铁或飞机送到某个人的地方去,这就是实通信。

1.2 分层的意义和基本原则(但目前位置未涉及题目)

1.2.1 分层的意义

       两个系统中实体间的通信是一个很复杂的过程为了降低协议设计和调试过程的复杂性,也为了便于对网络进行研究实现和维护促进标准化工作,通常对计算机网络的体系结构进行分层的方式进行建模。

1.2.2 层次结构划分的原则

  1. 每层的功能应是明确的,并且是相互独立的。当某一层的具体实现方法更新时,只要保持上、下层的接口不变,便不会对邻居产生影响,可以采用最合适的技术来实现;
  2. 层间接口必须清晰,跨域接口的信息量应尽可能少;
  3. 层数应该适中。若层数太少,则造成每一层法协议太复杂;若层数太多,则体系结构过于复杂,使描述和实现各层功能变得困难;
  4. 各层之间界面自然清晰,易于理解,相互交流尽可能少;
  5. 保持下层对上层的独立性,上层单向使用下层提供的服务;
  6. 整个分层结构应能促进标准化工作

1.3 体系结构的特点

  1. 功能作为划分层次的基础;
  2. 第n层实体在实现自身定义的功能时,只能使用第n-1层提供的服务
  3. 第n层在向第n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能
  4. 仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽

1.4 概念理解

  1. 网络协议是按层次结构来组织的;
  2. 网络层次结构模型与各层协议的集合称为网络体系结构;
  3. 网络体系结构对计算机网络应该实现的功能进行了精确的定义
  4. 体系结构是抽象的,而实现是指能够运行的一些硬件和软件。

二、计算机网络协议、接口、服务的概念

2.1 协议

协议的概念:

  • 网络协议是为网络数据交换而制定的规则、约定与标准(就像是,快递公司发快递要在快递上面贴快递单号的作用一样,协议其实就是一种语言。)

协议的三要素:语义语法同步(时序)

  • 语义:用于解释比特流每一部分的意义
  • 语法:语法是用户数据域控制信息的结构与格式,以及数据出现的顺序的意义(相当于快递单上写有姓名,地址,联系方式固定的位置以及顺序。)
  • 同步(时序):事件实现顺序的详细说明

下面就来看一道关于时序的考试题目:

实体的概念:

  • 表示任何可发送或接收信息的硬件或软件进程

协议的功能:

  1. 协议是控制两个对等实体进行通信的规则的集合
  2. 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
  3. 要实现本层协议还需要使用下层所提供的服务

2.2 服务

服务的概念:

  • 为保证上层对等体之间能相互通信,下层向上层提供的功能。(记住是单向的

2.3 接口(服务访问点)

接口的概念:

  • 接口是同一结点内相邻层之间交换信息的连接点。 

接口的功能:

  • 同一结点的相邻层之间存在着明确规定的接口,底层向高层通过接口提供服务
  • 只要接口条件不变,低层功能不变,低层功能的具体实现方法与技术的变化不会影响整个系统的工作。

服务访问点的概念:

  • 同一系统相邻两层的实体进行交互的地方,称为服务访问点SAP。服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口

服务数据单元SDU的概念:

  • 层与层之间交换的数据的单位。

协议数据单元PDU的概念:

  • 对等层次之间传送的数据单位称为该层的协议数据单元PDU。
  • SDU可以与PDU不一样,例如,可以是多个SDU合成一个PDU,也可以是一个SDU划分为几个PDU.

2.4 协议与服务的概念是不一样的

  1. 协议的实现保证了能够向上一层提供服务。
  2. 本层的服务用户只能看见服务而无法看见下面的协议。
  3. 协议是“水平的”,即协议是控制对等实体之间通信的规则。
  4. 服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
  5. 上层使用服务原语获得下层所提供的服务。

服务原语是什么?

服务原语的概念:

  • 上层使用下层所提供的服务时必须与下层交换一些命令,这些命令在OSI参考模型中称为服务原语。

OSI参考模型将原语划分为4类:

  1. 请求。由服务用户发往服务提供者,请求完成某项工作
  2. 指示。由服务提供者发往服务用户,指示用户做某件事情
  3. 响应。由服务用户发往服务提供者,作为对指示的响应
  4. 证实。由服务提供者发往服务用户,作为对请求的证实

可能上面的解释会有一些懵,下面我们来用图形解释一下

三、ISO/OSI参考模型(七层)

       OSI的体系结构定义了一个七层模型,用以进行进程之间的通信,并作为一个框架来协调各层标准的制定;OSI的服务定义描述了各层所提供的服务,以及层与层之间的抽象接口和交互用的服务原语。下面我们来认识一下各层之间的功能:

3.1 物理层的主要功能

  1. 利用传输介质为通信的网络结点之间建立、管理和释放物理连接
  2. 实现比特流的透明传输,为数据链路层提供数据传输服务;
  3. 物理层的数据传输单元是比特

3.2 数据链路层的主要功能

  1. 在物理层提供的服务基础上,数据链路层在通信的实体之间建立数据链路的连接;
  2. 传输以“帧”为单位的数据包;
  3. 采用差错控制流量控制方法,使有差错的物理线路变成无差错的数据链路。

3.3 网络层的主要功能

  1. 通过路由选择算法(控制平面)为分组通过通信子网选择做适当的路径;
  2. 为数据在结点之间传输(转发,数据平面)创建逻辑链路;
  3. 实现拥塞控制网络互连等功能。

3.4 传输层的主要功能

  1. 向用户提供可靠的端到端服务
  2. 处理数据包错误、数据包次序,以及其他一些关键传输问题
  3. 传输层向高层屏蔽了下层数据通信的细节,是计算机通信体系结构中关键的一层。

3.5 会话层的主要功能

  1. 负责两个结点之间的传输链接,以便确保点到点传输不中断
  2. 管理数据交换。

 3.6 表示层的主要功能

  1. 用于处理在两个通信系统中交换信息的表示方式;
  2. 数据格式交换;
  3. 数据加密解密
  4. 数据压缩与恢复。

3.7 应用层的主要功能

  1. 应用程序提供了网络服务;
  2. 应用层需要识别并保证通信对方的可用性,使得协同工作的应用程序之间的同步;
  3. 建立传输错误纠正与保证数据完整性的控制机制。

四、TCP/IP参考模型(4层)

4.1 TCP/IP参考模型的发展

  • 目前使用的版本4,它的网络层协议一般记为IPv4;
  • 版本6的网络层IP协议一般记为IPv6(或IPng、IP next generation);
  • IPv6被称为下一代的IP协议

4.2 TCP/IP协议的特点

  1. 开放的协议标准;
  2. 独立于特定的计算机硬件与操作系统;
  3. 独立于特定的网络硬件,可以运行在局域网、广域网,更适用于互联网上;
  4. 统一的网络地址分配方案,使得整个TCP/IP设备在网上都具有唯一的地址
  5. 标准化的高层协议,可以提供多种可靠的用户服务。

4.3 网络接口层

  1. 参考模型的最低层,负责通过网络发送和接收IP数据报;
  2. 允许主机连入网络时使用多种现成的与流行的协议;
  3. 充分体现出TCP/IP协议的兼容性与适应性,它也为TCP/IP的成功奠定了基础。

4.4 网际层

  1. 相当于OSI参考模型网络层无连接网络服务
  2. 处理互联的路由选择流控拥塞问题;
  3. IP协议是无连接的、提供“尽力而为”服务的网络层协议

4.5 传输层

  1. 在互联网中源主机与目的主机的对等实体间建立用于会话的端到端连接;
  2. 传输控制协议TCP是一种可靠的面向连接协议;
  3. 用户数据报协议UDP是一种不可靠的无连接协议。

4.6 应用层

应用层协议主要有:

  • 文件传输协议   FTP
  • 简单邮件传输协议    SMTP
  • 域名系统    DNS
  • 超文本传输协议    HTTP
  • 地址动态获取协议    DHCP

五、五层结构

六、OSI参考模型与TCP/IP参考模型的比较

对OSI参考模型的评价:

  1. 层次数量与内容选择不是很好会话层很少用到,表示层几乎是空的,数据链路层与网络层有很多的子层插入;
  2. 寻址、流控与差错控制在每一层里都重复出现,降低系统效率;
  3. 数据安全性、加密与网络管理在参考模型的设计初期被忽略了;
  4. 参考模型的设计更多是被通信的思想所支配,不适合与计算机与软件的工作方式;
  5. 严格按照层次模型编程的软件效率很低

对TCP/IP参考模型评价:

  1. 在服务、接口与协议的区别上不很清楚,一个好的软件工程应该将功能与实现方法区分开,参考模型不适合与其他非TCP/IP协议族;
  2. TCP/IP参考模型的主机——网络层本身并不是实际的一层;
  3. 物理层与数据链路层的划分是必要和合理的,而TCP/IP参考模型没有做到这一点。

总结

       这篇文章主要讲述了计算机网络的概述,认识了计算机网络的分层结构,计算机网络的协议、接口、服务的内容,以及两个重要模型:OSI/ISO模型和TCP/IP模型,感谢大佬们的点赞和关注,我会更加努力地简化我的笔记。

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

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

相关文章

Swift如何使用Vision来识别获取图片中的文字(OCR),通过SwiftUI视图和终端命令行,以及一系列注意事项

在过去的一年里,我发现苹果系统中的“文字搜图片”功能非常好用,这个功能不光 iPhone/iPad,Mac 也有,找一些图片真的很好用。但是遇到了一个问题:这个功能需要一段时间才能找到新的图片,而且没法手动刷新&a…

STM32-HAL库07-软件SPI驱动0.96寸OLED

STM32-HAL库07-软件SPI驱动0.96寸OLED 一、所用材料: STM32VGT6自制控制板 STM32CUBEMX(HAL库软件) MDK5 二、所学内容: 通过HAL库配置四个GPIO输出口,对其进行软件模拟SPI发送规则,进而驱动OLED进行数…

火山引擎边缘云助力智能科技赋予生活更多新意

当下,先进的科学技术使得我们的日常生活变得快捷、舒适。大到上百层智能大厦、高端公共场所、社会智能基础设施,小到智能家居监控、指纹密码锁等,在这个充满想象力的时代,科技以更加智能化的方式改变和守护我们的生活。 引入智能…

IO和进程day05(进程与线程)

今日任务 1.代码 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <sys/wait.h> #include <pthread.h>…

基于springboot2+mybatis-plus+jsp增删改查

概述 编写简单增删改查&#xff0c;理解之后可以自己试着扩展&#xff0c;相信你也可以&#xff0c;加油&#xff0c;我自己懂了的用注释记在下面方便理解 详细 一、需求&#xff08;要做什么&#xff09; 基于现今最流行的技术实现增删改查demo&#xff0c; 便于初学者上手…

2020年12月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程&#xff08;1~8级&#xff09;全部真题・点这里 第1题&#xff1a;字符三角形 描述 给定一个字符&#xff0c;用它构造一个底边长5个字符&#xff0c;高3个字符的等腰字符三角形。 输入 输入只有一行&#xff0c; 包含一个字符。 输出 该字符构成的等腰三角形&#xff…

nuxt3项目使用pdfjs-dist预览pdf

使用的包的源代码是 pdfjs - npm 但是我们实际上项目中使用的是pdfjs打包后的dist文件&#xff0c;也就是pdfjs-dist - npm 所以我们需要使用这个命令 npm i pdfjs-dist 我们可以克隆pdfjs这个包来看源代码&#xff0c;里面有使用的例子&#xff0c;也可以根据源代码自己打…

ClickHouse进阶(十三):Clickhouse数据字典-3-文件数据源及Mysql数据源

进入正文前&#xff0c;感谢宝子们订阅专题、点赞、评论、收藏&#xff01;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; &#x1f3e1;个人主页&#xff1a;含各种IT体系技术,IT贫道_大数据OLAP体系技术栈,Apache Doris,Kerberos安全认证-CSDN博客 &#x1f4cc;订阅…

鸿蒙应用程序入口UIAbility详解

一、UIAbility概述 UIAbility是一种包含用户界面的应用组件&#xff0c;主要用于和用户进行交互。UIAbility也是系统调度的单元&#xff0c;为应用提供窗口在其中绘制界面。每一个UIAbility实例&#xff0c;都对应于一个最近任务列表中的任务。一个应用可以有一个UIAbility&am…

LVS + Keepalived群集

文章目录 1. Keepalived工具概述1.1 什么是Keepalived1.2 工作原理1.3 Keepailved实现原理1.4 Keepalived体系主要模块及其作用1.5 keepalived的抢占与非抢占模式 2. 脑裂现象 &#xff08;拓展&#xff09;2.1 什么是脑裂2.2 脑裂的产生原因2.3 如何解决脑裂2.4 如何预防脑裂 …

介绍PHP

PHP是一种流行的服务器端编程语言&#xff0c;用于开发Web应用程序。它是一种开源的编程语言&#xff0c;具有易学易用的语法和强大的功能。PHP支持在服务器上运行的动态网页和Web应用程序的快速开发。 PHP可以与HTML标记语言结合使用&#xff0c;从而能够生成动态的Web页面&a…

关于前端就业前景的一点看法

一、前言 最近&#xff0c;很多人在知乎上鼓吹前端未来会没掉的概念。在此我想说这个说法并不真实&#xff0c;而是一种极端的观点。 事实上&#xff0c;前端开发在当今的互联网行业中扮演着至关重要的角色&#xff0c;它是构建 Web 应用程序所必需的一部分&#xff0c;能够实现…

小白学go基础04-命名惯例对标识符进行命名

计算机科学中只有两件难事&#xff1a;缓存失效和命名。 命名是编程语言的要求&#xff0c;但是好的命名却是为了提高程序的可读性和可维护性。好的命名是什么样子的呢&#xff1f;Go语言的贡献者和布道师Dave Cheney给出了一个说法&#xff1a;“一个好笑话&#xff0c;如果你…

TSINGSEE青犀AI视频分析/边缘计算/AI算法·人脸识别功能——多场景高效运用

旭帆科技AI智能分析网关可提供海量算法供应&#xff0c;涵盖目标监测、分析、抓拍、动作分析、AI识别等&#xff0c;可应用于各行各业的视觉场景中。同时针对小众化场景可快速定制AI算法&#xff0c;主动适配大厂近百款芯片&#xff0c;打通云/边/端灵活部署&#xff0c;算法一…

前端中的事件委托

前端小知识 事 件 委 托 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/132819265 【介绍】&#xff1…

VM安装RedHat7虚机ens33网络不显示IP问题解决

1、今天在VMware中安装RedHat7.4虚拟机&#xff0c;网络连接使用的是 NAT 连接方式&#xff0c;刚开始安装成功之后输入ifconfig 还能看到ens33自动分配的IP地址&#xff0c;但是当虚机关机重启后&#xff0c;再查看IP发现原来的ens33网络已经没有了&#xff0c;只变成了这两个…

Mybatis -- 读取 DATE 类型字段时可能遇到的问题(夏令时问题)

在使用 MYBATIS 读取数据库字段的时候&#xff0c;我们一般需要为查询字段指定数据类型。特别是当我们使用 mybatis generator 去生成对应的接口代码时&#xff0c;会自动按照数据库字段类型生成响应映射规则的代码。   如下&#xff0c;左侧是 date 类型生成的字段映射规则&…

MySQL数据库——存储引擎(2)-存储引擎特点(InnoDB、MyISAM、Memory)、存储引擎选择

目录 存储引擎特点 InnoDB 介绍 特点 文件 逻辑存储结构 MyISAM 介绍 特点 文件 Memory 介绍 特点 文件 区别及特点 存储引擎选择 存储引擎特点 上面我们介绍了什么是存储引擎&#xff0c;以及如何在建表时如何指定存储引擎&#xff0c;接下来我们就来介绍比较…

JS中 bind()的用法,call(),apply(),bind()异同点及使用,如何手写一个bind()

✨什么是bind() bind()的MDN地址 bind() 方法创建一个新函数&#xff0c;当调用该新函数时&#xff0c;它会调用原始函数并将其 this 关键字设置为给定的值&#xff0c;同时&#xff0c;还可以传入一系列指定的参数&#xff0c;这些参数会插入到调用新函数时传入的参数的前面。…

Map集合

Map中常见的API Map<键值对类型&#xff0c; 键值对对象类型> put&#xff08;K key , V value&#xff09;【可以有返回值】 添加/覆盖元素 在添加数据的时候&#xff0c;如果键不存在&#xff0c;那么直接将键对对象添加到map集合当中 在添加数据的时候&#xff0c…