第07-1章 计算机网络相关概念

news2024/11/27 19:48:28

7.1 本章目标

  • 了解网络协议的概念
  • 了解网络体系结构
  • 熟悉ISO/OSI参考模型以及每一层的功能
  • 掌握TCP/IP模型各层的主要协议及其功能
  • 熟练掌握IP地址、子网规划等相关内容

7.2 网络协议的概念

7.2.1 概念介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(1)网络协议:计算机网络和分布系统中相互通信的对等实体之间交换信息时必须遵守的规则的集合。(这个概念更好)
(2)网络体系结构:指通信系统的整体设计方法,是计算机之间相互通信的层次、以及各层中的协议和层次之间接口的集合,它为网络硬件、软件、协议、存取控制和网络拓扑提供标准。
(3)SNA:IBM公司独立开发的适合于自己公司的网络体系结构,System Network Architecture
(4)DNA:DEC公司独立开发的适合于自己公司的网络体系结构,Data Network Architecture
(5)OSI/RM:由ISO(国际标准化组织)统一规定的互联网参考模型, Open System Interconnection Reference Model (开放系统互连参考模型)
(6)注:看一个计算机网络协议是否正确,不能只看在正常情况下是否正确,而且还必须非常仔细地检查这个协议能否应付各种异常情况。
(7)个人理解:日常生活中各行各业都有自己的体系结构,例如公司有自己的体系结构:有董事长、副董事长、总经理等,军队也有自己的体系结构:军长、师长、团长、营长等;。而在网络的世界中也有自己的体系结构:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。每层有每层的任务,下层为上层提供服务(将网络的体系结构和日常生活中的体系结构联系起来,更好理解)。网络协议:对等实体之间交换信息时必须遵守的规则的集合。例如军长与军长之间交流时,有必须遵守的规则,同理应用层与应用层通信时,也有必须遵守的规则。

7.2.2 网络协议著名例子

        计算机网络的协议还有一个很重要的特点,就是协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。例如,两个朋友在电话中约会好,下午3时在某公园门口碰头,并且约定“不见不散”。’这就是一个很不科学的协议,因为任何一方临时有急事来不了而又无法通知对方时(如对方的电话或手机都无法接通),则另一方按照协议就必须永远等待下去。因此,看一个计算机网络协议是否正确,不能只看在正常情况下是否正确,而且还必须非常仔细地检查这个协议能否应付各种异常情况。
        下面是一个有关网络协议的非常著名的例子。
        【例】占据东、西两个山顶的蓝军1和蓝军2与驻扎在山谷的白军作战。其力量对比是:单独的蓝军1或蓝军2打不过白军,但蓝军1和蓝军2协同作战则可战胜白军。现蓝军1拟于次日正午向白军发起攻击。于是用计算机发送电文给蓝军2。但通信线路很不好,电文出错或丢失的可能性较大(没有电话可使用)。因此要求收到电文的友军必须送回一个确认电文。但此确认电文也可能出错或丢失。试问能否设计出一种协议使得蓝军1和蓝军2能够实现协同作战因而一定(即100%而不是99.999…%)取得胜利?
        【解】:
        蓝军1先发送:“拟于明日正午向白军发起攻击。请协同作战和确认。”
        假定蓝军2收到电文后发回了确认。
        然而现在蓝军1和蓝军2都不敢下决心进攻。因为,蓝军2不知道此确认电文对方是否正确地收到了。如未正确收到,则蓝军1必定不敢冒然进攻。在此情况下,自己单方面发起进攻就肯定要失败。因此,必须等待蓝军1发送“对迫丛的确认”。
        假定蓝军2收到了蓝军1发来的确认。但蓝军1同样关心自己发出的确认是否己被对方正确地收到。因此还要等待蓝军2的“对亚丛鲍亚丛的确认”。
        这样无限循环下去,蓝军1和蓝军2都始终无法确定自己最后发出的电文对方是否已经收到。因此,在本例题给出的条件下,没有一种协议可以使蓝军1和蓝军2能够100%地确保胜利。这个例子告诉我们,看似非常简单的协议,设计起来要考虑的问题还是比较多的。

在这里插入图片描述

7.3 ISO/OSI七层参考模型的理解

