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

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

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

相关文章

循序渐进丨MogDB 数据库带级联从库的集群切换后如何保持原有架构?

生产数据库运行过程中可能会涉及到升级或者打补丁,导致各节点的角色有计划的发生改变。如果集群内角色发生改变,是否还能保持原有架构继续对外提供服务呢?我们来做一下测试。 采用22模式模拟同城两机房部署4节点 MogDB 数据库集群&#xff0c…

gitlab、jenkins安装及使用文档二

安装 jenkins IP地址操作系统服务版本192.168.75.137Rocky9.2jenkins 2.450-1.1 jdk 11.0.22 git 2.39.3192.168.75.138Rocky9.2gitlab-ce 16.10.0 结合上文 jenkins安装 前期准备: yum install -y epel-release yum -y install net-tools vim lrzsz wget…

WSL访问adb usb device

1.Windows上用PowerShell运行: winget install --interactive --exact dorssel.usbipd-win 2.在WSLUbuntu上终端运行: sudo apt install linux-tools-generic hwdata sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-too…

Gitea是一个开源、轻量级的自托管Git解决方案

Gitea介绍 Gitea是一个由Go语言编写的、轻量级的、自托管的Git解决方案,类似于GitHub、GitLab等平台。它是用Go语言编写的开源软件,提供了Git版本控制系统的基本功能,包括代码托管、问题跟踪、代码审查、Wiki等。Gitea的设计目标是简单易用、…

酷开科技OTT大屏营销:开启新时代的营销革命

随着互联网技术的不断发展和普及,大屏已经成为越来越多家庭选择的娱乐方式。在这个背景下,酷开科技凭借其强大的技术实力和敏锐的市场洞察力,成功地将大屏转化为一种新的营销渠道,为品牌和企业带来了前所未有的商业机会。 酷开科技…

【数据结构与算法篇】双链表实现

【数据结构与算法篇】双链表实现(近300行实现代码) 🥕个人主页:开敲🍉 🔥所属专栏:数据结构与算法🍅 🌼文章目录🌼 1. List.h 头文件的声明 2. List.c 源文…

etcd相关知识整理归纳 —— 筑梦之路

什么是etcd? Etcd 是 CoreOS 团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,Etcd基于 Go 语言实现。 名字由来,它源于两个方面,unix的“/etc”文件…

软件概要设计说明书实际项目编制案例(直接套用)

1引言 1.1编写目的 1.2项目背景 1.3参考资料 2系统总体设计 2.1整体架构 2.2整体功能架构 2.3整体技术架构 2.4运行环境设计 2.5设计目标 3系统功能模块设计 3.1个人办公 3.2系统管理 4性能设计 4.1响应时间 4.2并发用户数 5接口设计 5.1接口设计原则 5.2接口…

【word2pdf】Springboot word转pdf(自学使用)

文章目录 概要整体介绍具体实现官网pom文件增加依赖 遇到的问题本地运行OK,发布到Linux报错还是本地OK,但是Linux能运行的,但是中文乱码 小结 概要 Springboot word 转 pdf 整体介绍 搜了一下,发现了能实现功能的方法有四种 U…

手写一个简单的 OrbitControls 轨道控制器

手写一个简单的 OrbitControls 轨道控制器 相信使用过THREE.JS的同学,都知道 OrbitControls 这个的轨道控制器,他是绕着一个观察点,来进行什么什么的… 反正就是那么个意思。 所以很明显OrbitControls的运动轨迹是一个球体,他是绕…

Unity面经(自整)——Unity基础知识

Unity基础知识 1. Image和RawImage的区别 Image比RawImage更耗性能。Image只能使用sprite属性的图片。而RawImage什么都可以使用 2. Unity3D中的碰撞器Collider和触发器Trigger的区别 碰撞器是触发器的载体,而触发器是碰撞器上的一个属性。 如果IsTrigger为fal…

TDengine taosAdapter启用HTTPS

HTTPS (Hypertext Transfer Protocol Secure ),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加…

算法打卡day45|动态规划篇13| Leetcode 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

算法题 Leetcode 300.最长递增子序列 题目链接:300.最长递增子序列 大佬视频讲解:300.最长递增子序列视频讲解 个人思路 没什么思路,菜就多练! 解法 动态规划 “子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而…

Razzashi Raptor

拉扎什迅猛龙 Razzashi Raptor 95000金(游戏币)比老虎便宜多了,捡漏啊 为啥我开团都不出,很生气,去打架!!

ArcGIS Desktop使用入门(三)图层右键工具——标注要素、将标注转换为注记

系列文章目录 ArcGIS Desktop使用入门(一)软件初认识 ArcGIS Desktop使用入门(二)常用工具条——标准工具 ArcGIS Desktop使用入门(二)常用工具条——编辑器 ArcGIS Desktop使用入门(二&#x…

【Godot4自学手册】第三十六节圆形移动或扇形移动的铁球

在第三十四节我实现了来回无限滚动的伤害铁刺球,这一节我准备实现一个圆形移动或扇形移动,并带有链条的铁球。效果如下: 一、实现原理 绕一点做圆周运动,简单的说就是: 每一帧根据旋转的角度计算出下一个位置的坐标…

Redis--16--Spring Data Redis

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Spring Data Redishttps://spring.io/projects/spring-data-redis 1.依赖2.RedisTemplate3.案例 序列化1.默认是 JdkSerializationRedisSerializer2.添加Redis配置文…

关于阿里云centos系统下宝塔面板部署django/中pip install mysqlclient失败问题的大总结/阿里云使用oss长期访问凭证

python版本3.12.0 项目的版本依赖 问题1 解决方案 sudo vim /etc/profile export MYSQLCLIENT_CFLAGS"-I/usr/include/mysql" export MYSQLCLIENT_LDFLAGS"-L/usr/lib64/mysql" Esc退出编辑模式 :wq退出并且保存 问题二 说是找不到 mysql.h头…

Html网页小游戏源代码

Html网页小游戏源代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Jello Jumping Game</title><meta name"viewport" content"widthdevice-width, initial-scale1"&…

[蓝桥杯] 岛屿个数(C语言)

提示&#xff1a; 橙色字体为需要注意部分&#xff0c;红色字体为难点部分&#xff0c;会在文章“重难点解答”部分精讲。 题目链接 蓝桥杯2023年第十四届省赛真题-岛屿个数 - C语言网 题目理解 这道题让我们求岛屿个数&#xff0c;那么我们就应该先弄懂&#xff0c;对于一…