计算机网络 ---- OSI参考模型TCP/IP模型
目录
一、OSI参考模型
1.1 学习路线
1.2 OSI参考模型和TCP/IP模型
1.3 具体设备与具体层次对应关系
1.3.1 物理层
1.3.2 数据链路层
1.3.3 网络层
1.3.4 传输层
1.3.5 会话层、表示层、应用层
1.4 各层次数据传输单位
二、TCP/IP模型
2.1 学习路线
2.2 TCP/IP模型
2.3 OSI模型的应用层、表示层、会话层应如何改进?
2.3.1 TCP/IP的应用层
2.4 OSI模型的物理层、数据链路层如何改进?
2.4.1 TCP/IP模型的网络接口层
2.5 改进小结
2.6 TCP/IP模型的传输层和网络层
2.6.1 OSI模型传输层和网络层设计思想
2.6.2 TCP/IP模型传输层和网络层的设计思想
2.6.2.1 TCP/IP网络层
2.6.2.2 TCP/IP传输层
2.7 总结
一、OSI参考模型
1.1 学习路线

1.2 OSI参考模型和TCP/IP模型
OSI参考模型与TCP/IP模型如下图所示:
1.3 具体设备与具体层次对应关系
接下来我们需要了解常见的网络设备分别对应了哪些网络层次,如下图所示:

主机实现了七层所有的功能,集线器实现物理层所要实现的功能,交换机要实现物理层和数据链路层所要实现的功能,路由器实现了物理层、数据链路层、网络层的功能。
各个节点之间通过物理传输媒体(网线、光纤等)相连接,我们将物理传输媒体视为第0层。
接下来我们需要研究OSI参考模型中每一层的具体作用。
1.3.1 物理层
物理层任务:实现相邻节点之间比特(0或1)的传输
- 需定义电路接口参数(如:形状、尺寸、引脚数等)
- 需定义传输信号的含义、电气特征(如:5V表示1,1V表示0;每比特电信号持续时间0.1ms)
我们知道,两个节点之间需要通过物理传输媒体(网线、光纤等)进行连接,节点与节点连接好之后,它们之间要传输数据,首先要解决的第一个问题就是如何实现两个节点的bit传输?

那么为了实现bit传输,物理层需要定义电路接口的参数,比如说:
网线的接口长什么样子、什么形状、里面有几个针脚,这些接口的参数需要由物理层进行定义。

还需要定义传输信号的含义、电气特征,比如使用同轴电缆实现bit的传输,那物理层的协议中可以规定,即:如果收到5v的高电平信号,那么就表示的是二进制1,如果收到的是1v低电平信号,那么就表示二进制0。而在这个过程中,我们有时会要求每比特电信号持续的时间,比如说,5v电信号持续0.1ms则说明传送的bit为1,1v电信号持续0.1ms则说明传送的bit为0,如下图所示。
接下来思考这样一个问题,传输的电信号有可能受到外界噪声的干扰,最终导致电信号变形,比如说一个高电平信号因为受到环境噪音的干扰可能变成低电平信号,这样的话,本来两个节点之间要传输二进制1,但最终接收方会收到错误的二进制0。
因此以bit为单位的传输是有可能出错的,并且接收方无法发现这种错误,那怎么办呢?此时我们需要引入数据链路层来解决这个问题。
1.3.2 数据链路层
链路层任务:确保相邻节点之间的链路逻辑上无差错。
包含以下功能:
- 差错控制:检错+纠错;或检错+丢弃+重传
- 流量控制:协调两个节点的速率