7.3.1 简介

  • Open System Interconnection,简称ISO/OSI RM
  • 是一个逻辑结构,并非一个具体的计算机设备或网络
  • 任何两个遵守协议的标准的系统都可以互连通信
  • 描述的是通信软件的结构
  • ISO(国际标准化组织)
    - ISO是一个代表了130个国家的标准组织的集体,它的总部设在瑞士的日内瓦。ISO的目标是制定国际技术标准以促进全球信息交换和无障碍贸易。
    - ISO的权威性不仅限于信息处理和通信工业,它还适用于纺织品业、包装业、货物分发、能源生产和利用、造船业,以及银行业务和金融服务。事实上,在ISO的大约12,000个标准中,仅有大约500个应用于计算机相关的产品和功能中。国际电子与电气工程标准是由一个相似的国际标准组织IEC(国际电子技术协会)单独制定的。ISO所有的信息技术标准设计与IEC相一致。
  • 只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。
  • 在市场化方面OSI却失败了
    - OSI的专家们在完成OSI标准时没有商业驱动力
    - OSI的协议实现起来过分复杂,且运行效率很低
    - OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场
    - OSI的层次划分并也不太合理,有些功能在多个层次中重复出现

7.3.2 分层的概念

  • 计算机网络系统是一个十分复杂的系统。将一个复杂系统分解为若干个容易处理的子系统,然后“分而治之”,这种结构化设计方法是工程中常见的手段

在这里插入图片描述
在这里插入图片描述

7.3.3 相邻两层之间的关系

        相邻两层之间的关系:在服务提供者的上层实体又称为服务用户,因为它使用下层服务提供者所提供的服务。
在这里插入图片描述

  • 实体
    - 当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词。
    - 实体表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。

  • 协议
    - 协议是控制两个对等实体(或多个实体)进行通信的规则的集合。
    - 协议的语法方面规则定义了所交换的信息的格式。
    - 协议的语义方面规则定义了发送者或接收者所要完成的操作,例如,在何种条件下数据必须重传或丢弃。
    - 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
    - 协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务而无法看见下面的协议。下面的协议对上面的实体是透明的。
    - 协议是水平的,即协议是控制对等实体之间通信的规则。

  • 服务
    - 服务是垂直的,即服务是由下层向上层通过层间接口提供的。
    - 并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才能称为服务。
    - 上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语。

  • 服务访问点
    - 在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP(Service Access Point)。
    - 服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口,有点像邮政信箱(可以把邮件放入信箱和从信箱中取走邮件),但这种层间接口和两个设备之间的硬件接口(并行的或串行的)并不一样。
    - OSI把层与层之间交换的数据的单位称为服务数据单元SDU(Service Data Unit),它可以与PDU不一样,例如,可以是多个SDU合成为一个PDU,也可以是一个SDU划分为几个PDU。

  • 服务原语
    - 用户和协议实体间的接口,实际上是一段程序代码,但其具有不可分割性。通过服务原语能实现服务用户和服务提供者间的交流,与协议不同的是,服务原语用于服务提供者与服务用户,而协议是用于服务用户之间的通信。
    - 在同一开放系统中,(N+1)层实体向N层实体请求服务时,服务用户和服务提供者之间要进行交互,交互信息称为服务原语。服务原语由服务动作和原语类型两部分组成。
    - 四种基本原语:(1)请求(Request) 用户实体要求服务做某项工作 源(N+1)层实体—>源(N)实体;(2)指示(Indication) 用户实体被告知某事件发生目的(N)实体—>目的(N+1)层实体;(3)响应(Response) 用户实体表示对某事件的响应目的(N+1)层实体—>目的(N)实体;(4)确认(Confirm) 用户实体收到关于它的请求的答复源(N)实体—>源(N+1)层实体。

7.4 OSI七层模型功能详解

