【计算机网络原理】万字长文,持续更新...

发布于:2024-05-03 ⋅ 阅读:(17) ⋅ 点赞:(0)

计算机网络原理

1.2 因特网概述

1 网络、互联网(互连网)和因特网

  • 网络(Network)由若干**结点(Node)和连接这些结点的链路(Link)**组成

    在这里插入图片描述

  • 多个网络可以通过路由器互连,构成了一个更大的网络,即互联网。

    因此,互连网是**“网络的网络”**

  • 因特网是世界上最大的互连网

在这里插入图片描述

internet与Internet的区别

internet(互联网或互连网)是一个通用名词,它泛指多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。

Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、自众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,前身是美国的ARPANET。

2 因特网发展的三个阶段

在这里插入图片描述

  1. 从单个网络ARPANET向互连网发展

    • 1969年,第一个分组交换网ARPANET;
    • 70年代中期,研究多种网络之间的互联;
    • 1983年,TCP/IP协议成为ARPANET的标准协议(因特网诞生时间)
  2. 逐步简称三级结构的因特网

    • 1985年,NSF围绕六个大型计算机中心建成NSFNET(主干网、地区网和校园网);
    • 1990年,ARPANET任务完成,正式关闭;
    • 1991年,美国政府将因特网主干网交给私人公司经营,并开始对接入因特网的单位收费;
  3. 逐渐形成了多层次ISP结果的因特网

    • 1993年,NSFNET逐渐被若干个商用因特网主干网替代;政府机构不再负责因特网运营,让各种因特网服务提供者ISP来运营。
    • 1994年,万维网WWW技术促使因特网迅猛发展;
    • 1995年,NSFNET停止运作,因特网彻底商业化
ISP的概念

因特网服务提供者ISP(Internet Service Provider)

普通用户接入因特网需要通过ISP,ISP通过因特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等连网设备,任何机构和个人只要向ISP缴纳规定的费用,就可以从ISP得到所需要的IP地址,因特网上的主机都需要有IP地址才能进行通信。

在这里插入图片描述

基于ISP的三层结构的因特网

根据ISP提供服务的覆盖面积大小及所拥有的IP地址数量的不同,ISP也分为不同的层次

  • 第一层ISP通常被称为因特网主干网,能覆盖国际性区域范围并拥有高速链路和交换设备
  • 第二层ISP和一些大公司都是第一层ISP的用户,通常具有区域性和国家性规模,与少数第一层ISP相连接
  • 第三层ISP又称为本地ISP,他们是第二层ISP的用户,且只拥有本地范围的网络,一般的校园网或企业网以及住宅用户和无线移动用户都是第三层ISP的用户

在这里插入图片描述

从该图可以看出,因特网逐渐演变成基于ISP的多层次结构网络,但今天的因特网由于规模太大,已经很难对整个网络的结构给出细致的描述。

但是经常遇到的情况是:

在这里插入图片描述

即相隔较远的两台主机间的通信可能经过多个ISP。

一旦某个用户能接入因特网,那他也能成为一个ISP,只需要对应的路由、调制解调器等设备即可,让其他用户能够和他相连

3 因特网的标准化工作

  • 因特网的标准化工作对因特网的发展起到了非常重要的作用
  • 因特网在其制定标准上的一个很大的特点是面向公众
    • 因特网所有的**RFC(Request For Comments)**技术文档都可以从因特网上免费下载;
    • 任何人都可以用电子邮件发表对某个文档的意见或建议。
  • 因特网协会ISOC是一个国际性组织,负责对因特网进行全面管理,以及在世界范围内促进其发展和使用。
    • 因特网体系结构委员会IAB,负责管理因特网有关协议的开发;
    • 因特网工程部IETF,负责研究中短期工程问题,主要针对协议的开发和标准化;
    • 因特网研究部IRTF,从事理论方面的研究和开发一些需要长期考虑的问题。
  • 制定因特网的正式标准需要经过以下的4个阶段
    • (1)因特网草案阶段(在这个阶段还不是RFC文档)
    • (2)建议标准(从这个阶段开始就成为RFC文档)
    • (3)草案标准
    • (4)因特网标准

只有小部分RFC文档最后才能变成因特网标准

4 因特网的组成

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 边缘部分

    由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传输数据、音频或视频)和资源共享

  • 核心部分

    大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)

1.3 三种交换方式:电路交换、分组交换和报文交换

电路交换

在这里插入图片描述

  • 电话交换机接通电话线的方式称为电路交换;

  • 从通信资源的角度分配来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;

  • 电路交换有以下三个步骤:

    • (1)建立连接(分配通信资源)

    • (2)通话(一直占用通信资源)

    • (3)释放连接(归还通信资源)

当使用电路交换来传送计算机数据时,其线路的传输效率往往很低