链路层的实体之间以帧为单位进行数据传输,一个帧通常会包含多个bit,比如节点A要给节点B传送8bit的数据,那么数据链路层会在原始的8bit之外额外的再增加部分bit(比如说2bit)作为校验信息,数据链路层会将10bit统一地交给物理层进行传输,那么节点B这块儿就会收到10bit数据,然后将10bit数据交给数据链路层,节点B的数据链路层实体会根据这8+2bit的信息进行数据的检错,如果发现数据有什么问题,那么数据链路层可以对这一帧的数据进行纠错,当然也可以采用另一种更为简便的方法,就是直接将这一帧数据丢弃,然后让节点A重新传送这一帧数据。
那么如果没有检测到数据错误,数据链路层会将多余的2bit拆掉,然后将8bit数据交给网络层进行处理。
除了差错控制之外,OSI参考模型还要求数据链路层具有流量控制的功能,这个功能能够协调两个结点之间发送帧的速率。比如,结点A一秒发送10个帧,而结点B一秒最多只能处理5个帧,那么节点B的数据链路层就会通过流量控制的协议去要求节点A发送的慢一些,不要超过节点B处理的最大帧数。
现在,有了第0、1、2层,结点之间就可以无差错的传送数据了,然而在计算机网络当中,结点和结点之间可能并不会直接相连, 大多数情况下,我们需要经过多个路由器的转发,才能从源节点把数据传送到目的节点,为了实现数据的存储转发,我们就需要再增加一层,这层就是我们的网络层。请看1.3.3 小节。
1.3.3 网络层
网络层任务:把“分组”从源结点转发到目的结点。
包含以下功能:
- 路由选择:构造并维护路由表,决定分组到达目的节点的最佳路径
- 分组转发:将“分组”从合适的端口转发出去
- 拥塞控制:发现网络拥塞,并采取措施缓解拥塞
- 网际互联:实现异构网络互联(解释:我们知道,路由器可以将各个计算机网络相互连接起来,但每个网络的内部构造都是相异的,不一样的,并且每个网络所采用的局域网技术各不相同,有的采用以太网技术,有的又采用令牌环网技术,那无论这些网络的内部构造是怎么样的,经过路由器网络层的处理,就可以屏蔽网络内部的差异,从而实现异构网络的互连)
- 其他功能:差错控制、流量控制(以分组为单位进行差错控制和流量控制)、连接建立与释放(确保分组有序、不重复到达)、可靠传输管理(接收方需返回分组确认消息)

1.3.4 传输层
网络层实现了从主机到主机的这种数据分组的转发,但是每台主机上面会运行很多进程,数据从一个主机传给另一个主机之后,我们还要区分数据来自哪个进程,又想要发给哪个进程,因此,我们还需要在网络层之上添加一层,这就是我们的传输层。
传输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务【实现端到端通信,即实现进程到进程的通信,端指的是端口】。应用进程利用该服务传送应用层报文。所谓“通用的”,是指并不针对某个特定网络应用,而是多种应用可以使用同一个传输层服务。由于一台主机可同时运行多个进程,因此传输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面传输层的服务,分用和复用相反,是传输层把收到的信息分别交付上面应用层中的相应进程。
传输层包含以下功能:
- 复用和分用:发送端几个高层实体复用一条低层的连接,在接收端再进行分用。
- 其他功能:差错控制、流量控制(以报文段为单位)、连接建立与释放(确保报文段有序、不重复到达)、可靠传输管理(接收方需返回报文段确认消息)


传输层之间是以报文段为单位传输数据,一个报文段可能会被拆分为多个分组, 源节点的网络层会将这些分组发送给目的节点,最后再由目的节点的网络层把这些分组拼凑成完整的报文段,交付给目的节点的传输层。
1.3.5 会话层、表示层、应用层
会话层任务:管理进程间会话
主要功能:会话管理(采用检查点机制,当通信失效时从检查点继续恢复通信)
举例:比如说主机A要通过微信给主机B发送一个1GB的视频,那会话层会管理数据传输的过程,假设当发送到500MB时,网络中断,那么会话层会记录检查点,当两个进程恢复连接的时候,文件会从这个检查点开始继续往后传。
表示层任务:解决不同主机上信息表示不一致的问题
主要功能:数据格式转换(如编码转换、压缩/解压、加密/解密)
举例:两台主机的编码格式不一样,主机A的编码格式是GBK,而主机B的编码格式为UTF-8,那这就会导致同一个汉字在主机A和主机B上的二进制不一致,也就是信息表示的方式不一样。这就需要表示层来解决这个问题,因此,表示层最主要的功能就是数据格式转换。
应用层任务:实现特定的网络应用
功能繁多,根据应用需求设计
1.4 各层次数据传输单位
最顶层,应用层是以报文为单位进行数据传输, 比如,两个应用程序传输一个文件,一个文件就是一个报文。
表示层和会话层不会对报文进行拆分。
直到报文数据交给传输层之后,传输层会将报文数据拆分成多个报文段,以报文段为单位在传输层之间进行数据传输。
传输层会将报文段交给网络层进一步处理,网络层会将报文段继续拆分成多个分组,又名数据报,然后以分组为单位在网络层进行传输。
而数据链路层会将各个分组交给数据链路层,数据链路层会将各个分组继续拆分成多个数据帧,然后在数据链路层之间,以帧为单位在进行数据传输。
最后,数据链路层会将帧交给物理层,物理层之间是以bit为单位传输这些数据。

二、TCP/IP模型
2.1 学习路线

2.2 TCP/IP模型

