计算机网络第一章——计算机系统结构(下)

news/2024/10/3 19:55:18

提示:总角之宴,言笑晏晏。信誓旦旦,不思其反。反是不思,亦已焉哉。

文章目录

  • 1.2.1 分层结构,协议,接口和服务
    • 为什么要有分层?
    • 怎么分层
    • 正式认识分层结构
    • 概念总结
  • 1.2.2 OSI 参考模型
    • ISO参考模型解释通信过程
  • 1.2.3 OSI参考模型(2)
  • 1.2.4 TCP/IP参考模型
    • OSI参考模型与TCP/IP参考模型相同点
    • OSI参考模型与TCP/IP参考模型的不同点
    • 五层参考模型
    • 总结


1.2.1 分层结构,协议,接口和服务

为什么要有分层?

问题很庞大,将大问题分成小问题,对应一个层次
请添加图片描述

怎么分层

实体指的是每层中的活动元素
只有对等的实体之间才有协议,不对等的实体之间是不存在协议的
上层要求服务,下层提供服务
请添加图片描述

正式认识分层结构

SDU服务数据单元:简单来说就是传输数据 部分中有含金量的部分
这个PCI我们可以简单的将其理解为控制信息,PCI 加上SDU就是PDU,这一层的PDU作为下一层的SDU
请添加图片描述

概念总结

请添加图片描述

1.2.2 OSI 参考模型

这个五层结构主要是为了我们学习网络结构更方便产生的
请添加图片描述
请添加图片描述
OSI 失败的原因:实现起来比较复杂,运行效率低,标准的制定周期太长了,层次划分不是很合理,有些功能在多个层次中重复的出现
请添加图片描述
上三层属于打包,写祝福语什么的,下面三层则是在路上运输

ISO参考模型解释通信过程

端系统都需要经过这样的7层的考验,中间的结点比如路由器可能只需要三层,交换机或者网桥可能只需要下面两层便可,中间系统最多到达网络层,对等实体之间需要协议,规定功能的一致性,物理层不会对数据链路层的数据进行再添加,只会形成bit流的方式在传输介质上进行传输
,你会发现上面四层中间系统是不会拆开的,就相当于是端对端直接进行数据交流,而下面三层只管下一步我要走到哪里,而不管最终的目的地,所以也就是点对点进行通信的
请添加图片描述
注意数据链路层不仅加了头部还加了尾部,因为这里数据链路层比其他层的名字多了两个字
请添加图片描述

1.2.3 OSI参考模型(2)

需要联网才能使用的程序属于应用层的程序,记事本就不属于应用层的程序
请添加图片描述
不同主机之间编码形式,为了使得不同主机之间可以进行数据交换,这一层也就需要有数据格式交换的功能,
请添加图片描述
会话层需要先建立一个连接,数据才能传过去,进而表示层才能进行数据的展示
请添加图片描述

传输层自下而上第一个面向端对端通信的一个层次,同时是上面的资源子网和通信子网的一个接口,端到端同时是指运行在两个主机不同进程之间的通信,每一个进程都会用一个进程来进行标识,也叫做端口号,所以叫做端对端通信,可靠传输首先发送一个文件,这个文件挺大的,像将其切成一个个的报文段,接收端对于收到的每一个报文段对会给发送端一个确认信息,表示我收到了,你可以发下一个了,若是长时间没有收到确认信息则会重新发送报文段,对于非常小的信息没有必要建立连接,再确认机制,采用的就是不可靠的方式,发送的报文段失序或者错误也是传输层需要解决的功能,流量控制则是解决让发送方与接收方速度匹配的问题,复用分用:不同的进程有不同的端口号,根据不同的报文段所携带的端口号找到对应的进程
请添加图片描述
若是数据包过长则进行切割成一个个小的分组再放在链路层上进行传递,端对端可能有多个方式也就有了路由选择,差错控制:两个结点之间有些特定的规则,比如奇偶校验码
请添加图片描述
在广播式只有一个处于发送信息 同一链路上其他的主机都是处于监听的状态,数据链路层控制主机对于共享信道的访问,这是由它的一个子层,介质访问子层来专门处理控制这个问题的
请添加图片描述

物理层不需要对数据进行改动 也不需要进行切割,定义接口的特性也就可以理解为定义插口的引脚,以及引脚如何连接,单工是只有一个发送消息一个接受,定义好的,不能改变发送接受方向,半双工则是同时间内也是只能一个发送一个接受,但是可以改变发送接受方向,双工就像是吵架,可以各说各的,不用让,比特同步是指,这边发送一个1 ,接收端就可以准确无误的接受一个1 ,保证比特的同步是需要一个时钟的,比特编码:比如差分曼特斯特编码,主要就是规定用什么样的电压表示1 什么样的电压表示零
请添加图片描述

1.2.4 TCP/IP参考模型

这里使用的TCP/IP参考模型的最后一层是将最后七层结构中的最后两层结合起来表示的是一个与物理网络的接口,但是没有具体描述这样有一个部分,只是说主机需要与网络连接才能在网络上传输某些ip分组,这里的网际层主要将数据报拆分成分组,然后发送任何的网络,然后进行路由选择,传输层实现的是端到端或者来说是进程之间的通信,应用层则是将之前的上三层的协议综合到一起来说了,
请添加图片描述