在这里插入图片描述

  • 应用层、表示层、会话层——资源子网,三层偏软件;传输层——承上启下;网络层、数据链路层、物理层——通信子网,三层偏硬件
  • 应用层主要功能:应用程序、应用协议,提供应用程序运行环境,负责管理和执行应用程序。应用程序的开发需要遵循应用协议。
  • 表示层主要功能:为数据在传输之前对加密、解密、压缩、解压缩及终端数据格式转换提供一套规则和约定。
  • 会话层主要功能:对对话的双方进行资格审查和验证的规则以及在数据流中插入“同步点”。
  • 传输层主要功能:负责端-端(进程间)完整报文传输;分段与重组;SAP寻址(确保将完整报文提交给正确进程,如端口号);连接管理(TCP的三段式握手);流量控制;差错控制。
  • 网络层主要功能:负责源主机到目的主机数据分组交付;逻辑寻址(全局唯一逻辑地址,确保数据分组被送达目的主机,如ip地址);路由与分组转发。
  • 数据链路层主要功能:负责结点-结点数据传输;组帧(如何将数据组装成帧,帧是本层的传输单位);差错控制(检测并重传损坏或丢失帧,并避免重复帧);流量控制(避免淹没接受端,控制数据率);物理寻址(在帧头中增加发送端和/或接收端的物理地址标识数据帧的发送端和/或接收端);访问(接入)控制(在任意时刻决定哪个设备拥有链路(物理介质)控制使用权)。
  • 物理层主要功能:物理层包括设备之间物理连接的接口和用户设备与网络终端设备之间的传输规则;数据率;比特同步(时钟同步);传输模式(单工,半双工,全双工);比特编码。
    - 机械特性:规定了物理连接时对插头和插座的几何尺寸、插针或插孔芯数及排列方式。
    - 电气特性:规定了信号状态的电压、电流的识别,最大传输速率等。
    - 功能特性:规定了接口信号的来源、作用及其他信号之间的关系。
    - 过程特性:规定了使用交换电路进行数据交换的控制步骤,这些控制步骤应用便于比特流传输得以顺利完成。

7.5 OSI七层模型工作过程详解

在这里插入图片描述

7.5.1 应用层

在这里插入图片描述
在这里插入图片描述

7.5.2 表示层

在这里插入图片描述
在这里插入图片描述

7.5.3 会话层

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.5.4 传输层

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.5.5 网络层

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.5.6 数据链路层

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

7.5.7 物理层

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.5.8 总结

在这里插入图片描述

7.6 OSI七层模型的使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

AndroidAutomotive模块介绍(三)CarService服务

前言 上一篇文档总结 Android Automotive 框架的 APP 和 API 部分内容,本篇文档将会继续根据 Android Automotive 框架结构,总结 Framework 层 CarService 服务的内容。 本文档对 Android Automotive Framework 层服务将会按照如下顺序展开描述&#x…

4. Django 探究FBV视图

4. 探究FBV视图 视图(Views)是Django的MTV架构模式的V部分, 主要负责处理用户请求和生成相应的响应内容, 然后在页面或其他类型文档中显示. 也可以理解为视图是MVC架构里面的C部分(控制器), 主要处理功能和业务上的逻辑. 我们习惯使用视图函数处理HTTP请求, 即在视图里定义def…

一、flask入门和视图

run启动参数 模板渲染 后端给前端页面传参 前端页面设置css from flask import Flask, render_template,jsonify# 创建flask对象 app Flask(__name__)# 视图函数 路由route app.route("/") def hello_world():# 响应,返回给前端的数据return "h…

将数学表达式对分子分母先因式分解再约分化简simplify()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将数学表达式 对分子分母 先因式分解 再约分化简 simplify() [太阳]选择题 请问以下输出结果正确的是: from sympy import simplify from sympy.abc import x, y A (x**2 2*x 1)…

第07-2章 TCP/IP模型

7.7 TCP/IP模型详解 7.7.1 简介 应用层的PDU>APDU(Application PDU) 表示层的PDU>PPDU(Presentation PDU) 会话层的PDU>SPDU(Session PDU) 7.7.2 TCP/IP协议体系 (1)TCP…

【尝试】域名验证:配置github二级目录下的txt文件

【尝试】域名验证:配置github二级目录下的txt文件 写在最前面一、初始化本地仓库二、设置远程仓库1. 远程仓库 URL 没有设置或设置错误添加远程仓库修改远程仓库 2. 访问权限问题3. 仓库不存在步骤 1: 在你的仓库中添加文件步骤 2: 确认GitHub Pages设置步骤 3: 访问…

原型模式:复制对象的智能解决方案