分组交换💫

我们来看这样一个例子:

假设主机H6的用户要给主机H2的用户发送一条消息,通常我们把表示该消息的整块数据称为一个报文。在发送报文之前,先把较长的报文划分成一个个更小的等长数据段。在每一个数据段前面,加上一些由必要的控制信息组成的首部后就构成了一个分组,可以简称为“包”,首部称为“包头”。

首部的作用是什么?

首部中包含了分组的目的地址,否则分组传输路径中的交换机也就是各路由器就不知道如何转发分组了。分组交换机收到一个分组后,先将分组暂时存储下来,再检查其首部,按照首部中的目的地址进行查表转发,找到合适的转发接口,通过该接口将分组转发给下一个分组交换机。

主机H6将所构造出的分组依次发送出去,各分组经过途中分组交换机的存储转发,最终到达主机H2。主机H2收到这些分组后,去掉他们的首部,将各数据段组合还原出原始报文。

在这里插入图片描述

为了便于理解,本例只演示了分组交换中的两种情况,其他情况将在后文详细进行介绍。

报文交换

由于报文交换已经被分组交换替代,这里不过多介绍.

三种交换的对比

在这里插入图片描述

电路交换
优点 缺点
1)通信时延小 1)建立连接时间长
2)有序传输 2)线路独占,使用效率低
3)没有冲突 3)灵活性差
4)适用范围广 4)难以规格化
5)实时性强
6)控制简单
报文交换
优点 缺点
1)无需建立连接 1)引起了转发时延
2)动态分配线路 2)需要较大存储缓存空间
3)提高线路可靠性 3)需要传输额外的信息量
4)提高线路利用率
5)提供多目标服务
分组交换
优点 缺点
1)无需建立连接 1)引起了转发时延
2)线路利用率高 2)需要传输额外的信息量
3)简化了存储管理 失序、丢失或重复分组的问题;对于虚电路服务,存在呼叫建立、数据传输和虚电路释放三个过程
4)加速传输
5)减少出错概率和重发和虚电路释放三个过程数据量

1.4 计算机网络的定义和分类

计算机网络的定义

  • 计算机网络的精确定义并未统一
  • 计算机网络的最简单的定义是:一些互相连接的、自治的计算机的集合
    • 互连:是指计算机之间可以通过有线或无线的方式进行数据通信;
    • 自治:是指独立的计算机,它有自己的硬件和软件,可以单独运行使用;
    • 集合:是指至少需要两台计算机;
  • 计算机网络的较好的定义是:计算机网络主要是由一些通用的可编程的硬
    件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数
    据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并
    支持广泛的和日益增长的应用
    • 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手
      机等智能硬件。
    • 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括
      今后可能出现的各种应用)

计算机网络的分类

  • 按交换机分类
    • 电路交换网络
    • 报文交换网络
    • 分组交换网络
  • 按网络使用者分类
    • 公用网
    • 专用网
  • 按传输介质分类
    • 有线网络
    • 无线网络
  • 按覆盖范围分类
    • 广域网WAN
    • 城域网MAN
    • 局域网LAN
    • 个域网PAN
  • 按拓扑结构分类
    • 总线型网络
    • 星型网络
    • 环型网络
    • 网状型网络
总线型网络

在这里插入图片描述

星型网络

在这里插入图片描述

环型网络

在这里插入图片描述

网状型网络

在这里插入图片描述

1.5 计算机网络的性能指标

性能指标可以从不同的方面来度量计算机网络的性能

常用的计算机网络的性能指标有以下8个:

  • 速率
  • 带宽
  • 吞吐量
  • 时延
  • 时延带宽积
  • 往返时间
  • 利用率
  • 丢包率

速率

比特

计算机中数据量的单位,也是信息论中信息量的
单位。一个比特就是二进制数字中的一个1或0。

常用的数据单位
8 b i t = 1 B y t e K B = 2 10 B M B = K ⋅ K B = 2 10 ⋅ 2 10 B = 2 20 B G B = K ⋅ M B = 2 10 ⋅ 2 20 B = 2 30 B T B = K ⋅ G B = 2 10 ⋅ 2 30 B = 2 40 B 8 bit=1Byte\\ KB=2^{10}B\\ MB=K\cdot KB=2^{10}\cdot 2^{10}B=2^{20}B\\ GB=K\cdot MB=2^{10}\cdot2^{20}B=2^{30}B\\ TB=K\cdot GB=2^{10}\cdot2^{30}B=2^{40}B\\ 8bit=1ByteKB=210BMB=KKB=210210B=220BGB=KMB=210220B=230BTB=KGB=210230B=240B

速率

连接在计算机网络上的主机在数字信道上传送比
特的速率,也称为比特率数据率