2.3 OSI模型的应用层、表示层、会话层应如何改进?
我们知道,在计算机网络的分层结构当中,上面的层会使用到下面的层提供的服务,或者说会使用下一层已经实现的功能。那么在OSI参考模型中,应用层会使用表示层已经实现的功能,表示层也会使用会话层的功能。
我们思考这样一个问题,会话层所实现的功能(会话管理)和表示层所实现的功能(数据格式转换)对于每一个应用程序来说都是必要的吗?
显然不是。比如说主机A中的微信给主机B中的微信传送文件,假设主机A和主机B的数据编码格式一致,那数据格式转换的功能就没有必要存在了。
另一方面,如果传文件的过程中,网络出现了问题导致传文件中止,当网络重新恢复的时候,我们必须从断点处继续传吗?不一定,对吧。我们可以重新传整个文件呀!那这样的话会话管理这个功能是不是也就没必要存在了。
那这样的话,表示层和会话层这两层也没有必要一定存在,所以这就是TCP/IP模型和OSI模型在设计上的第一个不同。详细请参考2.3.1小节。
2.3.1 TCP/IP的应用层
由于表示层和会话层所提供的这些功能,并不是所有的应用程序都需要的,所以表示层和会话层这两层不需要存在。
如果说某些应用程序确实需要数据格式转换、会话管理的功能,那么我们可以让应用层的某些特定的协议去实现这些特殊的功能。
这就是TCP/IP模型在这块儿的设计理念,相比之下,OSI模型下,一个应用程序,不管你是否需要使用数据格式转换亦或者使用会话管理功能,它一定会经过表示层和会话层的处理,对于这两个层次的选择是不灵活的。
2.4 OSI模型的物理层、数据链路层如何改进?
接下来我们回顾OSI参考模型的第一层(物理层)和第二层(数据链路层)。
在物理层中需要去定义电路接口的参数,比如说:网线的接口长什么样子、光纤的尺寸等;数据链路层需要实现差错控制、流量控制的功能。也就是说,在OSI模型中,物理层、数据链路层要干什么、分别支持什么功能,具有哪些特性都有很清晰明确的定义。那这就意味着,一个网络硬件厂商在研发物理层和数据链路层的设备的时候,必须要遵循OSI模型的规定,从某种角度来讲,OSI模型的第一层第二层规定太死反而会导致这些网络硬件厂商在设备研发的时候更不灵活。
TCP/IP模型认为:网络硬件种类繁多,不应该在物理层和数据链路层上有过多的限制。 TCP/IP模型认为在网络层之下的数据链路层以及物理层这些部分,到底如何实现两个相邻的结点之间bit流传输,不应该有太多的限制。
2.4.1 TCP/IP模型的网络接口层
TCP/IP模型在网络层之下,只有一层网络接口层, 网络接口层只负责实现相邻结点间的数据传输,但具体怎么传输不作规定。
从垂直视角看,网络接口层为网络层传输分组,网络层会将分组传递给网络接口层,网络接口层可以用灵活多样的方式传输这个分组,那具体是怎么样传输的,在这里不作特别的规定。这使得TCP/IP网络体系结构具有更强的灵活性、适应性。

2.5 改进小结

2.6 TCP/IP模型的传输层和网络层
接下来我们研究TCP/IP模型的传输层和网络层,在此之前,我们先回顾OSI模型的传输层和网络层。
2.6.1 OSI模型传输层和网络层设计思想
如下图所示,这两层所实现的功能基本一致,只不过,网络层针对的是数据报,而传输层针对的是报文段。![]()

我们知道,应用层针对的是报文,报文经过表示层和会话层交给传输层,传输层将报文拆分为报文段,然后交给网络层,网络层又将报文段拆分为数据报(分组),网络层将数据报交给数据链路层之后,数据链路层又将数据报拆分为帧。也就是说,越靠下的这些层次,他传输的单位是越局部的,越高上的层次,传输的单位越全局。
显然有,数据的局部正确不能推出数据的全局正确,也就是说数据链路层他只能确保每个数据帧的传送是没有问题的,但是他没办法确保每个数据报(分组)的传输也是没有问题的。
因此,OSI模型认为,在网络层这里又需要对数据分组进行差错控制、流量控制,以此去保证数据报(分组)数据传输没有问题。
同样的道理,网络层保证了数据报(分组)局部数据传输的正确性,但无法保证报文段这个全局性数据传输是不出任何问题的,因此,OSI模型在传输层这块儿又会再次增加差错控制、流量控制等功能以确保报文段的传输是没有问题的。
以上便是OSI模型网络层和传输层的设计思想。
2.6.2 TCP/IP模型传输层和网络层的设计思想
那我们不妨换一个思路,数据的全局正确能够推出数据的局部正确,显然这个逻辑是可行的。也就是说传输层下面的这几个层次他可以不管数据传输到底有没有出现错误、可不可靠,反正到最后会让接收方的传输层以报文段为单位去确保数据的传输是没有出错的、是有序的、是可靠的。
2.6.2.1 TCP/IP网络层
基于上面的思路,TCP/IP中的网络层去除掉了差错控制、流量控制、连接管理、可靠传输管理,就会使得网络层的数据传输变得不在可靠。比如说,现在传输层把一个报文段交给网络层让网络层去传输,网络层会将报文段拆分成几个分组并交给网络接口层,网络接口层的数据传输是不可靠的,也即是说,中间结点路由器的网络层接收到的分组有可能不对,但这都没有关系,反正我中间结点接收到一个分组之后尽最大努力转交给下一个结点就可以了,所以目的结点的网络层接收到的分组可能是有错误的,那这些分组会被合并成报文段,交给传输层。因此目的结点的传输层收到的报文段就有可能是有问题的。

