本系列文章为408考研计算机网络知识点整理仅涉及到一些重要的考研知识点并不完全包含全部知识,参考书目和视频资料:谢希仁 计算机网络(第8版),王道考研计算机网络,B站湖科大计算机网络微课堂。

1.5 计算机网络的性能指标

1.5.1 速率

比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。

bit 来源于 binary digit,意思是一个“二进制数字”,因此一个比特就是二进制数字中的一个 1 或 0。

速率即数据率(data rate)或比特率(bit rate)是计算机网络中最重要的一个性能指标。速率的单位是 b/s,或kb/s, Mb/s, Gb/s 等。速率往往是指额定速率或标称速率。

1.5.2 带宽

“带宽”(bandwidth)本来是指信号具有的频带宽度,单位是赫(或千赫、兆赫、吉赫等)。现在“带宽”是数字信道所能传送的“最高数据率”的同义语,单位是“比特每秒”,或 b/s (bit/s)。   

带宽指的是线路上允许的最高速率,举个例子:一条高速公路,速率就是高速公路上汽车行驶的速度,带宽就是这条高速公路的限速值。

更常用的带宽单位是:

千比每秒,即 kb/s (103 b/s)

兆比每秒,即 Mb/s(106 b/s)

吉比每秒,即 Gb/s(109 b/s)

太比每秒,即 Tb/s(1012 b/s)

请注意:在计算机中表述数据量时,K = 210 = 1024 ,M = 220, G = 230, T = 240

1.5.3 吞吐量

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

1.5.4 时延

(1)传输时延(发送时延 )    发送数据时,数据块从结点进入到传输媒体所需要的时间。也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。

发送时延 =数据块长度(比特)/ 信道带宽(比特/秒)

(2)传播时延    电磁波在信道中需要传播一定的距离而花费的时间。信号传输速率(即发送速率)和信号在信道上的传播速率是完全不同的概念。

传播时延 =信道长度(米)/ 信号在信道上的传播速率(米/秒)

(3)处理时延    交换结点为存储转发而进行一些必要的处理所花费的时间。

(4)排队时延    结点缓存队列中分组排队所经历的时延。排队时延的长短往往取决于网络中当时的通信量。

(5)总时延 = 发送时延+传播时延+处理时延+处理时延

四种时延所产生的地方

对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。 提高链路带宽减小了数据的发送时延

1.5.5 时延带宽积

时延带宽积 = 传播时延 * 带宽

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

1.5.6 利用率

信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。

网络利用率则是全网络的信道利用率的加权平均值。信道利用率并非越高越好。

1.6 计算机网络体系结构

1.6.1 常见的计算机网络体系结构

OSI体系解释:

  • 上三层(资源子网):
    • 应用层:应用进程之间的交互来实现特定网络应用的问题
    • 表示层:通信双方交换信息的表示问题
    • 会话层:进程之间的会话问题
  • 核心层:运输层:进程之间基于网络的通信
  • 下三层(通信子网):
    • 网络层:分组在多个网络中的传输
    • 数据链路层:网络由链路连接而成
    • 物理层:决定数据传输的硬件

TCP/IP体系结构内容

1.6.2 计算机网络体系结构分层的必要性

  • 计算机网络是一个非常复杂的系统,早在ARPANET设计时就提出了分层的设计理念。
  • “分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理,下面按照简单到复杂的顺序,将实现计算机网络面临的主要问题划分到相应的层次中:

物理层

  • 采用怎样的传输媒体(比如网线)
  • 采用怎样的物理接口(PC端的网口)
  • 使用怎样的信号表示比特0和1

数据链路层(网络内部)

  • 如何识别网线中的各主机(主机编址问题,例如MAC地址)
  • 如何从信号所表示的一串比特流中区分出地址和数据
  • 如何协调各主机争用总线(主线形式的网络现在基本已经淘汰)

网络层(多个网络之间)

  • 如何标识各网络以及网络中的各主机(网络和主机共同编织的问题,例如IP地址)
  • 路由器如何转发分组,如何进行路由选择

运输层

  • 如何标识进程之间网络通信的问题,即解决对于服务器发来的信息,交给哪个进程处理的问题。
  • 出现传输错误时(丢包、误码),如何处理。

应用层

  • 制定各种应用层协议,并按照协议标准来编写各种应用,如支持万维网的HTTP协议,支持电子邮件的SMTP协议等。
  • 通过应用进程间的交互来完成特定的网络应用。

1.6.3 计算机网络体系结构分层思想举例

如上图所示,主机与N1网络相连,服务器与N2网络相连,N1和N2通过路由器相连,下面用分层的思想模拟主机进程发送请求给服务器,服务器处理后返回信息再由主机进程接受的过程:

应用层按照HTTP协议构建一个HTTP请求报文:

运输层给HTTP报文添加一个TCP首部,称为TCP报文段,报文段内容如下:

网络层给TCP报文添加一个IP首部,成为IP数据报,主要是使得数据报可以在互联网中传输,即被路由器转发,IP数据报内容如下:

数据链路层给IP数据报添加一个首部和一个尾部成为帧,首部使得帧可以在一段链路上传输,可以被目的主机接收,尾部用于让目的主机检查是否有误码

物理层将帧转换成比特流,如果网络是以太网,还会在比特流前加入前导码,用于让目的主机做好接收的准备,最后将比特流转换成相应的信号发送到传输媒体 ,信号通过传输媒体到达路由器的物理层。

路由器中物理层将信号转换为比特流,然后去掉前导码并将帧交给链路层

链路层去掉帧的首部和尾部变成IP数据报交给网络层

网络层解析IP数据报的首部,提取出目的网络的地址,然后查找自身的路由表确定转发端口,准备转发

网络层再将IP数据报交给链路层,链路层加上首部和尾部形成帧

物理层接收帧并转换为比特流,同时加入前导码,转换为信号发送到传输媒体,信号通过传输媒体到达服务器的物理层。

服务器的物理层接收信号转换为比特流,然后再逐层处理最后得到HTTP响应报文

服务器对HTTP响应报文进行处理并给主机发送HTTP响应报文,流程和上述类似。

1.6.4 计算机网络体系结构中的专业术语

实体

协议

协议:控制两个对等实体进行逻辑通信的规则的集合。逻辑通信实际并不存在,是一种假设的通信,便于单独研究某一层的通信。

协议的三要素

  • 语法:定义所交换信息的格式。
  • 语义:定义收发双方所要完成的操作。
  • 同步:定义双方的时序关系。

服务

  • 在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
  • 要实现本层协议,还需要使用下面一层所提供的服务。
  • 协议是“水平的”,服务是“垂直的”。
  • 实体看得见相邻下层所提供的服务,但是并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是“透明”的。
  • 在同一系统中相邻两层的实体进行交互(即交换信息) 的地方,通常称为服务访问点 SAP (Service Access Point)。SAP 是一个抽象的概念,它实际上就是一个逻辑接口
  • 服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
    • 数据链路层的服务访问点为帧的“类型”字段
    • 网络层的服务访问点为IP数据报首部中的协议字段”。
    • 运输层的服务访问点为“端口号”。
  • 服务原语:上层使用下层所提供的服务必须通过下层交换一些命令,这些称为服务原语。
  • 协议数据单元PDU对等层次之间传送的数据包称为该层的协议数据单元。
  • 服务数据单元SDU同一系统内层与层之间交换的数据包称为服务数据单元。
  • 多个SDU可以合成为一个PDU;一个SDU也可以划分为几个PDU。