常用数据单位
b i t / s ( b / s , b p s ) k b / s = 1 0 3 b / s ( b p s ) M b / s = k ⋅ k b / s = 1 0 3 ⋅ 1 0 3 b / s = 1 0 6 b / s ( b p s ) G b / s = k ⋅ M b / s = 1 0 3 ⋅ 1 0 6 b / s = 1 0 9 b / s ( b p s ) T b / s = k ⋅ G b / s = 1 0 3 ⋅ 9 b / s = 1 0 1 2 b / s ( b p s ) bit/s(b/s,bps)\\ kb/s=10^3 b/s(bps)\\ Mb/s=k\cdot kb/s=10^3 \cdot 10^3b/s=10^6b/s(bps)\\ Gb/s=k\cdot Mb/s=10^3\cdot 10^6b/s=10^9b/s(bps)\\ Tb/s=k\cdot Gb/s=10^3\cdot^9b/s=10^12b/s(bps) bit/s(b/s,bps)kb/s=103b/s(bps)Mb/s=kkb/s=103103b/s=106b/s(bps)Gb/s=kMb/s=103106b/s=109b/s(bps)Tb/s=kGb/s=1039b/s=1012b/s(bps)

例1:

有一个待发送的数据块,大小为100MB,网卡的发送速率为100Mbps,则网卡发送完该数据块需要多长时间?

在这里插入图片描述

例2:

**[考研2013年35题]**主机甲通过1个路由器(存储转发方式)与主机乙互联,两段链路的数据传输速率均为 10 M b p s 10Mbps 10Mbps,主机甲分别采用报文交换和分组大小为 10 k b 10kb 10kb的分组交换向主机乙发送1个大小为 8 M b 8Mb 8Mb( 1 M = 1 0 6 1M=10^6 1M=106)的报文。若忽略链路传播延迟、分组头开销和分组拆装时间,则两种交换方式完成该报文传输所需的总时间分别为()

A.800ms、1600ms
B.801ms、1600ms
C.1600ms、800ms
D.1600ms、801ms

带宽

带宽在模拟信号系统中的意义
  • 信号所包含的各种不同频率成分所占据
    频率范围

  • 单位:Hz(kHz,MHz,GHz)

    带宽3.1kHz(300Hz ~ 3.4kHz)

带宽在计算机网络中的意义
  • 用来表示网络的通信线路所能传送数据
    的能力,因此网络带宽表示在单位时间
    内从网络中的某一点到另一点所能通过
    的“最高数据率“;
  • 单位:b/s(kb/s,Mb/s,Gb/s,Tb/s)

其实,“带宽”的这两种表述之间有着密切的联系。

一条通信线路的“频带宽度”越宽,其所传输数据的“最高数据率”也越高。

吞吐量

  • 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。
  • 吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
  • 吞吐量受网络的带宽或额定速率的限制。

在这里插入图片描述

时延

发送时延

分组长度 ( b ) 发送速率 ( b / s ) \frac{分组长度(b)}{发送速率(b/s)} 发送速率(b/s)分组长度(b)

网卡的发送速率 信道带宽 接口速率 发送速率
1Gb/s 1Gb/s 1Gb/s 1Gb/s
100Mb/s 1Gb/s 1Gb/s 100Mb/s
1Gb/s 100Mb/s 1Gb/s 100Mb/s
传播时延

信道长度 ( m ) 电磁波传播速率 ( m / s ) \frac{信道长度(m)}{电磁波传播速率(m/s)} 电磁波传播速率(m/s)信道长度(m)

电磁波在不同介质的传播速度:
自由空间: 3 × 1 0 8 m / s 铜线: 2.3 × 1 0 8 m / s 光纤: 2.0 × 1 0 8 m / s 自由空间:3\times 10^8m/s\\ 铜线:2.3\times10^8m/s\\ 光纤:2.0\times10^8m/s 自由空间:3×108m/s铜线:2.3×108m/s光纤:2.0×108m/s

处理时延

一般不方便计算

因为网络中的数据流量是动态变化的,因此,路由器的繁忙程度也是动态变化的。另外,各种路由器的软硬件性能她可能有所不同。因此,很难用一个公式计算础出处理时延。

例3:

数据块长度为100MB
信道带宽为1Mb/s,
传送距离为1000km,
计算发送时延传播时延

在这里插入图片描述

例4:

数据块长度为1B,
信道带宽为1Mb/s,
传送距离为1000km,
计算发送时延传播时延

在这里插入图片描述

通过这两个例子可以看出,在处理时延忽略不计的情况下,发送时延和传播时延中谁占主导需要具体问题具体分析。