2.6.2.2 TCP/IP传输层
在2.6.2.1小节中我们知道,目的结点传输层接收到的报文段可能是有问题的,那么接下来。目的结点的传输层就会对报文段进行差错控制、流量控制、连接建立与释放、可靠传输管理等操作。
TCP/IP模型他并不是完全不管数据传输的正确性和可靠性,只不过这些任务都会由传输层来完成。
相比之下,OSI模型的网络层也需要实现差错控制、流量控制等一系列功能。那这样就会导致网络(计算机网络)的核心部分(路由器)功能复杂,负载高,从而会导致造价会很高。
而TCP/IP模型网络层只负责转发等简单的功能,则网络层相对比较简单。
TCP/IP模型传输层功能:复用和分用、差错控制、流量控制、连接建立与释放、可靠传输管理。也就是说,数据传输的正确、可靠由传输层负责,压力给到网络边缘部分(主机)。这样就会使得网络的核心部分(路由器)传输分组的性能能够大幅度提升,因为它不用去管差错控制、流量控制等一些乱七八糟的东西。
2.7 总结


相关文章:
计算机网络 ---- OSI参考模型TCP/IP模型
目录 一、OSI参考模型 1.1 学习路线 1.2 OSI参考模型和TCP/IP模型 1.3 具体设备与具体层次对应关系 1.3.1 物理层 1.3.2 数据链路层 1.3.3 网络层 1.3.4 传输层 1.3.5 会话层、表示层、应用层 1.4 各层次数据传输单位 二、TCP/IP模型 2.1 学习路线 2.2 TCP/I…...
在Windows环境下部署Java的Web项目集成工具的整体流程和详细步骤
好的,以下是一份关于“Windows环境下部署Java的Web项目集成工具”的手把手操作流程,由浅入深,先整体后分部: 一、引言 在现代软件开发中,Java作为一种广泛应用的编程语言,其Web项目开发尤为常见。为了提高…...
9.18作业
提示并输入一个字符串,统计该字符串中字母、数字、空格、其他字符的个数并输出 代码展示 #include <iostream>using namespace std;int main() {string str;int countc 0; // 字母计数int countn 0; // 数字计数int count 0; // 空格计数int counto 0;…...
【算法】滑动窗口—最小覆盖子串
题目 ”最小覆盖子串“问题,难度为Hard,题目如下: 给你两个字符串 S 和 T,请你在 S 中找到包含 T 中全部字母的最短子串。如果 S 中没有这样一个子串,则算法返回空串,如果存在这样一个子串,则可…...
“Fast-forward“ in git-pull result
当你执行 git pull 并且结果显示 Fast-forward 时,这意味着你的本地分支可以直接快进到远程分支的最新提交,没有任何冲突或者需要合并的内容。具体来说,Fast-forward 是一种合并方式,它的特点是将当前分支的指针直接移动到远程分支…...
Oracle(133)如何创建表空间(Tablespace)?
在Oracle数据库中,表空间(Tablespace)是存储数据的逻辑单位,它由一个或多个数据文件组成。表空间是数据库数据管理的基本结构,了解如何创建表空间对于数据库管理员至关重要。 创建表空间的基本语法 创建表空间的基本…...
Linux中权限和指令
💥1、Linux基本指令 1.1 mv 指令 mv指令是move的缩写,用来移动或重命名文件、目录,经常用来备份文件或目录。 mv old_name new_name: 重命名文件或目录mv file /path/to/directory: 移动文件到指定目录 roothcss-ecs…...
本地镜像发布到阿里云
本地镜像发布到阿里云 登录阿里云容器镜像服务配置 Docker 登录阿里云容器镜像服务标记你的 Docker 镜像推送镜像到阿里云验证使用阿里云镜像注意事项 将 Docker 本地镜像发布到阿里云(Alibaba Cloud)容器镜像服务(Container Registry&#x…...
【Linux】【Vim】Vim 基础
Vim/Gvim 基础 文本编辑基础编辑操作符命令和位移改变文本重复改动Visual 模式移动文本(复制、粘贴)文本对象替换模式 光标移动以 word 为单位移动行首和行尾行内指定单字符移动到匹配的括号光标移动到指定行滚屏简单查找 /string标记 分屏vimdiff 文本编辑 基础编辑 Normal 模…...
计算机人工智能前沿进展-大语言模型方向-2024-09-18
计算机人工智能前沿进展-大语言模型方向-2024-09-18 1. The Application of Large Language Models in Primary Healthcare Services and the Challenges W YAN, J HU, H ZENG, M LIU, W LIANG - Chinese General Practice, 2024 人工智能大语言模型在基层医疗卫生服务中的应…...
ubuntu24安装vivado24(安装并解决若干错误)
目录 安装方法:问题1:解决办法: 问题2:解决方法: 安装完成: 安装方法: 注意:内存最好预留80G空闲的。 安装好大小: 安装依赖库: sudo apt-get update sud…...
CSS实现文本溢出省略号或完整显示
目录 前言1. 省略号2. 完整展示3. Demo 前言 文本内容超出容器宽度的问题,为了保持页面布局的整洁,通常会使用省略号来隐藏多余的内容 一共有两种方式: 设定省略号完整展示 1. 省略号 文本溢出时显示省略号 .item-value {flex-basis: 7…...
three.js PropertyBinding和PropertyMixer
PropertyBinding 对场景图中某一真实属性的引用,内部使用。 构造器 PropertyBinding( rootNode : Object3D, path, parsedPath ) -- rootNode: -- path -- parsedPath (可选) 属性 # .path : Number # .parsedPath : Number # .node : Number # .rootNode …...
ssh远程连接try1账号切换tips
1,创建拥有sudo权限的用户: 在root下 sudo adduser bio sudo vim /etc/sudoers //修改添加如下: bio ALL(ALL) ALL //bio用户就拥有了root权限参考:https://github.com/isLishude/blog/issues/70 2,修改ssh配置 …...
C++之第十二课
课程列表 哎呀呀,失踪人口回归了!(前段时间跑去B站了,久等了) 今天来讲——数组 有一道题是这样的: 有n个数,请输出其中最大的数。 原来我们就要: int a,b,c... 但是——数组…...
Linux硬连接、软连接和复制的区别
硬连接、软连接和复制在Linux系统中的主要区别体现在以下三点: 文件链接的方式文件独立性文件系统的操作上。 一、硬连接 1. 硬连接是通过ln命令创建的,它为文件创建别名,与源文件共享同一inode号码,因此硬连接和源文件实际…...
基于STM32的无人小车自主避障系统设计
文章目录 前言资料获取设计介绍功能介绍设计程序具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设…...
杂牌鼠标侧键设置
X-Mouse Button Control修改侧键基本功能介绍-CSDN博客 下载链接 【X-Mouse汉化版】X-Mouse中文版 v2.19.2 绿色版(支持Win10)-开心电玩 (kxdw.com)...
Android WebView H5 Hybrid 混和开发
对于故乡,我忽然有了新的理解:人的故乡,并不止于一块特定的土地,而是一种辽阔无比的心情,不受空间和时间的限制;这心情一经唤起,就是你已经回到了故乡。——《记忆与印象》 前言 移动互联网发展…...
智源推出下一代检索增强大模型框架MemoRAG
北京智源人工智能研究院与中国人民大学高瓴人工智能学院联合发布了一款创新的人工智能模型框架——MemoRAG。该框架基于长期记忆,旨在推动检索增强生成(RAG)技术的发展,使其能够处理更复杂的任务,而不仅限于简单的问答…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
前端打包工具简单介绍
前端打包工具简单介绍 一、Webpack 架构与插件机制 1. Webpack 架构核心组成 Entry(入口) 指定应用的起点文件,比如 src/index.js。 Module(模块) Webpack 把项目当作模块图,模块可以是 JS、CSS、图片等…...
浅谈未来汽车电子电气架构发展趋势中的通信部分
目录 一、引入 1.1市场占比演化 1.2未来发展趋势 二、纯电动汽车与传统汽车的区别 2.1 纯电车和燃油车的架构(干货) 2.2 新能源汽车的分类 ⚡ 1. 纯电动汽车(BEV) 🔋 2. 插电式混合动力(PHEV&#…...