在软件开发过程中,对象的创建可能是一个昂贵的操作,特别是当对象的初始化包括从数据库加载数据、进行IO操作或进行复杂计算时。原型模式是一种创建型设计模式,它通过复制现有的实例来创建新的对象实例,从而避免了类初始化时的高成…

高校实习管理系统的设计与实现(论文+源码)_kaic

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统高校实习管理系统信息管理难度大,容错率低&am…

llama-factory SFT系列教程 (三),chatglm3-6B 命名实体识别实战

背景 llama-factory SFT系列教程 (一),大模型 API 部署与使用llama-factory SFT系列教程 (二),大模型在自定义数据集 lora 训练与部署本文为llama-factory SFT系列教程 第三篇 简介 利用 llama-factory 框架,基于 chatglm3-6B 模型 做命名…

Linux内核之自旋锁:自旋锁初始化之spin_lock_init用法实例(四十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

23、链表-反转链表

思路: 第一种方式还是集合方式,用数组装一下,然后从未到头遍历组装就行 第二种方式: 首先构建一个prenull开始遍历 获取nexthead.nexthead.nextpre,将head节点的next指针指向pre,前驱节点pre来到head位置 prehead;…

MySQL索引、B+树相关知识汇总

MySQL索引、B树相关知识汇总 一、有一个查询需求,MySQL中有两个表,一个表1000W数据,另一个表只有几千数据,要做一个关联查询,如何优化?1、为关联字段建立索引二、小表驱动大表 二、b树和b树的区别1、更高的…

一起学习python——基础篇(17)

今天我说一下python中有关文件的操作。 1、检测一个目录里面有无这个文件夹、有无txt文件,代码如下: import os #文件的路径 testPath"D:/pythonFile" testPath2"D:/pythonFile/test.txt" #使用exists()方法检查是否存在文件…

【刷题】图论——最小生成树:Prim、Kruskal【模板】

假设有n个点m条边。 Prim适用于邻接矩阵存的稠密图,时间复杂度是 O ( n 2 ) O(n^2) O(n2),可用堆优化成 O ( n l o g n ) O(nlogn) O(nlogn)。 Kruskal适用于稀疏图,n个点m条边,时间复杂度是 m l o g ( m ) mlog(m) mlog(m)。 Pr…

要申请开通融资融券账户,有那些条件?

1、什么是融资融券交易? 融资融券交易,又称信用交易,是指投资者向具有融资融券业务资格的证券公司提供担 保物,借入资金买入交易所上市证券(融资交易)或借入交易所上市证券并卖出(融券交易) 的…

古月·ROS2入门21讲——学习笔记

第一讲:ROS/ROS2是什么 1. ROS的诞生 对于越来越复杂的智能机器人系统,已经不是一个人或者一个团队可以独立完成的,如何高效开发机器人,是技术层面上非常重要的一个问题,针对这个问题,一群斯坦福大学的有…

根据后端获取到的文档流,下载打开显示“无法打开文件”

原代码: download(item) {this.axios.get(api.download/item.name).then(res > {// console.log(res)let bob new Blob([res.data],{type: application/vnd.ms-excel})const link document.createElement(a);let url window.URL.createObjectURL(bob);link.d…

【JAVA基础篇教学】第四篇:Java条件语句

博主打算从0-1讲解下java基础教学,今天教学第四篇: Java条件语句。 在Java中,条件语句用于根据不同的条件执行不同的代码块。Java提供了if、else if和else等关键字来实现条件判断。 一、if语句 if语句用于执行一个代码块,如果给…

牛客周赛 Round 39(A,B,C,D,E,F,G)

比赛链接 官方题解(视频) B题是个贪心。CD用同余最短路,预处理的完全背包,多重背包都能做,比较典型。E是个诈骗,暴力就完事了。F是个线段树。G是个分类大讨论,出题人钦定的本年度最佳最粪 题目…

Unity之PUN实现多人联机射击游戏的优化(Section 3)

目录 💣一、准备工作 💣二、生成弹头脚本的编写 💣三、实现发射和伤害同步 手雷都加了在给狗剩加个火箭筒不过分吧。效果看GIF动图,分别是单机和联机的效果。 添加火箭筒依旧是在原有的基础上更改,我查看火箭筒模型…