嗨,亲爱的读者朋友们好,本篇是计算机网络系列重构的第三篇文章,本篇文章主要来说说三大块内容:计算机网络的定义、计算机网络的分类、计算机网络的性能指标。本篇文章可能会比较枯燥,却是那么重要!让我们继续稳步发车!
一、计算机网络的定义
实际上,当前对计算机网络的精确定义尚未统一。
不过,计算机网络最简单的定义可以描述为:一些互相连接的、自治的计算机的集合。
注意三个关键词:互连、自治和集合。
-
互连:是指计算机之间可以通过有线或无线的方式进行数据通信。
-
自治:是指独立的计算机,它有自己的硬件和软件,可以单独运行使用。
-
集合:是指至少要有两台计算机。
随着互联网的普及和发展,对计算机网络的定义也会随之变化,对计算机网络比较好的定义是:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
因此,计算机网络应该是面向通用场景,比如不仅仅局限于一般计算机,还应该包括智能硬件;不仅仅局限于当前应用,还能支持日后可能出现的各种新应用;
总之,计算机网络应该是面向未来、拥抱变化!
二、计算机网络的分类
按交换技术分类、按拓扑结构分类、按传输介质分类,就不再赘述了。介绍按使用者分类:
还有按覆盖范围分类:
这些知识我们只需要了解即可,比如看到日常使用的家用无线路由器背后的WAN和LAN不要慌张:
路由器上的WAN口是用来连接公网,或者说是连接宽带运营商的设备的。例如电话线上网时WAN口用来连接Moden(猫);光钎上网时,WAN口用来连接光猫;网线入户上网时,WAN口用来连接入户网线。
而路由器上的LAN口(1、2、3、4),是用来连接内网(局域网)中的设备的,主要是用来连接电脑、交换机、打印机等设备的。
三、计算机网络的性能指标
性能指标可以从不同的方面来度量计算机网络的性能,常用的计算机网络的性能指标有以下8个:
3.1、速率
速率会涉及一个单位叫做比特,一个比特就是二进制数字中的一个1或0。
在描述大小的时候,比如内存为8GB,会用到比特;当描述速率的时候,也会用到比特,一般称为比特率。下图是两种描述方式的换算过程。
需要注意上图,描述数据量和描述速率的时候,计算单位是不一样的(一个是1024,一个是1000,这个点比较基础,不展开说明)。
比如有这样的题目:有一个待发送的数据块,大小为100MB,网卡的发送速率为100Mbps,则网卡发送完该数据库需要多长时间?
计算过程为:
3.2、带宽
带宽与速率往往会引起混淆!
速率往往涉及物理概念,描述的是一个网络线路中硬件所能承载的最大的bit/s值。举个例子,一段网络电缆,根据其物理特性,速率最多也就是10Gbps。
我们可以将bit想象为一种会跑的生物,0是雄性生物,1是雌性生物,这些生物从一个管子中出来,然后在线路中奔跑,他们奔跑的速度就是咱们这里讨论的速率。
不同的硬件会有不同的速率,速率由物理介质本身的特性决定,我们可以认为,只要不更换硬件线路,那么速率永远变化不了。
带宽涉及逻辑概念,还是拿刚才的bit生物为例,这些生物是从一个管子中被生产出来的,假设现在有两根管子,生物仍然是那个生物,生物奔跑的速率也不变,那么在同一时间内,你看到的出来的生物多了一倍,因为现在是两根管子。
我们生活中可以花更多的钱对宽带进行升级,比如200M升级为500M。这里相当于多搞一个管子或者将管道调粗,这样网络体验会更好。
由于现在基本都是光纤入户,速率基本上已经到达上限,所以这块基本没有什么回旋的余地,很少有人在这里做文章,更多的时候关注的就是带宽,增大带宽会显著提高网速,这就是百兆宽带和千兆宽带为什么体验完全不一样的原因,当然了,网速还有其他的因素干扰,这里就不展开说明了。
回到计算机网络的世界,我们再来理下带宽和速率的区别和联系。
带宽越大,说明网络中这个结点把数据注入链路中的时间越短,就是说发送时延比较短。
注入到链路后,就是传播问题了,这里涉及传播时延,跟物理介质关系比较大,比如通过网线传输和通过光纤传输,速度显然不一样。
关于这两个时延,下面会详细说。
3.3、吞吐量
吞吐量:单位时间内通过某个网络(或信道、接口)的数据量。
吞吐量被经常用于对现实世界中网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
速率和带宽实际上是一种理论最大值,那么吞吐量就是描述实际网络情况的指标,由于网络环境复杂,可能由于网络波动、拥塞、硬件损坏等原因,导致出现某时刻速率的变动。
所以,吞吐量是受到网络带宽和速率限制的一个参数,容易想到,它是不可能超过带宽值或最大速率值的。
3.4、时延
我们来想一个问题:分组从源主机传送到目的主机的过程中,都会在哪些地方产生时延?
第一个是发送时延:数据包从主机里面发送到通信链路上(从第一个比特到最后一个比特)需要一定的时间。
第二个是传播时延:分组数据包的信号在通信链路上传输需要花费时间。
第三个是处理时延:路由器对分组数据包进行存储转发需要花费时间。
一般来说,源主机与目的主机之间的路径会有多段链路和多个路由器构成的,因此会有多个传播时延和处理时延。
发送时延如何计算呢?
发送时延=分组长度/发送速率。网卡的发送速率,信道带宽,交换机的接口速率,它们共同决定着主机的发送速率。可以理解到,发送时延与距离无关。
传播时延=信道长度 / 电磁波传播速率。电磁波在不同介质中的传播速率是不一样的!所以要计算传播时延,首先应该确定采用的是什么传播媒体,进而可以确定电磁波在该传输媒体中的传播速率。
电磁波在自由空间中传播速率约为30万公里每秒,而在铜线中的传播速率约为23万公里每秒,光纤中速率约为20万公里每秒。
是的,你没有看错,光纤传播速度没有铜线快。那为什么光纤中的传播速度要低一些呢?
其实道理很简单,光纤的传播原理,大家应该很清楚,是利用了光的全反射,所以光纤的传播方式,实际走的距离要大于光纤的长度,故速度上会低于铜线的电信号传播速度。
那为什么基本不用铜线,而都用光纤呢?这里就涉及到佷多因素考虑了,后面文章会说明,本篇文章就不展开说了。
处理时延没有简单的计算公式,因为它不方便计算。因为网络中的数据流量是动态变化的,因此,路由器的繁忙程度也是动态变化的;另外,各种路由器的软硬件性能也可能有所不同,因此,很难用一个公式计算出处理时延!有的教材中还有一个排队时延(分组数据包在路由器中的排队等待时间),在这里将排队时延与处理时延合并为处理时延。
至于哪种时延占据主导因素,应当具体问题具体分析,而不要想当然认为传播时延就是占整体时延的主导。
3.5、往返时间
在许多情况下,因特网的信息不仅仅单方向传输,而是双向交互的,我们有时很需要知道双向交互一次所需的时间,往返时间RTT(Round-Trip Time)是用来描述这个性能指标的参数。
RTT表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。
往返延时(RTT)由三个部分决定:链路的传播时间、末端系统的处理时间以及路由器的缓存中的排队和处理时间。
其中,前面两个部分的值作为一个TCP连接相对固定,路由器的缓存中的排队和处理时间会随着整个网络拥塞程度的变化而变化。所以RTT的变化在一定程度上反映了网络拥塞程度的变化。
3.6、时延带宽积
时延带宽积=传播时延*带宽。
注意,这里的传播时间延迟是RTT,不是单程时间。此时线路上的数据量是发送的第一个包到收到第一个ACK之间的比特量。
关于意义,这个跟拥塞窗口机制有关,根据这个值与TCP中的接收窗口rwnd息息相关。(窗口机制是TCP中比较核心的点,这里不理解也是可以暂且跳过的)
这个rwnd是啥呢?实际上是针对接收方而言的,用来表示自己最大能保处理多少数据,多了会吃不消。
当大量请求同时进来时,往往会有一个缓冲区来缓冲,而缓冲区大小往往就可以根据这里的时延带宽积来确定。如果想尽量提高吞吐量,则rwnd要尽可能达到时延带宽积的值。
3.7、利用率
信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过)。
网络利用率:全网络的信道利用率的加权平均。
根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加,因此,信道利用率并非越高越好。
如果D0表示网络空闲时的时延,D表示网络当前的时延,那么在适当的假定条件下,可以用下面的简单公式来表示D、D0和利用率U之间的关系:D = D0 / (1 – U)
-
当网络的利用率达到50%时,时延就要加倍;
-
当网络的利用率超过50%时,时延急剧增大;
-
当网络的利用率接近100%时,时延就趋于无穷大;
-
因此,一些拥有较大主干网的ISP通常会控制它们的信道利用率不超过50%,如果超过了,就要准备扩容,增大线路的带宽;
也不能使信道利用率太低,这会使宝贵的通信资源白白浪费,应该使用一些机制,可以根据情况动态调整输入到网络中的通信量,使网络利用率保持在一个合理的范围内(容易想到,控制在百分之50内是比较合理的)。
3.8、丢包率
是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比例。当网络丢包率较高时,通常无法使网络应用正常工作。
分组丢失主要有两种情况:
-
分组在传输过程中出现误码,被结点校验失败而丢弃;
-
分组到达一台队列已满的分组交换机时被丢弃,在通信量较大时就可以造成网络拥塞!当结点交换机(路由器)输入缓冲区已满,此时主发送的分组达到该路由器时,路由器没有存储器空间暂存该分组,只能将其丢弃!实际上,路由器会根据自身的拥塞控制方法,在输入缓存还未满的时候就主动丢弃分组;
亲爱的读者朋友们,本篇文章所有的内容就这么多,感谢阅读,希望有所收获,下篇文章更精彩!
原文始发于微信公众号(幕后哈土奇):三、概述篇-计算机网络的定义、分类和性能指标
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114325.html