1.1 互联网的组成

计算机网络由结点和连接结点的链路组成,结点可以是终端设备计算机,也可以是集线器、交换机、路由器等,网络与网络互连被称为互连网,如下图所示。
image.png
网络把许多计算机连接在一起,而互连网则通过多个路由器将多个网络连接在一起。网络互连不仅仅是把计算机简单做物理连接,为了信息交互还需要计算机上有能够通信的软件。
image.png

1.1.1 互联网的边缘部分

由所有连接在互联网上的主机组成,用户直接使用,用来进行通信和资源共享。
边缘部分的主机又称为端系统,端指的是末端,所谓主机间的通信指的是主机A和主机B上运行的进程间的通信

  • 通信方式分为两种:C/S客户端服务器模式和P2P对等方式

C/S模式:描述的是进程之间服务和被服务的关系,客户机向服务器发送请求,服务器给予响应,客户端是请求方,服务器服务提供方。
image.png
P2P模式:所有的主机都是对等关系,用C/S模型描述就是主机既可以是客户端也可以是服务器,如果主机A为B提供服务,那A是B的服务器,但A同时向C请求服务,那A又是C的客户端。
image.png

1.1.2 互联网的核心部分

由大量网络和连接这些网络的路由器组成,主要是为边缘部分提供交换和连通服务。
路由器提供分组交换功能,其任务是转发收到的分组。
image.png

目前网路中的交换有两种:分组交换和电路交换

  • 电路交换:建立连接(占用物理通信资源)->通话(一直占用通信资源)->释放连接(归还通信资源)
    • 特点:在通话的全部时间内,通话的用户双方始终占用端到端的资源。
    • 缺点:如果是计算机数据在电路交换上传输,线路的传输效率很低,因为计算机业务大多是突发的,链路上真正用来传送数据的时间往往不到10%。
  • 分组交换:使用存储转发技术,把一个报文划分为多个分组后再传输,通常把发送的整块数据成为一个报文。
    • 优点:

image.png

  • 缺点:存储转发时需要排队,造成额外时延;不是占用整个端到端资源,无法保证端到端的带宽;分组头必要的开销。
    • 报文交换(几乎不用了):整个报文先传送到邻点,全部存储下来,再找转发表转发到下个结点。

image.png

  • 总结:如果要传输大量数据,且连续传输,则电路交换中连接建立的时间可以忽略不计,且少了存储转发的时延,电路交换的所需时间最少;如果是突发业务则分组交换和报文交换更优,而分组交换每次是以一个分组为单位,比起以报文为单位更灵活,每次存储转发所需要的时延更少。

位于网络边缘的主机和网络核心部分的路由器都是计算机,作用不同,主机为用户进行信息处理,路由器则用来转发分组,路由器接收到一个分组后会先暂存一下,检查首部查找转发表,按照分组首部的目的地址转发。
image.png


1.2 计算机的网络性能

1.2.1 计算机网络的性能指标

  1. 速率:网络中数据的传输速率bit/s,一般指额定速率,而非实际速率
  2. 带宽:原指某个信号具有的频带宽度,允许通过的信号频带范围就称为带宽;网络中的带宽指的是允许通过某通道的最大比特率(bit/s),两者表述分别对应频域和时域。
  3. 吞吐量:表示单位时间内通过某个网络(信道)的实际数据量(bit/s)。
  4. 时延:数据从网络的一端传输到另一端所需的时间。
    1. 传输时延(发送时延):主机或路由器发送数据帧所需要的时间,发送数据帧的第一个bit到最后一个bit发完所需的时间。传输时延 = 数据帧长度(bit)/发送速率(bit/s)
    2. 传播时延:电磁波在信道中传播一定距离所需要的时间,传播时延 = 信道长度(m) / 电磁波传播速率(m/s),电磁波在自由空间的传播速率为光速3x10^8m/s。
    3. 处理时延:主机或路由器处理分组的时间
    4. 排队时延:经过网络传输时,进入路由器种在处理前需要进行排队等待的时间,排队时延长度往往取决于网络中的通信量,如果网络中的数据很多,则很容易出现队列溢出,导致分组丢失。

image.png

  • 需要注意:传输速率指的是从节点发送数据到传输通道的速率,以每秒多少bit衡量;传播速率值得是每bit在链路上每秒能传输多远,它和bit的多少无关,因此传输速率快不一定总时延小,因为它还受传播时延的影响。
  1. 时延带宽积:时延X带宽,表示以bit为单位的链路长度,指该链路上最多可以容纳的数据量。
  2. 往返时间RTT:A和B双方互相通信,A只有在收到B的应答后才能继续发下一帧数据,B的应答帧从发出到A收到的时间,就称为往返时间RTT。
  3. 利用率:分为信道利用率和网络利用率两种,前者指某信道有百分之几的时间被占用,后者则是信道利用率的加权平均值。利用率并非越大越好,如果利用率越高,相应地排队时间也会增大,网络总时延也会增大。

image.png

1.2.2 计算机网络的非性能指标

  1. 费用
  2. 质量
  3. 标准化
  4. 可靠性
  5. 可拓展性和可升级性
  6. 易于管理和维护

1.3 计算机网络体系结构

1.3.1 协议与划分层次

目前使用TCP/IP体系结构比OSI七层模型更多,后者很多功能重复且复杂。
为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,其三要素如下:

  1. 语法:数据与控制信息的结构或格式;
  2. 语义:需要发出何种控制信息,完成何种动作以及做出何种相应;
  3. 同步:事件实现顺序的详细说明。

计算机网络的各层及其协议的集合就是网络的体系结构。
image.png

1.3.2 五层协议的体系结构

  1. 应用层:最高层,通过应用程序间的交互完成特定网络应用,其协议定义的是应用进程间的通信和交互规则,常用协议有HTTP、SMTP、DNS,基础交互数据单元叫报文。
  2. 传输层:负责向两台主机中进程之间的通信提供通用的数据传输服务,应用层可利用该层传输报文,常用协议有面向连接的TCP和面向无连接的UDP。
  3. 网络层:为分组交换网上不同主机提供通信服务,传输数据为分组(将上层的数据报进行封装),主要有寻址、连接建立、分组转发的功能。
  4. 数据链路层:为点到点的主机提供通信服务,将网络层的分组封装成帧进行传输,提供必要的控制信息(同步、地址、差错控制)。
  5. 物理层:提供比特传输服务的物理通道,而传输媒介(双绞线、光纤等)在物理层之下,物理媒介作为第0层。

image.png

1.3.3 实体、协议、服务和服务访问点

  1. 实体:可发送或接受信息的硬件或软件进程,往往是一个特定的软件模块
  2. 协议:控制两个对等实体进行通信的规则的集合
  3. 服务:在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,实现本次协议还需要使用下一层向上提供的服务。 服务是垂直的,协议是水平的,而上层使用下层的服务时需要使用一些命令称为服务原语
  4. 服务访问点(SAP):相邻两层的实体进行交互的地方称为服务访问点,上层通过服务访问点发送服务原语到下层,从而使用下层提供的服务。

image.png

1.3.4 TCP/IP体系结构

以下两张图分别是TCP/IP体系结构两种表现形式

image.pngimage.png
下图是TCP/IP协议族,其特点是两头大中间小:应用层和网络接口层都有多种协议,而中间的IP层很小。TCP/IP协议可以为各式各样的应用提供服务,同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行。
Timage.png
示例:

image.png