本文主要目的也是为了非科班前端补充计算机科班基础知识,比如你要做node开发,不熟悉数据如何在网络中传输的话,理解很多API会比较疑惑,那接下来,来看看这篇为你精心准备的文章吧!
这些内容其实比较枯燥,但我采取图文并茂的形式,并且对于不重要的知识会标注,尽量减少阅读的枯燥感。啥也不说了,喝口水,开撸!
1、计算机网络概念(简单扫一眼即可)计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
这里需要注意的是,按分布范围,计算机网络里有局域网LAN和广域网WAN, 其中局域网的代表以太网,以及这两种网络最重要的区分点,局域网基于广播技术,广域网基于分组交换技术。(这些概念听一下就行,后面会详细介绍,因为理解广播和分组交换技术,大体上就理解了局域网和广域网)
2、衡量计算机网络的性能的指标这些内容主要是为了学习后面具体的协议,以及分析这些协议的报文时,需要掌握的基本概念。
2.1 速率速率就是数据传输(数据是指0和1)的速率,比如你用迅雷下载,1兆每秒,来衡量目前数据传输的快慢。它是计算机网络中最重要的一个性能指标。
2.2 带宽在计算机网络中,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量,比如说你家的电信网络是100兆比特,意思是,一秒内最大的传输速率是100兆比特。
2.3 吞吐量吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。
以上三点,我们举个案例
- 一条路每秒最多能过100辆车(宽带就相当于100辆/秒)。
- 而并不是每秒都会有100辆车过,假如第一秒有0辆,第二秒有10辆...,(但是最多不能超过100辆)。
- 所以有第1秒0辆/秒,第2秒10辆/秒,第3秒30辆/秒,这不能说带宽多少吧,于是就用吞吐量表示具体时间通过的量有多少(也有可能等于带宽的量)。
- 由此可知带宽是说的是最大值速率,吞吐量说的是某时刻速率。但吞吐量不能超过最大速率。
时延是指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。单位是s。 时延分一下几种:
(1)发送时延
就是说我跟你说话,从我开始说,到说话结束这段时间,就是发送时延。
(2)传播时延
如gif图所示,信道上第一个比特开始,到最后一个比特达到主机接口需要的时间就是传播时延。