前4个性能指标的总结

  • 速率
    • 连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率;
    • 基本单位:bit/s(b/s,bps),常用单位:kb/s,Mb/s,Gb/s,Tb/s
  • 带宽
    • 用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网
      络中的某一点到另一点所能通过的“最高数据率”;单位与速率单位相同。
  • 吞吐量
    • 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量;
    • 吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据
      量能够通过网络;吞吐量受网络的带宽或额定速率的限制。
  • 时延
    • 发送时延= 分组长度 ( b ) 发送速率 ( b / s ) \frac{分组长度(b)}{发送速率(b/s)} 发送速率(b/s)分组长度(b)
    • 传播时延= 信道长度 ( m ) 电磁波传播速率 ( m / s ) \frac{信道长度(m)}{电磁波传播速率(m/s)} 电磁波传播速率(m/s)信道长度(m)
    • 处理时延 一般不便于计算

时延带宽积

时延带宽积 = 传播时延 × 带宽 时延带宽积=传播时延\times带宽 时延带宽积=传播时延×带宽

我们可以把实验带宽积看作一个管道,那么传播时延就是管道的长度,带宽就是管道的横截面积。并且,可以想象成管道中充满了比特。

在这里插入图片描述

  • 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了
    时延带宽积个比特;

  • 链路的时延带宽积又称为以比特为单位的链路长度

往返时间

  • 在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互;

  • 我们有时很需要知道双向交互一次所需的时间;

  • 因此,往返时间RTT(Round-Trip Time)也是一个重要的性能指标

其中,分组在卫星链路上耗时较多。

一般情况下,卫星距离地球较远,所带来的传播时延比较大。

例如,地球同步卫星距离地球34000(km),那么可以计算出通过同步卫星转发分组所带来的传播时延大约240(ms):
36000 ( k m ) 300000 ( k m / s ) × 2 = 0.24 ( s ) \frac{36000(km)}{300000(km/s)}\times2=0.24(s) 300000(km/s)36000(km)×2=0.24(s)

利用率

利用率 { 信道利用率 用来表示某信道有百分之几的时间是被利用的 ( 有数据通过 ) 网络利用率 全网络的信道利用率的加权平均。 利用率\begin{cases} 信道利用率&用来表示某信道有百分之几的时间是被利用的(有数据通过)\\ 网络利用率&全网络的信道利用率的加权平均。\\ \end{cases} 利用率{信道利用率网络利用率用来表示某信道有百分之几的时间是被利用的(有数据通过)全网络的信道利用率的加权平均。

  • 丢包率根据排队论,当某信道的利用率增大时,该信道彰引起的时延也会迅速增加;

  • 因此,信道利用率并非越高越好;

  • 如果令D0表示网络空闲时的时延,D表示网络当前的时延,那么在适当的
    假定条件下,可以用下面的简单公式来表示D、D0和利用率U之间的关系:
    D = D 0 1 − U D=\frac{D_0}{1-U} D=1UD0

    • 当网络的利用率达到50%时,时延就要加倍;
    • 当网络的利用率超过50%时,时延急剧增大;
    • 当网络的利用率接近100%时,时延就趋于无穷大;
    • 因此,一些拥有较大主干网的ISP通常会控制它们的信道利用率
      不超过50%。如果超过了,就要准备扩容,增大线路的带宽

    在这里插入图片描述

    也不能使信道利用率太低,这会使宝贵的通信资源被白白浪费。应该使用
    些机制,可以根据情况动态调整输入到网络中的通信量,使网络利用率保持在一个合理的范围内。

丢包率

  • 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率

  • 丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等。

  • 丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说往往并不关心这个指标,因为他们涌常意识不到网络丢包

  • 分组丢失主要有两种情况:

    • 分组在传输过程中出现误码,被结点丢弃;
    • 分组到达一台队列已满的分组交换机时被丢弃;在通信量较大时就可能造成网络拥塞
  • 因此,丢包率反映了网络的拥塞情况:

    • 无拥塞时路径丢包率为0
    • 轻度拥塞时路径丢包率为1%~4%
    • 严重拥塞时路径丢包率为5%~15%

后4个性能指标的总结

  • 时延带宽积

    • 传播时延带宽的成绩;
    • 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特;
    • 链路的时延带宽积又称为以比特为单位的链路长度
  • 往返时间 RTT

    • 在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互
    • 我们有时很需要知道双向交互一次所需的时间。
  • 利用率

    • 信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过);
    • 网络利用率:全网络的信道利用率的加权平均:
    • 利用率并非越高越好:当某信道的利用率增大时,该信道引起的时延也会迅速增加:
    • 也不能使信道利用率太低,这会使宝贵的通信资源被白白浪费。
  • 丢包率

    • 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总
      分组数量的比率
    • 分组丢失的两个主要原因:分组误码,结点交换机缓存队列满(网络拥塞);在这里插入代码片

网站公告

今日签到

点亮在社区的每一天
去签到