OSI参考模型与TCP/IP参考模型相同点

异步网络互联意思是实现不同厂家之间计算机的相互通信

请添加图片描述

OSI参考模型与TCP/IP参考模型的不同点

TCP IP 是先声明了协议,然后出现的参考模型
面向连接就是吃饭先会提前问你要不要吃一点,而无连接就是不问你吃不吃直接喂给你,网络层有一个重要的IP协议,IP协议它是强调面向无连接的,所以这两个网络层都是有无连接的,传输层是端到端,进程与进程之间进行通信,这个传输层是为了实现可靠传输而存在的,可靠传输也就需要建立连接,所以这两个模型在传输层都是有面向连接,TCPIP协议在网络层是格外看重IP协议,所以在网络层是无连接的,然后就是对角线是相同的,
请添加图片描述

五层参考模型

给数据加上头部信息,就成了报文,将报文在传输层再加上头部信息,也就成了一个个报文段,将报文段再加上头部信息,也就形成了一个个数据报,将数据报加上头部尾部,也就成了一个个的帧,将帧转换成bit流即可,

请添加图片描述
请添加图片描述

总结

需要知道这几种参考模型每一层的名称,以及每一层的功能,这三者的区别以及联系
请添加图片描述


https://dhexx.cn/news/show-4628065.html

相关文章

解决record on line 2: wrong number of fields

背景 基于"encoding/csv"库解析。 共解析多个文档,只有这一个解析有问题,所用代码一致,进行比较后 发现该文档和其它文档不同,其它文档是第一行就是列名,下面都是数据; 而这个文档前两行有数据且…

C#,码海拾贝(33)——约化“一般实矩阵”为“赫申伯格矩阵”的“初等相似变换法”之C#源代码,《C#数值计算算法编程》源代码升级改进版

using System; namespace Zhou.CSharp.Algorithm { /// <summary> /// 矩阵类 /// 作者&#xff1a;周长发 /// 改进&#xff1a;深度混淆 /// https://blog.csdn.net/beijinghorn /// </summary> public partial class Matrix {…

ASP.NET+SQL Sever2005 C语言教学网站及网上考试系统的设计与实现(论文+源代码+开题报告)

本文叙述了教学方式及考试方式的历史、现状、以及ASP.NET语言和SQL server2000数据库管理系统的概况。重点介绍了C语言教学网站、网上考试系统和在线交流模块的实现过程:包括系统分析、系统调查、数据流程分析、功能设计、数据库设计、系统的运行环境、系统测试及调试。本系统…

【owt】WebrtcNode, subscribe流程

subscribe流程 1. AmqpClient - New message received 2023-04-26T21:54:18.415 - DEBUG: AmqpClient - RpcServer New message received {method: subscribe,args: [b149e44bb10d4e91bd162a8c6806ae7b,webrtc,{transportId: b149e44bb10d4e91bd162a8c6806ae7b,tracks: [Arr…

前端045_单点登录SSO_实现流程

单点登录SSO_实现流程 1、背景2、基于同域下 Cookie 实现 SSO1、背景 在企业发展初期,企业使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,运营人员每天用自己的账号登录,很方便。 但随着企业的发展,用到的系统随之增多,运营人员在操作不同的系统时,需要…

Java对象的共享

要编写正确的并发程序&#xff0c;关键问题在于&#xff1a;在访问共享的可变状态时需要进行正确的管理。第2章介绍了如何通过同步来避免多个线程在同一时刻访问相同的数据&#xff0c;而本章将介绍如何共享和发布对象&#xff0c;从而使它们能够安全地由多个线程同时访问。这两…

【ARMv8 SIMD和浮点指令编程】NEON 减法指令——减法也好几种

向量减法包括常见的普通加指令&#xff0c;还包括长减、宽减、半减、饱和减、按对减、按对加并累加、选择高半部分结果加、全部元素加等。 1 SUB 减法&#xff08;向量&#xff09;&#xff0c;该指令从第一个源 SIMD&FP 寄存器中的相应向量元素中减去第二个源 SIMD&…

Jenkins概念及安装配置教程(四)

什么是Jenkins管道&#xff1f; Jenkins 中的管道是一组按特定顺序相互关联的作业&#xff08;或事件&#xff09;。Jenkins Pipeline 是一组或一套插件&#xff0c;为将持续交付管道实施和集成到 Jenkins 中提供支持。 Pipeline 还提供了一组工具&#xff0c;可用于通过“Pi…

Java 实现在顺序表指定位置插入一个元素

一、思路 1.定义一个pos变量来记录要插入的位置. 2.定义一个usedSize变量来记录元素个数. 3.定义一个data变量来记录要插入的元素值. 4.要保证pos位置合法&#xff0c;也就是不是负数&#xff0c;因为是要保证pos位置前是要有元素&#xff0c;因此也不能大于元素个数. 5.也需要…

你知道什么是C++的信号处理嘛?不妨来看看这篇

名字&#xff1a;阿玥的小东东 学习&#xff1a;python、C/C 博客主页&#xff1a; 阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 signal() 函数 raise() 函数 函数声明 调用函数 随堂笔记 信号是由操作系统传给进程的中断&a…